[@rxap/material-table-system](../wiki/globals) / TableRowHeaderActionDirective

# Class: TableRowHeaderActionDirective\<Data\>

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/table-row-header-action.directive.ts:37](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/table-row-header-action.directive.ts#L37)

## Extends

- [`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction)\<`Data`\>

## Type Parameters

• **Data** *extends* `Record`\<`string`, `any`\>

## Implements

- `OnInit`
- `OnDestroy`

## Constructors

### new TableRowHeaderActionDirective()

> **new TableRowHeaderActionDirective**\<`Data`\>(`renderer`, `overlay`, `elementRef`, `actionMethod`, `cdr`, `vcr`, `tableDataSourceDirective`, `snackBar`, `matButton`, `matTooltip`, `injector`, `selectRowService`): [`TableRowHeaderActionDirective`](../wiki/Class.TableRowHeaderActionDirective)\<`Data`\>

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/table-row-header-action.directive.ts:45](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/table-row-header-action.directive.ts#L45)

#### Parameters

##### renderer

`Renderer2`

##### overlay

`Overlay`

##### elementRef

`ElementRef`

##### actionMethod

[`TableRowActionMethod`](../wiki/TypeAlias.TableRowActionMethod)\<`Data`\>

##### cdr

`ChangeDetectorRef`

##### vcr

`ViewContainerRef`

##### tableDataSourceDirective

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

##### snackBar

`MatSnackBar`

##### matButton

`null` | `MatButton`

##### matTooltip

`null` | `MatTooltip`

##### injector

`Injector`

##### selectRowService

`null` | [`SelectRowService`](../wiki/Class.SelectRowService)\<`Data`\>

#### Returns

[`TableRowHeaderActionDirective`](../wiki/Class.TableRowHeaderActionDirective)\<`Data`\>

#### Overrides

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

## Properties

### cdr

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

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:82](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L82)

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`cdr`](../wiki/Class.AbstractTableRowAction#cdr-1)

***

### color?

> `optional` **color**: `ThemePalette`

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:59](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L59)

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`color`](../wiki/Class.AbstractTableRowAction#color)

***

### confirmed

> **confirmed**: `EventEmitter`\<`any`\>

Defined in: [packages/angular/components/src/lib/confirm/confirm.directive.ts:39](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/components/src/lib/confirm/confirm.directive.ts#L39)

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`confirmed`](../wiki/Class.AbstractTableRowAction#confirmed)

***

### elementRef

> `protected` `readonly` **elementRef**: `ElementRef`

Defined in: [packages/angular/components/src/lib/confirm/confirm.directive.ts:58](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/components/src/lib/confirm/confirm.directive.ts#L58)

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`elementRef`](../wiki/Class.AbstractTableRowAction#elementref-1)

***

### errorMessage?

> `optional` **errorMessage**: `string`

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:49](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L49)

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`errorMessage`](../wiki/Class.AbstractTableRowAction#errormessage)

***

### injector

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

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:96](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L96)

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`injector`](../wiki/Class.AbstractTableRowAction#injector-1)

***

### isHeader

> `readonly` **isHeader**: `true` = `true`

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/table-row-header-action.directive.ts:41](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/table-row-header-action.directive.ts#L41)

#### Overrides

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`isHeader`](../wiki/Class.AbstractTableRowAction#isheader)

***

### isOverlyOpen

> `protected` **isOverlyOpen**: `boolean` = `false`

Defined in: [packages/angular/components/src/lib/confirm/confirm.directive.ts:52](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/components/src/lib/confirm/confirm.directive.ts#L52)

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`isOverlyOpen`](../wiki/Class.AbstractTableRowAction#isoverlyopen)

***

### matButton

> `protected` **matButton**: `null` \| `MatIconButton`

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:91](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L91)

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`matButton`](../wiki/Class.AbstractTableRowAction#matbutton-1)

***

### matTooltip

> `protected` **matTooltip**: `null` \| `MatTooltip`

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:94](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L94)

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`matTooltip`](../wiki/Class.AbstractTableRowAction#mattooltip-1)

***

### options

> `protected` **options**: `null` \| [`TableActionMethodOptions`](../wiki/Interface.TableActionMethodOptions)\<`any`\> = `null`

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:63](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L63)

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`options`](../wiki/Class.AbstractTableRowAction#options)

***

### overlay

> `protected` `readonly` **overlay**: `Overlay`

Defined in: [packages/angular/components/src/lib/confirm/confirm.directive.ts:56](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/components/src/lib/confirm/confirm.directive.ts#L56)

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`overlay`](../wiki/Class.AbstractTableRowAction#overlay-1)

***

### positionStrategy?

> `protected` `optional` **positionStrategy**: `PositionStrategy`

Defined in: [packages/angular/components/src/lib/confirm/confirm.directive.ts:50](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/components/src/lib/confirm/confirm.directive.ts#L50)

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`positionStrategy`](../wiki/Class.AbstractTableRowAction#positionstrategy)

***

### refresh?

> `optional` **refresh**: `boolean`

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:56](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L56)

true - after the action is executed the table datasource is refreshed

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`refresh`](../wiki/Class.AbstractTableRowAction#refresh)

***

### renderer

> `protected` `readonly` **renderer**: `Renderer2`

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:72](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L72)

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`renderer`](../wiki/Class.AbstractTableRowAction#renderer-1)

***

### snackBar

> `protected` `readonly` **snackBar**: `MatSnackBar`

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:88](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L88)

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`snackBar`](../wiki/Class.AbstractTableRowAction#snackbar-1)

***

### successMessage?

> `optional` **successMessage**: `string`

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:51](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L51)

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`successMessage`](../wiki/Class.AbstractTableRowAction#successmessage)

***

### tableDataSourceDirective

> `protected` `readonly` **tableDataSourceDirective**: [`TableDataSourceDirective`](../wiki/Class.TableDataSourceDirective)

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:86](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L86)

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`tableDataSourceDirective`](../wiki/Class.AbstractTableRowAction#tabledatasourcedirective-1)

***

### type

> **type**: `string`

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/table-row-header-action.directive.ts:122](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/table-row-header-action.directive.ts#L122)

#### Overrides

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`type`](../wiki/Class.AbstractTableRowAction#type)

***

### unconfirmed

> **unconfirmed**: `EventEmitter`\<`any`\>

Defined in: [packages/angular/components/src/lib/confirm/confirm.directive.ts:42](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/components/src/lib/confirm/confirm.directive.ts#L42)

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`unconfirmed`](../wiki/Class.AbstractTableRowAction#unconfirmed)

***

### vcr

> `protected` `readonly` **vcr**: `ViewContainerRef`

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:84](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L84)

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`vcr`](../wiki/Class.AbstractTableRowAction#vcr-1)

## Accessors

### eventValue

#### Set Signature

> **set** **eventValue**(`value`): `void`

Defined in: [packages/angular/components/src/lib/confirm/confirm.directive.ts:32](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/components/src/lib/confirm/confirm.directive.ts#L32)

##### Parameters

###### value

`""` | `T`

##### Returns

`void`

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`eventValue`](../wiki/Class.AbstractTableRowAction#eventvalue)

***

### hasConfirmDirective

#### Set Signature

> **set** **hasConfirmDirective**(`value`): `void`

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:106](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L106)

##### Parameters

###### value

`any`

##### Returns

`void`

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`hasConfirmDirective`](../wiki/Class.AbstractTableRowAction#hasconfirmdirective)

## Methods

### execute()

> **execute**(): `Promise`\<`void`\>

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:155](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L155)

#### Returns

`Promise`\<`void`\>

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`execute`](../wiki/Class.AbstractTableRowAction#execute)

***

### getElementList()

> `protected` **getElementList**(): `Data`[]

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/table-row-header-action.directive.ts:114](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/table-row-header-action.directive.ts#L114)

#### Returns

`Data`[]

#### Overrides

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`getElementList`](../wiki/Class.AbstractTableRowAction#getelementlist)

***

### ngOnDestroy()

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

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/table-row-header-action.directive.ts:89](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/table-row-header-action.directive.ts#L89)

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

#### Returns

`void`

#### Implementation of

`OnDestroy.ngOnDestroy`

#### Overrides

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`ngOnDestroy`](../wiki/Class.AbstractTableRowAction#ngondestroy)

***

### ngOnInit()

> **ngOnInit**(): `void`

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/table-row-header-action.directive.ts:93](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/table-row-header-action.directive.ts#L93)

A callback method that is invoked immediately after the
default change detector has checked the directive's
data-bound properties for the first time,
and before any of the view or content children have been checked.
It is invoked only once when the directive is instantiated.

#### Returns

`void`

#### Implementation of

`OnInit.ngOnInit`

#### Overrides

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`ngOnInit`](../wiki/Class.AbstractTableRowAction#ngoninit)

***

### onClick()

> **onClick**(`$event`): `Promise`\<`void`\>

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:141](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L141)

#### Parameters

##### $event

`Event`

#### Returns

`Promise`\<`void`\>

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`onClick`](../wiki/Class.AbstractTableRowAction#onclick)

***

### onConfirmed()

> **onConfirmed**(): `Promise`\<`void`\>

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:136](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L136)

#### Returns

`Promise`\<`void`\>

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`onConfirmed`](../wiki/Class.AbstractTableRowAction#onconfirmed)

***

### onUnconfirmed()

> `protected` **onUnconfirmed**(`eventValue`?): `void`

Defined in: [packages/angular/components/src/lib/confirm/confirm.directive.ts:142](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/components/src/lib/confirm/confirm.directive.ts#L142)

#### Parameters

##### eventValue?

`any`

#### Returns

`void`

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`onUnconfirmed`](../wiki/Class.AbstractTableRowAction#onunconfirmed)

***

### openConfirmOverly()

> `protected` **openConfirmOverly**(): `void`

Defined in: [packages/angular/components/src/lib/confirm/confirm.directive.ts:84](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/components/src/lib/confirm/confirm.directive.ts#L84)

#### Returns

`void`

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`openConfirmOverly`](../wiki/Class.AbstractTableRowAction#openconfirmoverly)

***

### setButtonDisabled()

> `protected` **setButtonDisabled**(): `void`

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:197](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L197)

Disables the action. If the button is pressed the action is NOT executed

Hint: the button is set to disabled = true to prevent any conflict with
extern button enable features linke : rxapHasEnablePermission

#### Returns

`void`

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`setButtonDisabled`](../wiki/Class.AbstractTableRowAction#setbuttondisabled)

***

### setButtonEnabled()

> `protected` **setButtonEnabled**(): `void`

Defined in: [packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:209](https://gitlab.com/rxap/packages/-/blob/8058138ff98d9e37b711846892c79ebc45ed17d4/packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts#L209)

Enables the action. If the button is pressed the action is executed

TODO : find a way to communicate the disabled state between the features
Hint: the button is set to disabled = false to prevent any conflict with
extern button enable features linke : rxapHasEnablePermission

#### Returns

`void`

#### Inherited from

[`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction).[`setButtonEnabled`](../wiki/Class.AbstractTableRowAction#setbuttonenabled)
