Package org.uberfire.client.mvp
Interface PlaceManager
-
- All Known Implementing Classes:
PlaceManagerImpl,PluginPlaceManagerImpl
@JsType public interface PlaceManagerA Workbench-centric abstraction over the browser's history mechanism. Allows the application to initiate navigation to any displayable thing: aWorkbenchPerspective, aWorkbenchScreen, aWorkbenchPopup, aWorkbenchEditor, aWorkbenchPartwithin a screen or editor, or the editor associated with a VFS file located at a particularPath.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description booleancanCloseAllPlaces()booleancanClosePlace(org.uberfire.mvp.PlaceRequest place)voidcloseAllPlaces()booleancloseAllPlacesOrNothing()voidclosePlace(String id)voidclosePlace(org.uberfire.mvp.PlaceRequest placeToClose)voidclosePlace(org.uberfire.mvp.PlaceRequest placeToClose, org.uberfire.mvp.Command doAfterClose)default voidexecuteOnCloseCallbacks(org.uberfire.mvp.PlaceRequest place)default voidexecuteOnOpenCallbacks(org.uberfire.mvp.PlaceRequest place)voidforceCloseAllPlaces()voidforceClosePlace(String id)voidforceClosePlace(org.uberfire.mvp.PlaceRequest place)Collection<SplashScreenActivity>getActiveSplashScreens()Collection<org.uberfire.mvp.impl.PathPlaceRequest>getActivitiesForResourceType(org.uberfire.workbench.type.ResourceTypeDefinition type)Finds the currently open PlaceRequests for Activities that handle the given ResourceTypeDefinition.ActivitygetActivity(org.uberfire.mvp.PlaceRequest place)Finds the currently open activity that handles the given PlaceRequest by ID.List<org.uberfire.mvp.Command>getOnCloseCallbacks(org.uberfire.mvp.PlaceRequest place)List<org.uberfire.mvp.Command>getOnOpenCallbacks(org.uberfire.mvp.PlaceRequest place)PlaceStatusgetStatus(String id)PlaceStatusgetStatus(org.uberfire.mvp.PlaceRequest place)List<org.uberfire.mvp.PlaceRequest>getUncloseablePlaces()voidgoTo(String identifier)voidgoTo(String id, org.jboss.errai.common.client.dom.HTMLElement addTo)voidgoTo(String identifier, org.uberfire.workbench.model.PanelDefinition panel)voidgoTo(org.uberfire.backend.vfs.Path path)voidgoTo(org.uberfire.backend.vfs.Path path, org.uberfire.mvp.PlaceRequest place)voidgoTo(org.uberfire.backend.vfs.Path path, org.uberfire.mvp.PlaceRequest place, org.uberfire.workbench.model.PanelDefinition panel)voidgoTo(org.uberfire.backend.vfs.Path path, org.uberfire.workbench.model.PanelDefinition panel)voidgoTo(org.uberfire.mvp.PlaceRequest place)voidgoTo(org.uberfire.mvp.PlaceRequest place, com.google.gwt.user.client.ui.HasWidgets addTo)Locates the Activity associated with the given place, and if that activity is not already part of the workbench, starts it and adds its view to the given widget container.voidgoTo(org.uberfire.mvp.PlaceRequest place, elemental2.dom.HTMLElement addTo)voidgoTo(org.uberfire.mvp.PlaceRequest place, org.jboss.errai.common.client.dom.HTMLElement addTo)voidgoTo(org.uberfire.mvp.PlaceRequest place, org.uberfire.workbench.model.PanelDefinition panel)voidgoTo(org.uberfire.workbench.model.PartDefinition part, org.uberfire.workbench.model.PanelDefinition panel)voidregisterOnCloseCallback(org.uberfire.mvp.PlaceRequest place, org.uberfire.mvp.Command callback)voidregisterOnOpenCallback(org.uberfire.mvp.PlaceRequest place, org.uberfire.mvp.Command callback)voidregisterPerspectiveCloseChain(String perspectiveIdentifier, org.uberfire.mvp.BiParameterizedCommand<org.uberfire.mvp.Command,org.uberfire.mvp.PlaceRequest> closeChain)Registers a callback interceptor that uses a chain approach to execute code before a PlaceRequest is closed, if the perspective passed as a parameter is currently opened.voidtryClosePlace(org.uberfire.mvp.PlaceRequest placeToClose, org.uberfire.mvp.Command onAfterClose)voidunregisterOnCloseCallbacks(org.uberfire.mvp.PlaceRequest place)voidunregisterOnOpenCallbacks(org.uberfire.mvp.PlaceRequest place)
-
-
-
Method Detail
-
goTo
@JsMethod(name="goToId") void goTo(String identifier)
-
goTo
@JsMethod(name="goToPlace") void goTo(org.uberfire.mvp.PlaceRequest place)
-
goTo
@JsMethod(name="goToPath") void goTo(org.uberfire.backend.vfs.Path path)
-
goTo
@JsMethod(name="goToPathAndPlace") void goTo(org.uberfire.backend.vfs.Path path, org.uberfire.mvp.PlaceRequest place)
-
goTo
@JsMethod(name="goToPartWithPanel") void goTo(org.uberfire.workbench.model.PartDefinition part, org.uberfire.workbench.model.PanelDefinition panel)
-
goTo
@JsMethod(name="goToIdWithPanel") void goTo(String identifier, org.uberfire.workbench.model.PanelDefinition panel)
-
goTo
@JsMethod(name="goToPlaceWithPanel") void goTo(org.uberfire.mvp.PlaceRequest place, org.uberfire.workbench.model.PanelDefinition panel)
-
goTo
@JsMethod(name="goToPathWithPanel") void goTo(org.uberfire.backend.vfs.Path path, org.uberfire.workbench.model.PanelDefinition panel)
-
goTo
@JsMethod(name="goToPathAndPlaceWithPanel") void goTo(org.uberfire.backend.vfs.Path path, org.uberfire.mvp.PlaceRequest place, org.uberfire.workbench.model.PanelDefinition panel)
-
goTo
@JsIgnore void goTo(org.uberfire.mvp.PlaceRequest place, com.google.gwt.user.client.ui.HasWidgets addTo)Locates the Activity associated with the given place, and if that activity is not already part of the workbench, starts it and adds its view to the given widget container. If the activity is already part of the current workbench, it will be selected, and it will not be moved from its current location.The activity will be properly shut down in any of the following scenarios:
- by a call to one of the PlaceManager methods for closing a place:
closePlace(PlaceRequest),closePlace(String), orcloseAllPlaces() - by switching to another perspective, which has the side effect of closing all places
- by removing the activity's view from the DOM, either using the GWT Widget API, or by direct DOM manipulation.
- by opening another place on the same container.
- Parameters:
place-addTo- The container to add the widget's view to. Its corresponding DOM element must have a CSS position setting of relative or absolute and an explicit size set. This can be accomplished through direct use of CSS, or through theLayouts.setToFillParent(com.google.gwt.user.client.ui.Widget)call.
- by a call to one of the PlaceManager methods for closing a place:
-
goTo
@JsIgnore void goTo(String id, org.jboss.errai.common.client.dom.HTMLElement addTo)
-
goTo
@JsIgnore void goTo(org.uberfire.mvp.PlaceRequest place, org.jboss.errai.common.client.dom.HTMLElement addTo)
-
goTo
@JsIgnore void goTo(org.uberfire.mvp.PlaceRequest place, elemental2.dom.HTMLElement addTo)
-
getActivity
Activity getActivity(org.uberfire.mvp.PlaceRequest place)
Finds the currently open activity that handles the given PlaceRequest by ID. No attempt is made to match by path, but seeActivityManagerImpl#resolveExistingParts(PlaceRequest)for a variant that does. (TODO: should this method care about paths? if not, should the other method be added to the interface?)- Parameters:
place- the PlaceRequest whose activity to search for- Returns:
- the activity that currently exists in service of the given PlaceRequest's ID. Null if no current activity handles the given PlaceRequest.
-
getStatus
@JsMethod(name="getStatusById") PlaceStatus getStatus(String id)
-
getStatus
@JsMethod(name="getStatusByPlaceRequest") PlaceStatus getStatus(org.uberfire.mvp.PlaceRequest place)
-
executeOnOpenCallbacks
default void executeOnOpenCallbacks(org.uberfire.mvp.PlaceRequest place)
-
executeOnCloseCallbacks
default void executeOnCloseCallbacks(org.uberfire.mvp.PlaceRequest place)
-
getOnOpenCallbacks
List<org.uberfire.mvp.Command> getOnOpenCallbacks(org.uberfire.mvp.PlaceRequest place)
-
getOnCloseCallbacks
List<org.uberfire.mvp.Command> getOnCloseCallbacks(org.uberfire.mvp.PlaceRequest place)
-
closePlace
@JsMethod(name="closePlaceById") void closePlace(String id)
-
closePlace
void closePlace(org.uberfire.mvp.PlaceRequest placeToClose)
-
closePlace
@JsMethod(name="closePlaceWithCallback") void closePlace(org.uberfire.mvp.PlaceRequest placeToClose, org.uberfire.mvp.Command doAfterClose)
-
tryClosePlace
void tryClosePlace(org.uberfire.mvp.PlaceRequest placeToClose, org.uberfire.mvp.Command onAfterClose)
-
forceClosePlace
@JsMethod(name="forceCloseById") void forceClosePlace(String id)
-
forceClosePlace
@JsMethod(name="forceCloseByPlaceRequest") void forceClosePlace(org.uberfire.mvp.PlaceRequest place)
-
closeAllPlaces
void closeAllPlaces()
-
forceCloseAllPlaces
void forceCloseAllPlaces()
-
closeAllPlacesOrNothing
boolean closeAllPlacesOrNothing()
-
canClosePlace
boolean canClosePlace(org.uberfire.mvp.PlaceRequest place)
-
canCloseAllPlaces
boolean canCloseAllPlaces()
-
getUncloseablePlaces
List<org.uberfire.mvp.PlaceRequest> getUncloseablePlaces()
- Returns:
- All opened PlaceRequests that cannot be closed (@onMayClose method returns false).
-
registerOnOpenCallback
void registerOnOpenCallback(org.uberfire.mvp.PlaceRequest place, org.uberfire.mvp.Command callback)
-
unregisterOnOpenCallbacks
void unregisterOnOpenCallbacks(org.uberfire.mvp.PlaceRequest place)
-
registerOnCloseCallback
void registerOnCloseCallback(org.uberfire.mvp.PlaceRequest place, org.uberfire.mvp.Command callback)
-
unregisterOnCloseCallbacks
void unregisterOnCloseCallbacks(org.uberfire.mvp.PlaceRequest place)
-
registerPerspectiveCloseChain
void registerPerspectiveCloseChain(String perspectiveIdentifier, org.uberfire.mvp.BiParameterizedCommand<org.uberfire.mvp.Command,org.uberfire.mvp.PlaceRequest> closeChain)
Registers a callback interceptor that uses a chain approach to execute code before a PlaceRequest is closed, if the perspective passed as a parameter is currently opened. It will not be executed in the case of a forced close.- Parameters:
perspectiveIdentifier- Perspective identifier for which the close chain must be called when it is being closed.closeChain- Callback to be called when a PlaceRequest is being closed. The callback command must invoke the chain to proceed with the closing operation.
-
getActiveSplashScreens
@JsIgnore Collection<SplashScreenActivity> getActiveSplashScreens()
-
getActivitiesForResourceType
@JsIgnore Collection<org.uberfire.mvp.impl.PathPlaceRequest> getActivitiesForResourceType(org.uberfire.workbench.type.ResourceTypeDefinition type)
Finds the currently open PlaceRequests for Activities that handle the given ResourceTypeDefinition.- Parameters:
type- the ResourceTypeDefinition whose activity to search for- Returns:
- an unmodifiable collection of PlaceRequests for the currently open WorkbenchEditorActivities that can handle the ResourceTypeDefinition. Returns an empty collection if no match was found.
-
-