public class BrowserSubApp extends info.magnolia.ui.framework.app.BaseSubApp<ContentSubAppView>
ContentView
created by the WorkbenchPresenter
.
This class Provides sensible implementation for services shared by all content subApps. Out-of-the-box it will handle the following:
locationChanged(Location)
start(Location)
BaseSubApp.onSubAppStart()
locationChanged(Location)
updateActionbar(ActionbarPresenter)
BrowserPresenter
,
ContentSubAppView
,
ContentApp
,
BrowserLocation
Modifier and Type | Field and Description |
---|---|
protected ContentConnector |
contentConnector |
Constructor and Description |
---|
BrowserSubApp(info.magnolia.ui.api.action.ActionExecutor actionExecutor,
info.magnolia.ui.api.app.SubAppContext subAppContext,
ContentSubAppView view,
BrowserPresenter browser,
info.magnolia.event.EventBus subAppEventBus,
info.magnolia.event.EventBus adminCentralEventBus,
ContentConnector contentConnector,
info.magnolia.ui.api.availability.AvailabilityChecker checker) |
Modifier and Type | Method and Description |
---|---|
protected void |
applySelectionToLocation(BrowserLocation location,
Object selectedId) |
protected BrowserPresenter |
getBrowser() |
BrowserLocation |
getCurrentLocation()
Wraps the current DefaultLocation in a
BrowserLocation . |
void |
locationChanged(info.magnolia.ui.api.location.Location location)
The default implementation selects the path in the current workspace and updates the available actions in the actionbar.
|
protected void |
restoreBrowser(BrowserLocation location)
Restores the browser status based on the information available in the location object.
|
void |
showActionPopup(Object itemId,
int x,
int y)
Show the actionPopup for the specified item at the specified coordinates.
|
ContentSubAppView |
start(info.magnolia.ui.api.location.Location location)
Performs some routine tasks needed by all content subapps before the view is displayed.
|
void |
updateActionbar(ActionbarPresenter actionbar)
Update the items in the actionbar based on the selected item and the action availability configuration.
|
protected ContentConnector contentConnector
@Inject public BrowserSubApp(info.magnolia.ui.api.action.ActionExecutor actionExecutor, info.magnolia.ui.api.app.SubAppContext subAppContext, ContentSubAppView view, BrowserPresenter browser, @Named(value="subapp") info.magnolia.event.EventBus subAppEventBus, @Named(value="admincentral") info.magnolia.event.EventBus adminCentralEventBus, ContentConnector contentConnector, info.magnolia.ui.api.availability.AvailabilityChecker checker)
public ContentSubAppView start(info.magnolia.ui.api.location.Location location)
restoreBrowser(BrowserLocation)
BaseSubApp.onSubAppStart()
a hook-up method subclasses can override to perform additional work.
start
in interface info.magnolia.ui.api.app.SubApp
start
in class info.magnolia.ui.framework.app.BaseSubApp<ContentSubAppView>
protected void restoreBrowser(BrowserLocation location)
#app:myapp:browser;/foo/bar:list
this method will select the path /foo/bar
in the workspace used by the app, set the view type as list
and finally update the available actions.
In case of a search view the URI fragment will look similar to the following one #app:myapp:browser;/:search:qux
then this method will select the root path, set the view type as search
, perform a search for "qux" in the workspace used by the app and finally update the available actions.
updateActionbar(info.magnolia.ui.actionbar.ActionbarPresenter)
,
start(Location)
,
Location
public void showActionPopup(Object itemId, int x, int y)
public void updateActionbar(ActionbarPresenter actionbar)
updateActionPopup(info.magnolia.ui.vaadin.actionbar.ActionPopup)
.protected final BrowserPresenter getBrowser()
public void locationChanged(info.magnolia.ui.api.location.Location location)
locationChanged
in interface info.magnolia.ui.api.app.SubApp
locationChanged
in class info.magnolia.ui.framework.app.BaseSubApp<ContentSubAppView>
public BrowserLocation getCurrentLocation()
BrowserLocation
. Providing getter and setters for used parameters.getCurrentLocation
in class info.magnolia.ui.framework.app.BaseSubApp<ContentSubAppView>
protected void applySelectionToLocation(BrowserLocation location, Object selectedId)
Copyright © 2018 Magnolia International Ltd.. All rights reserved.