Merge branch 'release/v1.0.0' into develop
[oweals/peertube.git] / client / src / app / shared / buttons / action-dropdown.component.ts
1 import { Component, Input } from '@angular/core'
2
3 export type DropdownAction<T> = {
4   label?: string
5   handler?: (T) => any
6   linkBuilder?: (T) => (string | number)[]
7   isDisplayed?: (T) => boolean
8 }
9
10 @Component({
11   selector: 'my-action-dropdown',
12   styleUrls: [ './action-dropdown.component.scss' ],
13   templateUrl: './action-dropdown.component.html'
14 })
15
16 export class ActionDropdownComponent<T> {
17   @Input() actions: DropdownAction<T>[] = []
18   @Input() entry: T
19   @Input() placement = 'left'
20   @Input() buttonSize: 'normal' | 'small' = 'normal'
21 }