Open In App

Angular PrimeNG ConfirmDialog Customization

Angular PrimeNG is a framework used with angular to create components with great styling this framework is very easy to use and is used to make responsive websites. In this article, we will know how to use the ConfirmDialog Customization component in Angular PrimeNG. 

The ConfirmDialog Component is used to make a dialog box containing confirm button to confirm the element.



Angular PrimeNG ConfirmDialog Customization Properties:

Creating Angular Application And Installing Module:



Step 1: Create an Angular application using the following command.

ng new appname

Step 2: After creating your project folder i.e. appname, move to it using the following command.

cd appname

Step 3: Install PrimeNG in your given directory.

npm install primeng --save
npm install primeicons --save

Project Structure: It will look like the following.

 

Steps to run the application: Run the below command to see the output

npm run

Example 1: Below is the example code that illustrates the use of Angular PrimeNG ConfirmDialog Customization.

app.component.html:




<h1 style="color: green">GeeksforGeeks</h1>
<h5>Angular PrimeNG ConfirmDialog Customisation.</h5>
 
<p-confirmDialog #cd [style]="{width: '60vw'}">
    <ng-template pTemplate="header">
        <h3>GeeksforGeeks</h3>
    </ng-template>
 
    <ng-template pTemplate="footer">
        <button type="button" pButton
            icon="pi pi-times" label="reject me!"
            (click)="cd.reject()">
        </button>
       
        <button type="button" pButton
            icon="pi pi-check" label="confirm me!"
            (click)="cd.accept()">
        </button>
    </ng-template>
</p-confirmDialog>
 
<p-button (click)="gfg()"
     icon="pi pi-code"
     label="Custom Confirmation">
</p-button>
 
<p-messages [value]="msgs"></p-messages>

app.component.ts:




import { Component } from '@angular/core';
import {ConfirmationService} from 'primeng/api';
import {Message} from 'primeng/api';
import { PrimeNGConfig } from 'primeng/api';
 
@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    providers: [ConfirmationService]
})
 
export class AppComponent {  
    msgs: Message[] = [];
 
    constructor(private confirmationService: ConfirmationService,
        private primengConfig: PrimeNGConfig
    ){}
 
    gfg() {
        this.confirmationService.confirm({
            message: 'Hey Geek, Are you sure?',
            icon: 'pi pi-exclamation-triangle',
            accept: () => {
                this.msgs = [{
                    severity:'success',
                    summary:'Accepted!',
                    detail:'Geeks has accepted.'
                }];
            },
            reject: () => {
                this.msgs = [{
                    severity:'error',
                    summary:'Refused',
                    detail:'Geeks has Refused.'
                }];
            }
        });
    }
}

app.module.ts:




import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import {RouterModule} from '@angular/router';
import { BrowserAnimationsModule }
    from '@angular/platform-browser/animations';
import { AppComponent }   from './app.component';
import { ButtonModule } from 'primeng/button';
import { MessagesModule } from 'primeng/messages';
import { ConfirmDialogModule } from 'primeng/confirmdialog';
 
@NgModule({
    imports: [
        BrowserModule,
        BrowserAnimationsModule,
        ConfirmDialogModule,
        ButtonModule,
        MessagesModule,
    ],
    declarations: [ AppComponent ],
    bootstrap:    [ AppComponent ]
})
 
export class AppModule { }

Output:

 

Example 2: Below is another example code that illustrates the use of Angular PrimeNG ConfirmDialog Customization using the position.

app.component.html:




<h1 style="color: green">GeeksforGeeks</h1>
<h5>Angular PrimeNG ConfirmDialog Customisation.</h5>
 
<p-button
    (click)="decidePos('left')"
    label="Custom Left">
</p-button>
  
<p-button
    (click)="decidePos('right')"
    label="Custom Right">
</p-button>
 
<p-confirmDialog #gfg1
    [style]="{width: '60vw'}" key='dialogPos'
    [position]="pos">
    <ng-template pTemplate="header">
        <h3>GeeksforGeeks!</h3>
    </ng-template>
 
    <ng-template pTemplate="footer">
        <button type="button" pButton
            icon="pi pi-times" label="reject me!"
            (click)="gfg1.reject()">
        </button>
        <button type="button" pButton
            icon="pi pi-check" label="confirm me!"
            (click)="gfg1.accept()">
        </button>
    </ng-template>
</p-confirmDialog>
 
<p-messages [value]="ToastMessages"></p-messages>

app.component.ts:




import { Component } from '@angular/core';
import { ConfirmationService } from 'primeng/api';
import { Message } from 'primeng/api';
 
@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    styles: [],
    providers: [ConfirmationService],
})
 
export class AppComponent {
    ToastMessages: Message[];
    pos: string;
 
    constructor(
        private confirmationService: ConfirmationService
    ) {}
 
    decidePos(pos: string) {
        this.pos = pos;
 
        this.confirmationService.confirm({
        message: 'Do you want to buy this course ?',
        header: 'GeeksforGeeks',
        icon: 'pi pi-info-circle',
        accept: () => {
            this.ToastMessages = [
            {
                severity: 'success',
                summary: 'Confirmed!',
                detail: 'You have bought this course.',
            },
            ];
        },
         
        reject: () => {
            this.ToastMessages = [
            {
                severity: 'error',
                summary: 'Failure',
                detail: 'OOPs! Try buying course next time.',
            },
            ];
        },
            key: 'dialogPos',
        });
    }
}

app.module.ts:




import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import {RouterModule} from '@angular/router';
import { BrowserAnimationsModule }
    from '@angular/platform-browser/animations';
import { AppComponent }   from './app.component';
import { ButtonModule } from 'primeng/button';
import { MessagesModule } from 'primeng/messages';
import { ConfirmDialogModule } from 'primeng/confirmdialog';
 
@NgModule({
    imports: [
        BrowserModule,
        BrowserAnimationsModule,
        ConfirmDialogModule,
        ButtonModule,
        MessagesModule,
    ],
    declarations: [ AppComponent ],
    bootstrap:    [ AppComponent ]
})
 
export class AppModule { }

Output:

 

Reference: https://primefaces.org/primeng/confirmdialog


Article Tags :