@bd-innovations/abstract-section
Version:
A bunch of abstract logic for the section
34 lines (33 loc) • 1.44 kB
TypeScript
import { Subject } from 'rxjs';
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
import { ComponentType } from '@angular/cdk/portal';
import { DialogConfigurator } from '../dialog.configurator';
import { LogicService } from '../../../providers/logic.service';
import { CrudService } from '../../../providers/crud.service';
import { DialogComponentFasade } from '../../../fasades/dialog-component.fasade';
export interface CanHaveFormDialog<C extends DialogComponentFasade, D> {
service: CrudService<D>;
logic: LogicService<D>;
dialog: MatDialog;
dialogConfig?: {
reloadData?: boolean;
additionalDialogData?: {
[key: string]: any;
};
};
formComponentType: ComponentType<C>;
}
declare const FormDialogConfigurator_base: import("@angular/material/core/common-behaviors/constructor").Constructor<import("../../../mixins/has-subs.mixin").HasSubs> & {
new (): {};
};
export declare class FormDialogConfigurator<C extends DialogComponentFasade, D> extends FormDialogConfigurator_base implements DialogConfigurator<C, D> {
protected owner: CanHaveFormDialog<C, D>;
onSuccess$: Subject<void>;
onCancel$: Subject<void>;
protected dialogRef: MatDialogRef<C>;
constructor(owner: CanHaveFormDialog<C, D>);
openDialog(instance?: D): Promise<void>;
protected onDialogSubmit(res: D): void;
protected onDialogCancel(): void;
}
export {};