Web UI Framework

Default Widget Types Known Limitations

Updated: October 16, 2020

Some widgets have limitations in some specific conditions of use. We maintain a list of known problems here.

  • Widgets using HTML text editor cannot be used in a list (fixed from 6.0-HF01)**
  • File widgets cannot be used in an Ajax form.
  • File widget selection may be lost when adding element in a list (can be fixed from 6.0-HF08, see detailed instructions below): this issue happens when using a file widget inside a list. When adding a new element in the list, the previously selected file can be lost. There is ad-hoc JavaScript code that help keeping this selection, a sample widget template handling a list of files can taken as an example. From 6.0-HF08, you can switch the list widget behaviour to make it use JavaScript calls instead of Ajax calls when adding/removing an element, this will remove this limitaion. You can add the following property to your nuxeo.conf file to enable this behaviour:

    nuxeo.jsf.listWidget.compatEnabled=false
    
  • You might have some troubles using chain select widgets in Ajax forms or when using lists. This occurs in some very specific conditions, so you have to check if it is ok for your use case first. We plan to rewrite completely this widget to solve this issue.

  • Widgets using Rich Faces suggestion components don't work correctly in a list. Limitation is at lower Rich Faces level, so there is no short term fix planned.
  • Widgets displaying URLs to files/images may misbehave inside of lists. This is because the URL might need information about the complete property XPath, and this variable is not exposed in the context for now (see NXP-10423). Some specific widget templates can be used to workaround this issue, and some of them are available by default:
    • /widgets/extended_subfile_widget.xhtml Displays a link to a file with additional information (icon, PDF export) for a file within a list.
    • /widgets/image_subwidget_template.xhtml Displays an image when within a list (available only from 5.9.3, 5.8.0-HF09, 5.6.0-HF32.These widget templates are specific to this use case, and will not work as expected inside lists of lists, for instance, but custom widget templates can be defined for this behaviour, taking care of the following issues:
    • The URL system may rely on a document to provide the RESTful link, hence the layoutValue variable is used for it: these widget templates will assume that the layout applies to a document
    • The parent widgets field definitions, used to build the document property XPath, can be retrieved using variables widget_0 for instance: this assumes that the widget at the first level of the layout holds the list property path.
    • The widget template needs to know the file/image index, and is relying on variable model.rowData for it: this is only available within a widget of type list.
    • Facelets tags evaluated at build time (like a c:if tag) cannot check elements within the list, because these items are only exposed at render time.