2020-02-18 10:54:35 +09:00

59 lines
1.5 KiB
TypeScript

import {
Component,
OnInit,
Inject,
ElementRef,
AfterViewInit
} from '@angular/core';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { UCAP_NATIVE_SERVICE, NativeService } from '@ucap-webmessenger/native';
export interface MassDetailDialogData {
title: string;
contents: string;
}
// tslint:disable-next-line: no-empty-interface
export interface MassDetailDialogResult {}
@Component({
selector: 'app-layout-messenger-mass-detail',
templateUrl: './mass-detail.component.html',
styleUrls: ['./mass-detail.component.scss']
})
export class MassDetailComponent implements OnInit, AfterViewInit {
constructor(
public dialogRef: MatDialogRef<
MassDetailDialogData,
MassDetailDialogResult
>,
@Inject(MAT_DIALOG_DATA) public data: MassDetailDialogData,
private elementRef: ElementRef,
@Inject(UCAP_NATIVE_SERVICE) private nativeService: NativeService
) {}
ngOnInit() {}
ngAfterViewInit(): void {
if (
!!this.elementRef.nativeElement &&
!!this.elementRef.nativeElement.querySelector('a')
) {
const elements = this.elementRef.nativeElement.querySelectorAll('a');
elements.forEach(element => {
element.addEventListener('click', this.onClickEvent.bind(this));
});
}
}
onClickEvent(event: MouseEvent) {
this.nativeService.openDefaultBrowser(
(event.target as HTMLAnchorElement).text
);
}
onClickConfirm(): void {
this.dialogRef.close();
}
}