UNPKG

@ng-matero/extensions

Version:
1 lines 9.84 kB
{"version":3,"file":"mtxDialog.mjs","sources":["../../../projects/extensions/dialog/dialog-container.ts","../../../projects/extensions/dialog/dialog-container.html","../../../projects/extensions/dialog/dialog.ts","../../../projects/extensions/dialog/dialog-module.ts","../../../projects/extensions/dialog/mtxDialog.ts"],"sourcesContent":["import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { MatButton, MatIconButton } from '@angular/material/button';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatIcon } from '@angular/material/icon';\n\nimport { MtxToObservablePipe } from '@ng-matero/extensions/core';\nimport { MtxDialogData } from './dialog-config';\n\n@Component({\n selector: 'mtx-dialog-container',\n exportAs: 'mtxDialogContainer',\n templateUrl: './dialog-container.html',\n styleUrl: './dialog-container.scss',\n host: {\n class: 'mtx-dialog-container',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AsyncPipe, MatButton, MatIconButton, MatIcon, MtxToObservablePipe],\n})\nexport class MtxDialogContainer {\n dialogRef = inject<MatDialogRef<MtxDialogContainer>>(MatDialogRef);\n data = inject<MtxDialogData>(MAT_DIALOG_DATA);\n\n _onClick(fn: () => void) {\n if (fn) {\n fn.call(this);\n }\n this._onClose();\n }\n\n _onClose() {\n this.dialogRef.close();\n }\n}\n","@if (data.title) {\n <h1 class=\"mtx-dialog-title\">\n <span>{{ data.title | toObservable | async }}</span>\n @if (data.showCloseIcon) {\n <button matIconButton (click)=\"_onClose()\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </h1>\n}\n@if (data.description) {\n <div class=\"mtx-dialog-content\">\n <p>{{ data.description | toObservable | async }}</p>\n </div>\n}\n<div class=\"mtx-dialog-actions\">\n @for (btn of data.buttons; track btn) {\n @if (btn.focusInitial) {\n <button\n cdkFocusInitial\n [matButton]=\"btn.type || 'text'\"\n [color]=\"btn.color\"\n [class]=\"btn.class\"\n (click)=\"_onClick(btn.onClick!)\"\n >\n {{ btn.text | toObservable | async }}\n </button>\n } @else {\n <button\n [matButton]=\"btn.type || 'text'\"\n [color]=\"btn.color\"\n [class]=\"btn.class\"\n (click)=\"_onClick(btn.onClick!)\"\n >\n {{ btn.text | toObservable | async }}\n </button>\n }\n }\n</div>\n","import { Injectable, TemplateRef, inject } from '@angular/core';\nimport { ComponentType } from '@angular/cdk/portal';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\n\nimport { MtxDialogContainer } from './dialog-container';\nimport { MtxDialogData } from './dialog-config';\n\nconst defaults: MtxDialogData = {\n title: '',\n description: '',\n buttons: [\n {\n text: 'Cancel',\n onClick: () => {},\n },\n {\n color: 'warn',\n text: 'OK',\n focusInitial: true,\n onClick: () => {},\n },\n ],\n showCloseIcon: false,\n disableClose: true,\n width: '300px',\n};\n\n@Injectable({ providedIn: 'root' })\nexport class MtxDialog {\n dialog = inject(MatDialog);\n\n originalOpen(\n componentOrTemplateRef: ComponentType<any> | TemplateRef<any> = MtxDialogContainer,\n config: any\n ) {\n return this.dialog.open(componentOrTemplateRef, config);\n }\n\n open(\n config: MtxDialogData,\n componentOrTemplateRef: ComponentType<any> | TemplateRef<any> = MtxDialogContainer\n ) {\n const data = Object.assign({}, defaults, config);\n return this.dialog.open(componentOrTemplateRef, {\n ...data,\n data,\n });\n }\n\n alert(\n title: string | Observable<string>,\n description: string | Observable<string> = '',\n onOk = () => {}\n ) {\n this.open({\n title,\n description,\n buttons: [\n {\n color: 'warn',\n text: 'OK',\n onClick: () => onOk(),\n },\n ],\n });\n }\n\n confirm(\n title: string | Observable<string>,\n description: string | Observable<string> = '',\n onOk = () => {},\n onClose = () => {}\n ) {\n this.open({\n title,\n description,\n buttons: [\n {\n text: 'Cancel',\n onClick: () => onClose(),\n },\n {\n color: 'warn',\n text: 'OK',\n focusInitial: true,\n onClick: () => onOk(),\n },\n ],\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { MtxPipesModule } from '@ng-matero/extensions/core';\nimport { MtxDialogContainer } from './dialog-container';\nimport { MtxDialog } from './dialog';\n\n@NgModule({\n imports: [\n CommonModule,\n MatDialogModule,\n MatButtonModule,\n MatIconModule,\n MtxPipesModule,\n MtxDialogContainer,\n ],\n exports: [MtxDialogContainer],\n providers: [MtxDialog],\n})\nexport class MtxDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}