File

src/lib/component-dialog/component-dialog.component.ts

Metadata

Index

Properties

Properties

Public Readonly component
Default value : this.data.component
Public Readonly data
Default value : inject<ComponentDialogData>(MAT_DIALOG_DATA)
Public Readonly portal
Default value : new ComponentPortal(this.component)
Public Readonly title
Default value : this.data.title
import {
  CdkPortalOutlet,
  ComponentPortal,
} from '@angular/cdk/portal';
import {
  Component,
  inject,
} from '@angular/core';
import { MatButton } from '@angular/material/button';
import {
  MAT_DIALOG_DATA,
  MatDialogActions,
  MatDialogClose,
  MatDialogContent,
  MatDialogTitle,
} from '@angular/material/dialog';
import { SantizationPipe } from '@rxap/pipes/santization';
import { ComponentDialogData } from './types';

@Component({
  selector: 'rxap-component-dialog',
  imports: [
    MatButton,
    MatDialogActions,
    MatDialogContent,
    MatDialogTitle,
    SantizationPipe,
    MatDialogClose,
    CdkPortalOutlet,
  ],
  templateUrl: './component-dialog.component.html',
  styleUrl: './component-dialog.component.scss',
})
export class ComponentDialogComponent {

  public readonly data = inject<ComponentDialogData>(MAT_DIALOG_DATA);

  public readonly component = this.data.component;

  public readonly portal = new ComponentPortal(this.component);

  public readonly title = this.data.title;

}
@if (title) {
  <h2 mat-dialog-title>{{ title }}</h2>
}
<mat-dialog-content>
  <ng-template [cdkPortalOutlet]="portal"></ng-template>
</mat-dialog-content>
<mat-dialog-actions>
  <button [mat-dialog-close]="true" mat-button>
    <ng-container i18n>Close</ng-container>
  </button>
</mat-dialog-actions>
Legend
Html element
Component
Html element with directive

results matching ""

    No results matching ""