import {NgModule,Component,Input,Output,EventEmitter} from '@angular/core'; import {CommonModule} from '@angular/common'; import {MenuItem} from '../common/menuitem'; import {RouterModule} from '@angular/router'; @Component({ selector: 'p-steps', styles: [` .ui-steps .ui-steps-item { width: 25%; } .ui-steps.steps-custom { margin-bottom: 30px; } .ui-steps.steps-custom .ui-steps-item .ui-menuitem-link { height: 10px; padding: 0 1em; } .ui-steps.steps-custom .ui-steps-item .ui-steps-number { background-color: #0081c2; color: #FFFFFF; display: inline-block; width: 36px; border-radius: 50%; margin-top: -14px; margin-bottom: 10px; } .ui-steps.steps-custom .ui-steps-item .ui-steps-title { color: #555555; } `], template: `
` }) export class Steps { @Input() activeIndex: number = 0; @Input() model: MenuItem[]; @Input() readonly: boolean = true; @Input() style: any; @Input() styleClass: string; @Output() activeIndexChange: EventEmitter = new EventEmitter(); itemClick(event: Event, item: MenuItem, i: number) { if(this.readonly || item.disabled) { event.preventDefault(); return; } this.activeIndexChange.emit(i); if(!item.url) { event.preventDefault(); } if(item.command) { item.command({ originalEvent: event, item: item, index: i }); } } } @NgModule({ imports: [CommonModule,RouterModule], exports: [Steps,RouterModule], declarations: [Steps] }) export class StepsModule { }