# Class TableRowActionDirective<Data>

#### Type Parameters

- Data extends Record<string, any>

#### Hierarchy (View Summary)

- AbstractTableRowAction<Data>
  - TableRowActionDirective

- Defined in packages/angular/material/table-system/src/lib/table-row-actions/table-row-action.directive.ts:13

#####
Index

### Constructors

constructor

### Properties

cdr
color?
confirmed
element
elementRef
errorMessage?
injector
isHeader
isOverlyOpen
matButton
matTooltip
options
overlay
positionStrategy?
refresh?
renderer
snackBar
successMessage?
tableDataSourceDirective
type
unconfirmed
vcr

### Accessors

eventValue
hasConfirmDirective

### Methods

execute
getElementList
ngOnDestroy
ngOnInit
onClick
onConfirmed
onUnconfirmed
openConfirmOverly
setButtonDisabled
setButtonEnabled

##
Constructors

### constructor

- new TableRowActionDirective<Data extends Record<string, any>>(
  renderer: Renderer2,
  overlay: Overlay,
  elementRef: ElementRef,
  actionMethodList: TableRowActionMethod<Data> | TableRowActionMethod<Data>[],
  cdr: ChangeDetectorRef,
  vcr: ViewContainerRef,
  tableDataSourceDirective: TableDataSourceDirective,
  snackBar: MatSnackBar,
  matButton: null | MatIconButton,
  matTooltip: null | MatTooltip,
  injector: Injector,
  ): TableRowActionDirective<Data>

  #### Type Parameters

  - Data extends Record<string, any>

  #### Parameters

  - renderer: Renderer2
  - overlay: Overlay
  - elementRef: ElementRef
  - actionMethodList: TableRowActionMethod<Data> | TableRowActionMethod<Data>[]
  - cdr: ChangeDetectorRef
  - vcr: ViewContainerRef
  - tableDataSourceDirective: TableDataSourceDirective
  - snackBar: MatSnackBar
  - matButton: null | MatIconButton
  - matTooltip: null | MatTooltip
  - injector: Injector

  #### Returns TableRowActionDirective<Data>

  Inherited from AbstractTableRowAction.constructor

  - Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:70

##
Properties

### `Protected` `Readonly` cdr

cdr: ChangeDetectorRef

Inherited from AbstractTableRowAction.cdr

- Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:82

### `Optional` color

color?: ThemePalette

Inherited from AbstractTableRowAction.color

- Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:59

### confirmed

confirmed: EventEmitter<any> = ...

Inherited from AbstractTableRowAction.confirmed

- Defined in packages/angular/components/src/lib/confirm/confirm.directive.ts:39

### element

element: Data

- Defined in packages/angular/material/table-system/src/lib/table-row-actions/table-row-action.directive.ts:23

### `Protected` `Readonly` elementRef

elementRef: ElementRef

Inherited from AbstractTableRowAction.elementRef

- Defined in packages/angular/components/src/lib/confirm/confirm.directive.ts:58

### `Optional` errorMessage

errorMessage?: string

Inherited from AbstractTableRowAction.errorMessage

- Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:49

### `Protected` `Readonly` injector

injector: Injector

Inherited from AbstractTableRowAction.injector

- Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:96

### `Readonly` isHeader

isHeader: boolean = false

Inherited from AbstractTableRowAction.isHeader

- Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:61

### `Protected` isOverlyOpen

isOverlyOpen: boolean = false

Inherited from AbstractTableRowAction.isOverlyOpen

- Defined in packages/angular/components/src/lib/confirm/confirm.directive.ts:52

### `Protected` matButton

matButton: null | MatIconButton

Inherited from AbstractTableRowAction.matButton

- Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:91

### `Protected` matTooltip

matTooltip: null | MatTooltip

Inherited from AbstractTableRowAction.matTooltip

- Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:94

### `Protected` options

options: null | TableActionMethodOptions<any> = null

Inherited from AbstractTableRowAction.options

- Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:63

### `Protected` `Readonly` overlay

overlay: Overlay

Inherited from AbstractTableRowAction.overlay

