[@rxap/form-system](../wiki/globals) / InputSelectOptionsDirective

# Class: InputSelectOptionsDirective

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:85](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L85)

## Extends

- `OnDestroy`.`AfterViewInit`.[`ExtractOptionsDataSourceMixin`](../wiki/Class.ExtractOptionsDataSourceMixin)

## Implements

- `OnDestroy`
- `AfterViewInit`

## Constructors

### new InputSelectOptionsDirective()

> **new InputSelectOptionsDirective**(`template`, `dataSourceLoader`, `viewContainerRef`, `injector`, `cdr`, `ngControl`, `matFormField`): [`InputSelectOptionsDirective`](../wiki/Class.InputSelectOptionsDirective)

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:124](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L124)

#### Parameters

##### template

`TemplateRef`\<[`InputSelectOptionsTemplateContext`](../wiki/Interface.InputSelectOptionsTemplateContext)\>

##### dataSourceLoader

`DataSourceLoader`

##### viewContainerRef

`ViewContainerRef`

##### injector

`Injector`

##### cdr

`ChangeDetectorRef`

##### ngControl

`null` | `NgControl`

##### matFormField

`null` | `MatFormField`

#### Returns

[`InputSelectOptionsDirective`](../wiki/Class.InputSelectOptionsDirective)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](../wiki/Class.ExtractOptionsDataSourceMixin).[`constructor`](../wiki/Class.ExtractOptionsDataSourceMixin#constructors)

## Properties

### cdr

> `protected` `readonly` **cdr**: `ChangeDetectorRef`

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:134](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L134)

***

### control

> `protected` **control**: `RxapFormControl`

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:107](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L107)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](../wiki/Class.ExtractOptionsDataSourceMixin).[`control`](../wiki/Class.ExtractOptionsDataSourceMixin#control)

***

### dataSource

> `protected` **dataSource**: `BaseDataSource`\<`ControlOptions` \| `Record`\<`string`, `any`\>\>

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:109](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L109)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](../wiki/Class.ExtractOptionsDataSourceMixin).[`dataSource`](../wiki/Class.ExtractOptionsDataSourceMixin#datasource)

***

### dataSourceLoader

> `protected` `readonly` **dataSourceLoader**: `DataSourceLoader`

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:128](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L128)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](../wiki/Class.ExtractOptionsDataSourceMixin).[`dataSourceLoader`](../wiki/Class.ExtractOptionsDataSourceMixin#datasourceloader)

***

### injector

> `protected` `readonly` **injector**: `Injector`

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:132](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L132)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](../wiki/Class.ExtractOptionsDataSourceMixin).[`injector`](../wiki/Class.ExtractOptionsDataSourceMixin#injector)

***

### matAutocomplete?

> `optional` **matAutocomplete**: `MatAutocomplete`

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:103](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L103)

***

### matFormField

> `protected` **matFormField**: `null` \| `MatFormField` = `null`

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:142](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L142)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](../wiki/Class.ExtractOptionsDataSourceMixin).[`matFormField`](../wiki/Class.ExtractOptionsDataSourceMixin#matformfield)

***

### metadata?

> `optional` **metadata**: `BaseDataSourceMetadata`

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:100](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L100)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](../wiki/Class.ExtractOptionsDataSourceMixin).[`metadata`](../wiki/Class.ExtractOptionsDataSourceMixin#metadata)

***

### ngControl

> `protected` **ngControl**: `null` \| `NgControl` = `null`

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:139](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L139)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](../wiki/Class.ExtractOptionsDataSourceMixin).[`ngControl`](../wiki/Class.ExtractOptionsDataSourceMixin#ngcontrol)

***

### options

> `protected` **options**: `null` \| `ControlOptions` \| `Record`\<`string`, `any`\> = `null`

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:111](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L111)

***

### settings?

> `protected` `optional` **settings**: [`InputSelectOptionsSettings`](../wiki/Interface.InputSelectOptionsSettings)\<`any`\>

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:113](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L113)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](../wiki/Class.ExtractOptionsDataSourceMixin).[`settings`](../wiki/Class.ExtractOptionsDataSourceMixin#settings)

***

### subscription

> `protected` `readonly` **subscription**: `Subscription`

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:105](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L105)

***

### template

> `protected` `readonly` **template**: `TemplateRef`\<[`InputSelectOptionsTemplateContext`](../wiki/Interface.InputSelectOptionsTemplateContext)\>

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:126](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L126)

***

### useDataSourceValue?

> `protected` `optional` **useDataSourceValue**: [`UseDataSourceValue`](../wiki/Interface.UseDataSourceValue)\<`ControlOptions` \| `Record`\<`string`, `any`\>, `ControlOptions` \| `Record`\<`string`, `any`\>\>

