Contribution org.nuxeo.ecm.platform.forms.layout.MainContribution--widgettypes
In component org.nuxeo.ecm.platform.forms.layout.MainContribution
org.nuxeo.ecm.platform.forms.layout.MainContribution
inside nuxeo-platform-forms-layout-client-2023.6.12.jar /OSGI-INF/layouts-contrib.xml
You can influence this order by adding "require" tags in the containing component declaration, to make sure it is resolved after another component (see "Resolution Order" on components).
This contribution is part of XML component Extension Point
Extension point widgettypes of component WebLayoutManager.Registration Order
5
The registration order represents the order in which this contribution was registered on its target extention
point.
This will impact the override/merge behaviour when it is implemented on the target service, and is useful for
proper customization of existing contributions.
You can influence this order by adding "require" tags in the containing component declaration, to make sure it is resolved after another component (see "Resolution Order" on components).
Contributed Items
XML Source
<extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">
<widgetType name="text">
<configuration>
<title>Text</title>
<description>
<p>
The text widget displays an input text in create or edit mode, with
additional message tag for errors, and a regular text output in
any
other mode.
</p>
<p>
Widgets using this type can provide properties accepted on a
<h:inputText /> tag in create or edit mode, and properties
accepted on a <h:outputText /> tag in other modes.
</p>
</description>
<demo id="textWidget" previewEnabled="true"/>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
<type>path</type>
</supportedTypes>
<defaultTypes>
<type>string</type>
</defaultTypes>
</fields>
<categories>
<category>document</category>
</categories>
<properties>
<layouts mode="view">
<layout name="text_widget_type_properties_view">
<rows>
<row>
<widget category="widgetTypeConf">style</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
<row>
<widget category="widgetTypeConf">title</widget>
</row>
<row>
<widget category="widgetTypeConf">escape</widget>
</row>
<row>
<widget category="widgetTypeConf">text_localize</widget>
</row>
</rows>
</layout>
</layouts>
<layouts mode="edit">
<layout name="text_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">required</widget>
</row>
<row>
<widget category="widgetTypeConf">maxlength</widget>
</row>
<row>
<widget category="widgetTypeConf">size</widget>
</row>
<row>
<widget category="widgetTypeConf">style</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
<row>
<widget category="widgetTypeConf">title</widget>
</row>
<row>
<widget category="widgetTypeConf">accesskey</widget>
</row>
<row>
<widget category="widgetTypeConf">alt</widget>
</row>
<row>
<widget category="widgetTypeConf">dir</widget>
</row>
<row>
<widget category="widgetTypeConf">placeholder</widget>
</row>
<row>
<widget category="widgetTypeConf">disabled</widget>
</row>
<row>
<widget category="widgetTypeConf">immediate</widget>
</row>
<row>
<widget category="widgetTypeConf">lang</widget>
</row>
<row>
<widget category="widgetTypeConf">validator</widget>
</row>
<row>
<widget category="widgetTypeConf">valueChangeListener</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TextWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="int">
<configuration>
<title>Integer</title>
<description>
<p>
The int widget displays an input text in create or edit mode, with
additional message tag for errors, and a regular text output in
any
other mode. It uses a number converter.
</p>
<p>
Widgets using this type can provide properties accepted on a
<h:inputText /> tag in create or edit mode, and properties
accepted on a <h:outputText /> tag in other modes.
</p>
</description>
<demo id="intWidget" previewEnabled="true"/>
<categories>
<category>document</category>
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>integer</type>
</supportedTypes>
<defaultTypes>
<type>integer</type>
</defaultTypes>
</fields>
<properties>
<layouts mode="view">
<layout name="int_widget_type_properties_view">
<rows>
<row>
<widget category="widgetTypeConf">style</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
<row>
<widget category="widgetTypeConf">title</widget>
</row>
</rows>
</layout>
</layouts>
<layouts mode="edit">
<layout name="int_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">required</widget>
</row>
<row>
<widget category="widgetTypeConf">maxlength</widget>
</row>
<row>
<widget category="widgetTypeConf">size</widget>
</row>
<row>
<widget category="widgetTypeConf">style</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
<row>
<widget category="widgetTypeConf">title</widget>
</row>
<row>
<widget category="widgetTypeConf">accesskey</widget>
</row>
<row>
<widget category="widgetTypeConf">alt</widget>
</row>
<row>
<widget category="widgetTypeConf">dir</widget>
</row>
<row>
<widget category="widgetTypeConf">placeholder</widget>
</row>
<row>
<widget category="widgetTypeConf">disabled</widget>
</row>
<row>
<widget category="widgetTypeConf">immediate</widget>
</row>
<row>
<widget category="widgetTypeConf">lang</widget>
</row>
<row>
<widget category="widgetTypeConf">validator</widget>
</row>
<row>
<widget category="widgetTypeConf">valueChangeListener</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.IntWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="double">
<configuration>
<title>Floating point</title>
<sinceVersion>5.4.2</sinceVersion>
<description>
<p>
The floating point (aka "double") widget displays an input text in
create or edit mode, with additional message tag for errors, and a
regular text output in any other mode. It uses a JSF double
converter.
</p>
<p>
Widgets using this type can provide properties accepted on a
<h:inputText /> tag in create or edit mode, and properties
accepted on a <h:outputText /> tag in other modes.
</p>
</description>
<!--<demo id="doubleWidget" /> -->
<categories>
<category>document</category>
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>double</type>
</supportedTypes>
<defaultTypes>
<type>double</type>
</defaultTypes>
</fields>
<properties>
<layouts mode="view">
<layout name="double_widget_type_properties_view">
<rows>
<row>
<widget category="widgetTypeConf">style</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
<row>
<widget category="widgetTypeConf">title</widget>
</row>
</rows>
</layout>
</layouts>
<layouts mode="edit">
<layout name="double_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">required</widget>
</row>
<row>
<widget category="widgetTypeConf">maxlength</widget>
</row>
<row>
<widget category="widgetTypeConf">size</widget>
</row>
<row>
<widget category="widgetTypeConf">style</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
<row>
<widget category="widgetTypeConf">title</widget>
</row>
<row>
<widget category="widgetTypeConf">accesskey</widget>
</row>
<row>
<widget category="widgetTypeConf">alt</widget>
</row>
<row>
<widget category="widgetTypeConf">dir</widget>
</row>
<row>
<widget category="widgetTypeConf">placeholder</widget>
</row>
<row>
<widget category="widgetTypeConf">disabled</widget>
</row>
<row>
<widget category="widgetTypeConf">immediate</widget>
</row>
<row>
<widget category="widgetTypeConf">lang</widget>
</row>
<row>
<widget category="widgetTypeConf">validator</widget>
</row>
<row>
<widget category="widgetTypeConf">valueChangeListener</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DoubleWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="secret">********<configuration>
<title>Secret</title>
<description>
<p>
The secret widget displays an input secret text in create or edit
mode, with additional message tag for errors, and nothing in any
other mode.
</p>
<p>
Widgets using this type can provide properties accepted on a
<h:inputSecret /> tag in create or edit mode.
</p>
</description>
<demo id="secretWidget" previewEnabled="true"/>
<categories>
<category>document</category>
</categories>
<supportedModes>
<mode>edit</mode>
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
<properties>
<layouts mode="edit">
<layout name="secret_widget_type_properties_edit">********<rows>
<row>
<widget category="widgetTypeConf">required</widget>
</row>
<row>
<widget category="widgetTypeConf">maxlength</widget>
</row>
<row>
<widget category="widgetTypeConf">size</widget>
</row>
<row>
<widget category="widgetTypeConf">accesskey</widget>
</row>
<row>
<widget category="widgetTypeConf">alt</widget>
</row>
<row>
<widget category="widgetTypeConf">dir</widget>
</row>
<row>
<widget category="widgetTypeConf">disabled</widget>
</row>
<row>
<widget category="widgetTypeConf">immediate</widget>
</row>
<row>
<widget category="widgetTypeConf">lang</widget>
</row>
<row>
<widget category="widgetTypeConf">redisplay</widget>
</row>
<row>
<widget category="widgetTypeConf">style</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
<row>
<widget category="widgetTypeConf">title</widget>
</row>
<row>
<widget category="widgetTypeConf">validator</widget>
</row>
<row>
<widget category="widgetTypeConf">valueChangeListener</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SecretWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="textarea">
<configuration>
<title>Textarea</title>
<description>
<p>
The textarea widget displays a textarea in create or edit mode,
with
additional message tag for errors, and a regular text output in
any
other mode.
</p>
<p>
Widgets using this type can provide properties accepted on a
<h:inputTextarea /> tag in create or edit mode, and properties
accepted on a <h:outputText /> tag in other modes.
</p>
</description>
<demo id="textareaWidget" previewEnabled="true"/>
<categories>
<category>document</category>
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
<properties>
<layouts mode="view">
<layout name="textarea_widget_type_properties_view">
<rows>
<row>
<widget category="widgetTypeConf">style</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
<row>
<widget category="widgetTypeConf">title</widget>
</row>
<row>
<widget category="widgetTypeConf">escape</widget>
</row>
</rows>
</layout>
</layouts>
<layouts mode="edit">
<layout name="textarea_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">required</widget>
</row>
<row>
<widget category="widgetTypeConf">textarea_cols</widget>
</row>
<row>
<widget category="widgetTypeConf">textarea_rows</widget>
</row>
<row>
<widget category="widgetTypeConf">accesskey</widget>
</row>
<row>
<widget category="widgetTypeConf">dir</widget>
</row>
<row>
<widget category="widgetTypeConf">disabled</widget>
</row>
<row>
<widget category="widgetTypeConf">immediate</widget>
</row>
<row>
<widget category="widgetTypeConf">lang</widget>
</row>
<row>
<widget category="widgetTypeConf">validator</widget>
</row>
<row>
<widget category="widgetTypeConf">valueChangeListener</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TextareaWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="datetime">
<configuration>
<title>Datetime</title>
<description>
<p>
The datetime widget displays a javascript calendar in create or
edit
mode, with additional message tag for errors, and a regular text
output in any other mode. It uses a date time converter.
</p>
<p>
Widgets using this type can provide properties accepted on a
<nxu:inputDatetime /> tag in create or edit mode, and
properties accepted on a <h:outputText /> tag in other
modes.
The converter will also be given these properties.
</p>
</description>
<demo id="datetimeWidget" previewEnabled="true"/>
<categories>
<category>document</category>
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>date</type>
</supportedTypes>
<defaultTypes>
<type>date</type>
</defaultTypes>
</fields>
<properties>
<layouts mode="view">
<layout name="datetime_widget_type_properties_view">
<rows>
<row>
<widget category="widgetTypeConf">datetime_pattern</widget>
</row>
<row>
<widget category="widgetTypeConf">datetime_timeZone</widget>
</row>
</rows>
</layout>
</layouts>
<layouts mode="edit">
<layout name="datetime_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">required</widget>
</row>
<row>
<widget category="widgetTypeConf">datetime_format</widget>
</row>
<row>
<widget category="widgetTypeConf">datetime_locale</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
<row>
<widget category="widgetTypeConf">datetime_timeZone</widget>
</row>
<row>
<widget category="widgetTypeConf">datetime_triggerImg</widget>
</row>
<row>
<widget category="widgetTypeConf">datetime_triggerLabel</widget>
</row>
<row>
<widget category="widgetTypeConf">datetime_triggerStyleClass</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DateTimeWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="template">
<configuration>
<title>Template</title>
<description>
<p>
The template widget displays a template content whatever the mode.
</p>
<p>
Widgets using this type must provide the path to this template ;
this template can check the mode to adapt the rendering.
</p>
<p>
Note that the same handler class can be used to define a new widget
type using a designated template, by registering it as is:
</p>
<p>
<widgetType name="template"> <handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class> <property name="template">
/widgets/my_custom_widget_template.xhtml </property>
</widgetType> </p>
</description>
<demo id="templateWidget" previewEnabled="false"/>
<categories>
<category>dev</category>
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<fields>
<list>true</list>
<complex>true</complex>
<supportedTypes>
<type>*</type>
</supportedTypes>
</fields>
<acceptingSubWidgets>true</acceptingSubWidgets>
<properties>
<layouts mode="any">
<layout name="template_widget_type_properties_any">
<rows>
<row>
<widget>template</widget>
</row>
</rows>
<widget name="template" type="selectOneResource">
<labels>
<label mode="any">Template</label>
</labels>
<fields>
<field>template</field>
</fields>
<properties mode="any">
<property name="resourceName">widget_templates</property>
</properties>
<properties widgetMode="any">
<property name="required">true</property>
</properties>
</widget>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="file">
<configuration>
<title>File</title>
<description>
<p>
The file widget displays a file uploader/editor in create or edit
mode, with additional message tag for errors, and a link to the file
in other modes.
</p>
<p>
Widgets using this type can provide properties accepted on a
<nxu:inputFile /> tag in create or edit mode, and properties
accepted on a <nxu:outputFile /> tag in other modes.
</p>
</description>
<demo id="fileWidget" previewEnabled="true"/>
<categories>
<category>document</category>
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>blob</type>
</supportedTypes>
<defaultTypes>
<type>blob</type>
</defaultTypes>
</fields>
<properties>
<layouts mode="view">
<layout name="file_widget_type_properties_view">
<rows>
<row>
<widget category="widgetTypeConf">file_downloadLabel</widget>
</row>
<row>
<widget category="widgetTypeConf">file_iconRendered</widget>
</row>
</rows>
</layout>
</layouts>
<layouts mode="edit">
<layout name="file_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">required</widget>
</row>
<row>
<widget category="widgetTypeConf">file_downloadLabel</widget>
</row>
<row>
<widget category="widgetTypeConf">file_iconRendered</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.FileWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="htmltext">
<configuration>
<title>HTML text</title>
<description>
<p>
The htmltext widget displays an html text editor in create or edit
mode, with additional message tag for errors, and a regular text
output in other modes (without escaping the text).
</p>
<p>
Widgets using this type can provide properties accepted on a
<nxu:editor /> tag in create or edit mode, and properties
accepted on a <nxu:outputText /> tag in other modes.
</p>
</description>
<demo id="htmltextWidget" previewEnabled="true"/>
<categories>
<category>document</category>
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
<properties>
<layouts mode="view">
<layout name="htmltext_widget_type_properties_view">
<rows>
<row>
<widget category="widgetTypeConf">style</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
<row>
<widget category="widgetTypeConf">title</widget>
</row>
</rows>
</layout>
</layouts>
<layouts mode="edit">
<layout name="htmltext_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">required</widget>
</row>
<row>
<widget category="widgetTypeConf">htmltext_width</widget>
</row>
<row>
<widget category="widgetTypeConf">htmltext_height</widget>
</row>
<row>
<widget category="widgetTypeConf">htmltext_disableHtmlInit</widget>
</row>
<row>
<widget category="widgetTypeConf">htmltext_editorSelector</widget>
</row>
<row>
<widget category="widgetTypeConf">htmltext_configuration</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.HtmlTextWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="selectOneListbox">
<configuration>
<sinceVersion>5.4.2</sinceVersion>
<title>Select One Listbox</title>
<description/>
<categories>
<!-- don't export it yet -->
<category>configuration_not_ready</category>
<!--
<category>document</category>
-->
</categories>
<supportedModes>
<mode>edit</mode>
<!-- TODO
<mode>view</mode>
-->
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
<properties>
<defaultValues mode="edit">
<property name="notDisplayDefaultOption">true</property>
</defaultValues>
<layouts mode="edit">
<layout name="selectOneListbox_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">select_selectOptions</widget>
</row>
<row>
<widget category="widgetTypeConf">select_var</widget>
</row>
<row>
<widget category="widgetTypeConf">select_itemLabel</widget>
</row>
<row>
<widget category="widgetTypeConf">select_itemValue</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectOneListboxWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="selectManyListbox">
<configuration>
<sinceVersion>6.0</sinceVersion>
<title>Select Many Listbox</title>
<description/>
<categories>
<!-- don't export it yet -->
<category>configuration_not_ready</category>
<!--
<category>document</category>
-->
</categories>
<supportedModes>
<mode>edit</mode>
<!-- TODO
<mode>view</mode>
-->
</supportedModes>
<fields>
<list>true</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
<properties>
<defaultValues mode="edit">
<property name="notDisplayDefaultOption">true</property>
</defaultValues>
<layouts mode="edit">
<layout name="selectManyListbox_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">select_selectOptions</widget>
</row>
<row>
<widget category="widgetTypeConf">select_var</widget>
</row>
<row>
<widget category="widgetTypeConf">select_itemLabel</widget>
</row>
<row>
<widget category="widgetTypeConf">select_itemValue</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectManyListboxWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="selectOneMenu">
<configuration>
<sinceVersion>5.4.2</sinceVersion>
<title>Select One Menu</title>
<description/>
<categories>
<!-- don't export it yet -->
<category>configuration_not_ready</category>
<!--
<category>document</category>
-->
</categories>
<supportedModes>
<mode>edit</mode>
<!-- TODO
<mode>view</mode>
-->
</supportedModes>
<properties>
<layouts mode="edit">
<layout name="selectOneMenu_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">select_selectOptions</widget>
</row>
<row>
<widget category="widgetTypeConf">select_var</widget>
</row>
<row>
<widget category="widgetTypeConf">select_itemLabel</widget>
</row>
<row>
<widget category="widgetTypeConf">select_itemValue</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectOneMenuWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="selectManyMenu">
<configuration>
<sinceVersion>6.0</sinceVersion>
<title>Select Many Menu</title>
<description/>
<categories>
<!-- don't export it yet -->
<category>configuration_not_ready</category>
<!--
<category>document</category>
-->
</categories>
<supportedModes>
<mode>edit</mode>
<!-- TODO
<mode>view</mode>
-->
</supportedModes>
<fields>
<list>true</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
<properties>
<defaultValues mode="edit">
<property name="notDisplayDefaultOption">true</property>
</defaultValues>
<layouts mode="edit">
<layout name="selectManyMenu_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">select_selectOptions</widget>
</row>
<row>
<widget category="widgetTypeConf">select_var</widget>
</row>
<row>
<widget category="widgetTypeConf">select_itemLabel</widget>
</row>
<row>
<widget category="widgetTypeConf">select_itemValue</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectManyMenuWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="selectOneRadio">
<configuration>
<sinceVersion>5.7.3</sinceVersion>
<title>Select One Radio</title>
<description/>
<categories>
<!-- don't export it yet -->
<category>configuration_not_ready</category>
<!--
<category>document</category>
-->
</categories>
<supportedModes>
<mode>edit</mode>
<!-- TODO
<mode>view</mode>
-->
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
<properties>
<defaultValues mode="edit">
<property name="notDisplayDefaultOption">true</property>
</defaultValues>
<layouts mode="edit">
<layout name="selectOneRadio_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">select_layout</widget>
</row>
<row>
<widget category="widgetTypeConf">select_selectOptions</widget>
</row>
<row>
<widget category="widgetTypeConf">select_var</widget>
</row>
<row>
<widget category="widgetTypeConf">select_itemLabel</widget>
</row>
<row>
<widget category="widgetTypeConf">select_itemValue</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectOneRadioWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="selectManyCheckbox">
<configuration>
<sinceVersion>6.0</sinceVersion>
<title>Select Many Checkbox</title>
<description/>
<categories>
<!-- don't export it yet -->
<category>configuration_not_ready</category>
<!--
<category>document</category>
-->
</categories>
<supportedModes>
<mode>edit</mode>
<!-- TODO
<mode>view</mode>
-->
</supportedModes>
<fields>
<list>true</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
<properties>
<defaultValues mode="edit">
<property name="notDisplayDefaultOption">true</property>
</defaultValues>
<layouts mode="edit">
<layout name="selectManyCheckbox_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">select_selectOptions</widget>
</row>
<row>
<widget category="widgetTypeConf">select_layout</widget>
</row>
<row>
<widget category="widgetTypeConf">select_var</widget>
</row>
<row>
<widget category="widgetTypeConf">select_itemLabel</widget>
</row>
<row>
<widget category="widgetTypeConf">select_itemValue</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectManyCheckboxWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="selectOneDirectory">
<configuration>
<title>Single vocabulary</title>
<description>
<p>
The selectOneDirectory widget displays a selection of vocabulary
entries in create or edit mode, with additional message tag for
errors, and the directory entry label in other modes.
</p>
</description>
<demo id="selectOneDirectoryWidget" previewEnabled="true"/>
<categories>
<category>document</category>
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
<properties>
<defaultValues mode="edit">
<property name="var">item</property>
<property name="itemValue">#{item.id}</property>
<property name="ordering">label</property>
</defaultValues>
<layouts mode="any">
<layout name="selectOneDirectory_widget_type_properties_any">
<rows>
<row>
<widget category="widgetTypeConf">directoryName</widget>
</row>
<row>
<widget category="widgetTypeConf">directoryNameDemoPreview</widget>
</row>
</rows>
</layout>
</layouts>
<layouts mode="view">
<layout name="selectOneDirectory_widget_type_properties_view">
<rows>
<row>
<widget category="widgetTypeConf">directory_localize</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_displayIdAndLabel</widget>
</row>
<row>
<widget category="widgetTypeConf">style</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
</rows>
</layout>
</layouts>
<layouts mode="edit">
<layout name="selectOneDirectory_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">required</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_localize</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_displayIdAndLabel</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_displayObsoleteEntries
</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_notDisplayDefaultOption
</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_ordering</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_cssStyle</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_cssStyleClass</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DirectorySelectOneWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="selectOneRadioDirectory">
<configuration>
<title>Single vocabulary radio</title>
<description>
<p>
This widget displays radio buttons in edit mode for given category.
</p>
</description>
<demo id="selectOneRadioDirectoryWidget" previewEnabled="true"/>
<categories>
<category>document</category>
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
<properties>
<defaultValues mode="edit">
<property name="var">item</property>
<property name="itemValue">#{item.id}</property>
<property name="ordering">label</property>
<property name="notDisplayDefaultOption">true</property>
</defaultValues>
<layouts mode="any">
<layout name="selectOneRadioDirectory_widget_type_properties_any">
<rows>
<row>
<widget category="widgetTypeConf">directoryName</widget>
</row>
<row>
<widget category="widgetTypeConf">directoryNameDemoPreview</widget>
</row>
</rows>
</layout>
</layouts>
<layouts mode="view">
<layout name="selectOneRadioDirectory_widget_type_properties_view">
<rows>
<row>
<widget category="widgetTypeConf">directory_localize</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_displayIdAndLabel</widget>
</row>
<row>
<widget category="widgetTypeConf">style</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
</rows>
</layout>
</layouts>
<layouts mode="edit">
<layout name="selectOneRadioDirectory_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">required</widget>
</row>
<row>
<widget category="widgetTypeConf">select_layout</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_localize</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_displayIdAndLabel</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_displayObsoleteEntries
</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_notDisplayDefaultOption
</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_ordering</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_cssStyle</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_cssStyleClass</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DirectorySelectOneRadioWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="selectManyDirectory">
<configuration>
<title>Multiple vocabulary</title>
<description>
<p>
The selectManyDirectory widget displays a multi selection of
vocabulary entries in create or edit mode, with additional message
tag for errors, and the directory entries labels in other modes.
</p>
</description>
<demo id="selectManyDirectoryWidget" previewEnabled="true"/>
<categories>
<category>document</category>
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<fields>
<list>true</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
<properties>
<defaultValues mode="edit">
<property name="var">item</property>
<property name="itemValue">#{item.id}</property>
<property name="ordering">label</property>
<property name="notDisplayDefaultOption">true</property>
</defaultValues>
<layouts mode="any">
<layout name="selectManyDirectory_widget_type_properties_any">
<rows>
<row>
<widget category="widgetTypeConf">directoryName</widget>
</row>
<row>
<widget category="widgetTypeConf">directoryNameDemoPreview</widget>
</row>
</rows>
</layout>
</layouts>
<layouts mode="view">
<layout name="selectManyDirectory_widget_type_properties_view">
<rows>
<row>
<widget category="widgetTypeConf">directory_localize</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_displayIdAndLabel</widget>
</row>
<row>
<widget category="widgetTypeConf">style</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
</rows>
</layout>
</layouts>
<layouts mode="edit">
<layout name="selectManyDirectory_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">required</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_localize</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_displayIdAndLabel</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_displayObsoleteEntries
</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_notDisplayDefaultOption
</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_ordering</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_cssStyle</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_cssStyleClass</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DirectorySelectManyWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="selectManyCheckboxDirectory">
<configuration>
<title>Multiple vocabulary checkbox</title>
<description>
<p>
The selectManyCheckboxDirectory widget displays a multi selection
of
vocabulary entries in create or edit mode, with additional message
tag for errors, and the directory entries labels in other modes.
</p>
</description>
<demo id="selectManyCheckboxDirectoryWidget" previewEnabled="true"/>
<categories>
<category>document</category>
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<fields>
<list>true</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
<properties>
<defaultValues mode="edit">
<property name="var">item</property>
<property name="itemValue">#{item.id}</property>
<property name="ordering">label</property>
<property name="notDisplayDefaultOption">true</property>
</defaultValues>
<layouts mode="any">
<layout name="selectManyCheckboxDirectory_widget_type_properties_any">
<rows>
<row>
<widget category="widgetTypeConf">directoryName</widget>
</row>
<row>
<widget category="widgetTypeConf">directoryNameDemoPreview</widget>
</row>
</rows>
</layout>
</layouts>
<layouts mode="view">
<layout name="selectManyCheckboxDirectory_widget_type_properties_view">
<rows>
<row>
<widget category="widgetTypeConf">directory_localize</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_displayIdAndLabel</widget>
</row>
<row>
<widget category="widgetTypeConf">style</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
</rows>
</layout>
</layouts>
<layouts mode="edit">
<layout name="selectManyCheckboxDirectory_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">required</widget>
</row>
<row>
<widget category="widgetTypeConf">select_layout</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_localize</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_displayIdAndLabel</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_displayObsoleteEntries
</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_notDisplayDefaultOption
</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_ordering</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_cssStyle</widget>
</row>
<row>
<widget category="widgetTypeConf">directory_cssStyleClass</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DirectorySelectManyCheckboxWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="list">
<configuration>
<title>List</title>
<description>
<p>
The list widget displays an editable list of items in create or
edit mode, with additional message tag for errors, and the same list
of items in other modes. It is not usable within a list widget (see
sublist widget for this feature).
</p>
<p>Items are defined using sub wigdets configuration.</p>
<p>
This is actually a template widget type whose template uses a
<nxu:inputList /> tag in edit or create mode, and a table
iterating over items in other modes.
</p>
<p>
Since 5.6, it will apply to the current value (e.g. the layout or
parent widget value) if no field definition is given.
</p>
</description>
<demo id="listWidget" previewEnabled="false"/>
<categories>
<category>document</category>
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<acceptingSubWidgets>true</acceptingSubWidgets>
<fields>
<list>true</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
<type>path</type>
<type>date</type>
<type>blob</type>
<type>integer</type>
<type>double</type>
<type>boolean</type>
<type>complex</type>
</supportedTypes>
<defaultTypes>
<type>string</type>
<type>path</type>
<type>date</type>
<type>integer</type>
<type>double</type>
<type>boolean</type>
<type>complex</type>
</defaultTypes>
</fields>
<properties>
<layouts mode="any">
<layout name="list_widget_type_properties_any">
<rows>
<row>
<widget category="widgetTypeConf">list_subwidgets_display</widget>
</row>
<row>
<widget category="widgetTypeConf">subwidgets_hideSubLabels</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
</rows>
</layout>
</layouts>
<layouts mode="edit">
<layout name="list_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">required</widget>
</row>
<row>
<widget category="widgetTypeConf">list_diff</widget>
</row>
<row>
<widget category="widgetTypeConf">list_orderable</widget>
</row>
<row>
<widget category="widgetTypeConf">list_hideDeleteButton</widget>
</row>
<row>
<widget category="widgetTypeConf">list_hideAddButton</widget>
</row>
<row>
<widget category="widgetTypeConf">list_listTemplateItem</widget>
</row>
<row>
<widget category="widgetTypeConf">list_removeEmpty</widget>
</row>
<row>
<widget category="widgetTypeConf">list_number</widget>
</row>
<row>
<widget category="widgetTypeConf">list_addLabel</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.ListWidgetTypeHandler
</handler-class>
<property name="template">/widgets/js_list_widget_template.xhtml</property>
<property name="compatTemplate">/widgets/list_widget_template.xhtml</property>
</widgetType>
<widgetType name="complex">
<configuration>
<sinceVersion>5.4.2</sinceVersion>
<title>Complex</title>
<description>
<p>
The complex widget displays its sub widgets, and is controlling of
a map-like. Each of the map items rendering is done through sub
widgets configuration.
</p>
<p>
Since 5.6, it will apply to the current value (e.g. the layout or
parent widget value) if no field definition is given.
</p>
</description>
<demo id="complexWidget" previewEnabled="false"/>
<categories>
<category>document</category>
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<acceptingSubWidgets>true</acceptingSubWidgets>
<fields>
<list>false</list>
<complex>true</complex>
<supportedTypes>
<type>complex</type>
</supportedTypes>
<defaultTypes>
<type>complex</type>
</defaultTypes>
</fields>
<properties>
<layouts mode="any">
<layout name="complex_widget_type_properties_any">
<rows>
<row>
<widget category="widgetTypeConf">complex_subwidgets_display</widget>
</row>
<row>
<widget category="widgetTypeConf">subwidgets_hideSubLabels</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/complex_widget_template.xhtml
</property>
</widgetType>
<widgetType name="container">
<configuration>
<sinceVersion>5.6</sinceVersion>
<title>Container</title>
<description>
<p>
The container widget displays its subwidgets with display options
to control the rendering of global div container as well as each
container of sub items, using the widget label as header.
</p>
<p>
If the widget is marked as handling labels (marker available on all
widgets since 5.6), the header will be displayed. Otherwise it will
never be displayed.
</p>
<p>
On version 5.6 (only this version), this widget also accepts custom
properties to add forms around some of its subwidgets. If the
property with name "nxw_addForm_#{widgetIndex}" is present and
resolves to true, then a form will be added around the subwidgets at
index #{widgetIndex}. For instance, adding a property
"nxw_addForm_0" with value true, the first subwidget will be
surrounded with a form.
</p>
<p>
From version 5.7, subwidgets hold this information directly, by
declaring a control with key "addForm" and value "true".
</p>
<p>
It will apply to the current value (e.g. the layout or parent
widget value) if no field definition is given.
</p>
</description>
<categories>
<category>decoration</category>
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<acceptingSubWidgets>true</acceptingSubWidgets>
<handlingLabels>true</handlingLabels>
<supportedControls>
<control>requireSurroundingForm</control>
<control>useAjaxForm</control>
<control>handlingLabels</control>
</supportedControls>
<properties>
<layouts mode="any">
<layout name="container_widget_type_properties_any">
<rows>
<row>
<widget category="widgetTypeConf">container_subwidgets_display</widget>
</row>
<row>
<widget category="widgetTypeConf">container_subwidgets_hideSubLabels
</widget>
</row>
<row>
<widget>foldable</widget>
</row>
<row>
<widget>foldedByDefault</widget>
</row>
<row>
<widget>headerStyleClass</widget>
</row>
<row>
<widget>styleClass</widget>
</row>
<row>
<widget>subLabelStyleClass</widget>
</row>
<row>
<widget>subStyleClass</widget>
</row>
<row>
<widget>showIfEmpty</widget>
</row>
<row>
<widget>tip</widget>
</row>
</rows>
<widget name="foldable" type="checkbox">
<labels>
<label mode="any">Foldable</label>
</labels>
<helpLabels>
<label mode="any">
If set to true, the widget label will be
displayed in a header of a box, containing the sub widgets
rendering. This box is foldable in javascript. Ignored if
the widget is not marked as handling labels as the header
will not be displayed in this case. If label is empty, a
default label will be shown. Defaults to false.
</label>
</helpLabels>
<fields>
<field>foldable</field>
</fields>
</widget>
<widget name="foldedByDefault" type="checkbox">
<labels>
<label mode="any">Folded by default</label>
</labels>
<helpLabels>
<label mode="any">
If set to true, and property "foldable" is
also set to true,
the box will be folded by default. Defaults
to false.
</label>
</helpLabels>
<fields>
<field>foldedByDefault</field>
</fields>
</widget>
<widget name="showIfEmpty" type="checkbox">
<labels>
<label mode="any">Show if empty</label>
</labels>
<helpLabels>
<label mode="any">
If set to true, the widget label will be
displayed even if there are no subwidgets. Defaults to
false.
</label>
</helpLabels>
<fields>
<field>showIfEmpty</field>
</fields>
</widget>
<widget name="tip" type="text">
<labels>
<label mode="any">Tip</label>
</labels>
<helpLabels>
<label mode="any">
Label to display on top of the container
widget content, that will be translated if the widget is
translated. Available since 5.7.3.
</label>
</helpLabels>
<fields>
<field>tip</field>
</fields>
</widget>
<widget name="headerStyleClass" type="text">
<labels>
<label mode="any">Header style class</label>
</labels>
<helpLabels>
<label mode="any">
Style class for the header, displaying this
widget label.
</label>
</helpLabels>
<fields>
<field>headerStyleClass</field>
</fields>
</widget>
<widget name="styleClass" type="text">
<labels>
<label mode="any">Style class</label>
</labels>
<helpLabels>
<label mode="any">
Style class for the global container div.
</label>
</helpLabels>
<fields>
<field>styleClass</field>
</fields>
</widget>
<widget name="subLabelStyleClass" type="text">
<labels>
<label mode="any">Sub Label style class</label>
</labels>
<helpLabels>
<label mode="any">
Style class for the sub widget label.
</label>
</helpLabels>
<fields>
<field>subLabelStyleClass</field>
</fields>
</widget>
<widget name="subStyleClass" type="text">
<labels>
<label mode="any">Sub style class</label>
</labels>
<helpLabels>
<label mode="any">
Style class for the container of each sub
widget.
</label>
</helpLabels>
<fields>
<field>subStyleClass</field>
</fields>
</widget>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">/widgets/container_widget_template.xhtml
</property>
</widgetType>
<widgetType name="checkbox">
<configuration>
<title>Checkbox</title>
<description>
<p>
The checkbox widget displays a checkbox in create, edit and any
other mode, with additional message tag for errors.
</p>
<p>
Widgets using this type can provide properties accepted on a
<h:selectBooleanCheckbox /> tag in create, edit mode, and
other modes.
</p>
</description>
<demo id="checkboxWidget" previewEnabled="true"/>
<categories>
<category>document</category>
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>boolean</type>
</supportedTypes>
<defaultTypes>
<type>boolean</type>
</defaultTypes>
</fields>
<properties>
<layouts mode="view">
<layout name="checkbox_widget_type_properties_view">
<rows>
<row>
<widget category="widgetTypeConf">style</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
<row>
<widget category="widgetTypeConf">title</widget>
</row>
</rows>
</layout>
</layouts>
<layouts mode="edit">
<layout name="checkbox_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">required</widget>
</row>
<row>
<widget category="widgetTypeConf">style</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
<row>
<widget category="widgetTypeConf">title</widget>
</row>
<row>
<widget category="widgetTypeConf">accesskey</widget>
</row>
<row>
<widget category="widgetTypeConf">dir</widget>
</row>
<row>
<widget category="widgetTypeConf">disabled</widget>
</row>
<row>
<widget category="widgetTypeConf">immediate</widget>
</row>
<row>
<widget category="widgetTypeConf">lang</widget>
</row>
<row>
<widget category="widgetTypeConf">validator</widget>
</row>
<row>
<widget category="widgetTypeConf">valueChangeListener</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.CheckboxWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="hidden">
<configuration>
<title>Hidden</title>
<description>
<p>
The hidden widget is for a hidden field in create, edit and any
other mode, with additional message tag for errors.
</p>
<p>
Widgets using this type can provide properties accepted on a
<h:inputHidden /> tag in create, edit mode, and other modes.
</p>
</description>
<!-- demo does not present it (yet?) -->
<!--
<demo id="hiddenWidget" previewEnabled="false"/>
-->
<categories>
<category>document</category>
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
<properties>
<layouts mode="view">
<layout name="hidden_widget_type_properties_view">
<rows>
<row>
<widget category="widgetTypeConf">style</widget>
</row>
<row>
<widget category="widgetTypeConf">styleClass</widget>
</row>
<row>
<widget category="widgetTypeConf">title</widget>
</row>
</rows>
</layout>
</layouts>
<layouts mode="edit">
<layout name="hidden_widget_type_properties_edit">
<rows>
<row>
<widget category="widgetTypeConf">required</widget>
</row>
<row>
<widget category="widgetTypeConf">immediate</widget>
</row>
<row>
<widget category="widgetTypeConf">validator</widget>
</row>
<row>
<widget category="widgetTypeConf">valueChangeListener</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.HiddenWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="layout">
<configuration>
<sinceVersion>5.4.0</sinceVersion>
<title>Layout</title>
<description>
<p>The layout widget renders a layout.</p>
<p>
Widgets using this type can provide properties accepted on a
<nxl:layout /> tag in all modes.
</p>
<p>
Since 5.6, it will apply to the current value (e.g. the layout or
parent widget value) if no field definition is given.
</p>
</description>
<categories>
<category>dev</category>
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<properties>
<layouts mode="any">
<layout name="layout_widget_type_properties_any">
<rows>
<row>
<widget>name</widget>
</row>
<row>
<widget>nameDemoPreview</widget>
</row>
<row>
<widget>mode</widget>
</row>
<row>
<widget category="widgetTypeConf">widgetsDisplay</widget>
</row>
<row>
<widget>template</widget>
</row>
</rows>
<widget name="name" type="selectOneResource">
<labels>
<label mode="any">Layout(s)</label>
</labels>
<helpLabels>
<label mode="any">
The layout name. Since 5.6, this attribute
accepts a list of multiple layout names, separated by
commas.
</label>
</helpLabels>
<fields>
<field>name</field>
</fields>
<widgetModes>
<mode value="edit_demo_preview">hidden</mode>
</widgetModes>
<properties widgetMode="any">
<property name="required">true</property>
<property name="resourceName">layouts</property>
</properties>
</widget>
<widget name="nameDemoPreview" type="text">
<labels>
<label mode="any">Layout(s)</label>
</labels>
<helpLabels>
<label mode="any">
The layout name. Since 5.6, this attribute
accepts a list of multiple layout names, separated by
commas.
</label>
</helpLabels>
<fields>
<field>name</field>
</fields>
<widgetModes>
<mode value="any">hidden</mode>
<mode value="edit_demo_preview">view</mode>
</widgetModes>
<properties widgetMode="any">
<property name="required">true</property>
</properties>
</widget>
<widget name="mode" type="text">
<labels>
<label mode="any">Layout mode</label>
</labels>
<helpLabels>
<label mode="any">
If not set, the mode is resolved from the
usual widget mode. Otherwise it's taken instead when not
empty. WARNING: Before 5.5, mode was not resolved from the
widget mode, so this value was required.
</label>
</helpLabels>
<fields>
<field>mode</field>
</fields>
</widget>
<widget name="template" type="selectOneResource">
<labels>
<label mode="any">Template</label>
</labels>
<fields>
<field>template</field>
</fields>
<properties mode="any">
<property name="resourceName">layout_templates</property>
</properties>
<widgetModes>
<mode value="any">hidden</mode>
<mode value="edit_demo_preview">hidden</mode>
</widgetModes>
</widget>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.LayoutWidgetTypeHandler
</handler-class>
</widgetType>
<widgetType name="richtext_with_mimetype">
<configuration>
<sinceVersion>5.3.1</sinceVersion>
<title>Richtext</title>
<description>
<p>
This widget displays an html text editor or a textarea in create or
edit mode, depending on the mimetype defined.
</p>
<p>
It accepts two fields bindings:
<ul>
<li>first field holds the text content</li>
<li>second field holds the text mimetype (text/plain,
text/html...)
</li>
</ul>
</p>
</description>
<categories>
<!-- do not export with documents -->
<category>configuration_not_ready</category>
<!--
<category>document</category>
-->
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
<properties>
<layouts mode="view">
<layout name="richtext_widget_type_properties_view">
<rows>
<row>
<widget>cssClass</widget>
</row>
</rows>
<widget name="cssClass" type="text">
<labels>
<label mode="any">Style class</label>
</labels>
<fields>
<field>cssClass</field>
</fields>
</widget>
</layout>
</layouts>
<layouts mode="edit">
<layout name="richtext_widget_type_properties_edit">
<rows>
<row>
<widget>height</widget>
</row>
<row>
<widget>width</widget>
</row>
<row>
<widget>cols</widget>
</row>
<row>
<widget>rows</widget>
</row>
<row>
<widget>editorSelector</widget>
</row>
</rows>
<widget name="width" type="int">
<labels>
<label mode="any">Width</label>
</labels>
<helpLabels>
<label mode="any">
The textarea width. Defaults to "700".
</label>
</helpLabels>
<fields>
<field>width</field>
</fields>
</widget>
<widget name="height" type="int">
<labels>
<label mode="any">Height</label>
</labels>
<helpLabels>
<label mode="any">
The textarea height. Defaults to "400".
</label>
</helpLabels>
<fields>
<field>height</field>
</fields>
</widget>
<widget name="cols" type="int">
<labels>
<label mode="any">Number of columns</label>
</labels>
<helpLabels>
<label mode="any">
The cols attribute sets the number of
columns to display.
Available since 5.3.1.
</label>
</helpLabels>
<fields>
<field>cols</field>
</fields>
</widget>
<widget name="rows" type="int">
<labels>
<label mode="any">Number of rows</label>
</labels>
<helpLabels>
<label mode="any">
The rows attribute sets the number of rows
to display.
Available since 5.3.1.
</label>
</helpLabels>
<fields>
<field>rows</field>
</fields>
</widget>
<widget name="editorSelector" type="text">
<labels>
<label mode="any">Editor selector</label>
</labels>
<helpLabels>
<label mode="any">
The class to use to identify text areas to
turn into html
editors. Defaults to "mceEditor". See the
editor_selector
option in tiny_mce
(http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/editor_selector).
</label>
</helpLabels>
<fields>
<field>editorSelector</field>
</fields>
</widget>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/richtext_with_mimetype_widget_template.xhtml
</property>
</widgetType>
<widgetType name="duration">
<configuration>
<sinceVersion>5.3.2</sinceVersion>
<title>Duration</title>
<description>
This widget displays a i18n formatted duration of a field
holding a
value measured in seconds (can be Long, Double or String
valued). NB:
only view mode is supported right now.
</description>
<categories>
<category>document</category>
</categories>
<supportedModes>
<mode>view</mode>
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
<type>int</type>
<type>double</type>
</supportedTypes>
</fields>
<!-- no props -->
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/duration_widget_template.xhtml
</property>
</widgetType>
<widgetType name="setVariable">
<configuration>
<sinceVersion>5.7.3</sinceVersion>
<title>Set variable</title>
<description>
<p>
This widget exposes a variable to the context for
rendering,
allowing its sub widgets to reference it.
</p>
<p>
This is mostly useful to simplify resolution of a variable in sub
contexts, and benefit from caching on the variable resolution.
</p>
</description>
<properties>
<layouts mode="any">
<layout name="set_variable_widget_type_properties_any">
<rows>
<row>
<widget>var</widget>
</row>
<row>
<widget>value</widget>
</row>
<row>
<widget>cache</widget>
</row>
<row>
<widget>resolveTwice</widget>
</row>
</rows>
<widget name="var" type="text">
<labels>
<label mode="any">Variable name</label>
</labels>
<helpLabels>
<label mode="any">
The variable under which name the value will
be exposed, making it available to sub widgets.
</label>
</helpLabels>
<fields>
<field>var</field>
</fields>
<properties widgetMode="any">
<property name="required">true</property>
</properties>
</widget>
<widget name="value" type="text">
<labels>
<label mode="any">Value</label>
</labels>
<helpLabels>
<label mode="any">
The value to resolve for the variable name.
The variable under which name the value will
be exposed,
making it available to sub widgets.
</label>
</helpLabels>
<fields>
<field>value</field>
</fields>
<properties widgetMode="any">
<property name="required">true</property>
</properties>
</widget>
<widget name="cache" type="checkbox">
<labels>
<label mode="any">Cache</label>
</labels>
<helpLabels>
<label mode="any">
Boolean expressing if exposed value should
be cached in the page.
If set to true, the variable will be
resolved only once per page rendering (or re-rendering in
case of ajax requests). Defaults to false.
</label>
</helpLabels>
<fields>
<field>cache</field>
</fields>
</widget>
<widget name="resolveTwice" type="checkbox">
<labels>
<label mode="any">Resolve twice</label>
</labels>
<helpLabels>
<label mode="any">
Boolean expressing if expression should be
resolved twice: sometimes the expression uses a
configuration element, and the first resolution of the
expression will resolve to another expression, that may need
to be itself evaluated again. Defaults to false.
</label>
</helpLabels>
<fields>
<field>resolveTwice</field>
</fields>
</widget>
</layout>
</layouts>
</properties>
<categories>
<category>dev</category>
</categories>
<supportedModes>
<mode>edit</mode>
<mode>view</mode>
</supportedModes>
<acceptingSubWidgets>true</acceptingSubWidgets>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/set_variable_widget_template.xhtml
</property>
</widgetType>
</extension>