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

***

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

# Class: ControlDataSource

Defined in: [packages/angular/form-system/src/lib/control-data-source.ts:26](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/control-data-source.ts#L26)

## Extends

- `BaseDataSource`

## Constructors

### new ControlDataSource()

> **new ControlDataSource**(`control`, `metadata`): [`ControlDataSource`](ControlDataSource.md)

Defined in: [packages/angular/form-system/src/lib/control-data-source.ts:27](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/control-data-source.ts#L27)

#### Parameters

##### control

`AbstractControl`

##### metadata

`null` | `BaseDataSourceMetadata`

#### Returns

[`ControlDataSource`](ControlDataSource.md)

#### Overrides

`BaseDataSource.constructor`

## Properties

### \_\_id

> **\_\_id**: `string`

Defined in: [packages/angular/definition/src/lib/definition.ts:61](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/definition/src/lib/definition.ts#L61)

**`Internal`**

unique internal id

#### Inherited from

`BaseDataSource.__id`

***

### \_connectedViewer

> `protected` **\_connectedViewer**: `Map`\<`string`, `Observable`\<`any`\>\>

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:78](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L78)

#### Inherited from

`BaseDataSource._connectedViewer`

***

### \_connectedViewerTeardown

> `protected` **\_connectedViewerTeardown**: `Map`\<`string`, `TeardownLogic`\>

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:79](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L79)

#### Inherited from

`BaseDataSource._connectedViewerTeardown`

***

### \_data?

> `protected` `optional` **\_data**: `any`

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:104](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L104)

#### Inherited from

`BaseDataSource._data`

***

### \_data$

> `protected` **\_data$**: `Observable`\<`any`\> = `EMPTY`

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:83](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L83)

#### Inherited from

`BaseDataSource._data$`

***

### \_initialised

> `protected` **\_initialised**: `boolean` = `false`

Defined in: [packages/angular/definition/src/lib/definition.ts:62](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/definition/src/lib/definition.ts#L62)

#### Inherited from

`BaseDataSource._initialised`

***

### \_lastRefreshed

> `protected` **\_lastRefreshed**: `null` \| `Date` = `null`

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:77](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L77)

#### Inherited from

`BaseDataSource._lastRefreshed`

***

### \_retry$

> `protected` **\_retry$**: `Subject`\<`void`\>

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:90](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L90)

#### Inherited from

`BaseDataSource._retry$`

***

### \_viewerIds

> `protected` **\_viewerIds**: `Map`\<`BaseDataSourceViewer`\<`any`\>, `string`\>

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:89](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L89)

a map of viewer to view id.
Allows to create a view id from the viewer object reference

#### Inherited from

`BaseDataSource._viewerIds`

***

### change$

> `readonly` **change$**: `Subject`\<`any`\>

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:67](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L67)

#### Inherited from

`BaseDataSource.change$`

***

### destroyed$

> `readonly` **destroyed$**: `undefined` \| `Subject`\<`void`\>

Defined in: [packages/angular/definition/src/lib/definition.ts:48](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/definition/src/lib/definition.ts#L48)

Emits if the data source is destroyed

#### Inherited from

`BaseDataSource.destroyed$`

***

### error$

> `readonly` **error$**: `ReplaySubject`\<`Error`\>

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:73](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L73)

#### Inherited from

`BaseDataSource.error$`

***

### hasError?

> `optional` **hasError**: `Signal`\<`boolean`\>

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:94](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L94)

#### Inherited from

`BaseDataSource.hasError`

***

### hasError$

> `readonly` **hasError$**: `ToggleSubject`

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:72](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L72)

#### Inherited from

`BaseDataSource.hasError$`

***

### initialised$

> `readonly` **initialised$**: `undefined` \| `Subject`\<`void`\>

Defined in: [packages/angular/definition/src/lib/definition.ts:52](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/definition/src/lib/definition.ts#L52)

Emits if the data source is initialised

#### Inherited from

`BaseDataSource.initialised$`

***

### interceptors

> `readonly` **interceptors**: `undefined` \| `Set`\<`Subject`\<`any`\>\>

Defined in: [packages/angular/definition/src/lib/definition.ts:53](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/definition/src/lib/definition.ts#L53)

#### Inherited from

`BaseDataSource.interceptors`

***

### loading?

> `optional` **loading**: `Signal`\<`boolean`\>

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:92](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L92)

#### Inherited from

`BaseDataSource.loading`

***

### loading$

> **loading$**: `Observable`\<`boolean`\> = `EMPTY`

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:71](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L71)

