### File

`src/lib/window-config.ts`

### Extends

`WindowSettings`

### Index

###### Properties
Optional component Optional componentFactoryResolver Optional injector Optional injectorName Optional template Optional viewContainerRef Optional windowComponent

### Properties

component
`component: `ComponentType<T>``
Type : `ComponentType<T>`
Optional

componentFactoryResolver
`componentFactoryResolver: `ComponentFactoryResolver | null``
Type : `ComponentFactoryResolver | null`
Optional

injector
`injector: `Injector | null``
Type : `Injector | null`
Optional

injectorName
`injectorName: `string``
Type : `string`
Optional

template
`template: `TemplateRef<T>``
Type : `TemplateRef<T>`
Optional

viewContainerRef
`viewContainerRef: `ViewContainerRef | null``
Type : `ViewContainerRef | null`
Optional

windowComponent
`windowComponent: `ComponentType<T>``
Type : `ComponentType<T>`
Optional

    import { ComponentType } from '@angular/cdk/portal';
    import {
      ComponentFactoryResolver,
      Injector,
      TemplateRef,
      ViewContainerRef,
    } from '@angular/core';
    import { ButtonDefinition } from '@rxap/rxjs';
    import { IconConfig } from '@rxap/utilities';

    export interface WindowActions<A> {
      position?: 'start' | 'end';
      definitions: ButtonDefinition<[ A ]>[];
    }

    export interface WindowSettings<D = any> {
      id?: string;
      title?: string;
      icon?: IconConfig;
      width?: string;
      height?: string;
      minWidth?: string;
      minHeight?: string;
      maxWidth?: string;
      maxHeight?: string;
      resizeable?: boolean;
      minimizable?: boolean;
      draggable?: boolean;
      panelClass?: string;
      data?: D;
      actions?: WindowActions<D>;
    }

    export interface WindowConfig<D = any, T = any> extends WindowSettings<D> {
      windowComponent?: ComponentType<T>;
      component?: ComponentType<T>;
      template?: TemplateRef<T>;
      injector?: Injector | null;
      injectorName?: string;
      componentFactoryResolver?: ComponentFactoryResolver | null;
      viewContainerRef?: ViewContainerRef | null;
    }

    export const DEFAULT_WINDOW_CONFIG: WindowConfig<any, any> = {
      resizeable: true,
      draggable: true,
      injector: null,
      componentFactoryResolver: null,
      minWidth: '384px',
      minHeight: '192px',
      maxWidth: '100vw',
      maxHeight: '100vh',
      minimizable: false,
    };

# results matching ""

# No results matching ""