src/lib/changelog-dialog/changelog-dialog.component.ts
AfterViewInit
| selector | rxap-changelog-dialog |
| imports |
CommonModule
ChangelogComponent
FormsModule
|
| styleUrls | ./changelog-dialog.component.scss |
| templateUrl | ./changelog-dialog.component.html |
Properties |
Methods |
Outputs |
| closeDialog | |
Type : EventEmitter
|
|
| close | ||||||||
close(remember: boolean)
|
||||||||
|
Parameters :
Returns :
void
|
| Public dialog |
Type : ElementRef<HTMLDialogElement>
|
Decorators :
@ViewChild('dialog', {static: true})
|
| Public remember |
Default value : true
|
import { CommonModule } from '@angular/common';
import {
AfterViewInit,
Component,
ElementRef,
EventEmitter,
Output,
ViewChild,
} from '@angular/core';
import { FormsModule } from '@angular/forms';
import { ChangelogComponent } from '../changelog/changelog.component';
@Component({
selector: 'rxap-changelog-dialog',
imports: [CommonModule, ChangelogComponent, FormsModule],
templateUrl: './changelog-dialog.component.html',
styleUrls: ['./changelog-dialog.component.scss']
})
export class ChangelogDialogComponent implements AfterViewInit {
@ViewChild('dialog', { static: true })
public dialog!: ElementRef<HTMLDialogElement>;
@Output()
public closeDialog = new EventEmitter<boolean>();
public remember = true;
ngAfterViewInit() {
this.dialog.nativeElement.showModal();
}
close(remember: boolean = this.remember) {
this.dialog.nativeElement.close();
this.closeDialog.emit(remember);
}
}
<dialog #dialog
class="max-w-6xl rounded overflow-auto drop-shadow-2xl bg-white text-black dark:bg-black dark:text-white flex flex-col gap-3 p-6">
<rxap-changelog></rxap-changelog>
<div class="flex flex-row justify-end gap-6">
<div class="flex flex-row gap-3 items-center">
<input [(ngModel)]="remember" id="rxap-changelog-remember" type="checkbox">
<label for="rxap-changelog-remember" i18n>Don't show again until next new version</label>
</div>
<button (click)="close()" class="px-4 py-2 rounded bg-primary-500" i18n>close</button>
</div>
</dialog>
./changelog-dialog.component.scss
dialog::backdrop {
background: rgba(0, 0, 0, 0.7);
}