feat(core): add replaceable template types

#2404
pull/2522/head
mehmet-erim 6 years ago
parent 1fe3b35076
commit 56861e7454

@ -48,7 +48,6 @@ import { ReplaceableTemplateDirective } from './directives/replaceable-template.
],
declarations: [
ReplaceableRouteContainerComponent,
ReplaceableTemplateContainerComponent,
RouterOutletComponent,
DynamicLayoutComponent,
AutofocusDirective,
@ -62,6 +61,7 @@ import { ReplaceableTemplateDirective } from './directives/replaceable-template.
VisibilityDirective,
InputEventDebounceDirective,
StopPropagationDirective,
ReplaceableTemplateDirective,
AbstractNgModelComponent,
],
exports: [

@ -1,4 +1,5 @@
import { Type } from '@angular/core';
import { ABP } from './common';
export namespace ReplaceableComponents {
export interface State {
@ -9,4 +10,23 @@ export namespace ReplaceableComponents {
component: Type<any>;
key: string;
}
export interface ReplaceableTemplateData<I, O> {
inputs: ReplaceableTemplateInputs<I>;
outputs: ReplaceableTemplateOutputs<O>;
componentKey: string;
}
export type ReplaceableTemplateInputs<T> = {
[K in keyof T]: T[K];
};
export type ReplaceableTemplateOutputs<T> = {
[K in keyof T]: (value: ABP.ExtractFromGeneric<T[K]>) => void;
};
export interface RouteData<T = any> {
key: string;
defaultComponent: Type<T>;
}
}

Loading…
Cancel
Save