import {NgModule,Component,ElementRef,OnDestroy,Input,Output,EventEmitter,Renderer2, ContentChildren,QueryList,ViewChild,NgZone, ChangeDetectorRef,ViewRef,ChangeDetectionStrategy, ViewEncapsulation, AfterContentInit, TemplateRef, ContentChild} from '@angular/core'; import {trigger,style,transition,animate, AnimationEvent, animation, useAnimation} from '@angular/animations'; import {CommonModule} from '@angular/common'; import {DomHandler} from 'mirra-ui/dom'; import {Header,Footer,SharedModule, PrimeTemplate} from 'mirra-ui/api'; import {FocusTrapModule} from 'mirra-ui/focustrap'; import {RippleModule} from 'mirra-ui/ripple'; let idx: number = 0; const showAnimation = animation([ style({ transform: '{{transform}}', opacity: 0 }), animate('{{transition}}') ]); const hideAnimation = animation([ animate('{{transition}}', style({ transform: '{{transform}}', opacity: 0 })) ]); @Component({ selector: 'p-dialog', template: `
{{header}}
`, animations: [ trigger('animation', [ transition('void => visible', [ useAnimation(showAnimation) ]), transition('visible => void', [ useAnimation(hideAnimation) ]) ]) ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styleUrls: ['../dialog/dialog.scss'] }) export class Dialog implements AfterContentInit,OnDestroy { @Input() header: string; @Input() draggable: boolean = true; @Input() resizable: boolean = true; @Input() get positionLeft(): number { return 0; }; set positionLeft(_positionLeft: number) { console.log("positionLeft property is deprecated."); } @Input() get positionTop(): number { return 0; }; set positionTop(_positionTop: number) { console.log("positionTop property is deprecated."); } @Input() contentStyle: any; @Input() contentStyleClass: string; @Input() modal: boolean; @Input() closeOnEscape: boolean = true; @Input() dismissableMask: boolean; @Input() rtl: boolean; @Input() closable: boolean = true; @Input() get responsive(): boolean { return false; }; set responsive(_responsive: boolean) { console.log("Responsive property is deprecated."); } @Input() appendTo: any; @Input() styleClass: string; @Input() maskStyleClass: string; @Input() showHeader: boolean = true; @Input() get breakpoint(): number { return 649; }; set breakpoint(_breakpoint: number) { console.log("Breakpoint property is not utilized and deprecated, use CSS media queries instead."); } @Input() blockScroll: boolean = false; @Input() autoZIndex: boolean = true; @Input() baseZIndex: number = 0; @Input() minX: number = 0; @Input() minY: number = 0; @Input() focusOnShow: boolean = true; @Input() maximizable: boolean; @Input() keepInViewport: boolean = true; @Input() focusTrap: boolean = true; @Input() transitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)'; @Input() closeIcon: string = 'far fa-times'; @Input() minimizeIcon: string = 'far fa-window-minimize'; @Input() maximizeIcon: string = 'far fa-window-maximize'; @ContentChild(Header) headerFacet: QueryList
; @ContentChild(Footer) footerFacet: QueryList