- Defined in packages/angular/components/src/lib/confirm/confirm.directive.ts:56

### `Protected` `Optional` positionStrategy

positionStrategy?: PositionStrategy

Inherited from AbstractTableRowAction.positionStrategy

- Defined in packages/angular/components/src/lib/confirm/confirm.directive.ts:50

### `Optional` refresh

refresh?: boolean

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

Inherited from AbstractTableRowAction.refresh

- Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:56

### `Protected` `Readonly` renderer

renderer: Renderer2

Inherited from AbstractTableRowAction.renderer

- Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:72

### `Protected` `Readonly` snackBar

snackBar: MatSnackBar

Inherited from AbstractTableRowAction.snackBar

- Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:88

### `Optional` successMessage

successMessage?: string

Inherited from AbstractTableRowAction.successMessage

- Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:51

### `Protected` `Readonly` tableDataSourceDirective

tableDataSourceDirective: TableDataSourceDirective

Inherited from AbstractTableRowAction.tableDataSourceDirective

- Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:86

### type

type: string

Overrides AbstractTableRowAction.type

- Defined in packages/angular/material/table-system/src/lib/table-row-actions/table-row-action.directive.ts:20

### unconfirmed

unconfirmed: EventEmitter<any> = ...

Inherited from AbstractTableRowAction.unconfirmed

- Defined in packages/angular/components/src/lib/confirm/confirm.directive.ts:42

### `Protected` `Readonly` vcr

vcr: ViewContainerRef

Inherited from AbstractTableRowAction.vcr

- Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:84

##
Accessors

### eventValue

- set eventValue(value: "" | T): void

  #### Parameters

  - value: "" | T

  #### Returns void

  Inherited from AbstractTableRowAction.eventValue

  - Defined in packages/angular/components/src/lib/confirm/confirm.directive.ts:32

### hasConfirmDirective

- set hasConfirmDirective(value: any): void

  #### Parameters

  - value: any

  #### Returns void

  Inherited from AbstractTableRowAction.hasConfirmDirective

  - Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:106

##
Methods

### execute

- execute(): Promise<void>

  #### Returns Promise<void>

  Inherited from AbstractTableRowAction.execute

  - Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:155

### `Protected` getElementList

- getElementList(): Data[]

  #### Returns Data[]

  Overrides AbstractTableRowAction.getElementList

  - Defined in packages/angular/material/table-system/src/lib/table-row-actions/table-row-action.directive.ts:26

### ngOnDestroy

- ngOnDestroy(): void

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

  #### Returns void

  Inherited from AbstractTableRowAction.ngOnDestroy

  - Defined in packages/angular/components/src/lib/confirm/confirm.directive.ts:79

### ngOnInit

- ngOnInit(): void

  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.ngOnInit

  - Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:111

### onClick

- onClick($event: Event): Promise<void>

  #### Parameters

  - $event: Event

  #### Returns Promise<void>

  Inherited from AbstractTableRowAction.onClick

  - Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:141

### onConfirmed

- onConfirmed(): Promise<void>

  #### Returns Promise<void>

  Inherited from AbstractTableRowAction.onConfirmed

  - Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:136

### `Protected` onUnconfirmed

- onUnconfirmed(eventValue?: any): void

  #### Parameters

  - `Optional` eventValue: any

  #### Returns void

  Inherited from AbstractTableRowAction.onUnconfirmed

  - Defined in packages/angular/components/src/lib/confirm/confirm.directive.ts:142

### `Protected` openConfirmOverly

- openConfirmOverly(): void

  #### Returns void

  Inherited from AbstractTableRowAction.openConfirmOverly

  - Defined in packages/angular/components/src/lib/confirm/confirm.directive.ts:84

### `Protected` setButtonDisabled

- setButtonDisabled(): void
  `Protected`

  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.setButtonDisabled

  - Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:197

### `Protected` setButtonEnabled

- setButtonEnabled(): void
  `Protected`

  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.setButtonEnabled

  - Defined in packages/angular/material/table-system/src/lib/table-row-actions/abstract-table-row-action.ts:209