UNPKG

24 kBSource Map (JSON)View Raw
1{"version":3,"sources":["ng://primeng/confirmdialog/confirmdialog.ts"],"names":["showAnimation","animation","style","transform","opacity","animate","hideAnimation","ConfirmDialog","el","renderer","confirmationService","zone","cd","_this","this","acceptIcon","acceptLabel","acceptVisible","rejectIcon","rejectLabel","rejectVisible","closeOnEscape","blockScroll","closable","autoZIndex","baseZIndex","transitionOptions","focusTrap","defaultFocus","_position","transformOptions","subscription","requireConfirmation$","subscribe","confirmation","key","confirmationOptions","message","icon","header","acceptButtonStyleClass","rejectButtonStyleClass","accept","acceptEvent","EventEmitter","reject","rejectEvent","visible","hide","Object","defineProperty","prototype","_visible","value","maskVisible","option","name","source","hasOwnProperty","onAnimationStart","event","toState","container","element","wrapper","parentElement","contentContainer","DomHandler","findSingle","getElementToFocus","focus","appendContainer","moveOnTop","bindGlobalListeners","enableModality","onAnimationEnd","onOverlayHide","appendTo","document","body","appendChild","restoreAppend","nativeElement","addClass","disableModality","removeClass","detectChanges","close","emit","preventDefault","zIndex","String","zindex","getMaskClass","maskClass","ui-widget-overlay ui-dialog-mask","ui-dialog-visible","ui-dialog-mask-scrollblocker","getPositionClass","toString","pos","find","item","position","documentEscapeListener","listen","which","parseInt","focusableElements","getFocusableElements","length","activeElement","focusedIndex","indexOf","shiftKey","unbindGlobalListeners","ngOnDestroy","unsubscribe","ElementRef","Renderer2","ConfirmationService","NgZone","ChangeDetectorRef","__decorate","Input","ContentChild","Footer","ViewChild","Component","selector","template","animations","trigger","transition","useAnimation","changeDetection","ChangeDetectionStrategy","Default","ConfirmDialogModule","NgModule","imports","CommonModule","ButtonModule","exports","SharedModule","declarations"],"mappings":"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","sourcesContent":["import {NgModule,Component,ElementRef,OnDestroy,Input,EventEmitter,Renderer2,ContentChild,NgZone,ViewChild,ChangeDetectorRef,ChangeDetectionStrategy} from '@angular/core';\nimport {trigger,style,transition,animate,AnimationEvent, useAnimation, animation} from '@angular/animations';\nimport {CommonModule} from '@angular/common';\nimport {DomHandler} from 'primeng/dom';\nimport {Footer,SharedModule} from 'primeng/api';\nimport {ButtonModule} from 'primeng/button';\nimport {Confirmation} from 'primeng/api';\nimport {ConfirmationService} from 'primeng/api';\nimport {Subscription} from 'rxjs';\n\nconst showAnimation = animation([\n style({ transform: '{{transform}}', opacity: 0 }),\n animate('{{transition}}', style({ transform: 'none', opacity: 1 }))\n]);\n\nconst hideAnimation = animation([\n animate('{{transition}}', style({ transform: '{{transform}}', opacity: 0 }))\n]);\n\n@Component({\n selector: 'p-confirmDialog',\n template: `\n <div [class]=\"maskStyleClass\" [ngClass]=\"getMaskClass()\" *ngIf=\"maskVisible\">\n <div [ngClass]=\"{'ui-dialog ui-confirmdialog ui-widget ui-widget-content ui-corner-all ui-shadow':true,'ui-dialog-rtl':rtl}\" [ngStyle]=\"style\" [class]=\"styleClass\" (mousedown)=\"moveOnTop()\"\n [@animation]=\"{value: 'visible', params: {transform: transformOptions, transition: transitionOptions}}\" (@animation.start)=\"onAnimationStart($event)\" (@animation.done)=\"onAnimationEnd($event)\" *ngIf=\"visible\">\n <div class=\"ui-dialog-titlebar ui-widget-header ui-helper-clearfix ui-corner-top\">\n <span class=\"ui-dialog-title\" *ngIf=\"option('header')\">{{option('header')}}</span>\n <div class=\"ui-dialog-titlebar-icons\">\n <a *ngIf=\"closable\" [ngClass]=\"{'ui-dialog-titlebar-icon ui-dialog-titlebar-close ui-corner-all':true}\" tabindex=\"0\" role=\"button\" (click)=\"close($event)\" (keydown.enter)=\"close($event)\">\n <span class=\"pi pi-times\"></span>\n </a>\n </div>\n </div>\n <div #content class=\"ui-dialog-content ui-widget-content\">\n <i [ngClass]=\"'ui-confirmdialog-icon'\" [class]=\"option('icon')\" *ngIf=\"option('icon')\"></i>\n <span class=\"ui-confirmdialog-message\" [innerHTML]=\"option('message')\"></span>\n </div>\n <div class=\"ui-dialog-footer ui-widget-content\" *ngIf=\"footer\">\n <ng-content select=\"p-footer\"></ng-content>\n </div>\n <div class=\"ui-dialog-footer ui-widget-content\" *ngIf=\"!footer\">\n <button type=\"button\" pButton [icon]=\"option('acceptIcon')\" [label]=\"option('acceptLabel')\" (click)=\"accept()\" [ngClass]=\"'ui-confirmdialog-acceptbutton'\" [class]=\"option('acceptButtonStyleClass')\" *ngIf=\"option('acceptVisible')\"></button>\n <button type=\"button\" pButton [icon]=\"option('rejectIcon')\" [label]=\"option('rejectLabel')\" (click)=\"reject()\" [ngClass]=\"'ui-confirmdialog-rejectbutton'\" [class]=\"option('rejectButtonStyleClass')\" *ngIf=\"option('rejectVisible')\"></button>\n </div>\n </div>\n </div>\n `,\n animations: [\n trigger('animation', [\n transition('void => visible', [\n useAnimation(showAnimation)\n ]),\n transition('visible => void', [\n useAnimation(hideAnimation)\n ])\n ])\n ],\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class ConfirmDialog implements OnDestroy {\n\n @Input() header: string;\n\n @Input() icon: string;\n\n @Input() message: string;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() maskStyleClass: string;\n\n @Input() acceptIcon: string = 'pi pi-check';\n\n @Input() acceptLabel: string = 'Yes';\n\n @Input() acceptVisible: boolean = true;\n\n @Input() rejectIcon: string = 'pi pi-times';\n\n @Input() rejectLabel: string = 'No';\n\n @Input() rejectVisible: boolean = true;\n\n @Input() acceptButtonStyleClass: string;\n\n @Input() rejectButtonStyleClass: string;\n\n @Input() closeOnEscape: boolean = true;\n\n @Input() blockScroll: boolean = true;\n\n @Input() rtl: boolean;\n\n @Input() closable: boolean = true;\n\n @Input() appendTo: any;\n\n @Input() key: string;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() transitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() focusTrap: boolean = true;\n\n @Input() defaultFocus: string = 'accept';\n\n @Input() get visible(): any {\n return this._visible;\n }\n set visible(value:any) {\n this._visible = value;\n\n if (this._visible && !this.maskVisible) {\n this.maskVisible = true;\n }\n }\n\n\n @Input() get position(): string {\n return this._position;\n };\n\n set position(value: string) {\n this._position = value;\n\n switch (value) {\n case 'topleft':\n case 'bottomleft':\n case 'left':\n this.transformOptions = \"translate3d(-100%, 0px, 0px)\";\n break;\n case 'topright':\n case 'bottomright':\n case 'right':\n this.transformOptions = \"translate3d(100%, 0px, 0px)\";\n break;\n case 'bottom':\n this.transformOptions = \"translate3d(0px, 100%, 0px)\";\n break;\n case 'top':\n this.transformOptions = \"translate3d(0px, -100%, 0px)\";\n break;\n default:\n this.transformOptions = \"scale(0.7)\";\n break;\n }\n }\n\n @ContentChild(Footer) footer;\n\n @ViewChild('content') contentViewChild: ElementRef;\n\n confirmation: Confirmation;\n\n _visible: boolean;\n\n maskVisible: boolean;\n\n documentEscapeListener: any;\n\n container: HTMLDivElement;\n\n wrapper: HTMLElement;\n\n contentContainer: HTMLDivElement;\n\n subscription: Subscription;\n\n preWidth: number;\n\n _position: string = \"center\";\n\n transformOptions: any = \"scale(0.7)\";\n\n confirmationOptions: Confirmation;\n\n constructor(public el: ElementRef, public renderer: Renderer2, private confirmationService: ConfirmationService, public zone: NgZone, private cd: ChangeDetectorRef) {\n this.subscription = this.confirmationService.requireConfirmation$.subscribe(confirmation => {\n if (!confirmation) {\n this.hide();\n return;\n }\n\n if (confirmation.key === this.key) {\n this.confirmation = confirmation;\n this.confirmationOptions = {\n message: this.confirmation.message||this.message,\n icon: this.confirmation.icon||this.icon,\n header: this.confirmation.header||this.header,\n rejectVisible: this.confirmation.rejectVisible == null ? this.rejectVisible : this.confirmation.rejectVisible,\n acceptVisible: this.confirmation.acceptVisible == null ? this.acceptVisible : this.confirmation.acceptVisible,\n acceptLabel: this.confirmation.acceptLabel||this.acceptLabel,\n rejectLabel: this.confirmation.rejectLabel||this.rejectLabel,\n acceptIcon: this.confirmation.acceptIcon || this.acceptIcon,\n rejectIcon: this.confirmation.rejectIcon || this.rejectIcon,\n acceptButtonStyleClass: this.confirmation.acceptButtonStyleClass || this.acceptButtonStyleClass,\n rejectButtonStyleClass: this.confirmation.rejectButtonStyleClass || this.rejectButtonStyleClass,\n defaultFocus: this.confirmation.defaultFocus || this.defaultFocus,\n blockScroll: (this.confirmation.blockScroll === false || this.confirmation.blockScroll === true) ? this.confirmation.blockScroll : this.blockScroll\n };\n\n if (this.confirmation.accept) {\n this.confirmation.acceptEvent = new EventEmitter();\n this.confirmation.acceptEvent.subscribe(this.confirmation.accept);\n }\n\n if (this.confirmation.reject) {\n this.confirmation.rejectEvent = new EventEmitter();\n this.confirmation.rejectEvent.subscribe(this.confirmation.reject);\n }\n\n this.visible = true;\n }\n });\n }\n\n option(name: string) {\n const source = this.confirmationOptions || this;\n if (source.hasOwnProperty(name)) {\n return source[name];\n }\n return undefined;\n }\n\n onAnimationStart(event: AnimationEvent) {\n switch(event.toState) {\n case 'visible':\n this.container = event.element;\n this.wrapper = this.container.parentElement;\n this.contentContainer = DomHandler.findSingle(this.container, '.ui-dialog-content');\n\n const element = this.getElementToFocus();\n if (element) {\n element.focus();\n }\n\n this.appendContainer();\n this.moveOnTop();\n this.bindGlobalListeners();\n this.enableModality();\n break;\n }\n }\n\n onAnimationEnd(event: AnimationEvent) {\n switch(event.toState) {\n case 'void':\n this.onOverlayHide();\n break;\n }\n }\n\n getElementToFocus() {\n switch(this.option('defaultFocus')) {\n case 'accept':\n return DomHandler.findSingle(this.container, 'button.ui-confirmdialog-acceptbutton');\n\n case 'reject':\n return DomHandler.findSingle(this.container, 'button.ui-confirmdialog-rejectbutton');\n\n case 'close':\n return DomHandler.findSingle(this.container, 'a.ui-dialog-titlebar-close');\n\n case 'none':\n return null;\n\n //backward compatibility\n default:\n return DomHandler.findSingle(this.container, 'button.ui-confirmdialog-acceptbutton');\n }\n }\n\n appendContainer() {\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.wrapper);\n else\n DomHandler.appendChild(this.wrapper, this.appendTo);\n }\n }\n\n restoreAppend() {\n if (this.wrapper && this.appendTo) {\n this.el.nativeElement.appendChild(this.wrapper);\n }\n }\n\n enableModality() {\n if (this.option('blockScroll')) {\n DomHandler.addClass(document.body, 'ui-overflow-hidden');\n }\n }\n\n disableModality() {\n this.maskVisible = false;\n\n if (this.option('blockScroll')) {\n DomHandler.removeClass(document.body, 'ui-overflow-hidden');\n }\n\n if (this.container) {\n this.cd.detectChanges();\n }\n }\n\n close(event: Event) {\n if (this.confirmation.rejectEvent) {\n this.confirmation.rejectEvent.emit();\n }\n\n this.hide();\n event.preventDefault();\n }\n\n hide() {\n this.visible = false;\n this.confirmation = null;\n this.confirmationOptions = null;\n }\n\n moveOnTop() {\n if (this.autoZIndex) {\n this.container.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n this.wrapper.style.zIndex = String(this.baseZIndex + (DomHandler.zindex - 1));\n }\n }\n\n getMaskClass() {\n let maskClass = {'ui-widget-overlay ui-dialog-mask': true, 'ui-dialog-visible': this.maskVisible, 'ui-dialog-mask-scrollblocker': this.blockScroll};\n maskClass[this.getPositionClass().toString()] = true;\n return maskClass;\n }\n\n getPositionClass() {\n const positions = ['left', 'right', 'top', 'topleft', 'topright', 'bottom', 'bottomleft', 'bottomright'];\n const pos = positions.find(item => item === this.position);\n\n return pos ? `ui-dialog-${pos}` : '';\n }\n\n bindGlobalListeners() {\n if ((this.closeOnEscape && this.closable) || this.focusTrap && !this.documentEscapeListener) {\n this.documentEscapeListener = this.renderer.listen('document', 'keydown', (event) => {\n if (event.which == 27 && (this.closeOnEscape && this.closable)) {\n if (parseInt(this.container.style.zIndex) === (DomHandler.zindex + this.baseZIndex) && this.visible) {\n this.close(event);\n }\n }\n\n if (event.which === 9 && this.focusTrap) {\n event.preventDefault();\n\n let focusableElements = DomHandler.getFocusableElements(this.container);\n\n if (focusableElements && focusableElements.length > 0) {\n if (!document.activeElement) {\n focusableElements[0].focus();\n }\n else {\n let focusedIndex = focusableElements.indexOf(document.activeElement);\n\n if (event.shiftKey) {\n if (focusedIndex == -1 || focusedIndex === 0)\n focusableElements[focusableElements.length - 1].focus();\n else\n focusableElements[focusedIndex - 1].focus();\n }\n else {\n if (focusedIndex == -1 || focusedIndex === (focusableElements.length - 1))\n focusableElements[0].focus();\n else\n focusableElements[focusedIndex + 1].focus();\n }\n }\n }\n }\n });\n }\n }\n\n unbindGlobalListeners() {\n if (this.documentEscapeListener) {\n this.documentEscapeListener();\n this.documentEscapeListener = null;\n }\n }\n\n onOverlayHide() {\n this.disableModality();\n this.unbindGlobalListeners();\n this.container = null;\n }\n\n ngOnDestroy() {\n this.restoreAppend();\n this.onOverlayHide();\n this.subscription.unsubscribe();\n }\n\n accept() {\n if (this.confirmation.acceptEvent) {\n this.confirmation.acceptEvent.emit();\n }\n\n this.hide();\n }\n\n reject() {\n if (this.confirmation.rejectEvent) {\n this.confirmation.rejectEvent.emit();\n }\n\n this.hide();\n }\n}\n\n@NgModule({\n imports: [CommonModule,ButtonModule],\n exports: [ConfirmDialog,ButtonModule,SharedModule],\n declarations: [ConfirmDialog]\n})\nexport class ConfirmDialogModule { }\n"]}
\No newline at end of file