1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-05 19:42:24 +02:00
Peertube/client/src/app/shared/buttons/action-dropdown.component.ts
BO41 244b4ae397 NoImplicitAny flag true (#1157)
this enables the `noImplicitAny` flag in the Typescript compiler

> When the noImplicitAny flag is true and the TypeScript compiler cannot infer the type, it still generates the JavaScript files, but it also reports an error. Many seasoned developers prefer this stricter setting because type checking catches more unintentional errors at compile time.

closes: #1131
replaces #1137
2018-10-18 09:08:59 +02:00

23 lines
639 B
TypeScript

import { Component, Input } from '@angular/core'
export type DropdownAction<T> = {
label?: string
handler?: (T: any) => any
linkBuilder?: (T: any) => (string | number)[]
isDisplayed?: (T: any) => boolean
}
@Component({
selector: 'my-action-dropdown',
styleUrls: [ './action-dropdown.component.scss' ],
templateUrl: './action-dropdown.component.html'
})
export class ActionDropdownComponent<T> {
@Input() actions: DropdownAction<T>[] = []
@Input() entry: T
@Input() placement = 'bottom-left'
@Input() buttonSize: 'normal' | 'small' = 'normal'
@Input() label: string
@Input() theme: 'orange' | 'grey' = 'grey'
}