import {
	Component,
	EventEmitter,
	Input,
	Output
} from '@angular/core';

// Интерфейсы
import { IBreadCrumb } from '../../interfaces';

// Хлебные крошки
@Component({
	selector: 'crm-bread-crumbs',
	templateUrl: './crm-bread-crumbs.component.html',
	styleUrls: ['./crm-bread-crumbs.component.scss']
})
export class CrmBreadCrumbsComponent {

	// Крошки
	@Input() public crumbs: IBreadCrumb[];

	// Выбор
	@Output() public select: EventEmitter<IBreadCrumb> = new EventEmitter<IBreadCrumb>();

	// Текущая крошка
	public get current(): IBreadCrumb {
		return this.crumbs[this.crumbs.length - 1];
	}

	// Обработчик выбора крошки
	public onSelect(crumb: IBreadCrumb): void {
		const index = this.crumbs.indexOf(crumb);
		if (index !== -1) {

			// Удаляем элемент и все идущие за ним
			this.crumbs.splice(index, this.crumbs.length - index);

			// Добавляем элемент заново
			this.select.emit(crumb);
		}
	}
}
