Newer
Older
import {
Component, EventEmitter, Input, Output
} from '@angular/core';
@Component({
selector: 'aspect-text-marking-button',
template: `
<button type="button"
class="marking-button"
[style.border-color]="selected ? 'black' : color"
mat-mini-fab
[style.background-color]="color"
(pointerdown)="emitSelectedChanged()">
<mat-icon *ngIf="mode === 'mark'"
class="marking-icon">border_color
</mat-icon>
<mat-icon *ngIf="mode === 'delete'"
class="marking-icon"
svgIcon="rubber-black">
</mat-icon>
</button>`,
styles: [
'.marking-button {color: #333; margin-left: 5px; margin-top: 2px; border: 2px solid;}',
'.marking-icon {margin-top: -4px}'
]
export class TextMarkingButtonComponent {
@Input() selected!: boolean;
@Input() color!: string;
@Input() mode!: 'mark' | 'delete';
@Input() element!: HTMLElement;
@Output() selectedChanged = new EventEmitter<{
selected: boolean,
mode: 'mark' | 'delete',
color: string,
}>();
this.selected = !this.selected;
this.selectedChanged.emit({ selected: this.selected, mode: this.mode, color: this.color });
}