Author: adrianc
Date: Sat Jan 17 16:47:23 2015
New Revision: 1652638
URL: http://svn.apache.org/r1652638
Log:
Screen widget overhaul:
1. Extract and reuse common code/artifacts.
2. Organized the class structure so it makes more sense.
3. Add an XML widget visitor - this restores and improves the widget classes
toString() methods. This is a WIP.
Added:
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/AbstractModelAction.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/AbstractModelCondition.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/CommonWidgetModels.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelAction.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelCondition.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelConditionFactory.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelConditionVisitor.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/xml/AbstractWidgetVisitor.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/xml/XmlWidgetActionVisitor.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/xml/XmlWidgetConditionVisitor.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/xml/XmlWidgetFieldVisitor.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/xml/XmlWidgetVisitor.java
Removed:
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidgetAction.java
Modified:
ofbiz/trunk/framework/widget/dtd/widget-common.xsd
ofbiz/trunk/framework/widget/dtd/widget-form.xsd
ofbiz/trunk/framework/widget/dtd/widget-menu.xsd
ofbiz/trunk/framework/widget/dtd/widget-screen.xsd
ofbiz/trunk/framework/widget/dtd/widget-tree.xsd
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelActionVisitor.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelFieldVisitor.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidgetVisitor.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/artifact/ArtifactInfoGatherer.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/fo/FoScreenRenderer.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FieldInfo.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FormRenderer.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlMenuRenderer.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/MacroMenuRenderer.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/MenuStringRenderer.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenu.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuAction.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuCondition.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuItem.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/HtmlWidget.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/IterateSectionWidget.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/MacroScreenRenderer.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenCondition.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ScreenFactory.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ScreenStringRenderer.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/text/TextScreenRenderer.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTreeAction.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTreeCondition.java
Modified: ofbiz/trunk/framework/widget/dtd/widget-common.xsd
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-common.xsd?rev=1652638&r1=1652637&r2=1652638&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/dtd/widget-common.xsd (original)
+++ ofbiz/trunk/framework/widget/dtd/widget-common.xsd Sat Jan 17 16:47:23 2015
@@ -516,4 +516,154 @@ under the License.
<xs:attribute type="xs:string" name="value" />
</xs:complexType>
</xs:element>
+ <xs:element name="parameter">
+ <xs:complexType>
+ <xs:attribute type="xs:string" name="param-name" use="required" />
+ <xs:attribute type="xs:string" name="from-field" />
+ <xs:attribute type="xs:string" name="value" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="auto-parameters-service">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="exclude"
/>
+ </xs:sequence>
+ <xs:attribute name="service-name" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>The service name used to resolve
parameters. If empty, use form defaultServiceName. Flexible string
allowed.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="send-if-empty" default="true">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true" />
+ <xs:enumeration value="false" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="auto-parameters-entity">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="exclude"
/>
+ </xs:sequence>
+ <xs:attribute name="entity-name" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>The entity name used to resolve
parameters. If empty use form defaultEntityName attribute. Flexible string
allowed.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="include" default="pk">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="pk" />
+ <xs:enumeration value="nonpk" />
+ <xs:enumeration value="all" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="send-if-empty" default="true">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true" />
+ <xs:enumeration value="false" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="exclude">
+ <xs:complexType>
+ <xs:attribute name="field-name" type="xs:string" use="required" />
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="link">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="parameter" />
+ <xs:element minOccurs="0" name="image" type="image" />
+ </xs:sequence>
+ <xs:attribute type="xs:string" name="text" />
+ <xs:attribute type="xs:string" name="id" />
+ <xs:attribute type="xs:string" name="style" />
+ <xs:attribute type="xs:string" name="name" />
+ <xs:attribute type="xs:string" name="title" />
+ <xs:attribute type="xs:nonNegativeInteger" name="size" /><!-- Text
size limit -->
+ <xs:attribute type="xs:string" name="target" />
+ <xs:attribute type="xs:string" name="target-window" />
+ <xs:attribute type="xs:string" name="prefix" />
+ <xs:attribute type="xs:string" name="width" />
+ <xs:attribute type="xs:string" name="height" />
+ <xs:attribute name="link-type" default="auto">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="auto">
+ <xs:annotation>
+ <xs:documentation>
+ If selected the hidden-form type will be used
if the url-mode is intra-app
+ and the request specified has an event,
otherwise the anchor type will be used,
+ except if the ajax-window mode is specified.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="anchor" />
+ <xs:enumeration value="hidden-form" />
+ <!-- FIXME: This is not a link type. It indicates the
target window should be a popup dialog. -->
+ <xs:enumeration value="ajax-window" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="url-mode" default="intra-app">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="intra-app" />
+ <xs:enumeration value="inter-app" />
+ <xs:enumeration value="content" />
+ <xs:enumeration value="plain" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="full-path" default="false">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true" />
+ <xs:enumeration value="false" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="secure" default="false">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true" />
+ <xs:enumeration value="false" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="encode" default="false">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true" />
+ <xs:enumeration value="false" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ <xs:complexType name="image" mixed="true">
+ <xs:attribute type="xs:string" name="src" />
+ <xs:attribute type="xs:string" name="id" />
+ <xs:attribute type="xs:string" name="style" />
+ <xs:attribute type="xs:string" name="width" />
+ <xs:attribute type="xs:string" name="height" />
+ <xs:attribute type="xs:string" name="border" />
+ <xs:attribute type="xs:string" name="alt" />
+ <xs:attribute type="xs:string" name="title" />
+ <xs:attribute name="url-mode" default="content">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="ofbiz" />
+ <xs:enumeration value="content" />
+ <xs:enumeration value="raw" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
</xs:schema>
Modified: ofbiz/trunk/framework/widget/dtd/widget-form.xsd
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-form.xsd?rev=1652638&r1=1652637&r2=1652638&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/dtd/widget-form.xsd (original)
+++ ofbiz/trunk/framework/widget/dtd/widget-form.xsd Sat Jan 17 16:47:23 2015
@@ -967,158 +967,61 @@ under the License.
<xs:attribute type="xs:string" name="value" />
</xs:complexType>
</xs:element>
- <xs:element name="hyperlink" substitutionGroup="AllFields">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" ref="auto-parameters-service"/>
- <xs:element minOccurs="0" ref="auto-parameters-entity"/>
- <xs:element minOccurs="0" maxOccurs="unbounded"
ref="parameter" />
- </xs:sequence>
- <xs:attribute name="also-hidden" default="true">
- <xs:annotation>
- <xs:documentation>If set to true, an hidden form field is
also rendered, with the name of the field and its content.</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="link-type" default="auto">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="auto">
- <xs:annotation>
- <xs:documentation>If selected the hidden-form
type will be used if the url-mode is intra-app and the request specified has an
event, otherwise the anchor type will be used.</xs:documentation>
- </xs:annotation>
- </xs:enumeration>
- <xs:enumeration value="anchor" />
- <xs:enumeration value="hidden-form" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="target-type" default="intra-app">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="intra-app" />
- <xs:enumeration value="inter-app" />
- <xs:enumeration value="content" />
- <xs:enumeration value="plain" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute type="xs:string" name="target" use="required">
- <xs:annotation>
- <xs:documentation>The target location of the hyperlink;
can use the ${} syntax to substitute values from the context.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute type="xs:string" name="description">
- <xs:annotation>
- <xs:documentation>Specifies the string to display, can use
the ${} syntax to insert context values; if empty the value of the field will
be printed for a default.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute type="xs:string" name="target-window" />
- <xs:attribute type="xs:string" name="alternate">
- <xs:annotation>
- <xs:documentation>Alternate text if the image is not found
at image-location</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute type="xs:string" name="image-title">
- <xs:annotation>
- <xs:documentation>Use as a title for the HTML img
tag</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute type="xs:string" name="image-location" />
- <xs:attribute name="request-confirmation" default="false">
- <xs:annotation>
- <xs:documentation>If true then the user is presented with
a dialog box, if confirmation-message is empty, use default</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 in confirmation
box</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="parameters-map" type="xs:string">
- <xs:annotation>
- <xs:documentation>A Map in the context that will be used
as additional name/value pairs.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute type="xs:integer" name="size">
- <xs:annotation>
- <xs:documentation>Specifies the size of the field (as a
number of characters), when the text to display exceed the given size it is
truncated and add the complete text as a hint</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:element name="parameter">
- <xs:complexType>
- <xs:attribute type="xs:string" name="param-name" use="required" />
- <xs:attribute type="xs:string" name="from-field" />
- <xs:attribute type="xs:string" name="value" />
- </xs:complexType>
- </xs:element>
- <xs:element name="auto-parameters-service">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="exclude"/>
- </xs:sequence>
- <xs:attribute name="service-name" type="xs:string">
- <xs:annotation>
- <xs:documentation>The service name used to resolve
parameters. If empty, use form defaultServiceName. Flexible string
allowed.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="send-if-empty" default="true">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="true"/>
- <xs:enumeration value="false"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:element name="auto-parameters-entity">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="exclude"/>
- </xs:sequence>
- <xs:attribute name="entity-name" type="xs:string">
- <xs:annotation>
- <xs:documentation>The entity name used to resolve
parameters. If empty use form defaultEntityName attribute. Flexible string
allowed.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="include" default="pk">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="pk"/>
- <xs:enumeration value="nonpk"/>
- <xs:enumeration value="all"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="send-if-empty" default="true">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="true"/>
- <xs:enumeration value="false"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:element name="exclude">
- <xs:complexType>
- <xs:attribute name="field-name" type="xs:string" use="required"/>
- </xs:complexType>
- </xs:element>
+ <xs:complexType name="hyperlink">
+ <xs:complexContent>
+ <xs:extension base="link">
+ <xs:attribute type="xs:string" name="description">
+ <xs:annotation>
+ <xs:documentation>Specifies the string to display, can
use the ${} syntax to insert context values; if empty the value of the field
will be printed for a default.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="request-confirmation" default="false">
+ <xs:annotation>
+ <xs:documentation>If true then the user is presented
with a dialog box, if confirmation-message is empty, use
default</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 in
confirmation box</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="also-hidden" default="true">
+ <xs:annotation>
+ <xs:documentation>If set to true, an hidden form field
is also rendered, with the name of the field and its content.</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>
+ <!-- These attributes have been replaced by the image element
-->
+ <xs:attribute type="xs:string" name="alternate">
+ <xs:annotation>
+ <xs:documentation>Deprecated - use the image
element.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute type="xs:string" name="image-title">
+ <xs:annotation>
+ <xs:documentation>Deprecated - use the image
element.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute type="xs:string" name="image-location">
+ <xs:annotation>
+ <xs:documentation>Deprecated - use the image
element.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="hyperlink" type="hyperlink"
substitutionGroup="AllFields"/>
<xs:element name="ignored" substitutionGroup="AllFields">
<xs:complexType/>
</xs:element>
@@ -1760,43 +1663,19 @@ under the License.
<xs:attribute name="cols" type="xs:positiveInteger" default="40" />
</xs:complexType>
</xs:element>
- <xs:element name="sub-hyperlink">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" ref="auto-parameters-service"/>
- <xs:element minOccurs="0" ref="auto-parameters-entity"/>
- <xs:element minOccurs="0" maxOccurs="unbounded"
ref="parameter" />
- </xs:sequence>
+ <xs:complexType name="sub-hyperlink">
+ <xs:complexContent>
+ <xs:extension base="link">
+ <xs:attribute type="xs:string" name="description">
+ <xs:annotation>
+ <xs:documentation>Specifies the string to display, can
use the ${} syntax to insert context values; if empty the value of the field
will be printed for a default.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
<xs:attribute type="xs:string" name="use-when" />
- <xs:attribute type="xs:string" name="link-style" />
- <xs:attribute name="link-type" default="auto">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="auto">
- <xs:annotation>
- <xs:documentation>If selected the hidden-form
type will be used if the url-mode is intra-app and the request specified has an
event, otherwise the anchor type will be used.</xs:documentation>
- </xs:annotation>
- </xs:enumeration>
- <xs:enumeration value="anchor" />
- <xs:enumeration value="hidden-form" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="target-type" default="intra-app">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="intra-app" />
- <xs:enumeration value="inter-app" />
- <xs:enumeration value="content" />
- <xs:enumeration value="plain" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute type="xs:string" name="target" use="required" />
- <xs:attribute type="xs:string" name="description" />
- <xs:attribute type="xs:string" name="target-window" />
- </xs:complexType>
- </xs:element>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="sub-hyperlink" type="sub-hyperlink"/>
<!-- ================== ACTIONS ==================== -->
<xs:element name="actions">
Modified: ofbiz/trunk/framework/widget/dtd/widget-menu.xsd
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-menu.xsd?rev=1652638&r1=1652637&r2=1652638&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/dtd/widget-menu.xsd (original)
+++ ofbiz/trunk/framework/widget/dtd/widget-menu.xsd Sat Jan 17 16:47:23 2015
@@ -158,167 +158,7 @@ under the License.
</xs:attribute>
</xs:complexType>
</xs:element>
- <xs:element name="image">
- <xs:complexType mixed="true">
- <xs:attribute type="xs:string" name="src" />
- <xs:attribute type="xs:string" name="id" />
- <xs:attribute type="xs:string" name="style" />
- <xs:attribute type="xs:string" name="width" />
- <xs:attribute type="xs:string" name="height" />
- <xs:attribute type="xs:string" name="border" />
- <xs:attribute name="url-mode" default="content">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="ofbiz" />
- <xs:enumeration value="content" />
- <xs:enumeration value="raw" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:element name="link">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" ref="auto-parameters-service"/>
- <xs:element minOccurs="0" ref="auto-parameters-entity"/>
- <xs:element minOccurs="0" maxOccurs="unbounded"
ref="parameter" />
- <xs:element minOccurs="0" ref="image" />
- </xs:sequence>
- <xs:attribute type="xs:string" name="text" />
- <xs:attribute type="xs:string" name="id" />
- <xs:attribute type="xs:string" name="style" />
- <xs:attribute type="xs:string" name="name" />
- <xs:attribute type="xs:string" name="target" />
- <xs:attribute type="xs:string" name="target-window" />
- <xs:attribute type="xs:string" name="prefix" />
- <xs:attribute name="link-type" default="auto">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="auto">
- <xs:annotation>
- <xs:documentation>If selected the hidden-form
type will be used if the url-mode is intra-app and the request specified has an
event, otherwise the anchor type will be used.</xs:documentation>
- </xs:annotation>
- </xs:enumeration>
- <xs:enumeration value="anchor" />
- <xs:enumeration value="hidden-form" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="url-mode" default="intra-app">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="intra-app" />
- <xs:enumeration value="inter-app" />
- <xs:enumeration value="content" />
- <xs:enumeration value="plain" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="full-path" default="false">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="true" />
- <xs:enumeration value="false" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="secure" default="false">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="true" />
- <xs:enumeration value="false" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="encode" default="false">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="true" />
- <xs:enumeration value="false" />
- </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:attribute name="parameters-map" type="xs:string" />
- </xs:complexType>
- </xs:element>
- <xs:element name="parameter">
- <xs:complexType>
- <xs:attribute type="xs:string" name="param-name" use="required" />
- <xs:attribute type="xs:string" name="from-field" />
- <xs:attribute type="xs:string" name="value" />
- </xs:complexType>
- </xs:element>
- <xs:element name="auto-parameters-service">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="exclude"/>
- </xs:sequence>
- <xs:attribute name="service-name" type="xs:string" use="required">
- <xs:annotation>
- <xs:documentation>The service name used to resolve
parameters. Flexible string allowed.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="send-if-empty" default="true">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="true"/>
- <xs:enumeration value="false"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:element name="auto-parameters-entity">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="exclude"/>
- </xs:sequence>
- <xs:attribute name="entity-name" type="xs:string">
- <xs:annotation>
- <xs:documentation>The entity name used to resolve
parameters. If empty try use menu defaultEntityName attribute. Flexible string
allowed.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="include" default="pk">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="pk"/>
- <xs:enumeration value="nonpk"/>
- <xs:enumeration value="all"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="send-if-empty" default="true">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="true"/>
- <xs:enumeration value="false"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:element name="exclude">
- <xs:complexType>
- <xs:attribute name="field-name" type="xs:string" use="required"/>
- </xs:complexType>
- </xs:element>
+ <xs:element name="link" type="link"/>
<xs:element name="actions">
<xs:complexType>
Modified: ofbiz/trunk/framework/widget/dtd/widget-screen.xsd
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-screen.xsd?rev=1652638&r1=1652637&r2=1652638&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/dtd/widget-screen.xsd (original)
+++ ofbiz/trunk/framework/widget/dtd/widget-screen.xsd Sat Jan 17 16:47:23 2015
@@ -304,139 +304,8 @@ under the License.
<xs:attribute type="xs:string" name="style" />
</xs:complexType>
</xs:element>
- <xs:element name="link" substitutionGroup="AllWidgets">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" ref="auto-parameters-service" />
- <xs:element minOccurs="0" ref="auto-parameters-entity" />
- <xs:element minOccurs="0" maxOccurs="unbounded"
ref="parameter" />
- <xs:element minOccurs="0" ref="image" />
- </xs:sequence>
- <xs:attribute type="xs:string" name="text" />
- <xs:attribute type="xs:string" name="id" />
- <xs:attribute type="xs:string" name="style" />
- <xs:attribute type="xs:string" name="target" />
- <xs:attribute type="xs:string" name="name" />
- <xs:attribute type="xs:string" name="target-window" />
- <xs:attribute type="xs:string" name="prefix" />
- <xs:attribute type="xs:string" name="width" />
- <xs:attribute type="xs:string" name="height" />
- <xs:attribute name="link-type" default="auto">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="auto">
- <xs:annotation>
- <xs:documentation>
- If selected the hidden-form type will be
used if the url-mode is intra-app
- and the request specified has an event,
otherwise the anchor type will be used,
- except if the ajax-window mode is
specified.
- </xs:documentation>
- </xs:annotation>
- </xs:enumeration>
- <xs:enumeration value="anchor" />
- <xs:enumeration value="hidden-form" />
- <!-- FIXME: This is not a link type. It indicates the
target window should be a popup dialog. -->
- <xs:enumeration value="ajax-window" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="url-mode" default="intra-app">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="intra-app" />
- <xs:enumeration value="inter-app" />
- <xs:enumeration value="content" />
- <xs:enumeration value="plain" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="full-path" default="false">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="true" />
- <xs:enumeration value="false" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="secure" default="false">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="true" />
- <xs:enumeration value="false" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="encode" default="false">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="true" />
- <xs:enumeration value="false" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:element name="parameter">
- <xs:complexType>
- <xs:attribute type="xs:string" name="param-name" use="required" />
- <xs:attribute type="xs:string" name="from-field" />
- <xs:attribute type="xs:string" name="value" />
- </xs:complexType>
- </xs:element>
- <xs:element name="auto-parameters-service">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="exclude"
/>
- </xs:sequence>
- <xs:attribute name="service-name" type="xs:string" use="required">
- <xs:annotation>
- <xs:documentation>The service name used to resolve
parameters. If empty, use form defaultServiceName. Flexible string
allowed.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="send-if-empty" default="true">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="true" />
- <xs:enumeration value="false" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:element name="auto-parameters-entity">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="exclude"
/>
- </xs:sequence>
- <xs:attribute name="entity-name" type="xs:string" use="required">
- <xs:annotation>
- <xs:documentation>The entity name used to resolve
parameters. If empty use form defaultEntityName attribute. Flexible string
allowed.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="include" default="pk">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="pk" />
- <xs:enumeration value="nonpk" />
- <xs:enumeration value="all" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="send-if-empty" default="true">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="true" />
- <xs:enumeration value="false" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:element name="exclude">
- <xs:complexType>
- <xs:attribute name="field-name" type="xs:string" use="required" />
- </xs:complexType>
- </xs:element>
+ <xs:element name="link" type="link" substitutionGroup="AllWidgets"/>
+
<xs:element name="screenlet" substitutionGroup="AllWidgets">
<xs:complexType>
<xs:sequence>
Modified: ofbiz/trunk/framework/widget/dtd/widget-tree.xsd
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-tree.xsd?rev=1652638&r1=1652637&r2=1652638&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/dtd/widget-tree.xsd (original)
+++ ofbiz/trunk/framework/widget/dtd/widget-tree.xsd Sat Jan 17 16:47:23 2015
@@ -127,82 +127,7 @@ under the License.
<xs:attribute type="xs:string" name="style" />
</xs:complexType>
</xs:element>
- <xs:element name="link">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded"
ref="parameter" />
- <xs:element minOccurs="0" ref="image" />
- </xs:sequence>
- <xs:attribute type="xs:string" name="text" />
- <xs:attribute type="xs:string" name="id" />
- <xs:attribute type="xs:string" name="style" />
- <xs:attribute type="xs:string" name="name" />
- <xs:attribute type="xs:string" name="title" />
- <xs:attribute type="xs:string" name="target" />
- <xs:attribute type="xs:string" name="target-window" />
- <xs:attribute type="xs:string" name="prefix" />
- <xs:attribute name="url-mode" default="intra-app">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="intra-app" />
- <xs:enumeration value="inter-app" />
- <xs:enumeration value="content" />
- <xs:enumeration value="plain" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="full-path" default="false">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="true" />
- <xs:enumeration value="false" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="secure" default="false">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="true" />
- <xs:enumeration value="false" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="encode" default="false">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="true" />
- <xs:enumeration value="false" />
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:element name="parameter">
- <xs:complexType>
- <xs:attribute type="xs:string" name="param-name" use="required" />
- <xs:attribute type="xs:string" name="from-field" />
- <xs:attribute type="xs:string" name="value" />
- </xs:complexType>
- </xs:element>
- <xs:element name="image">
- <xs:complexType mixed="true">
- <xs:attribute type="xs:string" name="src"/>
- <xs:attribute type="xs:string" name="id"/>
- <xs:attribute type="xs:string" name="style"/>
- <xs:attribute type="xs:string" name="width"/>
- <xs:attribute type="xs:string" name="height"/>
- <xs:attribute type="xs:string" name="border"/>
- <xs:attribute name="url-mode" default="content">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="ofbiz"/>
- <xs:enumeration value="content"/>
- <xs:enumeration value="raw"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
+ <xs:element name="link" type="link"/>
<xs:element name="actions">
<xs:complexType>
<xs:sequence>