# @webacad/material-confirm-dialog

> Angular service for creating confirm dialogs in @angular/material

Latest version **0.0.10** (published 2018-03-26) · MIT license · 0 weekly downloads

## Install

```sh
npm install @webacad/material-confirm-dialog
pnpm add @webacad/material-confirm-dialog
yarn add @webacad/material-confirm-dialog
bun add @webacad/material-confirm-dialog
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.10 |
| Published | 2018-03-26 |
| First published | 2018-03-24 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 45.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | David Kudera |
| Maintainers | davidkcz |
| Keywords | angular, material, confirm, dialog |

## Links

- npm: https://www.npmjs.com/package/@webacad/material-confirm-dialog
- Repository: https://github.com/Web-ACAD/js-material-confirm-dialog
- Homepage: https://github.com/Web-ACAD/js-material-confirm-dialog#readme
- Issues: https://github.com/Web-ACAD/js-material-confirm-dialog/issues
- npm.io page: https://npm.io/package/@webacad/material-confirm-dialog

## Dependencies (1)

- [tslib](https://npm.io/package/tslib.md) ^1.7.1

## Alternatives

- [react-native-root-siblings](https://npm.io/package/react-native-root-siblings.md) — 102.9K weekly downloads
- [post-robot](https://npm.io/package/post-robot.md) — 93.7K weekly downloads
- [@praxisui/dialog](https://npm.io/package/@praxisui/dialog.md) — 2.0K weekly downloads
- [easy-toggle-state](https://npm.io/package/easy-toggle-state.md) — 350 weekly downloads
- [ngx-lightbox-evp](https://npm.io/package/ngx-lightbox-evp.md) — 19 weekly downloads

## Recent versions

- 0.0.10 (latest) — 2018-03-26
- 0.0.9 — 2018-03-26
- 0.0.8 — 2018-03-24
- 0.0.7 — 2018-03-24
- 0.0.6 — 2018-03-24
- 0.0.5 — 2018-03-24
- 0.0.3 — 2018-03-24
- 0.0.2 — 2018-03-24
- 0.0.1 — 2018-03-24

## README

[![NPM version](https://img.shields.io/npm/v/@webacad/material-confirm-dialog.svg?style=flat-square)](https://www.npmjs.com/package/@webacad/material-confirm-dialog)
[![Build Status](https://img.shields.io/travis/Web-ACAD/js-material-confirm-dialog.svg?style=flat-square)](https://travis-ci.org/Web-ACAD/js-material-confirm-dialog)

# WebACAD/MaterialConfirmDialog

Angular service for creating confirm dialogs in @angular/material

## Installation

```bash
$ npm install --save @webacad/material-confirm-dialog
```

or with yarn

```bash
$ yarn add @webacad/material-confirm-dialog
```

## Register module

```typescript
import {NgModule} from '@angular/core';
import {WaMatConfirmDialogModule} from '@webacad/material-confirm-dialog';

@NgModule({
    imports: [
        WaMatConfirmDialogModule,
    ],
})
export class AppModule {}
```

## Basic usage

```typescript
import {Component} from '@angular/core';
import {WaMatConfirmDialog} from '@webacad/material-confirm-dialog';

@Component({...})
export class MyComponent
{
    
    constructor(
        private confirmDialog: WaMatConfirmDialog,
    ) {}
    
    public openConfirmDialog(): void
    {
        const cd = this.confirmDialog.open('Are you sure?');
        
        cd.afterClosed().subscribe((result: boolean) => {
            if (result) {
                alert('Clicked on "yes"');
            } else {
                alert('Clicked on "no"');
            }
        });
    }
    
}
```

## Customize dialog

```typescript
confirmDialog.open('Are you sure?', {
    title: 'Important decision',
    trueButtonTitle: 'yes, I\'m sure',
    falseButtonTitle: 'No, I don\'t want to continue',
});
```

## Change default titles for buttons

Default titles for buttons are "Yes" and "No". You can override them either for each confirm dialog or globally.

First create service provider:

```typescript
import {Injectable} from '@angular/core';
import {WaMatConfirmDialogDefaults} from '@webacad/material-confirm-dialog';

@Injectable()
export class UnsureConfirmDialogDefaults implements WaMatConfirmDialogDefaults
{
    
    
    public trueButtonTitle: string = 'Maybe yes';
    
    public falseButtonTitle: string = 'Maybe no';
    
}
```

Then register it with `WaMatConfirmDialogModule`:

```typescript
import {NgModule} from '@angular/core';
import {WaMatConfirmDialogModule, WA_MAT_CONFIRM_DIALOG_DEFAULTS} from '@webacad/material-confirm-dialog';

@NgModule({
    imports: [
        WaMatConfirmDialogModule,
    ],
    providers: [
        {
            provide: WA_MAT_CONFIRM_DIALOG_DEFAULTS,
            useClass: UnsureConfirmDialogDefaults,
        },
    ],
})
export class AppModule {}
```

---
_Source: https://npm.io/package/@webacad/material-confirm-dialog · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
