Class: AbstractPageManager
@ima/core.AbstractPageManager
Page manager for controller.
Hierarchy
↳
AbstractPageManager
Constructors
constructor
• new AbstractPageManager(pageFactory
, pageRenderer
, pageStateManager
, pageHandlerRegistry
)
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. |
Overrides
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:60
Properties
_managedPage
• Protected
_managedPage: ManagedPage
= {}
Details of the currently managed page.
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:34
_pageFactory
• Private
_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:29
_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:46
_pageRenderer
• Protected
_pageRenderer: PageRenderer
The current renderer of the page.
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:38
_pageStateManager
• Protected
_pageStateManager: PageStateManager
The current page state manager.
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:42
_previousManagedPage
• Private
_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:23
Methods
_activateController
▸ Protected
_activateController(): Promise
<void
>
Activate managed instance of controller.
Returns
Promise
<void
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:394
_activateExtensions
▸ Protected
_activateExtensions(): Promise
<void
>
Activate extensions for managed instance of controller.
Returns
Promise
<void
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:403
_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:379
_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:566
_clearManagedPageValue
▸ Protected
_clearManagedPageValue(): void
Clear value from managed page.
Returns
void
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:205
_constructManagedPageValue
▸ Protected
_constructManagedPageValue(controller
, view
, route
, options
, params
, controllerInstance
, decoratedController
, viewInstance
): Object
Parameters
Name | Type |
---|---|
controller | IController |
view | unknown |
route | AbstractRoute |
options | RouteOptions |
params | UnknownParameters |
controllerInstance | AbstractController |
decoratedController | ControllerDecorator |
viewInstance | unknown |
Returns
Object
Name | Type |
---|---|
controller | IController |
controllerInstance | AbstractController |
decoratedController | ControllerDecorator |
options | RouteOptions |
params | UnknownParameters |
route | AbstractRoute |
state | { activated : boolean = false } |
state.activated | boolean |
view | unknown |
viewInstance | unknown |
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:165
_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:504
_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:515
_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:489
_destroyController
▸ Protected
_destroyController(): Promise
<void
>
Destroy last managed instance of controller.
Returns
Promise
<void
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:539
_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:552
_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:527
_getLoadedControllerState
▸ Protected
_getLoadedControllerState(): Promise
<UnknownPromiseParameters
>
Load controller state from managed instance of controller.
Returns
Promise
<UnknownPromiseParameters
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:343
_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:355
_getUpdatedControllerState
▸ Protected
_getUpdatedControllerState(): UnknownPromiseParameters
| Promise
<UnknownPromiseParameters
>
Return updated controller state for current page controller.
Returns
UnknownPromiseParameters
| Promise
<UnknownPromiseParameters
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:439
_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:453
_hasOnlyUpdate
▸ Protected
_hasOnlyUpdate(controller
, view
, options
): boolean
Return true if manager has to update last managed controller and view.
Parameters
Name | Type |
---|---|
controller | IController |
view | unknown |
options | RouteOptions |
Returns
boolean
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:582
_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:285
_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:298
_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:277
_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:323
_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:614
_runPreManageHandlers
▸ Protected
_runPreManageHandlers(nextManagedPage
, action
): Promise
<unknown
>
Parameters
Name | Type |
---|---|
nextManagedPage | ManagedPage |
action | PageAction |
Returns
Promise
<unknown
>
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:601
_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:236
_storeManagedPageSnapshot
▸ Protected
_storeManagedPageSnapshot(): ManagedPage
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
ManagedPage
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:196
_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 | undefined | IController |
options | undefined | RouteOptions |
params | undefined | UnknownParameters |
route | undefined | AbstractRoute |
view | unknown |
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:226
_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:310
_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:257
_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:415
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:153
init
▸ init(): void
Initializes the page manager.
Returns
void
Overrides
Defined in
packages/core/src/page/manager/AbstractPageManager.ts:80
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).