Skip to content

vue-mvvm / dialog / DialogControl

DialogControl ​

Abstract base class for easily managing dialog controls in an application.

This class provides core functionality to handle the lifecycle of dialogs, including opening, closing, and destruction. Subclasses must implement onOpen and onClose methods to define specific behavior when the dialog is requested to open or close.

Extends ​

Extended by ​

Implements ​

  • Disposable

Constructors ​

Constructor ​

ts
new DialogControl(): DialogControl;

Returns ​

DialogControl

Overrides ​

UserControl.constructor

Properties ​

ctx ​

ts
protected readonly ctx: ReadableGlobalContext;

Represents a readonly global context that provides features like DI

Inherited from ​

UserControl.ctx


destroyed ​

ts
readonly destroyed: boolean;

Methods ​

[asyncDispose]() ​

ts
asyncDispose: Promise<void>;

Returns ​

Promise<void>


[dispose]() ​

ts
dispose: void;

Returns ​

void

Implementation of ​

ts
Disposable.[dispose]

activated() ​

ts
protected activated(): void | Promise<void>;

Hook for Vue's onActivated

Returns ​

void | Promise<void>

Inherited from ​

UserControl.activated


beforeMount() ​

ts
protected beforeMount(): void | Promise<void>;

Hook for Vue's onBeforeMount

Returns ​

void | Promise<void>

Inherited from ​

UserControl.beforeMount


beforeUnmount() ​

ts
protected beforeUnmount(): void | Promise<void>;

Hook for Vue's onBeforeUnmount

Returns ​

void | Promise<void>

Inherited from ​

UserControl.beforeUnmount


beforeUpdate() ​

ts
protected beforeUpdate(): void | Promise<void>;

Hook for Vue's onBeforeUpdate

Returns ​

void | Promise<void>

Inherited from ​

UserControl.beforeUpdate


closeDialog() ​

ts
closeDialog(): Promise<void>;

Requests the dialog to close, can be safely closed from the inheriting class for closing the dialog from the inside.

If the dialog has been destroyed, a warning is logged, and the method exits.

Returns ​

Promise<void>


computed() ​

Call Signature ​

ts
protected computed<T>(getter): T;
Type Parameters ​
T ​

T

Parameters ​
getter ​

ComputedGetter<T>

Returns ​

T

Inherited from ​

UserControl.computed

Call Signature ​

ts
protected computed<T>(options): T;
Type Parameters ​
T ​

T

Parameters ​
options ​
get ​

ComputedGetter<T>

set ​

ComputedSetter<T>

Returns ​

T

Inherited from ​

UserControl.computed


deactivated() ​

ts
protected deactivated(): void | Promise<void>;

Hook for Vue's onDeactivated

Returns ​

void | Promise<void>

Inherited from ​

UserControl.deactivated


destroy() ​

ts
destroy(): void;

Marks the current instance as destroyed. Additionally it will not longer be rendered by the DialogProvider

Returns ​

void


getUserControl() ​

ts
protected getUserControl<T>(ref): T | null;

Collect UserControl that are bound to the View using a Vue.js template ref

Type Parameters ​

T ​

T extends | UserControl | UserControl[]

Parameters ​

ref ​

string

The Vue.js Template ref

Returns ​

T | null

UserControl of the bounded UI Element

Inherited from ​

UserControl.getUserControl


mounted() ​

ts
protected mounted(): void | Promise<void>;

Hook for Vue's onMounted

Returns ​

void | Promise<void>

Inherited from ​

UserControl.mounted


onClose() ​

ts
abstract protected onClose(): void | Promise<void>;

Is executed when closing the dialog was requested

Returns ​

void | Promise<void>


onOpen() ​

ts
abstract protected onOpen(): void | Promise<void>;

Is executed when opening the dialog was requested

Returns ​

void | Promise<void>


openDialog() ​

ts
openDialog(): Promise<void>;

Requests the dialog to open

If the dialog has been destroyed, a warning is logged, and the method exits.

Returns ​

Promise<void>


readonly() ​

ts
protected readonly<T>(value): T;

Type Parameters ​

T ​

T

Parameters ​

value ​

T

Returns ​

T

Inherited from ​

UserControl.readonly


ref() ​

ts
protected ref<T>(initial): T;

Type Parameters ​

T ​

T

Parameters ​

initial ​

T

Returns ​

T

Inherited from ​

UserControl.ref


runAction() ​

ts
protected runAction<T>(action): Promise<ActionResult<T>>;

Executes an MVVM Action and returns its result as a promise.

Notes

  • The action body may be synchronous or asynchronous; both are supported.
  • If the action tries to complete/fail more than once, a Vue warning is emitted and further attempts are ignored.

Type Parameters ​

T ​

T

Parameters ​

action ​

Action<T>

The action object implementing Action interface.

Returns ​

Promise<ActionResult<T>>

A promise that resolves with an ActionResult carrying either the data on success or an error on failure.

Inherited from ​

UserControl.runAction


unmounted() ​

ts
protected unmounted(): void | Promise<void>;

Hook for Vue's onUnmounted

Returns ​

void | Promise<void>

Inherited from ​

UserControl.unmounted


updated() ​

ts
protected updated(): void | Promise<void>;

Hook for Vue's onUpdated

Returns ​

void | Promise<void>

Inherited from ​

UserControl.updated


watch() ​

ts
protected watch(
   source, 
   cb, 
   options?): WatchHandle;

Sets up a watch on a reactive source and registers the watch handle. Allows tracking and managing the lifecycle of the watch handle within the class.

Additionally, watchers are automatically disposed after the component is unmounted and all lifecycle hooks have finished executing.

Parameters ​

source ​

WatchSource

The reactive source to watch.

cb ​

WatchCallback

The callback function that gets triggered when the source changes.

options? ​

WatchOptions<boolean>

Optional configuration object for the watcher (e.g., deep, immediate).

Returns ​

WatchHandle

A custom watch handle with methods to stop, pause, and resume the watcher.

Inherited from ​

UserControl.watch