Object Widgets
Object widgets are used to display and update nested fields (such as main properties of a product).
It is possible to extend the list and variety of object widgets, and Rierino is shipped with the following widgets:
Localized Editor

LocalizedEditor provides ability to display and enter localized (e.g. by language, currency) values as a nested object. This widget has the following special properties:
Locales Source
Name of the options list used for populating locales
language
-
Locales List
Id-name pairs of options to list
[{"id":"en", "name": "English"}]
-
Filter Values
List of options to allow for locale selection
[en, de]
-
Filter Value Path
Json path for applying filter on list of locale options to display
data.regions
-
Widget
Widget to use for displaying locale specific data
ChipArrayEditor
TextEditor
Widget Properties
Properties to pass on to localized input component
{"dom":{"multiline":true}}
-
Json Editor

JsonEditor provides ultimate flexibility to display and edit complex data structures with a structured UI component and free text combination. This widget has the following special properties:
Use Switch
Whether json/text editors should be switched between or presented together
true
false
Default Mode
Default mode to display if switch is enabled
code
tree
Map Editor
MapEditor provides ability to modify map type objects with a table of key-value pairs. This widget has the following special properties:
Key UI (Widget & Properties)
UI component configuration for the key column
{"widget": "TextEditor", "props":{}}
-
Predefined Key Options
Whether editor should have a predefined list of key entries (uses keyUi options as the list)
true
false
Value UI (Widget & Properties)
UI component configuration for the value column
{"widget": "TextEditor", "props":{}}
-
Flatten Objects
Whether editor should flatten and edit nested objects as well
true
false
Map Object Editor
MapObjectEditor provides ability to modify map type objects with a table of key-value pairs where the value is an object. This widget uses the same properties as Object Table Editor, as well as the following special properties:
Key UI (Widget & Properties)
UI component configuration for the key column
{"widget": "TextEditor", "props":{}}
-
Predefined Key Options
Whether editor should have a predefined list of key entries (uses keyUi options as the list)
true
false
Table Fields
List of fields to display on map table
-
-
Editor UI (Icon, Title & Contents)
Design of object editor to use for editing
-
-
Contents Editor
ContentsEditor provides ability to display and edit multiple data elements. This editor only displays contents within a single grid, without any tabs or additional layouts applied. This widget has the following special properties:
Contents
Complete contents mapping object data paths to widgets and props, similar to grid contents
[{"path":"name", "widget": "TextEditor"}]
-
Grid Contents Editor
GridsEditor provides ability to display and edit multiple data elements. This editor displays contents within multiple grids, but without any tabs. This widget has the following special properties:
Grids
Complete grids mapping object data paths to widgets and props
[{"contents": [{"path":"name", "widget": "TextEditor"}]]
-
Media Metadata Editor
ContentsEditor displays an image or video with metadata fields editable, represented by its relative URL path. This widget has the following special properties in addition to those listed in Media Editor:
Editor UI (Icon, Title & Contents)
Complete editor UI configurations for detail contents
{"tabs":[{"tab":"DEFINITION"}]}
-
Value DOM
Additional dom properties to pass on to div encapsulating the image
-
-
Input DOM
Additional dom properties to pass on to TextField for entering image path
-
-
Dynamic Editor
DynamicParameterEditor provides ability to use a dynamic UI, where displayed widgets and data depend on a specific data value (e.g. parameters required for a business rule). This widget has the following special properties:
Source
Name of data source mapping to use for fetching dynamic UI configuration
rule_basket_promotion
-
Source Path
Json path in source data which specifies UI details
data.parameters.conditionParameters
-
Id Path
Json path in current record, which is used for selecting dynamic UI entry in source
data.rule
-
Dynamic Object Editor
DynamicObjectEditor provides ability to embed and display data in the form of another ObjectEditor. It is typically used for displaying data input by another user for approval. This widget has the following special properties:
UI Reference Path
Json path of editor id
data.type
-
UI Reference
Static id for the UI editor
product
-
Handlebars Display
HandlebarsDisplay provides ability to render read-only Handlebars templates using UI data, typically used for preview functionality or static messages. This widget has the following special properties:
Template Code
Full static template text to use
<span>
Testing
</span>
-
Template Source
Source to use dynamic templates from
preview_template
-
Template Id
Static id for selecting template from the source
test-template
-
Template Id Path
Json path of dynamic id for selecting template from the source
data.templateId
-
Source Path
Json path of template text in source records
data.content
-
Data Lookups
List of data sources to pass on to template as lookups
{"product-lkp": { source: "product", idPath: "data.product"}}
-
As iframe
Whether widget should be rendered as an iframe (or div)
true
false
Disable Print
Whether widget should allow disable printing
true
false
Editor Source
Source UI for editor references (in case template is editable with pop-ups)
page_component
-
When not structured as iframe, handlebars displays use shadow #root to isolate its styling, so it will be subject to shadow dom constraints (e.g. not supporting @font-face)
To make a handlebars display editable with pop-ups, define props.editorSource and add "data-path", "data-editor", "data-action" attributes to rendered html tags. For "add" type data actions used on arrays, it is also possible to use "data-default" and "data-default-pattern" attributes for adding new records with default data values.
To add drag & drop features to handlebars displays, "data-drag-value", "data-drag-path", "data-drop-value", "data-drop-event", "data-drop-params", "data-drop-path" attributes can be added to rendered html tags.
Handlebars Builder
HandlebarsTemplateEditor is a drag & drop UI builder for creating Handlebars templates and static HTML contents. This widget stores generated contents as "markup" as well as platform independent structured elements.
TipTap Editor

TipTapEditor is a WYSIWYG editor, allowing editing and visualization of rich content, which produces JSON output in { type, content, html } form that can be used for platform independent UI generation or direct HTML injection. This widget has the following special properties:
Text Data
Whether to use/generate text only data or structured (object) data instead
true
false
MDX Editor
MDXEditor is a template based editor, allowing building interactive custom content, using a blend of JSX and markdown. This widget has the following special properties:
Template Code
MDX code to display & edit data with
Hello World <TextEditor data={data} onChange={onChange}/>
-
All props of the MDXEditor are passed to its MDX code, along with all registered widgets to allow using them as components and an onChange event to pass changes inside the editor.
Mermaid Display
MermaidDisplay is a visualization editor, allowing creating Mermaid diagrams using its special markdown language. This widget has the following special properties:
Diagram Template
Handlebars template used to produce mermaid diagram contents
<p>flowchart TD<br>A[Start] --> B{Decision}<br>B --> C[Next]</p>
-
If props.template is not provided, this display can use full text contents as an input instead.
Button Action
ButtonAction is a specialized component, which allows triggering one or more actions from within a UI using buttons. Button actions receive data assigned to this widget. This widget has the following special properties:
Buttons
List of buttons to display with UI details
[{title: "Accept", icon: "ok", type: "CallAPI"}]
-
Read Only Behavior
Action behavior when widget is set to be read-only (i.e. snapshot) (hide, display, click)
click
display
File Manager
FileManagerEditor provides ability to manage a file system, by listing, creating and deleting files and folders. This widget supports all non-media specific properties listed in Media Editor.
Data Visualization Display
DVDisplay provides ability to display data visualization components such as charts inside object editors, typically using an array input. This widget has the following special properties:
Component Type
Visualization component type
RPlotly
-
Component Properties
Visualization component type specific properties
width=200
-
Data Visualization Editor
DVLayoutEditor provides ability to design data visualization layouts, used for embedded dashboards and reports. This widget has no extra properties, as it creates and edits data inline with data visualization data format.
Condition Editor
ConditionEditor is a special component for editing conditional logic for business rules and queries through a user friendly interface. This widget has the following special properties:
Domain
Rule domain (for loading available functions, if editor is for the rule engine)
product_discount
-
Last updated
