> Documentation index: https://www.gooddata.ai/docs/gooddata-ui/llms.txt lists every page of these docs as Markdown.

# IAttributeFilterLoader

- Package: [@gooddata/sdk-ui-filters](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/index.md)
- Kind: interface
- Source: https://github.com/gooddata/gooddata-ui-sdk/blob/rel/11.64/libs/sdk-ui-filters/src/AttributeFilterHandler/types/attributeFilterLoader.ts

Handles the loading of the all required metadata for the attribute filter handler.

**Signature:**

```typescript
export interface IAttributeFilterLoader extends IAttributeLoader, IAttributeElementLoader 
```
**Extends:** [IAttributeLoader](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.iattributeloader/index.md), [IAttributeElementLoader](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.iattributeelementloader/index.md)

## Properties

| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [onInitCancel](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.iattributefilterloader/index.md#iattributefilterloaderoninitcancel) |  | [CallbackRegistration](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.callbackregistration/index.md)&lt;[OnInitCancelCallbackPayload](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.oninitcancelcallbackpayload/index.md)&gt; | Registers a callback that will be fired when the initialization was canceled. Returns unsubscribe function, that will unregister it. |
| [onInitError](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.iattributefilterloader/index.md#iattributefilterloaderoniniterror) |  | [CallbackRegistration](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.callbackregistration/index.md)&lt;[OnInitErrorCallbackPayload](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.oniniterrorcallbackpayload/index.md)&gt; | Registers a callback that will be fired when error is thrown during the initialization. Returns unsubscribe function, that will unregister it. |
| [onInitStart](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.iattributefilterloader/index.md#iattributefilterloaderoninitstart) |  | [CallbackRegistration](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.callbackregistration/index.md)&lt;[OnInitStartCallbackPayload](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.oninitstartcallbackpayload/index.md)&gt; | Registers a callback that will be fired when the initialization starts. Returns unsubscribe function, that will unregister it, once called. |
| [onInitSuccess](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.iattributefilterloader/index.md#iattributefilterloaderoninitsuccess) |  | [CallbackRegistration](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.callbackregistration/index.md)&lt;[OnInitSuccessCallbackPayload](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.oninitsuccesscallbackpayload/index.md)&gt; | Registers a callback that will be fired when the initialization is successfuly completed. Returns unsubscribe function, that will unregister it. |
| [onUpdate](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.iattributefilterloader/index.md#iattributefilterloaderonupdate) |  | [CallbackRegistration](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.callbackregistration/index.md)&lt;void&gt; | Registers a callback that will be fired when some data of the attribute filter handler has been changed/updated. Returns unsubscribe function, that will unregister it. |

## Methods

| Method | Description |
| --- | --- |
| [getFilter()](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.iattributefilterloader/index.md#iattributefilterloadergetfilter) | Get the effective filter for execution. |
| [getFilterToDisplay()](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.iattributefilterloader/index.md#iattributefilterloadergetfiltertodisplay) | Get the filter to display in component, including custom displayAsLabel applied. Note: This filter is not used for execution and can be completely the same as getFilter one. |
| [getInitError()](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.iattributefilterloader/index.md#iattributefilterloadergetiniterror) | Returns error, if it was thrown during the initialization, undefined otherwise. |
| [getInitStatus()](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.iattributefilterloader/index.md#iattributefilterloadergetinitstatus) | Returns the current status of the initialization. |
| [getOriginalFilter()](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.iattributefilterloader/index.md#iattributefilterloadergetoriginalfilter) | Get original filter used for initialization During initialization process of migration to primary label could happen |
| [init(correlation, skipElementsLoading, preserveWorkingSelection)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.iattributefilterloader/index.md#iattributefilterloaderinit) | Loads all the required data to initialize the attribute filter handler: attribute, selected attribute elements, initial elements page and optionally elements total count (for filters with parent). |

## Property details

### IAttributeFilterLoader.onInitCancel

Registers a callback that will be fired when the initialization was canceled. Returns unsubscribe function, that will unregister it.

**Signature:**

```typescript
onInitCancel: CallbackRegistration<OnInitCancelCallbackPayload>;
```

#### Remarks

Multiple callbacks can be registered by this function.

### IAttributeFilterLoader.onInitError

Registers a callback that will be fired when error is thrown during the initialization. Returns unsubscribe function, that will unregister it.

**Signature:**

```typescript
onInitError: CallbackRegistration<OnInitErrorCallbackPayload>;
```

#### Remarks

Multiple callbacks can be registered by this function.

### IAttributeFilterLoader.onInitStart

Registers a callback that will be fired when the initialization starts. Returns unsubscribe function, that will unregister it, once called.

**Signature:**

```typescript
onInitStart: CallbackRegistration<OnInitStartCallbackPayload>;
```

#### Remarks

Multiple callbacks can be registered by this function.

### IAttributeFilterLoader.onInitSuccess

Registers a callback that will be fired when the initialization is successfuly completed. Returns unsubscribe function, that will unregister it.

**Signature:**

```typescript
onInitSuccess: CallbackRegistration<OnInitSuccessCallbackPayload>;
```

#### Remarks

Multiple callbacks can be registered by this function.

### IAttributeFilterLoader.onUpdate

Registers a callback that will be fired when some data of the attribute filter handler has been changed/updated. Returns unsubscribe function, that will unregister it.

**Signature:**

```typescript
onUpdate: CallbackRegistration<void>;
```

#### Remarks

Multiple callbacks can be registered by this function.

## Method details

### IAttributeFilterLoader.getFilter()

Get the effective filter for execution.

**Signature:**

```typescript
getFilter(): IAttributeFilter;
```
**Returns:**

[IAttributeFilter](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iattributefilter/index.md)

### IAttributeFilterLoader.getFilterToDisplay()

Get the filter to display in component, including custom displayAsLabel applied. Note: This filter is not used for execution and can be completely the same as getFilter one.

**Signature:**

```typescript
getFilterToDisplay(): IAttributeFilter;
```
**Returns:**

[IAttributeFilter](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iattributefilter/index.md)

### IAttributeFilterLoader.getInitError()

Returns error, if it was thrown during the initialization, undefined otherwise.

**Signature:**

```typescript
getInitError(): GoodDataSdkError | undefined;
```
**Returns:**

[GoodDataSdkError](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.gooddatasdkerror/index.md) &#124; undefined

### IAttributeFilterLoader.getInitStatus()

Returns the current status of the initialization.

**Signature:**

```typescript
getInitStatus(): AsyncOperationStatus;
```
**Returns:**

[AsyncOperationStatus](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.asyncoperationstatus/index.md)

### IAttributeFilterLoader.getOriginalFilter()

Get original filter used for initialization During initialization process of migration to primary label could happen

**Signature:**

```typescript
getOriginalFilter(): IAttributeFilter | undefined;
```
**Returns:**

[IAttributeFilter](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iattributefilter/index.md) &#124; undefined

### IAttributeFilterLoader.init()

Loads all the required data to initialize the attribute filter handler: attribute, selected attribute elements, initial elements page and optionally elements total count (for filters with parent).

**Signature:**

```typescript
init(correlation?: Correlation, skipElementsLoading?: boolean, preserveWorkingSelection?: boolean): void;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| correlation | [Correlation](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.correlation/index.md) | _(Optional)_ correlation that will be included in all callbacks fired by this method |
| skipElementsLoading | boolean | _(Optional)_ when true, only loads attribute metadata (skips elements, selection, total count) |
| preserveWorkingSelection | boolean | _(Optional)_ when true, keeps the current working/committed selection instead of re-deriving it from the filter (used when switching back to elements mode from text mode) |

**Returns:**

void

#### Remarks

Cancels the running initialization, if any, and starts it again.

Throws error if you combine staticElements with unsupported elements load options (limitingAttributeFilters, limitingMeasures or limitingDateFilters).

You can provide a correlation that will be included in the payload of all callbacks fired as a result of calling this method.
