Magnolia 5.7 reached extended end of life on May 31, 2022. Support for this branch is limited, see End-of-life policy. Please note that to cover the extra maintenance effort, this EEoL period is a paid extension in the life of the branch. Customers who opt for the extended maintenance will need a new license key to run future versions of Magnolia 5.7. If you have any questions or to subscribe to the extended maintenance, please get in touch with your local contact at Magnolia.

A choose dialog allows you to select an item from an app, typically from a content app. Below is a choose dialog for choosing a page. The dialog displays the workbench from the Pages app. You typically open a choose dialog by clicking a link field in some other dialog. Configure the choose dialog under the app that manages the items.

Choosing items from content apps

A content app already has a suitable view for choosing items: the workbench of the first subapp. You don't need to configure a choose dialog explicitly. creates a ChooseDialogDefinition programmatically. A  and a  are instantiated In the ContentApp#openChooseDialog method. Values for the definition classes are cloned from the first subapp of the app.

Configuring a choose dialog

You don't need to configure a choose dialog when choosing items from a content app. The workbench of the first subapp works as an item chooser automatically.

You can configure a choose dialog explicitly if required. Create a chooseDialog node under the app configuration.

Node nameValue

 <module name>


 apps


 <app name>


 chooseDialog


 contentConnector


 class

<fully-qualified class name of your ContentConnectorDefinition>

 field


  class

<fully-qualified class name of your FieldDefinition>

  class

<fully-qualified class name of your ChooseDialogDefinition>

Properties:

chooseDialog

optional

Choose dialog node.

contentConnector

required

Content connector node.

class

required

Content connector definition class implementing info.magnolia.ui.vaadin.integration.contentconnector.ContentConnectorDefinition.

field

required

Field node.

class

required

A field used to choose the item, typically a workbench. The value must be a subclass of info.magnolia.ui.form.field.definition.FieldDefinition. This means it can be many kind of fields, for instance a  or a more complex custom field.

class

required

A choose dialog definition class implementing info.magnolia.ui.dialog.definition.ChooseDialogDefinition
Its default implementation is info.magnolia.ui.dialog.definition.ConfiguredChooseDialogDefinition (due to registration magnolia-ui-framework/src/main/resources/META-INF/magnolia/ui-framework.xml). Leave out the class property to use the default implementation.


Note that ChooseDialogDefinition extends DialogDefinition. This means you can also configure actions (Select and Cancel by default) and an actionArea (optional).

Configuring a workbench

If you want to configure a custom workbench, use info.magnolia.ui.contentapp.field.WorkbenchFieldDefinition as field.

Node nameValue

 chooseDialog


 field


  workbench


  extends

../../../subApps/browser/workbench

  imageProvider


  class

info.magnolia.ui.contentapp.field.WorkbenchFieldDefinition

Properties:

chooseDialog

optional

Choose dialog node.

field

required

Field node.

workbench

optional

Extend an existing workbench definition or use any properties from the workbench definition.

extends

optional

Path to extended definition.

imageProvider

optional

Image provider definition.