UNPKG

16.7 kBSource Map (JSON)View Raw
1{"version":3,"file":"primeng-scrollpanel.umd.js","sources":["ng://primeng/scrollpanel/scrollpanel.ts"],"sourcesContent":["import { NgModule, Component, Input, AfterViewInit, OnDestroy, ElementRef, NgZone, ViewChild, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomHandler } from 'primeng/dom';\n\n@Component({\n selector: 'p-scrollPanel',\n template: `\n <div #container [ngClass]=\"'ui-scrollpanel ui-widget ui-widget-content ui-corner-all'\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <div class=\"ui-scrollpanel-wrapper\">\n <div #content class=\"ui-scrollpanel-content\">\n <ng-content></ng-content>\n </div>\n </div>\n <div #xBar class=\"ui-scrollpanel-bar ui-scrollpanel-bar-x\"></div>\n <div #yBar class=\"ui-scrollpanel-bar ui-scrollpanel-bar-y\"></div> \n </div>\n `,\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class ScrollPanel implements AfterViewInit, OnDestroy {\n\n @Input() style: any;\n\n @Input() styleClass: string;\n \n constructor(public el: ElementRef, public zone: NgZone) {}\n\n @ViewChild('container') containerViewChild: ElementRef;\n\n @ViewChild('content') contentViewChild: ElementRef;\n\n @ViewChild('xBar') xBarViewChild: ElementRef;\n \n @ViewChild('yBar') yBarViewChild: ElementRef;\n\n scrollYRatio: number;\n\n scrollXRatio: number;\n\n timeoutFrame: any = (fn) => setTimeout(fn, 0);\n\n initialized: boolean;\n\n lastPageY: number;\n\n lastPageX: number;\n\n isXBarClicked: boolean;\n\n isYBarClicked: boolean;\n\n ngAfterViewInit() {\n this.zone.runOutsideAngular(() => {\n this.moveBar();\n this.moveBar = this.moveBar.bind(this);\n this.onXBarMouseDown = this.onXBarMouseDown.bind(this);\n this.onYBarMouseDown = this.onYBarMouseDown.bind(this);\n this.onDocumentMouseMove = this.onDocumentMouseMove.bind(this);\n this.onDocumentMouseUp = this.onDocumentMouseUp.bind(this);\n \n window.addEventListener('resize', this.moveBar);\n this.contentViewChild.nativeElement.addEventListener('scroll', this.moveBar);\n this.contentViewChild.nativeElement.addEventListener('mouseenter', this.moveBar);\n this.xBarViewChild.nativeElement.addEventListener('mousedown', this.onXBarMouseDown);\n this.yBarViewChild.nativeElement.addEventListener('mousedown', this.onYBarMouseDown);\n\n this.calculateContainerHeight();\n\n this.initialized = true;\n });\n }\n\n calculateContainerHeight() {\n let container = this.containerViewChild.nativeElement;\n let content = this.contentViewChild.nativeElement;\n let xBar = this.xBarViewChild.nativeElement;\n\n let containerStyles = getComputedStyle(container),\n xBarStyles = getComputedStyle(xBar),\n pureContainerHeight = DomHandler.getHeight(container) - parseInt(xBarStyles['height'], 10);\n\n if (containerStyles['max-height'] != \"none\" && pureContainerHeight == 0) {\n if (content.offsetHeight + parseInt(xBarStyles['height'], 10) > parseInt(containerStyles['max-height'], 10)) {\n container.style.height = containerStyles['max-height'];\n }\n else {\n container.style.height = content.offsetHeight + parseFloat(containerStyles.paddingTop) + parseFloat(containerStyles.paddingBottom) + parseFloat(containerStyles.borderTopWidth) + parseFloat(containerStyles.borderBottomWidth) + \"px\";\n }\n }\n }\n\n moveBar() {\n let container = this.containerViewChild.nativeElement;\n let content = this.contentViewChild.nativeElement;\n\n /* horizontal scroll */\n let xBar = this.xBarViewChild.nativeElement;\n let totalWidth = content.scrollWidth;\n let ownWidth = content.clientWidth;\n let bottom = (container.clientHeight - xBar.clientHeight) * -1;\n\n this.scrollXRatio = ownWidth / totalWidth;\n\n /* vertical scroll */\n let yBar = this.yBarViewChild.nativeElement;\n let totalHeight = content.scrollHeight;\n let ownHeight = content.clientHeight;\n let right = (container.clientWidth - yBar.clientWidth) * -1;\n\n this.scrollYRatio = ownHeight / totalHeight;\n\n this.requestAnimationFrame(() => {\n if (this.scrollXRatio >= 1) {\n DomHandler.addClass(xBar, 'ui-scrollpanel-hidden');\n } \n else {\n DomHandler.removeClass(xBar, 'ui-scrollpanel-hidden');\n const xBarWidth = Math.max(this.scrollXRatio * 100, 10);\n const xBarLeft = content.scrollLeft * (100 - xBarWidth) / (totalWidth - ownWidth);\n xBar.style.cssText = 'width:' + xBarWidth + '%; left:' + xBarLeft + '%;bottom:' + bottom + 'px;';\n }\n\n if (this.scrollYRatio >= 1) {\n DomHandler.addClass(yBar, 'ui-scrollpanel-hidden');\n } \n else {\n DomHandler.removeClass(yBar, 'ui-scrollpanel-hidden');\n const yBarHeight = Math.max(this.scrollYRatio * 100, 10);\n const yBarTop = content.scrollTop * (100 - yBarHeight) / (totalHeight - ownHeight);\n yBar.style.cssText = 'height:' + yBarHeight + '%; top: calc(' + yBarTop + '% - ' + xBar.clientHeight + 'px);right:' + right + 'px;';\n }\n });\n }\n\n onYBarMouseDown(e: MouseEvent) {\n this.isYBarClicked = true;\n this.lastPageY = e.pageY;\n DomHandler.addClass(this.yBarViewChild.nativeElement, 'ui-scrollpanel-grabbed');\n \n DomHandler.addClass(document.body, 'ui-scrollpanel-grabbed');\n\n document.addEventListener('mousemove', this.onDocumentMouseMove);\n document.addEventListener('mouseup', this.onDocumentMouseUp);\n e.preventDefault();\n }\n\n onXBarMouseDown(e: MouseEvent) {\n this.isXBarClicked = true;\n this.lastPageX = e.pageX;\n DomHandler.addClass(this.xBarViewChild.nativeElement, 'ui-scrollpanel-grabbed');\n\n DomHandler.addClass(document.body, 'ui-scrollpanel-grabbed');\n\n document.addEventListener('mousemove', this.onDocumentMouseMove);\n document.addEventListener('mouseup', this.onDocumentMouseUp);\n e.preventDefault();\n }\n\n onDocumentMouseMove(e: MouseEvent) {\n if (this.isXBarClicked) {\n this.onMouseMoveForXBar(e);\n }\n else if (this.isYBarClicked) {\n this.onMouseMoveForYBar(e);\n }\n else {\n this.onMouseMoveForXBar(e);\n this.onMouseMoveForYBar(e);\n }\n \n }\n\n onMouseMoveForXBar(e: MouseEvent) {\n let deltaX = e.pageX - this.lastPageX;\n this.lastPageX = e.pageX;\n\n this.requestAnimationFrame(() => {\n this.contentViewChild.nativeElement.scrollLeft += deltaX / this.scrollXRatio;\n });\n }\n\n onMouseMoveForYBar(e: MouseEvent) {\n let deltaY = e.pageY - this.lastPageY;\n this.lastPageY = e.pageY;\n\n this.requestAnimationFrame(() => {\n this.contentViewChild.nativeElement.scrollTop += deltaY / this.scrollYRatio;\n });\n }\n\n scrollTop(scrollTop: number) {\n let scrollableHeight = this.contentViewChild.nativeElement.scrollHeight - this.contentViewChild.nativeElement.clientHeight;\n scrollTop = scrollTop > scrollableHeight ? scrollableHeight : scrollTop > 0 ? scrollTop : 0;\n this.contentViewChild.nativeElement.scrollTop = scrollTop;\n }\n\n onDocumentMouseUp(e: Event) {\n DomHandler.removeClass(this.yBarViewChild.nativeElement, 'ui-scrollpanel-grabbed');\n DomHandler.removeClass(this.xBarViewChild.nativeElement, 'ui-scrollpanel-grabbed');\n DomHandler.removeClass(document.body, 'ui-scrollpanel-grabbed');\n\n document.removeEventListener('mousemove', this.onDocumentMouseMove);\n document.removeEventListener('mouseup', this.onDocumentMouseUp);\n this.isXBarClicked = false;\n this.isYBarClicked = false;\n }\n\n requestAnimationFrame(f: Function) {\n let frame = window.requestAnimationFrame || this.timeoutFrame;\n frame(f);\n }\n\n ngOnDestroy() {\n if (this.initialized) {\n window.removeEventListener('resize', this.moveBar);\n this.contentViewChild.nativeElement.removeEventListener('scroll', this.moveBar);\n this.contentViewChild.nativeElement.removeEventListener('mouseenter', this.moveBar);\n this.xBarViewChild.nativeElement.removeEventListener('mousedown', this.onXBarMouseDown);\n this.yBarViewChild.nativeElement.removeEventListener('mousedown', this.onYBarMouseDown);\n }\n }\n\n refresh() {\n this.moveBar();\n }\n\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [ScrollPanel],\n declarations: [ScrollPanel]\n})\nexport class ScrollPanelModule { }\n"],"names":["DomHandler","ElementRef","NgZone","Input","ViewChild","Component","ChangeDetectionStrategy","NgModule","CommonModule"],"mappings":"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"}
\No newline at end of file