UNPKG

14.5 kBSource Map (JSON)View Raw
1{"version":3,"file":"primeng-splitbutton.umd.js","sources":["ng://primeng/splitbutton/splitbutton.ts"],"sourcesContent":["import {NgModule,Component,ElementRef,OnDestroy,Input,Output,EventEmitter,Renderer2,ChangeDetectorRef,ViewChild,ChangeDetectionStrategy} from '@angular/core';\nimport {trigger,state,style,transition,animate,AnimationEvent} from '@angular/animations';\nimport {CommonModule} from '@angular/common';\nimport {DomHandler} from 'primeng/dom';\nimport {MenuItem} from 'primeng/api';\nimport {ButtonModule} from 'primeng/button';\nimport {Router} from '@angular/router';\nimport {RouterModule} from '@angular/router';\nimport { UniqueComponentId } from 'primeng/utils';\n\n@Component({\n selector: 'p-splitButton',\n template: `\n <div #container [ngClass]=\"{'ui-splitbutton ui-buttonset ui-widget':true}\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <button #defaultbtn type=\"button\" pButton [icon]=\"icon\" [iconPos]=\"iconPos\" [label]=\"label\" [cornerStyleClass]=\"dir === 'rtl' ? 'ui-corner-right': 'ui-corner-left'\" (click)=\"onDefaultButtonClick($event)\" [disabled]=\"disabled\" [attr.tabindex]=\"tabindex\">\n </button><button type=\"button\" pButton class=\"ui-splitbutton-menubutton\" icon=\"pi pi-chevron-down\" [cornerStyleClass]=\"dir === 'rtl' ? 'ui-corner-left': 'ui-corner-right'\" (click)=\"onDropdownButtonClick($event)\" [disabled]=\"disabled\"></button>\n <div [attr.id]=\"ariaId + '_overlay'\" #overlay [ngClass]=\"'ui-menu ui-menu-dynamic ui-widget ui-widget-content ui-corner-all ui-helper-clearfix ui-shadow'\" *ngIf=\"overlayVisible\"\n [ngStyle]=\"menuStyle\" [class]=\"menuStyleClass\"\n [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\">\n <ul class=\"ui-menu-list ui-helper-reset\" role=\"menu\">\n <ng-template ngFor let-item [ngForOf]=\"model\">\n <li *ngIf=\"item.separator\" class=\"ui-menu-separator ui-widget-content\" [ngClass]=\"{'ui-helper-hidden': item.visible === false}\" role=\"separator\">\n <li class=\"ui-menuitem ui-widget ui-corner-all\" role=\"menuitem\" *ngIf=\"item.visible !== false && !item.separator\" role=\"none\">\n <a *ngIf=\"!item.routerLink\" [attr.href]=\"item.url\" class=\"ui-menuitem-link ui-corner-all\" [attr.target]=\"item.target\" role=\"menuitem\"\n [ngClass]=\"{'ui-state-disabled':item.disabled}\" (click)=\"itemClick($event, item)\">\n <span [ngClass]=\"'ui-menuitem-icon'\" [class]=\"item.icon\" *ngIf=\"item.icon\"></span>\n <span class=\"ui-menuitem-text\">{{item.label}}</span>\n </a>\n <a *ngIf=\"item.routerLink\" [routerLink]=\"item.routerLink\" [queryParams]=\"item.queryParams\"\n class=\"ui-menuitem-link ui-corner-all\" [attr.target]=\"item.target\" [ngClass]=\"{'ui-state-disabled':item.disabled}\" (click)=\"itemClick($event, item)\">\n <span [ngClass]=\"'ui-menuitem-icon'\" [class]=\"item.icon\" *ngIf=\"item.icon\"></span>\n <span class=\"ui-menuitem-text\">{{item.label}}</span>\n </a>\n </li>\n </ng-template>\n </ul>\n </div>\n </div>\n `,\n animations: [\n trigger('overlayAnimation', [\n state('void', style({\n transform: 'translateY(5%)',\n opacity: 0\n })),\n state('visible', style({\n transform: 'translateY(0)',\n opacity: 1\n })),\n transition('void => visible', animate('{{showTransitionParams}}')),\n transition('visible => void', animate('{{hideTransitionParams}}'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class SplitButton implements OnDestroy {\n\n @Input() model: MenuItem[];\n\n @Input() icon: string;\n\n @Input() iconPos: string = 'left';\n \n @Input() label: string;\n \n @Output() onClick: EventEmitter<any> = new EventEmitter();\n \n @Output() onDropdownClick: EventEmitter<any> = new EventEmitter();\n \n @Input() style: any;\n \n @Input() styleClass: string;\n \n @Input() menuStyle: any;\n \n @Input() menuStyleClass: string;\n \n @Input() disabled: boolean;\n\n @Input() tabindex: number;\n \n @Input() appendTo: any;\n \n @Input() dir: string;\n\n @Input() showTransitionOptions: string = '225ms ease-out';\n\n @Input() hideTransitionOptions: string = '195ms ease-in';\n\n @ViewChild('container') containerViewChild: ElementRef;\n \n @ViewChild('defaultbtn') buttonViewChild: ElementRef;\n\n overlay: HTMLDivElement;\n \n public overlayVisible: boolean = false;\n \n public documentClickListener: any;\n \n public dropdownClick: boolean;\n \n public shown: boolean;\n\n ariaId: string;\n\n documentResizeListener: any;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public router: Router, public cd: ChangeDetectorRef) {\n this.ariaId = UniqueComponentId() + '_list';\n }\n \n onDefaultButtonClick(event: Event) {\n this.onClick.emit(event);\n }\n \n itemClick(event: Event, item: MenuItem) {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n \n if (!item.url) {\n event.preventDefault();\n }\n \n if (item.command) { \n item.command({\n originalEvent: event,\n item: item\n });\n }\n \n this.overlayVisible = false;\n }\n \n show() {\n this.overlayVisible = !this.overlayVisible;\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n this.overlay = event.element;\n this.appendOverlay();\n this.overlay.style.zIndex = String(++DomHandler.zindex);\n this.alignOverlay();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n break;\n\n case 'void':\n this.onOverlayHide();\n break;\n }\n }\n \n onDropdownButtonClick(event: Event) {\n this.onDropdownClick.emit(event);\n this.dropdownClick = true;\n this.show();\n }\n\n alignOverlay() {\n if (this.appendTo)\n DomHandler.absolutePosition(this.overlay, this.containerViewChild.nativeElement);\n else\n DomHandler.relativePosition(this.overlay, this.containerViewChild.nativeElement);\n }\n\n appendOverlay() {\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.overlay);\n else\n DomHandler.appendChild(this.overlay, this.appendTo);\n\n if (!this.overlay.style.minWidth) {\n this.overlay.style.minWidth = DomHandler.getWidth(this.el.nativeElement.children[0]) + 'px';\n }\n }\n }\n\n restoreOverlayAppend() {\n if (this.overlay && this.appendTo) {\n this.el.nativeElement.appendChild(this.overlay);\n }\n }\n \n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n this.documentClickListener = this.renderer.listen('document', 'click', () => {\n if (this.dropdownClick) {\n this.dropdownClick = false;\n }\n else {\n this.overlayVisible = false;\n this.unbindDocumentClickListener();\n this.cd.markForCheck();\n }\n });\n }\n }\n \n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n \n bindDocumentResizeListener() {\n this.documentResizeListener = this.onWindowResize.bind(this);\n window.addEventListener('resize', this.documentResizeListener);\n }\n \n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n\n onWindowResize() {\n this.overlayVisible = false;\n }\n\n onOverlayHide() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.overlay = null;\n }\n \n ngOnDestroy() {\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n}\n\n@NgModule({\n imports: [CommonModule,ButtonModule,RouterModule],\n exports: [SplitButton,ButtonModule,RouterModule],\n declarations: [SplitButton]\n})\nexport class SplitButtonModule { }\n"],"names":["EventEmitter","UniqueComponentId","DomHandler","ElementRef","Renderer2","Router","ChangeDetectorRef","Input","Output","ViewChild","Component","trigger","state","style","transition","animate","ChangeDetectionStrategy","NgModule","CommonModule","ButtonModule","RouterModule"],"mappings":"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"}
\No newline at end of file