UNPKG

28.8 kBSource Map (JSON)View Raw
1{"version":3,"file":"primeng-slider.umd.js","sources":["ng://primeng/slider/slider.ts"],"sourcesContent":["import {NgModule, Component, ElementRef, OnDestroy, Input, Output, EventEmitter, forwardRef, Renderer2,NgZone,ChangeDetectorRef, ViewChild, ChangeDetectionStrategy} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DomHandler} from 'primeng/dom';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\n\nexport const SLIDER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Slider),\n multi: true\n};\n\n@Component({\n selector: 'p-slider',\n template: `\n <div [ngStyle]=\"style\" [class]=\"styleClass\" [ngClass]=\"{'ui-slider ui-widget ui-widget-content ui-corner-all':true,'ui-state-disabled':disabled,\n 'ui-slider-horizontal':orientation == 'horizontal','ui-slider-vertical':orientation == 'vertical','ui-slider-animate':animate}\"\n (click)=\"onBarClick($event)\">\n <span *ngIf=\"range && orientation == 'horizontal'\" class=\"ui-slider-range ui-widget-header ui-corner-all\" [ngStyle]=\"{'left':handleValues[0] + '%',width: (handleValues[1] - handleValues[0] + '%')}\"></span>\n <span *ngIf=\"range && orientation == 'vertical'\" class=\"ui-slider-range ui-widget-header ui-corner-all\" [ngStyle]=\"{'bottom':handleValues[0] + '%',height: (handleValues[1] - handleValues[0] + '%')}\"></span>\n <span *ngIf=\"!range && orientation=='vertical'\" class=\"ui-slider-range ui-slider-range-min ui-widget-header ui-corner-all\" [ngStyle]=\"{'height': handleValue + '%'}\"></span>\n <span *ngIf=\"!range && orientation=='horizontal'\" class=\"ui-slider-range ui-slider-range-min ui-widget-header ui-corner-all\" [ngStyle]=\"{'width': handleValue + '%'}\"></span>\n <span #sliderHandle *ngIf=\"!range\" [attr.tabindex]=\"tabindex\" (keydown)=\"onHandleKeydown($event)\" class=\"ui-slider-handle ui-state-default ui-corner-all ui-clickable\" (mousedown)=\"onMouseDown($event)\" (touchstart)=\"onTouchStart($event)\" (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd($event)\"\n [style.transition]=\"dragging ? 'none': null\" [ngStyle]=\"{'left': orientation == 'horizontal' ? handleValue + '%' : null,'bottom': orientation == 'vertical' ? handleValue + '%' : null}\"\n [attr.aria-valuemin]=\"min\" [attr.aria-valuenow]=\"value\" [attr.aria-valuemax]=\"max\" [attr.aria-labelledby]=\"ariaLabelledBy\"></span>\n <span #sliderHandleStart *ngIf=\"range\" [attr.tabindex]=\"tabindex\" (keydown)=\"onHandleKeydown($event,0)\" (mousedown)=\"onMouseDown($event,0)\" (touchstart)=\"onTouchStart($event,0)\" (touchmove)=\"onTouchMove($event,0)\" (touchend)=\"onTouchEnd($event)\" [style.transition]=\"dragging ? 'none': null\" class=\"ui-slider-handle ui-state-default ui-corner-all ui-clickable\" \n [ngStyle]=\"{'left': rangeStartLeft, 'bottom': rangeStartBottom}\" [ngClass]=\"{'ui-slider-handle-active':handleIndex==0}\"\n [attr.aria-valuemin]=\"min\" [attr.aria-valuenow]=\"value ? value[0] : null\" [attr.aria-valuemax]=\"max\" [attr.aria-labelledby]=\"ariaLabelledBy\"></span>\n <span #sliderHandleEnd *ngIf=\"range\" [attr.tabindex]=\"tabindex\" (keydown)=\"onHandleKeydown($event,1)\" (mousedown)=\"onMouseDown($event,1)\" (touchstart)=\"onTouchStart($event,1)\" (touchmove)=\"onTouchMove($event,1)\" (touchend)=\"onTouchEnd($event)\" [style.transition]=\"dragging ? 'none': null\" class=\"ui-slider-handle ui-state-default ui-corner-all ui-clickable\" \n [ngStyle]=\"{'left': rangeEndLeft, 'bottom': rangeEndBottom}\" [ngClass]=\"{'ui-slider-handle-active':handleIndex==1}\"\n [attr.aria-valuemin]=\"min\" [attr.aria-valuenow]=\"value ? value[1] : null\" [attr.aria-valuemax]=\"max\" [attr.aria-labelledby]=\"ariaLabelledBy\"></span>\n </div>\n `,\n providers: [SLIDER_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class Slider implements OnDestroy,ControlValueAccessor {\n\n @Input() animate: boolean;\n\n @Input() disabled: boolean;\n\n @Input() min: number = 0;\n\n @Input() max: number = 100;\n\n @Input() orientation: string = 'horizontal';\n\n @Input() step: number;\n\n @Input() range: boolean;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() tabindex: number = 0;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n \n @Output() onSlideEnd: EventEmitter<any> = new EventEmitter();\n \n @ViewChild(\"sliderHandle\") sliderHandle: ElementRef;\n\n @ViewChild(\"sliderHandleStart\") sliderHandleStart: ElementRef;\n\n @ViewChild(\"sliderHandleEnd\") sliderHandleEnd: ElementRef;\n\n public value: number;\n \n public values: number[];\n \n public handleValue: number;\n \n public handleValues: number[] = [];\n \n public onModelChange: Function = () => {};\n \n public onModelTouched: Function = () => {};\n \n public dragging: boolean;\n \n public dragListener: any;\n \n public mouseupListener: any;\n \n public initX: number;\n \n public initY: number;\n \n public barWidth: number;\n \n public barHeight: number;\n \n public sliderHandleClick: boolean;\n \n public handleIndex: number = 0;\n\n public startHandleValue: any;\n\n public startx: number;\n\n public starty: number;\n \n constructor(public el: ElementRef, public renderer: Renderer2, private ngZone: NgZone, public cd: ChangeDetectorRef) {}\n \n onMouseDown(event, index?:number) {\n if (this.disabled) {\n return;\n }\n \n this.dragging = true;\n this.updateDomData();\n this.sliderHandleClick = true;\n this.handleIndex = index;\n this.bindDragListeners();\n event.target.focus();\n event.preventDefault();\n }\n\n onTouchStart(event, index?:number) {\n if (this.disabled) {\n return;\n }\n\n var touchobj = event.changedTouches[0];\n this.startHandleValue = (this.range) ? this.handleValues[index] : this.handleValue;\n this.dragging = true;\n this.handleIndex = index;\n\n if (this.orientation === 'horizontal') {\n this.startx = parseInt(touchobj.clientX, 10);\n this.barWidth = this.el.nativeElement.children[0].offsetWidth;\n }\n else {\n this.starty = parseInt(touchobj.clientY, 10);\n this.barHeight = this.el.nativeElement.children[0].offsetHeight;\n }\n\n event.preventDefault();\n }\n\n onTouchMove(event, index?:number) {\n if (this.disabled) {\n return;\n }\n \n var touchobj = event.changedTouches[0],\n handleValue = 0;\n\n if (this.orientation === 'horizontal') {\n handleValue = Math.floor(((parseInt(touchobj.clientX, 10) - this.startx) * 100) / (this.barWidth)) + this.startHandleValue;\n }\n else {\n handleValue = Math.floor(((this.starty - parseInt(touchobj.clientY, 10)) * 100) / (this.barHeight)) + this.startHandleValue;\n }\n\n this.setValueFromHandle(event, handleValue);\n\n event.preventDefault();\n }\n\n onTouchEnd(event, index?:number) {\n if (this.disabled) {\n return;\n }\n\n this.dragging = false;\n \n if (this.range)\n this.onSlideEnd.emit({originalEvent: event, values: this.values});\n else\n this.onSlideEnd.emit({originalEvent: event, value: this.value});\n \n event.preventDefault();\n }\n \n onBarClick(event) {\n if (this.disabled) {\n return;\n }\n \n if (!this.sliderHandleClick) {\n this.updateDomData();\n this.handleChange(event);\n }\n \n this.sliderHandleClick = false;\n }\n\n onHandleKeydown(event, handleIndex?:number) {\n if (event.which == 38 || event.which == 39) {\n this.spin(event, 1, handleIndex);\n }\n else if (event.which == 37 || event.which == 40) {\n this.spin(event, -1, handleIndex);\n }\n }\n \n spin(event, dir: number, handleIndex?:number) {\n let step = (this.step || 1) * dir;\n\n if (this.range) {\n this.handleIndex = handleIndex;\n this.updateValue(this.values[this.handleIndex] + step);\n this.updateHandleValue();\n }\n else {\n this.updateValue(this.value + step);\n this.updateHandleValue();\n }\n\n event.preventDefault();\n }\n\n handleChange(event: Event) {\n let handleValue = this.calculateHandleValue(event);\n this.setValueFromHandle(event, handleValue);\n }\n \n bindDragListeners() {\n this.ngZone.runOutsideAngular(() => {\n if (!this.dragListener) {\n this.dragListener = this.renderer.listen('document', 'mousemove', (event) => {\n if (this.dragging) {\n this.ngZone.run(() => {\n this.handleChange(event);\n });\n }\n });\n }\n\n if (!this.mouseupListener) {\n this.mouseupListener = this.renderer.listen('document', 'mouseup', (event) => {\n if (this.dragging) {\n this.dragging = false;\n this.ngZone.run(() => {\n if (this.range) {\n this.onSlideEnd.emit({originalEvent: event, values: this.values});\n } else {\n this.onSlideEnd.emit({originalEvent: event, value: this.value});\n }\n });\n }\n });\n }\n });\n }\n \n unbindDragListeners() {\n if (this.dragListener) {\n this.dragListener();\n }\n \n if (this.mouseupListener) {\n this.mouseupListener();\n }\n }\n\n setValueFromHandle(event: Event, handleValue: any) {\n let newValue = this.getValueFromHandle(handleValue);\n\n if (this.range) {\n if (this.step) {\n this.handleStepChange(newValue, this.values[this.handleIndex]);\n }\n else {\n this.handleValues[this.handleIndex] = handleValue; \n this.updateValue(newValue, event);\n }\n }\n else { \n if (this.step) {\n this.handleStepChange(newValue, this.value);\n } \n else {\n this.handleValue = handleValue;\n this.updateValue(newValue, event);\n } \n }\n }\n \n handleStepChange(newValue: number, oldValue: number) {\n let diff = (newValue - oldValue);\n let val = oldValue;\n \n if (diff < 0) {\n val = oldValue + Math.ceil(newValue / this.step - oldValue / this.step) * this.step;\n }\n else if (diff > 0) {\n val = oldValue + Math.floor(newValue / this.step - oldValue / this.step) * this.step;\n }\n \n this.updateValue(val);\n this.updateHandleValue();\n }\n \n writeValue(value: any) : void {\n if (this.range)\n this.values = value||[0,0];\n else\n this.value = value||0;\n \n this.updateHandleValue();\n this.cd.markForCheck();\n }\n \n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n \n setDisabledState(val: boolean): void {\n this.disabled = val;\n }\n \n get rangeStartLeft() {\n return this.isVertical() ? 'auto' : this.handleValues[0] + '%';\n }\n \n get rangeStartBottom() {\n return this.isVertical() ? this.handleValues[0] + '%' : 'auto';\n }\n \n get rangeEndLeft() {\n return this.isVertical() ? 'auto' : this.handleValues[1] + '%';\n }\n \n get rangeEndBottom() {\n return this.isVertical() ? this.handleValues[1] + '%' : 'auto';\n }\n \n isVertical(): boolean {\n return this.orientation === 'vertical';\n }\n \n updateDomData(): void {\n let rect = this.el.nativeElement.children[0].getBoundingClientRect();\n this.initX = rect.left + DomHandler.getWindowScrollLeft();\n this.initY = rect.top + DomHandler.getWindowScrollTop();\n this.barWidth = this.el.nativeElement.children[0].offsetWidth;\n this.barHeight = this.el.nativeElement.children[0].offsetHeight;\n }\n \n calculateHandleValue(event): number {\n if (this.orientation === 'horizontal')\n return ((event.pageX - this.initX) * 100) / (this.barWidth);\n else\n return(((this.initY + this.barHeight) - event.pageY) * 100) / (this.barHeight);\n }\n \n updateHandleValue(): void {\n if (this.range) {\n this.handleValues[0] = (this.values[0] < this.min ? 0 : this.values[0] - this.min) * 100 / (this.max - this.min);\n this.handleValues[1] = (this.values[1] > this.max ? 100 : this.values[1] - this.min) * 100 / (this.max - this.min);\n }\n else {\n if (this.value < this.min)\n this.handleValue = 0;\n else if (this.value > this.max)\n this.handleValue = 100;\n else\n this.handleValue = (this.value - this.min) * 100 / (this.max - this.min);\n }\n }\n \n updateValue(val: number, event?: Event): void {\n if (this.range) {\n let value = val;\n \n if (this.handleIndex == 0) {\n if (value < this.min) {\n value = this.min;\n this.handleValues[0] = 0;\n }\n else if (value > this.values[1]) {\n value = this.values[1];\n this.handleValues[0] = this.handleValues[1];\n }\n\n this.sliderHandleStart.nativeElement.focus();\n }\n else {\n if (value > this.max) {\n value = this.max;\n this.handleValues[1] = 100;\n }\n else if (value < this.values[0]) {\n value = this.values[0];\n this.handleValues[1] = this.handleValues[0];\n }\n\n this.sliderHandleEnd.nativeElement.focus();\n }\n \n this.values[this.handleIndex] = this.getNormalizedValue(value);\n this.values = this.values.slice();\n this.onModelChange(this.values);\n this.onChange.emit({event: event, values: this.values});\n }\n else {\n if (val < this.min) {\n val = this.min;\n this.handleValue = 0;\n }\n else if (val > this.max) {\n val = this.max;\n this.handleValue = 100;\n }\n \n\t\t\tthis.value = this.getNormalizedValue(val);\n \n this.onModelChange(this.value);\n this.onChange.emit({event: event, value: this.value});\n this.sliderHandle.nativeElement.focus();\n }\n }\n \n getValueFromHandle(handleValue: number): number {\n return (this.max - this.min) * (handleValue / 100) + this.min;\n }\n\t\n\tgetDecimalsCount(value: number): number {\n\t\tif (value && Math.floor(value) !== value)\n\t\t\treturn value.toString().split(\".\")[1].length || 0;\n\t\treturn 0;\n\t}\n\t\n\tgetNormalizedValue(val: number): number {\n\t\tlet decimalsCount = this.getDecimalsCount(this.step);\n\t\tif (decimalsCount > 0) {\n\t\t\treturn +val.toFixed(decimalsCount);\n\t\t} \n\t\telse {\n\t\t\treturn Math.floor(val);\n\t\t}\n\t}\n \n ngOnDestroy() {\n this.unbindDragListeners();\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Slider],\n declarations: [Slider]\n})\nexport class SliderModule { }\n"],"names":["NG_VALUE_ACCESSOR","forwardRef","EventEmitter","DomHandler","ElementRef","Renderer2","NgZone","ChangeDetectorRef","Input","Output","ViewChild","Component","ChangeDetectionStrategy","NgModule","CommonModule"],"mappings":"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"}
\No newline at end of file