[@rxap/form-system](../wiki/globals) / 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`](../wiki/Class.ExtractFormDefinitionMixin).[`ExtractDataSourcesMixin`](../wiki/Class.ExtractDataSourcesMixin).[`ExtractControlMixin`](../wiki/Class.ExtractControlMixin)

## Extended by

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

## Constructors

### new ExtractOptionsDataSourceMixin()

> **new ExtractOptionsDataSourceMixin**(): [`ExtractOptionsDataSourceMixin`](../wiki/Class.ExtractOptionsDataSourceMixin)

#### Returns

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

#### Inherited from

[`ExtractControlMixin`](../wiki/Class.ExtractControlMixin).[`constructor`](../wiki/Class.ExtractControlMixin#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`](../wiki/Class.ExtractControlMixin).[`control`](../wiki/Class.ExtractControlMixin#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`](../wiki/Class.ExtractControlMixin).[`matFormField`](../wiki/Class.ExtractControlMixin#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`](../wiki/Class.ExtractControlMixin).[`ngControl`](../wiki/Class.ExtractControlMixin#ngcontrol)

***

### settings?

> `protected` `optional` **settings**: [`UseOptionsDataSourceSettings`](../wiki/TypeAlias.UseOptionsDataSourceSettings)\<`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`](../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)

***

### 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`](../wiki/Class.ExtractControlMixin).[`extractControl`](../wiki/Class.ExtractControlMixin#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

[`ExtractDataSourcesMixin`](../wiki/Class.ExtractDataSourcesMixin).[`extractDataSources`](../wiki/Class.ExtractDataSourcesMixin#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`](../wiki/Class.ExtractFormDefinitionMixin).[`extractFormDefinition`](../wiki/Class.ExtractFormDefinitionMixin#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`\>\>
