...
Localtab Group |
---|
Localtab |
---|
| Code Block |
---|
language | yamlyml |
---|
url | https://git.magnolia-cms.com/projects/DOCUMENTATION/repos/toolssubapp-example/raw/src/main/resources/toolssubapp-example/apps/hello-tools-app.yaml?at=master |
---|
| appClass: info.magnolia.ui.framework.app.BaseApp
label: Sample Tools
icon: icon-development-app
subApps:
main:
class: info.magnolia.ui.framework.tools.ToolsSubAppDescriptor
subAppClass: info.magnolia.ui.framework.tools.ToolsSubApp
tools:
"dashboard":
presenterClass: info.magnolia.documentation.apps.toolssubapp.presenters.DashboardToolPresenter
"i18n":
class: info.magnolia.ui.framework.tools.FormToolDefinition
actions:
reloadTranslations:
implementationClass: info.magnolia.documentation.apps.toolssubapp.actions.ReloadTranslationsAction
"helloworld":
class: info.magnolia.ui.framework.tools.FormToolDefinition
presenterClass: info.magnolia.documentation.apps.toolssubapp.presenters.HelloWorldPresenter
description: This is the hello world example for configured tools
form:
label: HWP
tabs:
- name: mainTab
fields:
- name: name
class: info.magnolia.ui.form.field.definition.TextFieldDefinition
required: true
actions:
commit:
implementationClass: info.magnolia.documentation.apps.toolssubapp.actions.SayHelloAction
reset:
implementationClass: info.magnolia.documentation.apps.toolssubapp.actions.ResetFormAction |
|
Localtab |
---|
| Advanced Tables - Table Plus |
---|
heading | 0 |
---|
enableHeadingAttributes | false |
---|
enableSorting | false |
---|
class | m5-configuration-tree |
---|
enableHighlighting | false |
---|
| Node name | Value |
---|
| - | | info.magnolia.ui.framework.app.BaseApp | | Sample Tools | | icon-development-app | | hello-tools-app | | - | | - | | info.magnolia.ui.framework.tools.ToolsSubAppDescriptor | | info.magnolia.ui.framework.tools.ToolsSubApp | | - | | - | | info.magnolia.documentation.apps.toolssubapp.presenters.DashboardToolPresenter | | - | | info.magnolia.ui.framework.tools.FormToolDefinition | | - | | - | | info.magnolia.ui.framework.tools.FormToolDefinition | | info.magnolia.documentation.apps.toolssubapp.presenters.HelloWorldPresenter | | This is the hello world example for configured tools | | - | | - | |
|
|
...
Code Pro |
---|
language | yaml |
---|
sections | %%(dashboard)%% - %%(DashboardToolPresenter)%% |
---|
url | https://git.magnolia-cms.com/projects/DOCUMENTATION/repos/toolssubapp-example/raw/src/main/resources/toolssubapp-example/apps/hello-tools-app.yaml?at=master |
---|
|
|
|
This is the custom presenter:
...
Expand |
---|
title | Click here to see DashboardToolPresenter |
---|
|
Code Pro |
---|
language | java |
---|
firstline | 1 |
---|
title | info.magnolia.documentation.apps.toolssubapp.presenters.DashboardToolPresenter |
---|
linenumbers | true |
---|
sections | %%(package)%% - |
---|
url | https://git.magnolia-cms.com/projects/DOCUMENTATION/repos/toolssubapp-example/browse/src/main/java/info/magnolia/documentation/apps/toolssubapp/presenters/DashboardToolPresenter.java?at=master&raw |
---|
| | |
Note:
- The presenter implements #start which returns the View.
- The method uses Lambda expression. This is why the example requires Java 8 or higher.
|
...
Expand |
---|
title | Click here to see ReloadTranslationsAction.java |
---|
|
Code Pro |
---|
language | java |
---|
firstline | 1 |
---|
title | ReloadTranslationsAction.java |
---|
linenumbers | true |
---|
sections | %%(public class)%% - |
---|
url | https://git.magnolia-cms.com/projects/DOCUMENTATION/repos/toolssubapp-example/browse/src/main/java/info/magnolia/documentation/apps/toolssubapp/actions/ReloadTranslationsAction.java?at=master&raw |
---|
| | |
Note:
- You should inject the definition class in the constructor.
- You can inject other components such as
Javadoc resource link |
---|
rangeHigherVersion | 5.7 |
---|
className | info.magnolia.i18nsystem.TranslationService |
---|
renderType | asynchronous |
---|
| and Javadoc resource link |
---|
rangeHigherVersion | 5.7 |
---|
className | info.magnolia.ui.api.context.UiContext |
---|
renderType | asynchronous |
---|
| (lines 7-8).
|
...
Expand |
---|
title | Click here to see HelloWorldPresenter.java |
---|
|
Code Pro |
---|
language | java |
---|
firstline | 1 |
---|
title | HelloWorldPresenter.java |
---|
linenumbers | true |
---|
sections | %%(public class)%% - |
---|
url | https://git.magnolia-cms.com/projects/DOCUMENTATION/repos/toolssubapp-example/browse/src/main/java/info/magnolia/documentation/apps/toolssubapp/presenters/HelloWorldPresenter.java?at=master&raw |
---|
| | |
|
Other tool implementation examples
...