Columns define what content is displayed in tree and list views in the browser subapp.

This column definition is part of the Magnolia 6 UI framework. The fully qualified class name is info.magnolia.ui.contentapp.configuration.column.ColumnDefinition.

If you work with the Magnolia 5 UI framework, see Column definition for Magnolia 5 UI instead.

Example column definition

columns: &columns
  - name: jcrName
    label: name
    $type: jcrTitleColumn
    nodeTypeToIcon:
      mgnl:contact: icon-people
      mgnl:content: icon-folder
    filterComponent:
      $type: textField
    editable: true
    editor:
      availability:
        nodes: true
        properties: true
  - name: value
    label: value
    editable: true
    editor:
      availability:
        nodeTypes: mgnl:contact
  - name: jcrPath
    label: path
    $type: jcrPathColumn
  - name: status
    label: status
    $type: jcrStatusColumn
  - name: mgnl:created
    $type: dateColumn
    label: date
    editable: true
    editor:
      availability:
        nodeTypes:
          - mgnl:contact
        nodes: true
        properties: false
      field:
        $type: textField
        converterClass: com.vaadin.data.converter.StringToDateConverter

Column properties

class

required (unless $type is used)

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. See Column types for possible values.

$type

You can use this as a shortcut for class if the definition class is annotated with info.magnolia.ui.contentapp.configuration.column.ColumnType. The proper value is defined by the annotation.

Example class annotation
@ColumnType("dateColumn")
public class DateColumnDefinition extends ConfiguredColumnDefinition<Date> {
...
}

To use the $type property in YAML, see Example column definition.

type

requireddefault is java.lang.String

Model type of the column. Use the fully qualified class name. See PropertyType for possible values.

A default type is typically hard-coded in each definition class. You only need to add this property if you want to override the default implementation (for example, with java.lang.Long).

name

optional, default is parent node name

Name of the column.

descriptionGenerator

optional

Generates a description for the column.

editable

optionaldefault is false

When set to true, the column can be edited inline. You can double-click a cell to edit its value.

(warning) You cannot define defaultAction and use inline editing at the same time.

editor

optional

Defines the inline editor component. For this to work, you have to set editable to true. See the ColumnEditorDefinition interface.

field

required, default is textField

Type of the field definition item. See Field types for possible values.

availability

optional

Outlines when inline editing is permitted. See Action availability for more information.

(warning) Availability is resolved against the selected row, not the selected column or property.

expandRatio

optional

Defines the ratio with which the column expands. By default, all columns expand equally.

filterComponent

optional

Adds a filter field to the column. In theory, all field types are supported. See List of fields for more information.

(warning) Currently, column filtering is not supported in REST-based elements of the UI.

label

optional

Text displayed in the column heading. The value can be literal or a key of a message bundle.

If you do not provide the property, Magnolia will fall back to a generated i18n key.

maximumWidth

optional

Defines the maximum allowed pixel width of the column when it is set to expand.

minimumWidth

optional

Defines the minimum guaranteed pixel width of the column when it is set to expand.

minimumWidthFromContent

optional, default is true

Sets whether the width of the content in the column is the minimum width of the column. When false, the column shrinks down to the width defined in minimumWidth if necessary.

renderer

optional, default is com.vaadin.ui.renderers.TextRenderer

Class extending Vaadin AbstractRenderer.

valueProvider

optional

Class extending Vaadin ValueProvider.

width

optional

Defines the width (in pixels). When set, overrides any configuration from expandRatio, maximumWidth and minimumWidth.

Column types

$typeclass

dateColumn

info.magnolia.ui.contentapp.configuration.column.DateColumnDefinition

iconAndValueColumn

info.magnolia.ui.contentapp.configuration.column.icon.IconAndValueColumnDefinition

iconColumn

info.magnolia.ui.contentapp.configuration.column.icon.IconColumnDefinition

jcrPathColumn

info.magnolia.ui.contentapp.column.jcr.JcrPathColumnDefinition

jcrStatusColumn

info.magnolia.ui.contentapp.column.jcr.JcrStatusColumnDefinition

jcrTitleColumn

info.magnolia.ui.contentapp.column.jcr.JcrTitleColumnDefinition

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels