Columns define what content is displayed in tree and list views in the browser subapp.
Example column definition
columns: &columns - name: jcrName label: name $type: jcrNameColumn editable: true nodeTypeToIcon: mgnl:contact: icon-people mgnl:content: icon-folder editor: availability: nodes: true properties: true - name: value label: value editable: true editor: availability: nodes: false properties: true - name: jcrPath label: path $type: jcrPathColumn - name: status label: status $type: jcrStatusColumn - name: mgnl:created $type: dateColumn label: date editable: false editor: availability: *onlyContacts field: $type: textField converterClass: com.vaadin.data.converter.StringToDateConverter - name: compatibility label: compatibility class: info.magnolia.ui.workbench.column.definition.CompatibilityColumnDefinition deprecatedColumnDefinition: class: info.magnolia.ui.workbench.column.definition.NodeTypeColumnDefinition
Column definition properties
class
| required The column definition class reads the column configuration and displays the column accordingly. The class must implement the $webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources")
ColumnDefinition
interface. You can write your own class or use one of the ready-made classes. Set the value to the fully-qualified class name. Examples:
If the definition class is annotated with |
$type | You can use this as a shortcut for class if the definition class is annotated with info.magnolia.ui.workbench.column.definition.ColumnType . The proper value is defined by the annotation. |
propertyName
| required only when using Name of the property to display. Needed when using the $webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources")
PropertyColumnDefinition
class. |
editable
| optional, default it Makes the column editable inline. You can double-click a cell to edit its value. Inline editing is available only in the tree view, not in list, thumbnail or search views. Defining a |
enabled
| optional, default is Defines whether the column is displayed in the workbench or not. |
expandRatio
| optional, default is Defines how excess space is divided among columns. A table can have excess space if its width is defined and there is more horizontal space than is occupied by the column data. In a three-column workbench with expand ratios |
formatterClass
| optional Defines how the column's value is displayed in the UI. This is useful for making raw data more readable or adhering to a formatting convention. The Contacts app implements a $webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources")
ContactNameColumnFormatter
which concatenates the first name and last name of the contact person and displays them as full name in one column. So Vincent + Van Gogh is displayed as Vincent Van Gogh . Another example is to segment a phone number such as 41612289000 as friendlier +41 61 228 9000 .The formatter class must implement the $webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources")
ColumnFormatter
interface. Set the value to the fully-qualified class name. |
displayInChooseDialog
| optional, default is Display the column in a choose dialog. |
label
| optional, default is column Text displayed to use in the column heading. Can be the text itself or an 18n key. |
name | optional, default is the parent node name Name of the column. |
sortable | optional, default is Allows the user to sort the data by clicking the column heading. |
width
| optional Column width in pixels. Five pixels are deducted for left margin so when you define width 60 you get 55 pixels of space for data. Set the value to a number without unit. |