Contribution org.nuxeo.ecm.platform.forms.layouts.webapp.listing--widgettypes
In component org.nuxeo.ecm.platform.forms.layouts.webapp.listing
org.nuxeo.ecm.platform.forms.layouts.webapp.listing
inside nuxeo-platform-webapp-base-2021.26.5.jar /OSGI-INF/layouts-listing-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 Documentation
The widget types from this contribution are intended to be used within a layout displaying a table line. They can be configured to match metadata from a table iteration item.
The template "/layouts/layout_listing_template.xhtml" handles specific configuration for lists of documents rendering. It applies to an item instance of SelectDataModel named "documents" in the EL context.
It also requires the following variables to be present in the EL context:
- provider: result provider used to get the list of items, its name will be used, as well as sort and pagination features it provides.
- layoutListingStatus: iteration status as provided by the "c:forEach" tag, used to print table header matching widget label.
It accepts the the following properties configuration:
- showListingHeader: true or false, used to define whether the table header should be displayed. This property can also be passed in the EL context, using the table iteration status. Defaults to false.
- showRowEvenOddClass: true or false, used to define if a style class should be set on table rows depending on the layoutListingStatus index variable (row or odd). Defaults to false.
Its layout columns accept the following properties configuration:
- useFirstWidgetLabelAsColumnHeader: true or false, used to define if first widget label should be used as column header label. Will use translation settings from the widget configuration. Defaults to false.
- sortPropertyName: name of the property that will be used by the result provider when clicking on the table header. If not set, the sort link will not be displayed. Defaults to null.
- defaultSortAscending: define the initial sort order of the column (true : ascending, false : descending) Defaults to null (will be interpreted as ascending=true).
- columnStyleClass: name of the style class that will be used for the given column. Defaults to null.
Extension Point
Extension point widgettypes of component WebLayoutManager.Registration Order
10
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">
<documentation>
The widget types from this contribution are intended to be used within a
layout displaying a table line. They can be configured to match metadata
from a table iteration item.
<br/>
The template "/layouts/layout_listing_template.xhtml" handles specific
configuration for lists of documents rendering. It applies to an item
instance of SelectDataModel named "documents" in the EL context.
<br/>
It also requires the following variables to be present in the EL context:
<ul>
<li>
provider: result provider used to get the list of items, its name
will
be used, as well as sort and pagination features it provides.
</li>
<li>
layoutListingStatus: iteration status as provided by the "c:forEach"
tag, used to print table header matching widget label.
</li>
</ul>
It accepts the the following properties configuration:
<ul>
<li>
showListingHeader: true or false, used to define whether the table
header should be displayed. This property can also be passed in the EL
context, using the table iteration status. Defaults to false.
</li>
<li>
showRowEvenOddClass: true or false, used to define if a style class
should be set on table rows depending on the layoutListingStatus index
variable (row or odd). Defaults to false.
</li>
</ul>
Its layout columns accept the following properties configuration:
<ul>
<li>
useFirstWidgetLabelAsColumnHeader: true or false, used to define if
first widget label should be used as column header label. Will use
translation settings from the widget configuration. Defaults to false.
</li>
<li>
sortPropertyName: name of the property that will be used by the
result provider when clicking on the table header. If not set, the
sort link will not be displayed. Defaults to null.
</li>
<li>
defaultSortAscending: define the initial sort order of the column
(true : ascending, false : descending) Defaults to null (will be
interpreted as ascending=true).
</li>
<li>
columnStyleClass: name of the style class that will be used for the
given column. Defaults to null.
</li>
</ul>
</documentation>
<widgetType name="listing_ajax_selection_box_with_current_document">
<aliases>
<alias>listing_selection_box_with_current_document</alias>
</aliases>
<configuration>
<sinceVersion>5.4.0</sinceVersion>
<title>Ajax selection checkbox with current document</title>
<description>
<p>
This widget type displays a selection checkbox, that will perform
ajax selection of given item. The current document information is
also provided to restore current context when clicking on the link.
</p>
<p>
It requires the following fields configuration:
<ul>
<li>
first field maps a boolean representing the selection state
</li>
<li>
second field maps the string identifier used to perform
selection
</li>
</ul>
</p>
<p>
It also requires the following variables to be present in the EL
context:
<ul>
<li>
provider: result provider used to get the list of items, its
name will be used.
</li>
<li>
listName: the name of the list that will hold selected items
</li>
<li>currentDocument: the current document</li>
</ul>
</p>
</description>
<fields>
<list>false</list>
<complex>false</complex>
<defaultConfiguration>
<field>selected</field>
<field>data.ref</field>
</defaultConfiguration>
</fields>
<categories>
<category>hidden_listing</category>
</categories>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/listing/listing_ajax_selection_box_with_current_document_widget_template.xhtml
</property>
</widgetType>
<widgetType name="listing_ajax_selection_box">
<aliases>
<alias>listing_selection_box</alias>
</aliases>
<configuration>
<sinceVersion>5.4.0</sinceVersion>
<title>Ajax selection checkbox</title>
<description>
<p>
This widget type displays a selection checkbox, that will perform
ajax selection of given item.
</p>
<p>
It requires the following fields configuration:
<ul>
<li>
first field maps a boolean representing the selection state
</li>
<li>
second field maps the string identifier used to perform
selection
</li>
</ul>
</p>
<p>
It also requires the following variables to be present in the EL
context:
<ul>
<li>
provider: result provider used to get the list of items, its
name will be used.
</li>
<li>
listName: the name of the list that will hold selected items
</li>
</ul>
</p>
</description>
<fields>
<list>false</list>
<complex>false</complex>
<defaultConfiguration>
<field>selected</field>
<field>data.ref</field>
</defaultConfiguration>
</fields>
<categories>
<category>hidden_listing</category>
</categories>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/listing/listing_ajax_selection_box_widget_template.xhtml
</property>
</widgetType>
<widgetType name="listing_icon_type">
<configuration>
<sinceVersion>5.4.0</sinceVersion>
<title>Icon and document type</title>
<description>
<p>
This widget type displays a draggable icon corresponding to a
document.
</p>
<p>
It requires the following fields configuration:
<ul>
<li>
first field maps the document model, the jsf method
nxd:iconPath will be used to provide its icon
</li>
<li>
second field maps the unique id to be used as drag/drop
identified (e.g. the document model id)
</li>
<li>
third field maps the icon title (can be the document model
type)
</li>
<li>
fourth field maps a boolean stating whether the widget
displays a droppable zone (e.g. if document is folderish)
</li>
</ul>
</p>
</description>
<demo id="listing_icon_typeWidget"/>
<fields>
<list>false</list>
<complex>false</complex>
<defaultConfiguration>
<field>data</field>
<field>data.ref</field>
<field>data.type</field>
<field>data.folder</field>
</defaultConfiguration>
</fields>
<categories>
<category>listing</category>
</categories>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/listing/listing_icon_type_widget_template.xhtml
</property>
</widgetType>
<widgetType name="listing_big_icon_type">
<configuration>
<sinceVersion>5.4.0</sinceVersion>
<title>Big icon and document type</title>
<description>
<p>
This widget type displays a big draggable icon corresponding to a
document.
</p>
<p>
It requires the following fields configuration:
<ul>
<li>
first field maps the document model, the jsf method
nxd:bigIconPath will be used to provide its icon
</li>
<li>
second field maps the unique id to be used as drag/drop
identified (e.g. the document model id)
</li>
<li>
third field maps the displayed icon title (can be the document
model type)
</li>
<li>
fourth field maps a boolean stating whether the widget
displays
a droppable zone (e.g. if document is folderish)
</li>
</ul>
</p>
</description>
<demo id="listing_big_icon_typeWidget"/>
<fields>
<list>false</list>
<complex>false</complex>
<defaultConfiguration>
<field>data</field>
<field>data.ref</field>
<field>data.type</field>
<field>data.folder</field>
</defaultConfiguration>
</fields>
<categories>
<category>listing</category>
</categories>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/listing/listing_big_icon_type_widget_template.xhtml
</property>
</widgetType>
<widgetType name="listing_big_icon_type_link">
<configuration>
<sinceVersion>5.4.0</sinceVersion>
<title>Big icon and document type with link</title>
<description>
<p>
This widget type displays a big draggable icon corresponding to a
document with a link to the document.
</p>
<p>
It requires the following fields configuration:
<ul>
<li>
first field maps the document model, the jsf method
nxd:bigIconPath will be used to provide its icon and to display
the document link
</li>
<li>
second field maps the unique id to be used as drag/drop
identified (e.g. the document model id)
</li>
<li>
third field maps the displayed icon title (can be the document
model type)
</li>
<li>
fourth field maps a boolean stating whether the widget
displays
a droppable zone (e.g. if document is folderish)
</li>
</ul>
</p>
</description>
<demo id="listing_big_icon_type_linkWidget"/>
<fields>
<list>false</list>
<complex>false</complex>
<defaultConfiguration>
<field>data</field>
<field>data.ref</field>
<field>data.type</field>
<field>data.folder</field>
</defaultConfiguration>
</fields>
<categories>
<category>listing</category>
</categories>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/listing/listing_big_icon_type_link_widget_template.xhtml
</property>
</widgetType>
<widgetType name="listing_title_link">
<configuration>
<sinceVersion>5.4.0</sinceVersion>
<title>Title with link</title>
<description>
<p>
This widget type displays a link to navigate to a document, as well
as a download link for the document binary content.
</p>
<p>
It requires the following fields configuration:
<ul>
<li>
first field maps the document model, it will be used to
display the document link and its title
</li>
<li>
second field maps the unique id to be used for contextual menu
(e.g. the document model id)
</li>
<li>
third field maps the displayed link title (can be the document
model description)
</li>
<li>
fourth field maps the document model file to be used for
download link
</li>
<li>
fifth field maps the file name to be used for download link
(can be the document model file name property value)
</li>
</ul>
</p>
<p>
It also requires the following properties configuration:
<ul>
<li>
file_schema: the file schema name, used to check whether
download link should be displayed (e.g: file)
</li>
<li>
file_property_name: the file property name (e.g file:content)
</li>
</ul>
</p>
</description>
<demo id="listing_title_linkWidget"/>
<confProperties>
<property name="sortPropertyName">dc:title</property>
</confProperties>
<fields>
<list>false</list>
<complex>false</complex>
<defaultConfiguration>
<field>data</field>
<field>data.ref</field>
<field>data.dc.description</field>
<field>data.file.content</field>
<field>data.file.content.filename</field>
</defaultConfiguration>
</fields>
<categories>
<category>listing</category>
</categories>
<properties>
<defaultValues mode="any">
<property name="hideExternalLink">true</property>
</defaultValues>
<layouts mode="any">
<layout name="listing_title_link_widget_type_properties_any">
<rows>
<row>
<widget category="widgetTypeConf">listing_link_tab</widget>
</row>
<row>
<widget category="widgetTypeConf">listing_link_subTab</widget>
</row>
<row>
<widget category="widgetTypeConf">listing_link_tabs</widget>
</row>
<row>
<widget category="widgetTypeConf">listing_link_target</widget>
</row>
<row>
<widget category="widgetTypeConf">localize</widget>
</row>
<row>
<widget category="widgetTypeConf">listing_link_pattern</widget>
</row>
<row>
<widget category="widgetTypeConf">listing_link_view</widget>
</row>
<row>
<widget category="widgetTypeConf">listing_link_hideExternalLink</widget>
</row>
<row>
<widget category="widgetTypeConf">listing_link_hideDownloadLink</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/listing/listing_title_link_widget_template.xhtml
</property>
</widgetType>
<widgetType name="listing_id_title_link">
<configuration>
<sinceVersion>7.4</sinceVersion>
<title>Document id title with link</title>
<description>
<p>
This widget type displays a link to navigate to a document.
</p>
<p>
It requires the following fields configuration:
<ul>
<li>
first field maps the document id, it will be used to
display the document link
</li>
<li>
second field maps the repository name, it will be used to
display the document link
</li>
<li>
third field maps the displayed link title
</li>
</ul>
</p>
</description>
<demo id="listing_id_title_linkWidget"/>
<confProperties>
<property name="sortPropertyName">dc:title</property>
</confProperties>
<fields>
<list>false</list>
<complex>false</complex>
<defaultConfiguration>
<field>data.id</field>
<field>data.repositoryName</field>
<field>data.dc.title</field>
</defaultConfiguration>
</fields>
<categories>
<category>listing</category>
</categories>
<properties>
<defaultValues mode="any">
<property name="view">view_documents</property>
<property name="pattern">id</property>
<property name="hideExternalLink">true</property>
</defaultValues>
<layouts mode="any">
<layout name="listing_id_title_link_widget_type_properties_any">
<rows>
<row>
<widget category="widgetTypeConf">listing_link_tab</widget>
</row>
<row>
<widget category="widgetTypeConf">listing_link_subTab</widget>
</row>
<row>
<widget category="widgetTypeConf">listing_link_tabs</widget>
</row>
<row>
<widget category="widgetTypeConf">listing_link_target</widget>
</row>
<row>
<widget category="widgetTypeConf">listing_link_pattern</widget>
</row>
<row>
<widget category="widgetTypeConf">listing_link_view</widget>
</row>
<row>
<widget category="widgetTypeConf">localize</widget>
</row>
<row>
<widget category="widgetTypeConf">listing_link_hideExternalLink</widget>
</row>
</rows>
</layout>
</layouts>
</properties>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/listing/listing_id_title_link_widget_template.xhtml
</property>
</widgetType>
<widgetType name="listing_lock_icon">
<configuration>
<sinceVersion>5.4.0</sinceVersion>
<title>Lock icon</title>
<description>
<p>This widget type displays a lock icon.</p>
<p>
It requires the following fields configuration:
<ul>
<li>
first field maps a property stating that lock icon should be
displayed if not empty (e.g. the document model lock state)
</li>
</ul>
</p>
</description>
<demo id="listing_lock_iconWidget"/>
<fields>
<list>false</list>
<complex>false</complex>
<defaultConfiguration>
<field>data.lock</field>
<field>data.lockInfo</field>
</defaultConfiguration>
</fields>
<categories>
<category>listing</category>
</categories>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/listing/listing_lock_icon_widget_template.xhtml
</property>
</widgetType>
<widgetType name="listing_author">
<configuration>
<sinceVersion>5.4.0</sinceVersion>
<title>Author</title>
<description>
<p>This widget type displays a user name.</p>
<p>
It requires the following fields configuration:
<ul>
<li>first field mapping the user identifier</li>
</ul>
</p>
</description>
<demo id="listing_authorWidget"/>
<confProperties>
<property name="sortPropertyName">dc:creator</property>
</confProperties>
<fields>
<list>false</list>
<complex>false</complex>
<defaultConfiguration>
<field>data.dc.creator</field>
</defaultConfiguration>
</fields>
<categories>
<category>listing</category>
</categories>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/single_user_widget_template.xhtml
</property>
</widgetType>
<widgetType name="listing_last_contributor">
<configuration>
<sinceVersion>5.4.2</sinceVersion>
<title>Last contributor</title>
<description>
<p>This widget type displays the last contributor name</p>
<p>
It requires the following fields configuration:
<ul>
<li>first field mapping the lastContributor field</li>
</ul>
</p>
</description>
<demo id="listing_last_contributorWidget"/>
<confProperties>
<property name="sortPropertyName">dc:lastContributor</property>
</confProperties>
<fields>
<list>false</list>
<complex>false</complex>
<defaultConfiguration>
<field>data.dc.lastContributor</field>
</defaultConfiguration>
</fields>
<categories>
<category>listing</category>
</categories>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/single_user_widget_template.xhtml
</property>
</widgetType>
<!-- Deprecated since NXP-6825 is fixed but still useful for Studio configuration -->
<widgetType name="listing_lifecycle">
<configuration>
<sinceVersion>5.4.0</sinceVersion>
<title>Lifecycle state</title>
<description>
<p>This widget type displays a life cycle state name.</p>
<p>
It requires the following fields configuration:
<ul>
<li>first field mapping the life cycle state name</li>
</ul>
</p>
</description>
<demo id="listing_lifecycleWidget"/>
<confProperties>
<property name="sortPropertyName">ecm:currentLifeCycleState</property>
</confProperties>
<fields>
<list>false</list>
<complex>false</complex>
<defaultConfiguration>
<field>data.currentLifeCycleState</field>
</defaultConfiguration>
</fields>
<categories>
<category>listing</category>
</categories>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/listing/listing_lifecycle_widget_template.xhtml
</property>
</widgetType>
<widgetType name="listing_livedit_link">
<configuration>
<sinceVersion>5.4.0</sinceVersion>
<title>Live edit link</title>
<description>
<p>This widget type displays a live edit link.</p>
<p>
It requires the following fields configuration:
<ul>
<li>
first field mapping the document model to be used for live
edit link
</li>
</ul>
</p>
<p>
It also requires the following properties configuration:
<ul>
<li>file_schema: the file schema name</li>
<li>file_field_name: the file field name</li>
<li>filename_field_name: the file name field name</li>
</ul>
</p>
</description>
<fields>
<list>false</list>
<complex>false</complex>
<defaultConfiguration>
<field>data</field>
</defaultConfiguration>
</fields>
<categories>
<category>listing</category>
</categories>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/listing/listing_livedit_link_widget_template.xhtml
</property>
</widgetType>
<widgetType name="listing_version">
<configuration>
<sinceVersion>5.4.0</sinceVersion>
<title>Version</title>
<description>
<p>This widget type displays a document model version label</p>
<p>
It requires the following fields configuration:
<ul>
<li>
first field mapping the document model, its version label will
be retrieved querying the versioning service
</li>
</ul>
</p>
</description>
<demo id="listing_versionWidget"/>
<fields>
<list>false</list>
<complex>false</complex>
<defaultConfiguration>
<field>data</field>
</defaultConfiguration>
</fields>
<categories>
<category>listing</category>
</categories>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/listing/listing_version_widget_template.xhtml
</property>
</widgetType>
<widgetType name="listing_thumbnail">
<configuration>
<sinceVersion>5.7.2</sinceVersion>
<title>Thumbnail</title>
<description>
<p>This widget type displays the document thumbnail.</p>
<p>
It requires the following fields configuration: first field maps
the document model.
</p>
</description>
<fields>
<list>false</list>
<complex>false</complex>
<defaultConfiguration>
<field>data</field>
</defaultConfiguration>
</fields>
<categories>
<category>listing</category>
</categories>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/listing/listing_thumbnail_widget_template.xhtml
</property>
</widgetType>
<widgetType name="listing_main_file_size">
<configuration>
<sinceVersion>5.7.2</sinceVersion>
<title>Main File Size</title>
<description>
<p>
This widget type displays the size of the main blob of the
document.
</p>
<p>
It requires the following fields configuration:
<ul>
<li>
first field maps the document model, it will be used to
display the size.
</li>
</ul>
</p>
</description>
<fields>
<list>false</list>
<complex>false</complex>
<defaultConfiguration>
<field>data</field>
</defaultConfiguration>
</fields>
<categories>
<category>listing</category>
</categories>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/listing/listing_main_file_size_widget_template.xhtml
</property>
</widgetType>
<widgetType name="listing_main_file_format">
<configuration>
<sinceVersion>5.7.2</sinceVersion>
<title>Main File Format</title>
<description>
<p>
This widget type displays the format of the main file of the
document.
</p>
<p>
It requires the following fields configuration:
<ul>
<li>
first field maps the document model, it will be used to
display the format.
</li>
</ul>
</p>
</description>
<fields>
<list>false</list>
<complex>false</complex>
<defaultConfiguration>
<field>data</field>
</defaultConfiguration>
</fields>
<categories>
<category>listing</category>
</categories>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/listing/listing_main_file_format_widget_template.xhtml
</property>
</widgetType>
<widgetType name="listing_manage_document">
<configuration>
<sinceVersion>5.9.3</sinceVersion>
<title>Manage Document</title>
<description>
<p>This widget type displays a clickable icon when the document can be
managed by the current user. Clicking the icon goes directly to the
manage
tab.
</p>
</description>
<fields>
<list>false</list>
<complex>false</complex>
<defaultConfiguration>
<field>data</field>
</defaultConfiguration>
</fields>
<categories>
<category>listing</category>
</categories>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/listing/listing_manage_document.xhtml
</property>
</widgetType>
</extension>