@calf/angular
Version:
Angular module of Calf framework.
52 lines (51 loc) • 1.42 kB
TypeScript
import { ValidationResult, EntityService } from "@calf/common";
import { ActivatedRoute, ParamMap } from "@angular/router";
import { OnDestroy, OnInit } from "@angular/core";
import { Serializable } from "@calf/serializable";
import { Subscriber } from "../classes/subscriber.class";
/**
* Angular detail page
*/
export declare abstract class DetailPage<TEntity extends Serializable, TMessage = string> implements OnInit, OnDestroy {
protected service: EntityService<TEntity, TMessage>;
/**
* Current route
*/
protected abstract route: ActivatedRoute;
/**
* Subscriber
*/
protected readonly subscriber: Subscriber;
/**
* Object identifier in route
*/
protected identifier: string;
/**
* Constructor
* @param service
*/
constructor(service: EntityService<TEntity, TMessage>);
/**
* On init hook
*/
ngOnInit(): void;
/**
* On destroy hook
*/
ngOnDestroy(): void;
/**
* On detail hook
* @param params
*/
protected onDetail(params: ParamMap): Promise<void>;
/**
* Get entity
* @param entity
*/
protected get(entity: TEntity): Promise<void>;
/**
* On did get hook
* @param validation
*/
protected abstract onDidGet(validation: ValidationResult<TEntity, TMessage>): Promise<void>;
}