[**@rxap/material-table-system v19.0.2-dev.1**](../README.md)

***

[@rxap/material-table-system](../globals.md) / TableRowActionDirective

# Class: TableRowActionDirective\<Data\>

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

## Extends

- [`AbstractTableRowAction`](AbstractTableRowAction.md)\<`Data`\>

## Type Parameters

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

## Constructors

### new TableRowActionDirective()

> **new TableRowActionDirective**\<`Data`\>(`renderer`, `overlay`, `elementRef`, `actionMethodList`, `cdr`, `vcr`, `tableDataSourceDirective`, `snackBar`, `matButton`, `matTooltip`, `injector`): [`TableRowActionDirective`](TableRowActionDirective.md)\<`Data`\>

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

#### Parameters

##### renderer

`Renderer2`

##### overlay

`Overlay`

##### elementRef

`ElementRef`

##### actionMethodList

[`TableRowActionMethod`](../type-aliases/TableRowActionMethod.md)\<`Data`\> | [`TableRowActionMethod`](../type-aliases/TableRowActionMethod.md)\<`Data`\>[]

##### cdr

`ChangeDetectorRef`

##### vcr

`ViewContainerRef`

##### tableDataSourceDirective

[`TableDataSourceDirective`](TableDataSourceDirective.md)

##### snackBar

`MatSnackBar`

##### matButton

`null` | `MatIconButton`

##### matTooltip

`null` | `MatTooltip`

##### injector

`Injector`

#### Returns

[`TableRowActionDirective`](TableRowActionDirective.md)\<`Data`\>

#### Inherited from

[`AbstractTableRowAction`](AbstractTableRowAction.md).[`constructor`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`cdr`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`color`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`confirmed`](AbstractTableRowAction.md#confirmed)

***

### element

> **element**: `Data`

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

***

### 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`](AbstractTableRowAction.md).[`elementRef`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`errorMessage`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`injector`](AbstractTableRowAction.md#injector-1)

***

### isHeader

> `readonly` **isHeader**: `boolean` = `false`

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

#### Inherited from

[`AbstractTableRowAction`](AbstractTableRowAction.md).[`isHeader`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`isOverlyOpen`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`matButton`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`matTooltip`](AbstractTableRowAction.md#mattooltip-1)

***

### options

> `protected` **options**: `null` \| [`TableActionMethodOptions`](../interfaces/TableActionMethodOptions.md)\<`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`](AbstractTableRowAction.md).[`options`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`overlay`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`positionStrategy`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`refresh`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`renderer`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`snackBar`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`successMessage`](AbstractTableRowAction.md#successmessage)

***

### tableDataSourceDirective

> `protected` `readonly` **tableDataSourceDirective**: [`TableDataSourceDirective`](TableDataSourceDirective.md)

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`](AbstractTableRowAction.md).[`tableDataSourceDirective`](AbstractTableRowAction.md#tabledatasourcedirective-1)

***

### type

> **type**: `string`

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

#### Overrides

[`AbstractTableRowAction`](AbstractTableRowAction.md).[`type`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`unconfirmed`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`vcr`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`eventValue`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`hasConfirmDirective`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`execute`](AbstractTableRowAction.md#execute)

***

### getElementList()

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

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

#### Returns

`Data`[]

#### Overrides

[`AbstractTableRowAction`](AbstractTableRowAction.md).[`getElementList`](AbstractTableRowAction.md#getelementlist)

***

### ngOnDestroy()

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

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

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

#### Returns

`void`

#### Inherited from

[`AbstractTableRowAction`](AbstractTableRowAction.md).[`ngOnDestroy`](AbstractTableRowAction.md#ngondestroy)

***

### ngOnInit()

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

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

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`

#### Inherited from

[`AbstractTableRowAction`](AbstractTableRowAction.md).[`ngOnInit`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`onClick`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`onConfirmed`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`onUnconfirmed`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`openConfirmOverly`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`setButtonDisabled`](AbstractTableRowAction.md#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`](AbstractTableRowAction.md).[`setButtonEnabled`](AbstractTableRowAction.md#setbuttonenabled)
