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

# Class: `abstract` AbstractTableRowAction\<Data\>

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

## Extends

- `ConfirmDirective`

## Extended by

- [`TableRowActionDirective`](../wiki/Class.TableRowActionDirective)
- [`TableRowHeaderActionDirective`](../wiki/Class.TableRowHeaderActionDirective)

## Type Parameters

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

## Implements

- `OnInit`

## Constructors

### new AbstractTableRowAction()

> **new AbstractTableRowAction**\<`Data`\>(`renderer`, `overlay`, `elementRef`, `actionMethodList`, `cdr`, `vcr`, `tableDataSourceDirective`, `snackBar`, `matButton`, `matTooltip`, `injector`): [`AbstractTableRowAction`](../wiki/Class.AbstractTableRowAction)\<`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`](../wiki/TypeAlias.TableRowActionMethod)\<`Data`\> | [`TableRowActionMethod`](../wiki/TypeAlias.TableRowActionMethod)\<`Data`\>[]

##### cdr

`ChangeDetectorRef`

##### vcr

`ViewContainerRef`

##### tableDataSourceDirective

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

##### snackBar

`MatSnackBar`

##### matButton

`null` | `MatIconButton`

##### matTooltip

`null` | `MatTooltip`

##### injector

`Injector`

#### Returns

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

#### Overrides

`ConfirmDirective.constructor`

## 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)

***

### 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)

***

### 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

`ConfirmDirective.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

`ConfirmDirective.elementRef`

***

### 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)

***

### 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)

***

### 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)

***

### 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

`ConfirmDirective.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)

***

### 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)

***

### 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)

***

### 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

`ConfirmDirective.overlay`

***

### 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

`ConfirmDirective.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

***

### 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)

***

### 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)

***

### 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)

***

### 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)

***

### type

> `abstract` **type**: `string`

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

***

### 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

`ConfirmDirective.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)

## 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

`ConfirmDirective.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`

## 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`\>

***

### getElementList()

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

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

#### Returns

`Data`[]

***

### 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

`ConfirmDirective.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`

#### Implementation of

`OnInit.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`\>

#### Overrides

`ConfirmDirective.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`\>

#### Overrides

`ConfirmDirective.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

`ConfirmDirective.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

`ConfirmDirective.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`

***

### 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`
