/** * Created by stefania on 7/17/17. */ import { Component, OnInit, Input } from '@angular/core'; import { ActivatedRoute, Router, NavigationStart } from "@angular/router"; import { PageHelpContent } from '../models/help-content/page-help-content'; import { HelpContentService } from '../services/help-content/help-content.service'; @Component({ selector: 'help-content', template: `
`, }) export class HelpContentComponent implements OnInit { @Input('position') position: string; contents: any[]; errorMessage: string = null; constructor(private _helpContentService: HelpContentService, private route: ActivatedRoute, private router: Router) { } ngOnInit() { this.errorMessage = null; this.router.events.subscribe(event => { if (event instanceof NavigationStart) { this._helpContentService.getActivePageContent(event["url"]).subscribe( pageContent => this.shiftThroughContent(pageContent), error => this.handleError(error)) } }) } shiftThroughContent(pageContent: PageHelpContent) { this.contents = pageContent.content[this.position]; } isPresent() { return (this.contents && this.contents.length > 0); } handleError(error) { this.errorMessage = 'System error retrieving page content (Server responded: ' + error + ')'; } } @Component({ selector: 'aside-help-content', template: `
`, }) export class AsideHelpContentComponent extends HelpContentComponent { }