Class: AbstractPageManager
@ima/core.AbstractPageManager
Page manager for controller.
Hierarchy
↳
AbstractPageManager
Constructors
constructor
• new AbstractPageManager(pageFactory
, pageRenderer
, pageStateManager
, pageHandlerRegistry
, dispatcher
)
Initializes the page manager.
Parameters
Name | Type | Description |
---|---|---|
pageFactory | PageFactory | Factory used by the page manager to create instances of the controller for the current route, and decorate the controllers and page state managers. |
pageRenderer | PageRenderer | The current renderer of the page. |
pageStateManager | PageStateManager <{}> | The current page state manager. |
pageHandlerRegistry | PageHandlerRegistry | Instance of HandlerRegistry that holds a list of pre-manage and post-manage handlers. |
dispatcher | Dispatcher | - |
Overrides
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:95
Properties
_dispatcher
• Protected
_dispatcher: Dispatcher
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:81
_managedPage
• Protected
_managedPage: ManagedPage
Details of the currently managed page.
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:68
_pageFactory
• Protected
_pageFactory: PageFactory
Factory used by the page manager to create instances of the controller for the current route, and decorate the controllers and page state managers.
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:63
_pageHandlerRegistry
• Protected
_pageHandlerRegistry: PageHandlerRegistry
A registry that holds a list of pre-manage and post-manage handlers.
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:80
_pageRenderer
• Protected
_pageRenderer: PageRenderer
The current renderer of the page.
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:72
_pageStateManager
• Protected
_pageStateManager: PageStateManager
<{}>
The current page state manager.
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:76
_previousManagedPage
• Protected
_previousManagedPage: ManagedPage
Snapshot of the previously managed page before it was replaced with a new one
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:57
Methods
#cancelable
▸ Private
#cancelable<T
>(promise
): Promise
<T
>
Type parameters
Name |
---|
T |
Parameters
Name | Type |
---|---|
promise | T |
Returns
Promise
<T
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:845
_activateController
▸ Protected
_activateController(): Promise
<void
>
Activate managed instance of controller.
Returns
Promise
<void
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:549
_activateExtensions
▸ Protected
_activateExtensions(): Promise
<void
>
Activate extensions for managed instance of controller.
Returns
Promise
<void
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:563
_activatePageSource
▸ Protected
_activatePageSource(): Promise
<void
>
Activate page source so call activate method on controller and his extensions.
Returns
Promise
<void
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:529
_clearComponentState
▸ _clearComponentState(options
): void
The method clear state on current rendered component to DOM.
Parameters
Name | Type | Description |
---|---|---|
options | RouteOptions | The current route options. |
Returns
void
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:753
_constructManagedPageValue
▸ Protected
_constructManagedPageValue(controller
, view
, route
, options
, params
, controllerInstance
, decoratedController
, viewInstance
): ManagedPage
Parameters
Name | Type |
---|---|
controller | RouteController |
view | unknown |
route | AbstractRoute <string | RoutePathExpression > |
options | RouteOptions |
params | RouteParams |
controllerInstance | Controller <PageState , RouteParams , PageState > |
decoratedController | ControllerDecorator <{}, {}, {}> |
viewInstance | unknown |
Returns
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:245
_deactivateController
▸ Protected
_deactivateController(): Promise
<void
>
Deactivate last managed instance of controller only If controller was activated.
Returns
Promise
<void
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:691
_deactivateExtensions
▸ Protected
_deactivateExtensions(): Promise
<void
>
Deactivate extensions for last managed instance of controller only if they were activated.
Returns
Promise
<void
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:702
_deactivatePageSource
▸ Protected
_deactivatePageSource(): Promise
<void
>
Deactivate page source so call deactivate method on controller and his extensions.
Returns
Promise
<void
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:677
_destroyController
▸ Protected
_destroyController(): Promise
<void
>
Destroy last managed instance of controller.
Returns
Promise
<void
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:726
_destroyExtensions
▸ Protected
_destroyExtensions(): Promise
<void
>
Destroy extensions for last managed instance of controller.
Returns
Promise
<void
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:739
_destroyPageSource
▸ Protected
_destroyPageSource(): Promise
<void
>
Destroy page source so call destroy method on controller and his extensions.
Returns
Promise
<void
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:714
_getInitialManagedPage
▸ Protected
_getInitialManagedPage(): ManagedPage
Clear value from managed page.
Returns
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:302
_getLoadedControllerState
▸ Protected
_getLoadedControllerState(): Promise
<{}>
Load controller state from managed instance of controller.
Returns
Promise
<{}>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:485
_getLoadedExtensionsState
▸ Protected
_getLoadedExtensionsState(controllerState?
): Promise
<UnknownParameters
>
Load extensions state from managed instance of controller.
Parameters
Name | Type |
---|---|
controllerState? | UnknownParameters |
Returns
Promise
<UnknownParameters
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:501
_getUpdatedControllerState
▸ Protected
_getUpdatedControllerState(): {} | Promise
<{}>
Return updated controller state for current page controller.
Returns
{} | Promise
<{}>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:621
_getUpdatedExtensionsState
▸ Protected
_getUpdatedExtensionsState(controllerState?
): Promise
<UnknownParameters
>
Return updated extensions state for current page controller.
Parameters
Name | Type |
---|---|
controllerState? | UnknownParameters |
Returns
Promise
<UnknownParameters
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:637
_hasOnlyUpdate
▸ Protected
_hasOnlyUpdate(controller
, view
, options
): boolean
Return true if manager has to update last managed controller and view.
Parameters
Name | Type |
---|---|
controller | RouteController |
view | unknown |
options | RouteOptions |
Returns
boolean
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:769
_initController
▸ Protected
_initController(): Promise
<void
>
Initializes managed instance of controller with the provided parameters.
Returns
Promise
<void
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:398
_initExtensions
▸ Protected
_initExtensions(): Promise
<void
>
Initialize extensions for managed instance of controller with the provided parameters.
Returns
Promise
<void
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:413
_initPageSource
▸ Protected
_initPageSource(): Promise
<void
>
Initialize page source so call init method on controller and his extensions.
Returns
Promise
<void
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:383
_loadPageSource
▸ Protected
_loadPageSource(): Promise
<void
| PageData
>
Load page source so call load method on controller and his extensions. Merge loaded state and render it.
Returns
Promise
<void
| PageData
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:443
_runPostManageHandlers
▸ Protected
_runPostManageHandlers(previousManagedPage
, action
): Promise
<unknown
>
Parameters
Name | Type |
---|---|
previousManagedPage | ManagedPage |
action | PageAction |
Returns
Promise
<unknown
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:809
_runPreManageHandlers
▸ Protected
_runPreManageHandlers(actualManagedPage
, action
): Promise
<unknown
>
Parameters
Name | Type |
---|---|
actualManagedPage | ManagedPage |
action | PageAction |
Returns
Promise
<unknown
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:788
_setRestrictedPageStateManager
▸ _setRestrictedPageStateManager(extension
, extensionState
): void
Set page state manager to extension which has restricted rights to set global state.
Parameters
Name | Type |
---|---|
extension | Extension <{}, {}, {}> |
extensionState | UnknownParameters |
Returns
void
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:342
_storeManagedPageSnapshot
▸ Protected
_storeManagedPageSnapshot(): void
Creates a cloned version of currently managed page and stores it in a helper property. Snapshot is used in manager handlers to easily determine differences between the current and the previous state.
Returns
void
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:281
_stripManagedPageValueForPublic
▸ Protected
_stripManagedPageValueForPublic(value
): Object
Removes properties we do not want to propagate outside of the page manager
Parameters
Name | Type | Description |
---|---|---|
value | ManagedPage | The managed page object to strip down |
Returns
Object
Name | Type |
---|---|
controller | RouteController |
options | RouteOptions |
params | RouteParams |
route | AbstractRoute <string | RoutePathExpression > |
view | unknown |
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:332
_switchToPageStateManager
▸ Protected
_switchToPageStateManager(): void
Iterates over extensions of current controller and switches each one to pageStateManager and clears their partial state.
Returns
void
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:430
_switchToPageStateManagerAfterLoaded
▸ _switchToPageStateManagerAfterLoaded(extension
, extensionState
): void
For defined extension switches to pageStageManager and clears partial state after extension state is loaded.
Parameters
Name | Type |
---|---|
extension | Extension <{}, {}, {}> |
extensionState | UnknownParameters |
Returns
void
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:363
_updatePageSource
▸ Protected
_updatePageSource(): Promise
<void
| PageData
>
Update page source so call update method on controller and his extensions. Merge updated state and render it.
Returns
Promise
<void
| PageData
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:580
destroy
▸ destroy(): Promise
<void
>
Finalization callback, called when the page manager is being discarded. This usually happens when the page is hot-reloaded at the client side.
Returns
Promise
<void
>
Overrides
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:232
getViewController
▸ Protected
getViewController(route
): Promise
<{ controller
: RouteController
; view
: RouteView
}>
Parameters
Name | Type |
---|---|
route | AbstractRoute <string | RoutePathExpression > |
Returns
Promise
<{ controller
: RouteController
; view
: RouteView
}>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:833
init
▸ init(): void
Initializes the page manager.
Returns
void
Overrides
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:114
manage
▸ manage(«destructured»
): Promise
<void
| PageData
>
Starts to manage the provided controller and its view. The manager stops the management of any previously managed controller and view.
The controller and view will be initialized and rendered either into the UI (at the client-side) or to the response to send to the client (at the server-side).
Parameters
Name | Type |
---|---|
«destructured» | ManageArgs |
Returns
Promise
<void
| PageData
>
A promise that will resolve to information about the rendered page.
The status
will contain the HTTP status code to send to the
client (at the server side) or determine the type of error page
to navigate to (at the client side).
Overrides
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:133
postManage
▸ postManage(): void
Called by router after currently managed route is resolved.
Returns
void
Overrides
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:223
preManage
▸ preManage(): Promise
<void
>
Pre manage handler, should be called and awaited before tryint to handle new route handler. This pre manage takes care of canceling any currently executed route handlers and returns promise which is resolved when previous page finished loading (even if it got canceled).
Returns
Promise
<void
>