Columns define what content is displayed in tree and list views in the
browser subapp. Here is an example of column configuration in
My first content app.
The column definition class reads the column configuration and displays
the column accordingly. The class must implement the
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:
AbstractColumnDefinition
is the base implementation for all special column definitions.
PropertyColumnDefinition
displays the value of a property.
PropertyTypeColumnDefinition
displays the type of a property.
StatusColumnDefinition
displays the publication status of an item.
MetaDataColumnDefinition
displays the last modification date.
propertyName
requiredonly when using PropertyColumnDefinition
Name of the property to display. Needed when using the PropertyColumnDefinition class.
editable
optional, default it false
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
defaultAction will
override inline editing. Double-clicking the cell with trigger the
default action instead of inline edit mode.
enabled
optional, default is true
Defines whether the column is displayed in the workbench or not.
expandRatio
optional, default is `1.0`
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 2, 2 and 1, the first column takes 40% of the
horizontal space, the second column 40% and the third column 20%.
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
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
ColumnFormatter interface. Set the value to the fully qualified class name.
optional, default is column name, then the parent node name
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 false
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.