Page tree
Skip to end of metadata
Go to start of metadata

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. ContentApp creates a ChooseDialogDefinition programmatically. A WorkbenchFieldDefinition and a ContentConnectorDefinition 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 SelectFieldDefinition 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.