Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/soc221b/ngx-dialog

[WIP] Type-safe Angular Dialogs Directive for Angular 16+
https://github.com/soc221b/ngx-dialog

angular material

Last synced: 15 days ago
JSON representation

[WIP] Type-safe Angular Dialogs Directive for Angular 16+

Awesome Lists containing this project

README

        

# NgxMatDialog

Type-safe Angular Material Dialogs Directive for Angular

## Installation

```bash
npm install ngx-mat-dialog
```

## Usage

```typescript
import { MatDialogDirective } from "ngx-mat-dialog";

@Component({
selector: "dialog-overview-example",
templateUrl: "dialog-overview-example.html",
standalone: true,
imports: [MatDialogDirective, DialogOverviewExampleDialog],
})
export class DialogOverviewExample {
name = "";
animal = "";
visible = false;

openDialog() {
this.visible = true;
}
}
```

```html
Open Dialog

```

> **Note:** You can't use shorthand syntax like `*matDialog`, because it doesn't support `@Output()`. As a result, you cannot listen to the visibility changes of the dialog.

> **Note:** Avoid using `MatDialogConfig.data` to pass data to the dialog and retrieve `dialogResult` from the `MatDialogRef.close`. Instead, use `@Input()` and `@Output()` for type safety.

## API

**Selector:** `[matDialog]`

**Exported as:** `matDialog`

### Properties

| Input | Description |
| --------------------------------------------------------- | ----------------------------------------- |
| `@Input() matDialogVisible: boolean;` | Whether the dialog is visible. |
| `@Input() matDialogConfig: MatDialogConfig;` | Configuration for the dialog. |
| `@Output() matDialogVisibleChange: EventEmitter` | Emits when the dialog visibility changes. |
| `dialogRef: null \| MatDialogRef` | Reference to the `MatDialogRef`. |