### File

`src/lib/window-config.ts`

### Index

###### Properties

- Optional actions
- Optional data
- Optional draggable
- Optional height
- Optional icon
- Optional id
- Optional maxHeight
- Optional maxWidth
- Optional minHeight
- Optional minimizable
- Optional minWidth
- Optional panelClass
- Optional resizeable
- Optional title
- Optional width

### Properties

actions
`actions: `WindowActions<D>``
Type : `WindowActions<D>`
Optional

data
`data: `D``
Type : `D`
Optional

draggable
`draggable: `boolean``
Type : `boolean`
Optional

height
`height: `string``
Type : `string`
Optional

icon
`icon: `IconConfig``
Type : `IconConfig`
Optional

id
`id: `string``
Type : `string`
Optional

maxHeight
`maxHeight: `string``
Type : `string`
Optional

maxWidth
`maxWidth: `string``
Type : `string`
Optional

minHeight
`minHeight: `string``
Type : `string`
Optional

minimizable
`minimizable: `boolean``
Type : `boolean`
Optional

minWidth
`minWidth: `string``
Type : `string`
Optional

panelClass
`panelClass: `string``
Type : `string`
Optional

resizeable
`resizeable: `boolean``
Type : `boolean`
Optional

title
`title: `string``
Type : `string`
Optional

width
`width: `string``
Type : `string`
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 ""