Oops, I broke the menu widget. Working on a fix...
Adrian Crum Sandglass Software www.sandglass-software.com On 1/17/2015 8:47 AM, [hidden email] wrote: > 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> > > |
Free forum by Nabble | Edit this page |