UNPKG

@awesome-nodes/mvvm

Version:

Application development framework using the *model* *view* *view-model* design pattern.

46 lines (45 loc) 1.37 kB
import { ObjectBase } from '@awesome-nodes/object'; import { ObjectModel } from "../model"; import { IViewModel } from "./"; /** * Represents the base for all view models in the model-view-view-model pattern. * @template TModel */ export declare abstract class ViewModelBase<TModel extends ObjectModel> extends ObjectBase implements IViewModel<TModel> { private _model; get name(): string; /** * Returns the model instance which is associated with this view-model instance. */ get model(): TModel; /** * Returns the model instance which is associated with this view-model instance. */ set model(value: TModel); /** * Initializes this instance. * @param {TModel} model * @param {string} name */ protected constructor(model: TModel, name?: string); /** @inheritDoc */ init?(): void; /** @inheritDoc */ viewInit?(): void; /** @inheritDoc */ viewChecked?(): void; /** @inheritDoc */ contentInit?(): void; /** @inheritDoc */ contentChecked?(): void; /** @inheritDoc */ changes?(changes: unknown): void; /** @inheritDoc */ destroy(): void; /** * Checks equality by comparing the name property of this instance. * @inheritDoc * @param {ViewModelBase<TModel>} other */ equals(other: ViewModelBase<TModel>): boolean; }