ohayolibs
Version:
Ohayo is a set of essential modules for ohayojp.
48 lines (42 loc) • 1.51 kB
text/typescript
import { ChangeDetectionStrategy, Component, ContentChildren, Inject, Input, QueryList, ViewEncapsulation } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
import { Router } from '@angular/router';
import { WINDOW } from '@ohayo/theme';
import { GlobalFooterItemComponent } from './global-footer-item.component';
import { GlobalFooterLink } from './global-footer.types';
export class GlobalFooterComponent {
private _links: GlobalFooterLink[] = [];
set links(val: GlobalFooterLink[]) {
val.forEach(i => (i._title = this.dom.bypassSecurityTrustHtml(i.title)));
this._links = val;
}
get links(): GlobalFooterLink[] {
return this._links;
}
items!: QueryList<GlobalFooterItemComponent>;
constructor(private router: Router, private win: Window, private dom: DomSanitizer) { }
to(item: GlobalFooterLink): void {
if (!item.href) {
return;
}
if (item.blankTarget) {
this.win.open(item.href);
return;
}
if (/^https?:\/\//.test(item.href)) {
this.win.location.href = item.href;
} else {
this.router.navigateByUrl(item.href);
}
}
}