Indicates weather the data source is currently loading new data

#### Inherited from

`BaseDataSource.loading$`

***

### metadata

> **metadata**: `BaseDataSourceMetadata`

Defined in: [packages/angular/definition/src/lib/definition.ts:44](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/definition/src/lib/definition.ts#L44)

#### Inherited from

`BaseDataSource.metadata`

***

### destroyed$

> `readonly` `static` **destroyed$**: `Subject`\<`BaseDefinition`\<`BaseDefinitionMetadata`\>\>

Defined in: [packages/angular/definition/src/lib/definition.ts:41](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/definition/src/lib/definition.ts#L41)

Emits when a new Definition instance is initialised

#### Inherited from

`BaseDataSource.destroyed$`

***

### initialised$

> `readonly` `static` **initialised$**: `Subject`\<`BaseDefinition`\<`BaseDefinitionMetadata`\>\>

Defined in: [packages/angular/definition/src/lib/definition.ts:35](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/definition/src/lib/definition.ts#L35)

Emits when a new Definition instance is initialised

#### Inherited from

`BaseDataSource.initialised$`

***

### instances

> `readonly` `static` **instances**: `Map`\<`string`, `BaseDefinition`\<`BaseDefinitionMetadata`\>\>

Defined in: [packages/angular/definition/src/lib/definition.ts:27](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/definition/src/lib/definition.ts#L27)

A map of active Definition instances

#### Inherited from

`BaseDataSource.instances`

## Accessors

### data

#### Get Signature

> **get** **data**(): `undefined` \| `Data`

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:106](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L106)

##### Returns

`undefined` \| `Data`

#### Inherited from

`BaseDataSource.data`

***

### hasConnections

#### Get Signature

> **get** **hasConnections**(): `boolean`

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:110](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L110)

##### Returns

`boolean`

#### Inherited from

`BaseDataSource.hasConnections`

***

### id

#### Get Signature

> **get** **id**(): `string`

Defined in: [packages/angular/definition/src/lib/definition.ts:87](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/definition/src/lib/definition.ts#L87)

##### Returns

`string`

#### Inherited from

`BaseDataSource.id`

***

### lastRefreshed

#### Get Signature

> **get** **lastRefreshed**(): `null` \| `Date`

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:74](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L74)

##### Returns

`null` \| `Date`

#### Inherited from

`BaseDataSource.lastRefreshed`

## Methods

### \_connect()

> `protected` **\_connect**(`viewer`): `Observable`\<`any`\> \| \[`Observable`\<`any`\>, `TeardownLogic`\]

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:323](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L323)

#### Parameters

##### viewer

`BaseDataSourceViewer`

#### Returns

`Observable`\<`any`\> \| \[`Observable`\<`any`\>, `TeardownLogic`\]

#### Inherited from

`BaseDataSource._connect`

***

### \_disconnect()

> `protected` **\_disconnect**(`viewerId`): `void`

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:308](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L308)

#### Parameters

##### viewerId

`string`

#### Returns

`void`

#### Inherited from

`BaseDataSource._disconnect`

***

### applyMetadata()

> **applyMetadata**(`partialMetadata`): `void`

Defined in: [packages/angular/definition/src/lib/definition.ts:111](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/definition/src/lib/definition.ts#L111)

#### Parameters

##### partialMetadata

`Partial`\<`BaseDataSourceMetadata`\>

#### Returns

`void`

#### Inherited from

`BaseDataSource.applyMetadata`

***

### attach()

> **attach**(`viewerId`): `Observable`\<`any`\>

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:210](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L210)

#### Parameters

##### viewerId

`string`

#### Returns

`Observable`\<`any`\>

#### Inherited from

`BaseDataSource.attach`

***

### connect()

> **connect**(`viewerOrString`): `Observable`\<`any`\>

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:124](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L124)

#### Parameters

##### viewerOrString

`string` | `BaseDataSourceViewer`\<`any`\>

#### Returns

`Observable`\<`any`\>

#### Inherited from

`BaseDataSource.connect`

***

### derive()

> **derive**(`id`, `metadata`): `BaseDataSource`\<`any`\>

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:270](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L270)

#### Parameters

##### id

`string`

##### metadata

