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

subapp definition

A subapp descriptor describes a subapp. A subapp is typically rendered as a tab inside an app. The descriptor defines the classes that read the configuration and implement the subapp.

Subapp descriptor

Here is an example of a main subapp inside a helloworld app. Create subapp configuration under the subApps folder.

ui-helloworld-app/apps/helloworld.yaml
appClass: info.magnolia.ui.app.helloworld.HelloWorldApp
class: info.magnolia.ui.api.app.registry.ConfiguredAppDescriptor
icon: icon-app
label: Hello World
subApps:
  main: 
    subAppClass: info.magnolia.ui.app.helloworld.main.HelloWorldMainSubApp
    class: info.magnolia.ui.api.app.registry.ConfiguredSubAppDescriptor
    label: Hello!
Node nameValue

 modules


 ui-helloworld-app


 apps


 helloworld


 subApps


 main


 class

info.magnolia.ui.api.app.registry.ConfiguredSubAppDescriptor

 label

Hello!

 subAppClass

info.magnolia.ui.app.helloworld.main.HelloWorldMainSubApp

Properties:

<subapp name>

required

Subapp node name. This is the internal ID of the subapp. Used to reference the subapp for example in URL fragments.

class

required, default is info.magnolia.ui.api.app.registry.ConfiguredSubAppDescriptor

Subapp descriptor class that reads the configuration. The class must implement the SubAppDescriptor  interface. Examples of such classes are ConfiguredSubAppDescriptor  and  ConfiguredContentSubAppDescriptor . Use the fully-qualified name of the class.

subAppClass

required

Subapp business logic class. The class must implement the  SubApp  interface which displays the subapp to the user in a tab.

closable

optional , default is true

Whether the subapp can be closed. When set to false no close icon (X) is displayed.

icon

optional

CSS class that identifies an icon font used on the app tab. For available names see Icons.

label

optional

Text or message bundle key. Displayed in the subapp tab.

(warning) The order in which you configure subapps is important. The first subapp will be the default subapp. It is started first.

Browser subapp descriptor

Browser subapp is a specialization of the basic subapp, provided by the content app framework. The browser subapp allows you to view and organize content items in a tree, list and thumbnail view. The browser subapp descriptor is similar to the basic subapp descriptor but the classes are different.

subApps:
  browser: 
    subAppClass: info.magnolia.ui.contentapp.browser.BrowserSubApp
    class: info.magnolia.ui.contentapp.browser.BrowserSubAppDescriptor
Node nameValue

 subApps


 browser


 class

info.magnolia.ui.contentapp.browser.BrowserSubAppDescriptor

 subAppClass

info.magnolia.ui.contentapp.browser.BrowserSubApp

Detail subapp descriptor

Detail subapp is also part of the content app framework. It creates and edits the content items listed in the browser subapp.

subApps:
  detail: 
    subAppClass: info.magnolia.ui.contentapp.detail.DetailSubApp
    class: info.magnolia.ui.contentapp.detail.DetailSubAppDescriptor
Node nameValue

 subApps


 detail


 class

info.magnolia.ui.contentapp.detail.DetailSubAppDescriptor

 subAppClass

info.magnolia.ui.contentapp.detail.DetailSubApp