All files / components/status-icon status-icon.component.ts

100% Statements 12/12
100% Branches 0/0
100% Functions 3/3
100% Lines 8/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 221x 1x 1x                       1x 6x   7x 7x 7x    
import { IconComponent } from '../icon/icon.component';
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
import { APPROVAL_CLASS, APPROVAL_ICONS, APPROVAL_TITLES, ApprovalStatus } from '@drevo-web/shared';
 
@Component({
    selector: 'ui-status-icon',
    imports: [IconComponent],
    templateUrl: './status-icon.component.html',
    styleUrl: './status-icon.component.scss',
    changeDetection: ChangeDetectionStrategy.OnPush,
    host: {
        '[class]': 'approvalClass()',
    },
})
export class StatusIconComponent {
    readonly status = input.required<ApprovalStatus>();
 
    readonly approvalClass = computed(() => APPROVAL_CLASS[this.status()]);
    readonly icon = computed(() => APPROVAL_ICONS[this.approvalClass()]);
    readonly tooltip = computed(() => APPROVAL_TITLES[this.approvalClass()]);
}