Show dialog with full screen in Angular Dialog component
27 Apr 20244 minutes to read
You can show the dialog in fullscreen by passing true
as argument to the dialog show
method.
import { NgModule } from '@angular/core'
import { BrowserModule } from '@angular/platform-browser'
import { DialogModule } from '@syncfusion/ej2-angular-popups'
import { Component, ViewChild, OnInit, ElementRef } from '@angular/core';
import { DialogComponent } from '@syncfusion/ej2-angular-popups';
import { EmitType } from '@syncfusion/ej2-base';
@Component({
imports: [
DialogModule
],
standalone: true,
selector: 'app-root',
template: `
<button class="e-control e-btn" style="position: absolute;" id="targetButton" (click)="onOpenDialog($event)">Open Dialog</button>
<div #container class='root-container'></div>
<ejs-dialog id='dialog' #ejDialog header='Dialog' showCloseIcon='true' [visible]='visible' content='This is a dialog with fullscreen display' [target]='targetElement'
width='250px' [buttons]='buttons'>
</ejs-dialog> `
})
export class AppComponent implements OnInit {
@ViewChild('ejDialog') ejDialog: DialogComponent | undefined;
// Create element reference for dialog target element.
@ViewChild('container', { read: ElementRef }) container: ElementRef | undefined;
// The Dialog shows within the target element.
public targetElement?: HTMLElement;
//To get all element of the dialog component after component get initialized.
ngOnInit() {
this.initilaizeTarget();
}
// Initialize the Dialog component's target element.
public initilaizeTarget: EmitType<object> = () => {
this.targetElement = this.container!.nativeElement.parentElement;
}
public visible: Boolean = false;
// Hide the Dialog when click the footer button.
public hideDialog: EmitType<object> = () => {
this.ejDialog!.hide();
}
// Enables the footer buttons
public buttons: Object = [
{
'click': this.hideDialog.bind(this),
// Accessing button component properties by buttonModel property
buttonModel:{
content:'OK',
//Enables the primary button
isPrimary: true
}
},
{
'click': this.hideDialog.bind(this),
buttonModel:{
content:'Cancel'
}
}
];
// Sample level code to handle the button click action
public onOpenDialog = (event: any): void => {
// Call the show method to open the Dialog
this.ejDialog!.show(true);
}
}
import { bootstrapApplication } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import 'zone.js';
bootstrapApplication(AppComponent).catch((err) => console.error(err));