@bd-innovations/abstract-section
Version:
A bunch of abstract logic for the section
53 lines (52 loc) • 1.67 kB
TypeScript
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;
}