<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.infinite-erp.co.id/index.php?action=history&amp;feed=atom&amp;title=Widgets</id>
	<title>Widgets - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.infinite-erp.co.id/index.php?action=history&amp;feed=atom&amp;title=Widgets"/>
	<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Widgets&amp;action=history"/>
	<updated>2026-04-06T18:39:01Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>https://wiki.infinite-erp.co.id/index.php?title=Widgets&amp;diff=2784&amp;oldid=prev</id>
		<title>Wikiadmin: Created page with &quot;{{WorkInProgress}}  == Introduction ==  In Openbravo 3 Widgets are UI elements which can be either placed in a Users' Workspace tab or be part of a generated window. They can...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Widgets&amp;diff=2784&amp;oldid=prev"/>
		<updated>2021-12-16T03:28:27Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{WorkInProgress}}  == Introduction ==  In Openbravo 3 Widgets are UI elements which can be either placed in a Users&amp;#039; Workspace tab or be part of a generated window. They can...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{WorkInProgress}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
In Openbravo 3 Widgets are UI elements which can be either placed in a Users' Workspace tab or be part of a generated window. They can be used to display a wide range of different information ranging from static content, over dynamic database data in list form, custom html content, or complete external URL's.&lt;br /&gt;
&lt;br /&gt;
{{(!) | Placing Widget in a generated window is only available from version 3.0MP2 or later}}&lt;br /&gt;
&lt;br /&gt;
The following images show two example widgets which are provided by the Widget Collection module provided with the Openbravo 3 distribution.&lt;br /&gt;
&lt;br /&gt;
The first one shows a list of invoices ready to be collected with live data from the Openbravo database. The second example shows an interactive motion chart.&lt;br /&gt;
&lt;br /&gt;
[[Image:widget1.png|top| Widget showing ''Invoices to collect'' with live data from the Openbravo database]] [[Image:widget2.png|500px| Interactive widget showing a motion chart]]&lt;br /&gt;
&lt;br /&gt;
The rest of this article explains how to define such a widget with its parameters, the different available 'types' of widget and the differences in widget definitions if those are to be placed in a generated window.&lt;br /&gt;
&lt;br /&gt;
== Widget class &amp;amp; Widget Instance ==&lt;br /&gt;
&lt;br /&gt;
== Defining a new widget class ==&lt;br /&gt;
&lt;br /&gt;
=== Extending a existing widget class ===&lt;br /&gt;
&lt;br /&gt;
=== Defining widget parameters ===&lt;br /&gt;
&lt;br /&gt;
== Available Widget Superclasses ==&lt;br /&gt;
&lt;br /&gt;
== Defining a widget for use in a generated window ==&lt;br /&gt;
&lt;br /&gt;
If a widget is planned to be embed into a generated Window/Tab as explained in [[How_to_embed_a_Widget_into_a_Window_Tab|this HowTo]] then a few differences/restrictions must be observed.&lt;br /&gt;
&lt;br /&gt;
* User visible differences: Widgets embedded in a Tab do not have a titlebar/menu. This means that widgets embedded in a Tab do '''not''' offer the following customization/options:&lt;br /&gt;
** Edit of parameters&lt;br /&gt;
** Removing/moving/Maximizing the widget&lt;br /&gt;
** Use of custom menu items (i.e. Export as CSV)&lt;br /&gt;
* Differences in definition&lt;br /&gt;
** No ''Widget Instance'', all parameters must be defined on the Widget directly&lt;br /&gt;
** Parameters can use values of the currently displayed record&lt;br /&gt;
&lt;br /&gt;
=== Use of current record in parameters ===&lt;br /&gt;
&lt;br /&gt;
When a widget is displayed inside a generated Window/Tab then it is possible to define a parameters which will contain the field values of the currently displayed record.&lt;br /&gt;
&lt;br /&gt;
To do this the parameter needs to be declared as described above with the following settings:&lt;br /&gt;
&lt;br /&gt;
* Fixed: not marked&lt;br /&gt;
* Default Value: '''${formValues.name}'''&lt;br /&gt;
&lt;br /&gt;
The '''name''' in the expression for the Default Value refers to the ''Name'' field of the current record. The name to be used for a field in this expression is the ''property'' name of the column, so the same which is also used in an HQL query.&lt;br /&gt;
&lt;br /&gt;
If the property is an Entity (i.e. Product) '''${formValues.product}''' will contain the id (UUID) of the Entity&lt;br /&gt;
&lt;br /&gt;
At runtime this parameter will automatically contain the fields' value as the parameter value.&lt;br /&gt;
&lt;br /&gt;
Note: If there is no current value (i.e. the form displayed in ''New'' mode) then the expression string is send as is to the widget. The widget implementation is expected to handle such a case.&lt;br /&gt;
&lt;br /&gt;
[[Category:Concepts]]&lt;br /&gt;
[[Category:WorkInProgress]]&lt;/div&gt;</summary>
		<author><name>Wikiadmin</name></author>
		
	</entry>
</feed>