`Partial`\<`BaseDataSourceMetadata`\> = `...`

#### Returns

`BaseDataSource`\<`any`\>

#### Inherited from

`BaseDataSource.derive`

***

### ~~destroy()~~

> **destroy**(): `void`

Defined in: [packages/angular/definition/src/lib/definition.ts:118](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/definition/src/lib/definition.ts#L118)

#### Returns

`void`

#### Deprecated

use ngOnDestroy instead

#### Inherited from

`BaseDataSource.destroy`

***

### disconnect()

> **disconnect**(`viewerOrId`): `void`

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:225](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L225)

#### Parameters

##### viewerOrId

`string` | `BaseDataSourceViewer`\<`any`\>

#### Returns

`void`

#### Inherited from

`BaseDataSource.disconnect`

***

### genericRetryFunction()

> `protected` **genericRetryFunction**(`error`, `retryCount`): `Observable`\<`any`\>

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:311](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L311)

#### Parameters

##### error

`any`

##### retryCount

`number`

#### Returns

`Observable`\<`any`\>

#### Inherited from

`BaseDataSource.genericRetryFunction`

***

### getMetadata()

> **getMetadata**(): `null` \| `BaseDataSourceMetadata`

Defined in: [packages/angular/definition/src/lib/definition.ts:107](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/definition/src/lib/definition.ts#L107)

#### Returns

`null` \| `BaseDataSourceMetadata`

#### Inherited from

`BaseDataSource.getMetadata`

***

### getViewerId()

> **getViewerId**(`viewer`): `string`

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:114](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L114)

#### Parameters

##### viewer

`BaseDataSourceViewer`

#### Returns

`string`

#### Inherited from

`BaseDataSource.getViewerId`

***

### handelError()

> `protected` **handelError**(`error`): `void`

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:317](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L317)

#### Parameters

##### error

`any`

#### Returns

`void`

#### Inherited from

`BaseDataSource.handelError`

***

### init()

> **init**(): `void`

Defined in: [packages/angular/form-system/src/lib/control-data-source.ts:37](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/control-data-source.ts#L37)

#### Returns

`void`

#### Overrides

`BaseDataSource.init`

***

### isConnected()

> **isConnected**(`viewerOrId`): `boolean`

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:217](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L217)

#### Parameters

##### viewerOrId

`string` | `BaseDataSourceViewer`\<`any`\>

#### Returns

`boolean`

#### Inherited from

`BaseDataSource.isConnected`

***

### ngOnDestroy()

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

Defined in: [packages/angular/definition/src/lib/definition.ts:122](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/definition/src/lib/definition.ts#L122)

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

#### Returns

`void`

#### Inherited from

`BaseDataSource.ngOnDestroy`

***

### refresh()

> **refresh**(): `any`

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:290](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L290)

#### Returns

`any`

#### Inherited from

`BaseDataSource.refresh`

***

### reset()

> **reset**(): `any`

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:297](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L297)

#### Returns

`any`

#### Inherited from

`BaseDataSource.reset`

***

### retry()

> **retry**(): `any`

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:293](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L293)

#### Returns

`any`

#### Inherited from

`BaseDataSource.retry`

***

### toJSON()

> **toJSON**(): `object`

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:280](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L280)

#### Returns

`object`

#### Inherited from

`BaseDataSource.toJSON`

***

### toPromise()

> **toPromise**(`viewer`): `Promise`\<`any`\>

Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:264](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/data-source/src/lib/base.data-source.ts#L264)

Creates a connection to tha data source and converts the Observable into a
promise and then disconnects the viewer

#### Parameters

##### viewer

`BaseDataSourceViewer`

#### Returns

`Promise`\<`any`\>

#### Inherited from

`BaseDataSource.toPromise`

***

### add()

> `static` **add**(`definition`): `void`

Defined in: [packages/angular/definition/src/lib/definition.ts:94](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/definition/src/lib/definition.ts#L94)

#### Parameters

##### definition

`BaseDefinition`

#### Returns

`void`

#### Inherited from

`BaseDataSource.add`

***

### remove()

> `static` **remove**(`definition`): `void`

Defined in: [packages/angular/definition/src/lib/definition.ts:102](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/definition/src/lib/definition.ts#L102)

#### Parameters

##### definition

`BaseDefinition`

#### Returns

`void`

#### Inherited from

`BaseDataSource.remove`
