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.

$webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources") ContentApp
 creates a ChooseDialogDefinition programmatically. A 
$webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources") WorkbenchFieldDefinition
 and a 
$webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources") 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 

$webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources") 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.



#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))