[**@rxap/form-system v19.1.0**](../README.md)

***

[@rxap/form-system](../globals.md) / ExtractOptionsDataSourceMixin

# Class: ExtractOptionsDataSourceMixin

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

## Extends

- [`ExtractFormDefinitionMixin`](ExtractFormDefinitionMixin.md).[`ExtractDataSourcesMixin`](ExtractDataSourcesMixin.md).[`ExtractControlMixin`](ExtractControlMixin.md)

## Extended by

- [`IsSelectableValueDirective`](IsSelectableValueDirective.md)
- [`InputSelectOptionsDirective`](InputSelectOptionsDirective.md)

## Constructors

### new ExtractOptionsDataSourceMixin()

> **new ExtractOptionsDataSourceMixin**(): [`ExtractOptionsDataSourceMixin`](ExtractOptionsDataSourceMixin.md)

#### Returns

[`ExtractOptionsDataSourceMixin`](ExtractOptionsDataSourceMixin.md)

#### Inherited from

[`ExtractControlMixin`](ExtractControlMixin.md).[`constructor`](ExtractControlMixin.md#constructors)

## Properties

### control?

> `protected` `optional` **control**: `RxapFormControl`\<`any`, `any`, `any`\>

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

#### Inherited from

[`ExtractControlMixin`](ExtractControlMixin.md).[`control`](ExtractControlMixin.md#control)

***

### dataSource?

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

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

***

### dataSourceLoader

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

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

***

### injector

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

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

***

### matFormField?

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

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

#### Inherited from

[`ExtractControlMixin`](ExtractControlMixin.md).[`matFormField`](ExtractControlMixin.md#matformfield)

***

### metadata?

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

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

***

### ngControl

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

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

#### Inherited from

[`ExtractControlMixin`](ExtractControlMixin.md).[`ngControl`](ExtractControlMixin.md#ngcontrol)

***

### settings?

> `protected` `optional` **settings**: [`UseOptionsDataSourceSettings`](../type-aliases/UseOptionsDataSourceSettings.md)\<`any`\>

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

***

### useDataSourceValue?

> `protected` `optional` **useDataSourceValue**: [`UseDataSourceValue`](../interfaces/UseDataSourceValue.md)\<`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)

***

### viewer?

> `protected` `optional` **viewer**: `BaseDataSourceViewer`\<`any`\>

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

## 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

[`ExtractControlMixin`](ExtractControlMixin.md).[`extractControl`](ExtractControlMixin.md#extractcontrol)

***

### extractDataSources()

> `protected` **extractDataSources**(`formDefinition`, `controlId`): `Map`\<`string`, [`UseDataSourceValue`](../interfaces/UseDataSourceValue.md)\<`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`](../interfaces/UseDataSourceValue.md)\<`any`, `any`\>\>

#### Inherited from

[`ExtractDataSourcesMixin`](ExtractDataSourcesMixin.md).[`extractDataSources`](ExtractDataSourcesMixin.md#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

[`ExtractFormDefinitionMixin`](ExtractFormDefinitionMixin.md).[`extractFormDefinition`](ExtractFormDefinitionMixin.md#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`\>\>
