import { Component, OnInit, Input } from '@angular/core'; import { Breadcrumb } from 'src/app/shared/resources/utility_models/breadcrumb'; import { Router } from '@angular/router'; @Component({ selector: 'app-breadcrumb', templateUrl: './breadcrumb.component.html', styleUrls: ['./breadcrumb.component.css'] }) export class BreadcrumbComponent implements OnInit { Crumbs: Array = []; @Input() OverrideThisPage: string; constructor(private _router: Router) { } ngOnInit() { switch (this._router.url) { case '/': this.Home(); break; case '/404': this.NotFound(); break; case '/whyusetournee': this.WhyUseTournee(); break; case '/pricing': this.Pricing(); break; case '/profile': this.Profile(); break; case '/blog': this.Blog(); break; case '/tournament/organiser': this.TournamentOrganiser(); break; case '/tournament/organiser/builder': this.TournamentBuilder(); break; case '/tournament/organiser/import': this.TournamentImport(); break; case '/tournament/organiser/events': this.TournamentEvents(); break; case '/tournament/attendee': this.TournamentAttendee(); break; case '/tournament/attendee/mine': this.AttendeeTournaments(); break; case '/tournament/attendee/lists': this.AttendeeLists(); break; case '/systemadmin': this.SystemAdmin(); break; case '/systemadmin/lookups': this.SystemAdminLookups(); break; case '/systemadmin/prices': this.SystemAdminPrices(); break; case '/systemadmin/images': this.SystemAdminImages(); break; case '/systemadmin/users': this.SystemAdminUsers(); break; case '/systemadmin/accesscontrol': this.SystemAdminAccessControl(); break; case '/systemadmin/logs': this.SystemAdminLogs(); break; case '/systemadmin/restrictedterms': this.SystemAdminRestrictedTerms(); break; case '/systemadmin/discounts': this.SystemAdminDiscounts(); break; case '/systemadmin/tourneepaypal': this.SystemAdminTourneePaypal(); break; case '/systemadmin/blog': this.SystemAdminBlog(); break; default: if (this._router.url.startsWith('/tournament/organiser/manager')) { if (this._router.url.endsWith('/lists')) { this.TournamentManagerLists(); } else if(this._router.url.indexOf('/review') != -1) { this.TournamentManagerListsReview() } else if (this._router.url.endsWith('/attendees')) { this.TournamentManagerAttendees(); } else { this.TournamentManager(); } } else if (this._router.url.startsWith('/tournament/attendee')) { if (this._router.url.endsWith('mine')) { this.ViewTournamentTasks(); } } else if (this._router.url.startsWith('/ticket/')) { this.ViewTicket(); } else if (this._router.url.startsWith('/blog')) { this.BlogEntry(); } else if (this._router.url.startsWith('/checkout')) { this.Checkout(); } else { console.log(this._router.url); } break; } } getLinks() { let found = this.Crumbs.filter((c) => { return c.link != null; }); return found; } getCurrent() { let found = this.Crumbs.find((c) => { return c.link == null; }); return found; } Home() { this.Crumbs = [ new Breadcrumb('home') ]; } NotFound() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('not found') ]; } Profile() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('profile') ]; } WhyUseTournee() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('why use tourn.ee?') ]; } Pricing() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('pricing') ]; } Blog() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('blog') ]; } BlogEntry() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('blog', '/blog'), new Breadcrumb('blog - ' + this.OverrideThisPage) ]; } TournamentOrganiser() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('tournament organiser') ] } TournamentBuilder() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('tournament organiser', "/tournament/organiser"), new Breadcrumb('tournament builder') ] } TournamentImport() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('tournament organiser', "/tournament/organiser"), new Breadcrumb('tournament import') ] } TournamentManager() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('tournament organiser', "/tournament/organiser"), new Breadcrumb('tournament manager') ] } TournamentEvents() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('tournament organiser', "/tournament/organiser"), new Breadcrumb('tournament events') ] } TournamentManagerAttendees() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('tournament organiser', "/tournament/organiser/"), new Breadcrumb('tournament manager', "/tournament/organiser/manager/" + this.OverrideThisPage), new Breadcrumb('attendees') ] } TournamentManagerLists() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('tournament organiser', "/tournament/organiser/"), new Breadcrumb('tournament manager', "/tournament/organiser/manager/" + this.OverrideThisPage), new Breadcrumb('lists') ] } TournamentManagerListsReview() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('tournament organiser', "/tournament/organiser/"), new Breadcrumb('tournament manager', "/tournament/organiser/manager/" + this.OverrideThisPage), new Breadcrumb('lists', "/tournament/organiser/manager/" + this.OverrideThisPage + "/lists"), new Breadcrumb('list review') ] } TournamentAttendee() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('tournament attendee') ] } AttendeeTournaments() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('tournament attendee', '/tournament/attendee'), new Breadcrumb('my tournaments') ] } AttendeeLists() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('tournament attendee', '/tournament/attendee'), new Breadcrumb('my lists') ] } ViewTournamentTasks() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('tournament attendee', "/tournament/attendee"), new Breadcrumb('my tournaments', "/tournament/attendee/mine"), new Breadcrumb(this.OverrideThisPage) ]; } ViewTicket() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb(this.OverrideThisPage) ]; } Checkout() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb(this.OverrideThisPage) ]; } SystemAdmin() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('system admin') ] } SystemAdminLookups() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('system admin', "/systemadmin"), new Breadcrumb('lookups') ] } SystemAdminPrices() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('system admin', "/systemadmin"), new Breadcrumb('tournament prices') ] } SystemAdminImages() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('system admin', "/systemadmin"), new Breadcrumb('images') ] } SystemAdminUsers() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('system admin', "/systemadmin"), new Breadcrumb('users') ] } SystemAdminAccessControl() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('system admin', "/systemadmin"), new Breadcrumb('access control') ] } SystemAdminLogs() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('system admin', "/systemadmin"), new Breadcrumb('logs') ] } SystemAdminRestrictedTerms() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('system admin', "/systemadmin"), new Breadcrumb('restricted terms') ] } SystemAdminDiscounts() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('system admin', "/systemadmin"), new Breadcrumb('discounts') ] } SystemAdminTourneePaypal() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('system admin', "/systemadmin"), new Breadcrumb('tournee paypal') ] } SystemAdminBlog() { this.Crumbs = [ new Breadcrumb('home', "/"), new Breadcrumb('system admin', "/systemadmin"), new Breadcrumb('blog') ] } }