UNPKG

@bd-innovations/abstract-section

Version:

A bunch of abstract logic for the section

53 lines (52 loc) 1.67 kB
import { OnInit } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import { MatDialog } from '@angular/material/dialog'; import { AbstractComponent } from '../abstract.component'; import { AbstractService } from '../../providers/abstract.service'; import { Observable } from 'rxjs'; /** * @deprecated * */ export declare abstract class AbstractDetailsComponent<T> extends AbstractComponent<T> implements OnInit { service: AbstractService<T>; dialog: MatDialog; router: Router; route: ActivatedRoute; element: T; previousUrl: string; /** * override if param doesn't match with keyValue in service */ pathParamName: string; get _pathParamName(): string; protected constructor(service: AbstractService<T>, dialog: MatDialog, router: Router, route: ActivatedRoute); /** * calls setPreviousUrl(), setPathParamName() * gets keyValue from route & emits it into getData */ ngOnInit(): void; setPreviousUrl(): void; /** * calls getRequest(key) if requestInitialData != false * on response calls onSuccessfulDataInit() * on error - onDataInitError() * @param key: keyValue of element */ getData(key: string): void; getRequest(key: any): Observable<T>; /** * puts API response into element; * then calls afterDataInit() * @param res - API response */ onSuccessfulDataInit(res: T): void; openEdit(t?: T): void; onSuccessfulEdit(res: T): void; openDelete(t?: T): void; /** * calls back() * @param res: deleted element */ onSuccessfulDelete(res: T): void; back(): void; }