import { Component, EventEmitter, Input, Output } from '@angular/core';
import { FunctionAllOutput } from '~/pages/unit/entities/output/functionAllOutput';

@Component({
    moduleId: module.id,
    selector: 'UnitFunctionPerson',
    templateUrl: './unit-function-person.component.html',
    styleUrls: ['./unit-function-person.component.scss']
})
export class UnitFunctionPersonComponent {
    @Input() set unitFunctions(value: FunctionAllOutput[]) {
        this.unitFunctionsAll = value;
        this.unitFunctionsFiltered = value
            .filter((fc: FunctionAllOutput) => this.allowedFunctionTypes.indexOf(fc.ID_FunctionType) !== -1);
    }

    @Output() tapAll = new EventEmitter<void>();
    @Output() tapPerson = new EventEmitter<number>();
    unitFunctionsAll: FunctionAllOutput[];
    unitFunctionsFiltered: FunctionAllOutput[];
    allowedFunctionTypes = [
        92, // Vedoucí oddílu
        174, // Zástupce oddílového vedoucího
        5, // Vedoucí střediska
        158, // Zástupce vedouího střediska
        168, // Tajemník střediska
        88, // Předseda revizní komise střediska
        122, // Tajemník KRJ
        146, // Tajemník ORJ
        46, // Předseda revizní komise KRJ
        70, // Předseda revizní komise ORJ
        3, // Předseda kraje
        112, // Místopředseda kraje
        51, // Předseda okresu
        136 // Místopředseda okresu
    ];

    onTapAll() {
        this.tapAll.emit();
    }

    onTapPerson(personId: number) {
        this.tapPerson.emit(personId);
    }
}