Defined in: [packages/angular/form-system/src/lib/mixins/extract-options-data-source.mixin.ts:74](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/mixins/extract-options-data-source.mixin.ts#L74)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](../wiki/Class.ExtractOptionsDataSourceMixin).[`useDataSourceValue`](../wiki/Class.ExtractOptionsDataSourceMixin#usedatasourcevalue)

***

### viewContainerRef

> `protected` `readonly` **viewContainerRef**: `ViewContainerRef`

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:130](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L130)

***

### viewer

> **viewer**: `BaseDataSourceViewer`

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:97](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L97)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](../wiki/Class.ExtractOptionsDataSourceMixin).[`viewer`](../wiki/Class.ExtractOptionsDataSourceMixin#viewer)

## Methods

### extractControl()

> `protected` **extractControl**(`ngControl`): `RxapFormControl`

Defined in: [packages/angular/form-system/src/lib/mixins/extract-control.mixin.ts:16](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/mixins/extract-control.mixin.ts#L16)

#### Parameters

##### ngControl

`null` | `NgControl` | `AbstractControlDirective`

#### Returns

`RxapFormControl`

#### Inherited from

[`ExtractOptionsDataSourceMixin`](../wiki/Class.ExtractOptionsDataSourceMixin).[`extractControl`](../wiki/Class.ExtractOptionsDataSourceMixin#extractcontrol)

***

### extractDataSources()

> `protected` **extractDataSources**(`formDefinition`, `controlId`): `Map`\<`string`, [`UseDataSourceValue`](../wiki/Interface.UseDataSourceValue)\<`any`, `any`\>\>

Defined in: [packages/angular/form-system/src/lib/mixins/extract-data-sources.mixin.ts:9](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/mixins/extract-data-sources.mixin.ts#L9)

#### Parameters

##### formDefinition

`FormDefinition`

##### controlId

`string`

#### Returns

`Map`\<`string`, [`UseDataSourceValue`](../wiki/Interface.UseDataSourceValue)\<`any`, `any`\>\>

#### Inherited from

[`ExtractOptionsDataSourceMixin`](../wiki/Class.ExtractOptionsDataSourceMixin).[`extractDataSources`](../wiki/Class.ExtractOptionsDataSourceMixin#extractdatasources)

***

### extractFormDefinition()

> `protected` **extractFormDefinition**(`control`): `FormDefinition`

Defined in: [packages/angular/form-system/src/lib/mixins/extract-form-definition.mixin.ts:10](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/mixins/extract-form-definition.mixin.ts#L10)

#### Parameters

##### control

`AbstractControl`

#### Returns

`FormDefinition`

#### Inherited from

[`ExtractOptionsDataSourceMixin`](../wiki/Class.ExtractOptionsDataSourceMixin).[`extractFormDefinition`](../wiki/Class.ExtractOptionsDataSourceMixin#extractformdefinition)

***

### extractOptionsDatasource()

> `protected` **extractOptionsDatasource**(`control`?): `BaseDataSource`\<`ControlOptions` \| `Record`\<`string`, `any`\>\>

Defined in: [packages/angular/form-system/src/lib/mixins/extract-options-data-source.mixin.ts:76](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/mixins/extract-options-data-source.mixin.ts#L76)

#### Parameters

##### control?

`AbstractControl`\<`any`, `any`\>

#### Returns

`BaseDataSource`\<`ControlOptions` \| `Record`\<`string`, `any`\>\>

#### Inherited from

[`ExtractOptionsDataSourceMixin`](../wiki/Class.ExtractOptionsDataSourceMixin).[`extractOptionsDatasource`](../wiki/Class.ExtractOptionsDataSourceMixin#extractoptionsdatasource)

***

### ngAfterViewInit()

> **ngAfterViewInit**(): `void`

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:146](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L146)

A callback method that is invoked immediately after
Angular has completed initialization of a component's view.
It is invoked only once when the view is instantiated.

#### Returns

`void`

#### Inherited from

`AfterViewInit.ngAfterViewInit`

***

### ngOnDestroy()

> **ngOnDestroy**(): `void`

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:178](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L178)

A callback method that performs custom clean-up, invoked immediately
before a directive, pipe, or service instance is destroyed.

#### Returns

`void`

#### Inherited from

`OnDestroy.ngOnDestroy`

***

### renderTemplate()

> `protected` **renderTemplate**(`options`): `void`

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:221](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L221)

#### Parameters

##### options

`null` | `ControlOptions` | `Record`\<`string`, `any`\>

#### Returns

`void`

***

### toDisplay()

> **toDisplay**(`value`): `string`

Defined in: [packages/angular/form-system/src/lib/directives/input-select-options.directive.ts:170](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/directives/input-select-options.directive.ts#L170)

#### Parameters

##### value

`any`

#### Returns

`string`
