primeng 11.1.0 → 11.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/api/confirmaeventtype.d.ts +5 -0
- package/api/filtermatchmode.d.ts +4 -0
- package/api/filterservice.d.ts +4 -0
- package/api/primeng-api.metadata.json +1 -1
- package/api/public_api.d.ts +1 -0
- package/api/translation.d.ts +4 -0
- package/autocomplete/autocomplete.d.ts +8 -1
- package/autocomplete/primeng-autocomplete.metadata.json +1 -1
- package/avatar/primeng-avatar.metadata.json +1 -1
- package/bundles/primeng-api.umd.js +56 -6
- package/bundles/primeng-api.umd.js.map +1 -1
- package/bundles/primeng-api.umd.min.js +1 -1
- package/bundles/primeng-api.umd.min.js.map +1 -1
- package/bundles/primeng-autocomplete.umd.js +86 -17
- package/bundles/primeng-autocomplete.umd.js.map +1 -1
- package/bundles/primeng-autocomplete.umd.min.js +1 -1
- package/bundles/primeng-autocomplete.umd.min.js.map +1 -1
- package/bundles/primeng-avatar.umd.js +1 -1
- package/bundles/primeng-avatar.umd.min.js +1 -1
- package/bundles/primeng-avatar.umd.min.js.map +1 -1
- package/bundles/primeng-calendar.umd.js +6 -0
- package/bundles/primeng-calendar.umd.js.map +1 -1
- package/bundles/primeng-calendar.umd.min.js +1 -1
- package/bundles/primeng-calendar.umd.min.js.map +1 -1
- package/bundles/primeng-cascadeselect.umd.js +8 -5
- package/bundles/primeng-cascadeselect.umd.js.map +1 -1
- package/bundles/primeng-cascadeselect.umd.min.js +2 -2
- package/bundles/primeng-cascadeselect.umd.min.js.map +1 -1
- package/bundles/primeng-colorpicker.umd.js.map +1 -1
- package/bundles/primeng-colorpicker.umd.min.js.map +1 -1
- package/bundles/primeng-confirmdialog.umd.js +11 -8
- package/bundles/primeng-confirmdialog.umd.js.map +1 -1
- package/bundles/primeng-confirmdialog.umd.min.js +1 -1
- package/bundles/primeng-confirmdialog.umd.min.js.map +1 -1
- package/bundles/primeng-contextmenu.umd.js +2 -2
- package/bundles/primeng-contextmenu.umd.js.map +1 -1
- package/bundles/primeng-contextmenu.umd.min.js +1 -1
- package/bundles/primeng-contextmenu.umd.min.js.map +1 -1
- package/bundles/primeng-dialog.umd.js +1 -1
- package/bundles/primeng-dialog.umd.min.js +1 -1
- package/bundles/primeng-dialog.umd.min.js.map +1 -1
- package/bundles/primeng-dom.umd.js +3 -0
- package/bundles/primeng-dom.umd.js.map +1 -1
- package/bundles/primeng-dom.umd.min.js +1 -1
- package/bundles/primeng-dom.umd.min.js.map +1 -1
- package/bundles/primeng-dropdown.umd.js +1 -1
- package/bundles/primeng-dropdown.umd.js.map +1 -1
- package/bundles/primeng-dropdown.umd.min.js +1 -1
- package/bundles/primeng-dropdown.umd.min.js.map +1 -1
- package/bundles/primeng-dynamicdialog.umd.js +1 -1
- package/bundles/primeng-dynamicdialog.umd.min.js +1 -1
- package/bundles/primeng-dynamicdialog.umd.min.js.map +1 -1
- package/bundles/primeng-inputmask.umd.js +5 -2
- package/bundles/primeng-inputmask.umd.js.map +1 -1
- package/bundles/primeng-inputmask.umd.min.js +1 -1
- package/bundles/primeng-inputmask.umd.min.js.map +1 -1
- package/bundles/primeng-inputnumber.umd.js +16 -2
- package/bundles/primeng-inputnumber.umd.js.map +1 -1
- package/bundles/primeng-inputnumber.umd.min.js +1 -1
- package/bundles/primeng-inputnumber.umd.min.js.map +1 -1
- package/bundles/primeng-knob.umd.js +1 -1
- package/bundles/primeng-knob.umd.js.map +1 -1
- package/bundles/primeng-knob.umd.min.js +1 -1
- package/bundles/primeng-knob.umd.min.js.map +1 -1
- package/bundles/primeng-lightbox.umd.js +1 -1
- package/bundles/primeng-lightbox.umd.min.js +1 -1
- package/bundles/primeng-lightbox.umd.min.js.map +1 -1
- package/bundles/primeng-listbox.umd.js +133 -34
- package/bundles/primeng-listbox.umd.js.map +1 -1
- package/bundles/primeng-listbox.umd.min.js +1 -1
- package/bundles/primeng-listbox.umd.min.js.map +1 -1
- package/bundles/primeng-multiselect.umd.js +146 -32
- package/bundles/primeng-multiselect.umd.js.map +1 -1
- package/bundles/primeng-multiselect.umd.min.js +2 -2
- package/bundles/primeng-multiselect.umd.min.js.map +1 -1
- package/bundles/primeng-sidebar.umd.js.map +1 -1
- package/bundles/primeng-sidebar.umd.min.js.map +1 -1
- package/bundles/primeng-slider.umd.js +1 -0
- package/bundles/primeng-slider.umd.js.map +1 -1
- package/bundles/primeng-slider.umd.min.js +1 -1
- package/bundles/primeng-slider.umd.min.js.map +1 -1
- package/bundles/primeng-table.umd.js +117 -16
- package/bundles/primeng-table.umd.js.map +1 -1
- package/bundles/primeng-table.umd.min.js +1 -1
- package/bundles/primeng-table.umd.min.js.map +1 -1
- package/bundles/primeng-tabview.umd.js +25 -3
- package/bundles/primeng-tabview.umd.js.map +1 -1
- package/bundles/primeng-tabview.umd.min.js +1 -1
- package/bundles/primeng-tabview.umd.min.js.map +1 -1
- package/bundles/primeng-treetable.umd.js +1 -1
- package/bundles/primeng-treetable.umd.js.map +1 -1
- package/bundles/primeng-treetable.umd.min.js +1 -1
- package/bundles/primeng-treetable.umd.min.js.map +1 -1
- package/bundles/primeng-virtualscroller.umd.js +3 -2
- package/bundles/primeng-virtualscroller.umd.js.map +1 -1
- package/bundles/primeng-virtualscroller.umd.min.js +1 -1
- package/bundles/primeng-virtualscroller.umd.min.js.map +1 -1
- package/calendar/primeng-calendar.metadata.json +1 -1
- package/cascadeselect/cascadeselect.d.ts +3 -3
- package/cascadeselect/primeng-cascadeselect.metadata.json +1 -1
- package/colorpicker/colorpicker.d.ts +1 -1
- package/confirmdialog/confirmdialog.d.ts +3 -2
- package/confirmdialog/primeng-confirmdialog.metadata.json +1 -1
- package/dialog/primeng-dialog.metadata.json +1 -1
- package/dom/primeng-dom.metadata.json +1 -1
- package/dropdown/primeng-dropdown.metadata.json +1 -1
- package/dynamicdialog/primeng-dynamicdialog.metadata.json +1 -1
- package/esm2015/api/confirmaeventtype.js +7 -0
- package/esm2015/api/filtermatchmode.js +5 -1
- package/esm2015/api/filterservice.js +39 -3
- package/esm2015/api/primengconfig.js +9 -5
- package/esm2015/api/public_api.js +2 -1
- package/esm2015/api/translation.js +1 -1
- package/esm2015/autocomplete/autocomplete.js +105 -22
- package/esm2015/avatar/avatar.js +1 -1
- package/esm2015/calendar/calendar.js +7 -1
- package/esm2015/cascadeselect/cascadeselect.js +9 -6
- package/esm2015/colorpicker/colorpicker.js +1 -1
- package/esm2015/confirmdialog/confirmdialog.js +14 -11
- package/esm2015/contextmenu/contextmenu.js +3 -3
- package/esm2015/dialog/dialog.js +1 -1
- package/esm2015/dom/domhandler.js +4 -1
- package/esm2015/dropdown/dropdown.js +2 -2
- package/esm2015/dynamicdialog/dynamicdialog.js +1 -1
- package/esm2015/inputmask/inputmask.js +6 -3
- package/esm2015/inputnumber/inputnumber.js +13 -3
- package/esm2015/knob/knob.js +2 -2
- package/esm2015/lightbox/lightbox.js +1 -1
- package/esm2015/listbox/listbox.js +134 -42
- package/esm2015/multiselect/multiselect.js +149 -42
- package/esm2015/sidebar/sidebar.js +1 -1
- package/esm2015/slider/slider.js +2 -1
- package/esm2015/table/table.js +127 -17
- package/esm2015/tabview/tabview.js +18 -4
- package/esm2015/treetable/treetable.js +2 -2
- package/esm2015/virtualscroller/virtualscroller.js +4 -3
- package/fesm2015/primeng-api.js +58 -7
- package/fesm2015/primeng-api.js.map +1 -1
- package/fesm2015/primeng-autocomplete.js +104 -21
- package/fesm2015/primeng-autocomplete.js.map +1 -1
- package/fesm2015/primeng-avatar.js +1 -1
- package/fesm2015/primeng-calendar.js +6 -0
- package/fesm2015/primeng-calendar.js.map +1 -1
- package/fesm2015/primeng-cascadeselect.js +8 -5
- package/fesm2015/primeng-cascadeselect.js.map +1 -1
- package/fesm2015/primeng-colorpicker.js.map +1 -1
- package/fesm2015/primeng-confirmdialog.js +13 -10
- package/fesm2015/primeng-confirmdialog.js.map +1 -1
- package/fesm2015/primeng-contextmenu.js +2 -2
- package/fesm2015/primeng-contextmenu.js.map +1 -1
- package/fesm2015/primeng-dialog.js +1 -1
- package/fesm2015/primeng-dom.js +3 -0
- package/fesm2015/primeng-dom.js.map +1 -1
- package/fesm2015/primeng-dropdown.js +1 -1
- package/fesm2015/primeng-dropdown.js.map +1 -1
- package/fesm2015/primeng-dynamicdialog.js +1 -1
- package/fesm2015/primeng-inputmask.js +5 -2
- package/fesm2015/primeng-inputmask.js.map +1 -1
- package/fesm2015/primeng-inputnumber.js +12 -2
- package/fesm2015/primeng-inputnumber.js.map +1 -1
- package/fesm2015/primeng-knob.js +1 -1
- package/fesm2015/primeng-knob.js.map +1 -1
- package/fesm2015/primeng-lightbox.js +1 -1
- package/fesm2015/primeng-listbox.js +133 -41
- package/fesm2015/primeng-listbox.js.map +1 -1
- package/fesm2015/primeng-multiselect.js +148 -41
- package/fesm2015/primeng-multiselect.js.map +1 -1
- package/fesm2015/primeng-sidebar.js.map +1 -1
- package/fesm2015/primeng-slider.js +1 -0
- package/fesm2015/primeng-slider.js.map +1 -1
- package/fesm2015/primeng-table.js +126 -16
- package/fesm2015/primeng-table.js.map +1 -1
- package/fesm2015/primeng-tabview.js +17 -3
- package/fesm2015/primeng-tabview.js.map +1 -1
- package/fesm2015/primeng-treetable.js +1 -1
- package/fesm2015/primeng-treetable.js.map +1 -1
- package/fesm2015/primeng-virtualscroller.js +3 -2
- package/fesm2015/primeng-virtualscroller.js.map +1 -1
- package/inputmask/inputmask.d.ts +2 -1
- package/inputmask/primeng-inputmask.metadata.json +1 -1
- package/inputnumber/inputnumber.d.ts +3 -1
- package/inputnumber/primeng-inputnumber.metadata.json +1 -1
- package/knob/primeng-knob.metadata.json +1 -1
- package/lightbox/primeng-lightbox.metadata.json +1 -1
- package/listbox/listbox.d.ts +7 -1
- package/listbox/primeng-listbox.metadata.json +1 -1
- package/multiselect/multiselect.d.ts +8 -1
- package/multiselect/primeng-multiselect.metadata.json +1 -1
- package/package.json +1 -1
- package/resources/components/avatar/avatar.css +3 -2
- package/resources/components/dialog/dialog.css +2 -0
- package/resources/components/virtualscroller/virtualscroller.css +2 -16
- package/resources/themes/arya-blue/theme.css +26 -38
- package/resources/themes/arya-green/theme.css +26 -38
- package/resources/themes/arya-orange/theme.css +26 -38
- package/resources/themes/arya-purple/theme.css +26 -38
- package/resources/themes/bootstrap4-dark-blue/theme.css +26 -38
- package/resources/themes/bootstrap4-dark-purple/theme.css +26 -38
- package/resources/themes/bootstrap4-light-blue/theme.css +26 -38
- package/resources/themes/bootstrap4-light-purple/theme.css +26 -38
- package/resources/themes/fluent-light/theme.css +26 -38
- package/resources/themes/luna-amber/theme.css +26 -38
- package/resources/themes/luna-blue/theme.css +26 -38
- package/resources/themes/luna-green/theme.css +26 -38
- package/resources/themes/luna-pink/theme.css +26 -38
- package/resources/themes/md-dark-deeppurple/theme.css +89 -69
- package/resources/themes/md-dark-indigo/theme.css +89 -69
- package/resources/themes/md-light-deeppurple/theme.css +293 -273
- package/resources/themes/md-light-indigo/theme.css +293 -273
- package/resources/themes/mdc-dark-deeppurple/theme.css +89 -69
- package/resources/themes/mdc-dark-indigo/theme.css +89 -69
- package/resources/themes/mdc-light-deeppurple/theme.css +293 -273
- package/resources/themes/mdc-light-indigo/theme.css +293 -273
- package/resources/themes/nova/theme.css +26 -38
- package/resources/themes/nova-accent/theme.css +26 -38
- package/resources/themes/nova-alt/theme.css +26 -38
- package/resources/themes/rhea/theme.css +26 -38
- package/resources/themes/saga-blue/theme.css +26 -38
- package/resources/themes/saga-green/theme.css +26 -38
- package/resources/themes/saga-orange/theme.css +26 -38
- package/resources/themes/saga-purple/theme.css +26 -38
- package/resources/themes/vela-blue/theme.css +26 -38
- package/resources/themes/vela-green/theme.css +26 -38
- package/resources/themes/vela-orange/theme.css +26 -38
- package/resources/themes/vela-purple/theme.css +26 -38
- package/sidebar/sidebar.d.ts +1 -1
- package/slider/primeng-slider.metadata.json +1 -1
- package/table/primeng-table.metadata.json +1 -1
- package/table/table.d.ts +12 -0
- package/tabview/primeng-tabview.metadata.json +1 -1
- package/tabview/tabview.d.ts +6 -2
- package/treetable/primeng-treetable.metadata.json +1 -1
- package/virtualscroller/primeng-virtualscroller.metadata.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-slider.umd.js","sources":["../../src/app/components/slider/slider.ts","../../src/app/components/slider/primeng-slider.ts"],"sourcesContent":["import {NgModule, Component, ElementRef, OnDestroy, Input, Output, EventEmitter, forwardRef, Renderer2,NgZone,ChangeDetectorRef, ViewChild, ChangeDetectionStrategy, ViewEncapsulation} 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]=\"{'p-slider p-component':true,'p-disabled':disabled,\n 'p-slider-horizontal':orientation == 'horizontal','p-slider-vertical':orientation == 'vertical','p-slider-animate':animate}\"\n (click)=\"onBarClick($event)\">\n <span *ngIf=\"range && orientation == 'horizontal'\" class=\"p-slider-range\" [ngStyle]=\"{'left':handleValues[0] + '%',width: (handleValues[1] - handleValues[0] + '%')}\"></span>\n <span *ngIf=\"range && orientation == 'vertical'\" class=\"p-slider-range\" [ngStyle]=\"{'bottom':handleValues[0] + '%',height: (handleValues[1] - handleValues[0] + '%')}\"></span>\n <span *ngIf=\"!range && orientation=='vertical'\" class=\"p-slider-range\" [ngStyle]=\"{'height': handleValue + '%'}\"></span>\n <span *ngIf=\"!range && orientation=='horizontal'\" class=\"p-slider-range\" [ngStyle]=\"{'width': handleValue + '%'}\"></span>\n <span #sliderHandle *ngIf=\"!range\" [attr.tabindex]=\"disabled ? null : tabindex\" (keydown)=\"onHandleKeydown($event)\" class=\"p-slider-handle\" (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]=\"disabled ? null : 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=\"p-slider-handle\" \n [ngStyle]=\"{'left': rangeStartLeft, 'bottom': rangeStartBottom}\" [ngClass]=\"{'p-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]=\"disabled ? null : 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=\"p-slider-handle\" \n [ngStyle]=\"{'left': rangeEndLeft, 'bottom': rangeEndBottom}\" [ngClass]=\"{'p-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.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./slider.css']\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 if (this.range && this.handleValues && this.handleValues[0] === this.max) {\n this.handleIndex = 0;\n }\n else {\n this.handleIndex = index;\n }\n\n this.bindDragListeners();\n event.target.focus();\n event.preventDefault();\n\n if (this.animate) {\n DomHandler.removeClass(this.el.nativeElement.children[0], 'p-slider-animate');\n }\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 if (this.range && this.handleValues && this.handleValues[0] === this.max) {\n this.handleIndex = 0;\n }\n else {\n this.handleIndex = index;\n }\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 if (this.animate) {\n DomHandler.removeClass(this.el.nativeElement.children[0], 'p-slider-animate');\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 if (this.animate) {\n DomHandler.addClass(this.el.nativeElement.children[0], 'p-slider-animate');\n }\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 (this.disabled) {\n return;\n }\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 const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n if (!this.dragListener) {\n this.dragListener = this.renderer.listen(documentTarget, '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(documentTarget, '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 if (this.animate) {\n DomHandler.addClass(this.el.nativeElement.children[0], 'p-slider-animate');\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 this.cd.markForCheck();\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 this.cd.markForCheck();\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["NG_VALUE_ACCESSOR","forwardRef","EventEmitter","DomHandler","Component","ChangeDetectionStrategy","ViewEncapsulation","ElementRef","Renderer2","NgZone","ChangeDetectorRef","Input","Output","ViewChild","NgModule","CommonModule"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-slider.umd.js","sources":["../../src/app/components/slider/slider.ts","../../src/app/components/slider/primeng-slider.ts"],"sourcesContent":["import {NgModule, Component, ElementRef, OnDestroy, Input, Output, EventEmitter, forwardRef, Renderer2,NgZone,ChangeDetectorRef, ViewChild, ChangeDetectionStrategy, ViewEncapsulation} 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]=\"{'p-slider p-component':true,'p-disabled':disabled,\n 'p-slider-horizontal':orientation == 'horizontal','p-slider-vertical':orientation == 'vertical','p-slider-animate':animate}\"\n (click)=\"onBarClick($event)\">\n <span *ngIf=\"range && orientation == 'horizontal'\" class=\"p-slider-range\" [ngStyle]=\"{'left':handleValues[0] + '%',width: (handleValues[1] - handleValues[0] + '%')}\"></span>\n <span *ngIf=\"range && orientation == 'vertical'\" class=\"p-slider-range\" [ngStyle]=\"{'bottom':handleValues[0] + '%',height: (handleValues[1] - handleValues[0] + '%')}\"></span>\n <span *ngIf=\"!range && orientation=='vertical'\" class=\"p-slider-range\" [ngStyle]=\"{'height': handleValue + '%'}\"></span>\n <span *ngIf=\"!range && orientation=='horizontal'\" class=\"p-slider-range\" [ngStyle]=\"{'width': handleValue + '%'}\"></span>\n <span #sliderHandle *ngIf=\"!range\" [attr.tabindex]=\"disabled ? null : tabindex\" (keydown)=\"onHandleKeydown($event)\" class=\"p-slider-handle\" (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]=\"disabled ? null : 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=\"p-slider-handle\" \n [ngStyle]=\"{'left': rangeStartLeft, 'bottom': rangeStartBottom}\" [ngClass]=\"{'p-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]=\"disabled ? null : 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=\"p-slider-handle\" \n [ngStyle]=\"{'left': rangeEndLeft, 'bottom': rangeEndBottom}\" [ngClass]=\"{'p-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.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./slider.css']\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 if (this.range && this.handleValues && this.handleValues[0] === this.max) {\n this.handleIndex = 0;\n }\n else {\n this.handleIndex = index;\n }\n\n this.bindDragListeners();\n event.target.focus();\n event.preventDefault();\n\n if (this.animate) {\n DomHandler.removeClass(this.el.nativeElement.children[0], 'p-slider-animate');\n }\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 if (this.range && this.handleValues && this.handleValues[0] === this.max) {\n this.handleIndex = 0;\n }\n else {\n this.handleIndex = index;\n }\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 if (this.animate) {\n DomHandler.removeClass(this.el.nativeElement.children[0], 'p-slider-animate');\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 if (this.animate) {\n DomHandler.addClass(this.el.nativeElement.children[0], 'p-slider-animate');\n }\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 (this.disabled) {\n return;\n }\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 const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n if (!this.dragListener) {\n this.dragListener = this.renderer.listen(documentTarget, '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(documentTarget, '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 if (this.animate) {\n DomHandler.addClass(this.el.nativeElement.children[0], 'p-slider-animate');\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 this.sliderHandleClick = false;\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 this.cd.markForCheck();\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 this.cd.markForCheck();\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["NG_VALUE_ACCESSOR","forwardRef","EventEmitter","DomHandler","Component","ChangeDetectionStrategy","ViewEncapsulation","ElementRef","Renderer2","NgZone","ChangeDetectorRef","Input","Output","ViewChild","NgModule","CommonModule"],"mappings":"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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("primeng/dom"),require("@angular/forms")):"function"==typeof define&&define.amd?define("primeng/slider",["exports","@angular/core","@angular/common","primeng/dom","@angular/forms"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).primeng=e.primeng||{},e.primeng.slider={}),e.ng.core,e.ng.common,e.primeng.dom,e.ng.forms)}(this,(function(e,t,n,a,i){"use strict";var l={provide:i.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return s})),multi:!0},s=function(){function e(e,n,a,i){this.el=e,this.renderer=n,this.ngZone=a,this.cd=i,this.min=0,this.max=100,this.orientation="horizontal",this.tabindex=0,this.onChange=new t.EventEmitter,this.onSlideEnd=new t.EventEmitter,this.handleValues=[],this.onModelChange=function(){},this.onModelTouched=function(){},this.handleIndex=0}return e.prototype.onMouseDown=function(e,t){this.disabled||(this.dragging=!0,this.updateDomData(),this.sliderHandleClick=!0,this.range&&this.handleValues&&this.handleValues[0]===this.max?this.handleIndex=0:this.handleIndex=t,this.bindDragListeners(),e.target.focus(),e.preventDefault(),this.animate&&a.DomHandler.removeClass(this.el.nativeElement.children[0],"p-slider-animate"))},e.prototype.onTouchStart=function(e,t){if(!this.disabled){var n=e.changedTouches[0];this.startHandleValue=this.range?this.handleValues[t]:this.handleValue,this.dragging=!0,this.range&&this.handleValues&&this.handleValues[0]===this.max?this.handleIndex=0:this.handleIndex=t,"horizontal"===this.orientation?(this.startx=parseInt(n.clientX,10),this.barWidth=this.el.nativeElement.children[0].offsetWidth):(this.starty=parseInt(n.clientY,10),this.barHeight=this.el.nativeElement.children[0].offsetHeight),this.animate&&a.DomHandler.removeClass(this.el.nativeElement.children[0],"p-slider-animate"),e.preventDefault()}},e.prototype.onTouchMove=function(e,t){if(!this.disabled){var n=e.changedTouches[0],a=0;a="horizontal"===this.orientation?Math.floor(100*(parseInt(n.clientX,10)-this.startx)/this.barWidth)+this.startHandleValue:Math.floor(100*(this.starty-parseInt(n.clientY,10))/this.barHeight)+this.startHandleValue,this.setValueFromHandle(e,a),e.preventDefault()}},e.prototype.onTouchEnd=function(e,t){this.disabled||(this.dragging=!1,this.range?this.onSlideEnd.emit({originalEvent:e,values:this.values}):this.onSlideEnd.emit({originalEvent:e,value:this.value}),this.animate&&a.DomHandler.addClass(this.el.nativeElement.children[0],"p-slider-animate"),e.preventDefault())},e.prototype.onBarClick=function(e){this.disabled||(this.sliderHandleClick||(this.updateDomData(),this.handleChange(e)),this.sliderHandleClick=!1)},e.prototype.onHandleKeydown=function(e,t){this.disabled||(38==e.which||39==e.which?this.spin(e,1,t):37!=e.which&&40!=e.which||this.spin(e,-1,t))},e.prototype.spin=function(e,t,n){var a=(this.step||1)*t;this.range?(this.handleIndex=n,this.updateValue(this.values[this.handleIndex]+a),this.updateHandleValue()):(this.updateValue(this.value+a),this.updateHandleValue()),e.preventDefault()},e.prototype.handleChange=function(e){var t=this.calculateHandleValue(e);this.setValueFromHandle(e,t)},e.prototype.bindDragListeners=function(){var e=this;this.ngZone.runOutsideAngular((function(){var t=e.el?e.el.nativeElement.ownerDocument:"document";e.dragListener||(e.dragListener=e.renderer.listen(t,"mousemove",(function(t){e.dragging&&e.ngZone.run((function(){e.handleChange(t)}))}))),e.mouseupListener||(e.mouseupListener=e.renderer.listen(t,"mouseup",(function(t){e.dragging&&(e.dragging=!1,e.ngZone.run((function(){e.range?e.onSlideEnd.emit({originalEvent:t,values:e.values}):e.onSlideEnd.emit({originalEvent:t,value:e.value}),e.animate&&a.DomHandler.addClass(e.el.nativeElement.children[0],"p-slider-animate")})))})))}))},e.prototype.unbindDragListeners=function(){this.dragListener&&this.dragListener(),this.mouseupListener&&this.mouseupListener()},e.prototype.setValueFromHandle=function(e,t){var n=this.getValueFromHandle(t);this.range?this.step?this.handleStepChange(n,this.values[this.handleIndex]):(this.handleValues[this.handleIndex]=t,this.updateValue(n,e)):this.step?this.handleStepChange(n,this.value):(this.handleValue=t,this.updateValue(n,e)),this.cd.markForCheck()},e.prototype.handleStepChange=function(e,t){var n=e-t,a=t;n<0?a=t+Math.ceil(e/this.step-t/this.step)*this.step:n>0&&(a=t+Math.floor(e/this.step-t/this.step)*this.step),this.updateValue(a),this.updateHandleValue()},e.prototype.writeValue=function(e){this.range?this.values=e||[0,0]:this.value=e||0,this.updateHandleValue(),this.cd.markForCheck()},e.prototype.registerOnChange=function(e){this.onModelChange=e},e.prototype.registerOnTouched=function(e){this.onModelTouched=e},e.prototype.setDisabledState=function(e){this.disabled=e,this.cd.markForCheck()},Object.defineProperty(e.prototype,"rangeStartLeft",{get:function(){return this.isVertical()?"auto":this.handleValues[0]+"%"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rangeStartBottom",{get:function(){return this.isVertical()?this.handleValues[0]+"%":"auto"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rangeEndLeft",{get:function(){return this.isVertical()?"auto":this.handleValues[1]+"%"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rangeEndBottom",{get:function(){return this.isVertical()?this.handleValues[1]+"%":"auto"},enumerable:!1,configurable:!0}),e.prototype.isVertical=function(){return"vertical"===this.orientation},e.prototype.updateDomData=function(){var e=this.el.nativeElement.children[0].getBoundingClientRect();this.initX=e.left+a.DomHandler.getWindowScrollLeft(),this.initY=e.top+a.DomHandler.getWindowScrollTop(),this.barWidth=this.el.nativeElement.children[0].offsetWidth,this.barHeight=this.el.nativeElement.children[0].offsetHeight},e.prototype.calculateHandleValue=function(e){return"horizontal"===this.orientation?100*(e.pageX-this.initX)/this.barWidth:100*(this.initY+this.barHeight-e.pageY)/this.barHeight},e.prototype.updateHandleValue=function(){this.range?(this.handleValues[0]=100*(this.values[0]<this.min?0:this.values[0]-this.min)/(this.max-this.min),this.handleValues[1]=100*(this.values[1]>this.max?100:this.values[1]-this.min)/(this.max-this.min)):this.value<this.min?this.handleValue=0:this.value>this.max?this.handleValue=100:this.handleValue=100*(this.value-this.min)/(this.max-this.min)},e.prototype.updateValue=function(e,t){if(this.range){var n=e;0==this.handleIndex?(n<this.min?(n=this.min,this.handleValues[0]=0):n>this.values[1]&&(n=this.values[1],this.handleValues[0]=this.handleValues[1]),this.sliderHandleStart.nativeElement.focus()):(n>this.max?(n=this.max,this.handleValues[1]=100):n<this.values[0]&&(n=this.values[0],this.handleValues[1]=this.handleValues[0]),this.sliderHandleEnd.nativeElement.focus()),this.values[this.handleIndex]=this.getNormalizedValue(n),this.values=this.values.slice(),this.onModelChange(this.values),this.onChange.emit({event:t,values:this.values})}else e<this.min?(e=this.min,this.handleValue=0):e>this.max&&(e=this.max,this.handleValue=100),this.value=this.getNormalizedValue(e),this.onModelChange(this.value),this.onChange.emit({event:t,value:this.value}),this.sliderHandle.nativeElement.focus()},e.prototype.getValueFromHandle=function(e){return(this.max-this.min)*(e/100)+this.min},e.prototype.getDecimalsCount=function(e){return e&&Math.floor(e)!==e&&e.toString().split(".")[1].length||0},e.prototype.getNormalizedValue=function(e){var t=this.getDecimalsCount(this.step);return t>0?+e.toFixed(t):Math.floor(e)},e.prototype.ngOnDestroy=function(){this.unbindDragListeners()},e}();s.decorators=[{type:t.Component,args:[{selector:"p-slider",template:'\n <div [ngStyle]="style" [class]="styleClass" [ngClass]="{\'p-slider p-component\':true,\'p-disabled\':disabled,\n \'p-slider-horizontal\':orientation == \'horizontal\',\'p-slider-vertical\':orientation == \'vertical\',\'p-slider-animate\':animate}"\n (click)="onBarClick($event)">\n <span *ngIf="range && orientation == \'horizontal\'" class="p-slider-range" [ngStyle]="{\'left\':handleValues[0] + \'%\',width: (handleValues[1] - handleValues[0] + \'%\')}"></span>\n <span *ngIf="range && orientation == \'vertical\'" class="p-slider-range" [ngStyle]="{\'bottom\':handleValues[0] + \'%\',height: (handleValues[1] - handleValues[0] + \'%\')}"></span>\n <span *ngIf="!range && orientation==\'vertical\'" class="p-slider-range" [ngStyle]="{\'height\': handleValue + \'%\'}"></span>\n <span *ngIf="!range && orientation==\'horizontal\'" class="p-slider-range" [ngStyle]="{\'width\': handleValue + \'%\'}"></span>\n <span #sliderHandle *ngIf="!range" [attr.tabindex]="disabled ? null : tabindex" (keydown)="onHandleKeydown($event)" class="p-slider-handle" (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]="disabled ? null : 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="p-slider-handle" \n [ngStyle]="{\'left\': rangeStartLeft, \'bottom\': rangeStartBottom}" [ngClass]="{\'p-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]="disabled ? null : 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="p-slider-handle" \n [ngStyle]="{\'left\': rangeEndLeft, \'bottom\': rangeEndBottom}" [ngClass]="{\'p-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 ',providers:[l],changeDetection:t.ChangeDetectionStrategy.OnPush,encapsulation:t.ViewEncapsulation.None,styles:[".p-slider{position:relative}.p-slider .p-slider-handle{cursor:grab;touch-action:none}.p-slider-range,.p-slider .p-slider-handle{display:block;position:absolute}.p-slider-horizontal .p-slider-range{height:100%;left:0;top:0}.p-slider-horizontal .p-slider-handle{top:50%}.p-slider-vertical{height:100px}.p-slider-vertical .p-slider-handle{left:50%}.p-slider-vertical .p-slider-range{bottom:0;left:0;width:100%}"]}]}],s.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Renderer2},{type:t.NgZone},{type:t.ChangeDetectorRef}]},s.propDecorators={animate:[{type:t.Input}],disabled:[{type:t.Input}],min:[{type:t.Input}],max:[{type:t.Input}],orientation:[{type:t.Input}],step:[{type:t.Input}],range:[{type:t.Input}],style:[{type:t.Input}],styleClass:[{type:t.Input}],ariaLabelledBy:[{type:t.Input}],tabindex:[{type:t.Input}],onChange:[{type:t.Output}],onSlideEnd:[{type:t.Output}],sliderHandle:[{type:t.ViewChild,args:["sliderHandle"]}],sliderHandleStart:[{type:t.ViewChild,args:["sliderHandleStart"]}],sliderHandleEnd:[{type:t.ViewChild,args:["sliderHandleEnd"]}]};var r=function(){};r.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule],exports:[s],declarations:[s]}]}],e.SLIDER_VALUE_ACCESSOR=l,e.Slider=s,e.SliderModule=r,Object.defineProperty(e,"__esModule",{value:!0})}));
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("primeng/dom"),require("@angular/forms")):"function"==typeof define&&define.amd?define("primeng/slider",["exports","@angular/core","@angular/common","primeng/dom","@angular/forms"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).primeng=e.primeng||{},e.primeng.slider={}),e.ng.core,e.ng.common,e.primeng.dom,e.ng.forms)}(this,(function(e,t,n,a,i){"use strict";var l={provide:i.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return s})),multi:!0},s=function(){function e(e,n,a,i){this.el=e,this.renderer=n,this.ngZone=a,this.cd=i,this.min=0,this.max=100,this.orientation="horizontal",this.tabindex=0,this.onChange=new t.EventEmitter,this.onSlideEnd=new t.EventEmitter,this.handleValues=[],this.onModelChange=function(){},this.onModelTouched=function(){},this.handleIndex=0}return e.prototype.onMouseDown=function(e,t){this.disabled||(this.dragging=!0,this.updateDomData(),this.sliderHandleClick=!0,this.range&&this.handleValues&&this.handleValues[0]===this.max?this.handleIndex=0:this.handleIndex=t,this.bindDragListeners(),e.target.focus(),e.preventDefault(),this.animate&&a.DomHandler.removeClass(this.el.nativeElement.children[0],"p-slider-animate"))},e.prototype.onTouchStart=function(e,t){if(!this.disabled){var n=e.changedTouches[0];this.startHandleValue=this.range?this.handleValues[t]:this.handleValue,this.dragging=!0,this.range&&this.handleValues&&this.handleValues[0]===this.max?this.handleIndex=0:this.handleIndex=t,"horizontal"===this.orientation?(this.startx=parseInt(n.clientX,10),this.barWidth=this.el.nativeElement.children[0].offsetWidth):(this.starty=parseInt(n.clientY,10),this.barHeight=this.el.nativeElement.children[0].offsetHeight),this.animate&&a.DomHandler.removeClass(this.el.nativeElement.children[0],"p-slider-animate"),e.preventDefault()}},e.prototype.onTouchMove=function(e,t){if(!this.disabled){var n=e.changedTouches[0],a=0;a="horizontal"===this.orientation?Math.floor(100*(parseInt(n.clientX,10)-this.startx)/this.barWidth)+this.startHandleValue:Math.floor(100*(this.starty-parseInt(n.clientY,10))/this.barHeight)+this.startHandleValue,this.setValueFromHandle(e,a),e.preventDefault()}},e.prototype.onTouchEnd=function(e,t){this.disabled||(this.dragging=!1,this.range?this.onSlideEnd.emit({originalEvent:e,values:this.values}):this.onSlideEnd.emit({originalEvent:e,value:this.value}),this.animate&&a.DomHandler.addClass(this.el.nativeElement.children[0],"p-slider-animate"),e.preventDefault())},e.prototype.onBarClick=function(e){this.disabled||(this.sliderHandleClick||(this.updateDomData(),this.handleChange(e)),this.sliderHandleClick=!1)},e.prototype.onHandleKeydown=function(e,t){this.disabled||(38==e.which||39==e.which?this.spin(e,1,t):37!=e.which&&40!=e.which||this.spin(e,-1,t))},e.prototype.spin=function(e,t,n){var a=(this.step||1)*t;this.range?(this.handleIndex=n,this.updateValue(this.values[this.handleIndex]+a),this.updateHandleValue()):(this.updateValue(this.value+a),this.updateHandleValue()),e.preventDefault()},e.prototype.handleChange=function(e){var t=this.calculateHandleValue(e);this.setValueFromHandle(e,t)},e.prototype.bindDragListeners=function(){var e=this;this.ngZone.runOutsideAngular((function(){var t=e.el?e.el.nativeElement.ownerDocument:"document";e.dragListener||(e.dragListener=e.renderer.listen(t,"mousemove",(function(t){e.dragging&&e.ngZone.run((function(){e.handleChange(t)}))}))),e.mouseupListener||(e.mouseupListener=e.renderer.listen(t,"mouseup",(function(t){e.dragging&&(e.dragging=!1,e.ngZone.run((function(){e.range?e.onSlideEnd.emit({originalEvent:t,values:e.values}):e.onSlideEnd.emit({originalEvent:t,value:e.value}),e.animate&&a.DomHandler.addClass(e.el.nativeElement.children[0],"p-slider-animate")})))})))}))},e.prototype.unbindDragListeners=function(){this.dragListener&&this.dragListener(),this.mouseupListener&&this.mouseupListener()},e.prototype.setValueFromHandle=function(e,t){this.sliderHandleClick=!1;var n=this.getValueFromHandle(t);this.range?this.step?this.handleStepChange(n,this.values[this.handleIndex]):(this.handleValues[this.handleIndex]=t,this.updateValue(n,e)):this.step?this.handleStepChange(n,this.value):(this.handleValue=t,this.updateValue(n,e)),this.cd.markForCheck()},e.prototype.handleStepChange=function(e,t){var n=e-t,a=t;n<0?a=t+Math.ceil(e/this.step-t/this.step)*this.step:n>0&&(a=t+Math.floor(e/this.step-t/this.step)*this.step),this.updateValue(a),this.updateHandleValue()},e.prototype.writeValue=function(e){this.range?this.values=e||[0,0]:this.value=e||0,this.updateHandleValue(),this.cd.markForCheck()},e.prototype.registerOnChange=function(e){this.onModelChange=e},e.prototype.registerOnTouched=function(e){this.onModelTouched=e},e.prototype.setDisabledState=function(e){this.disabled=e,this.cd.markForCheck()},Object.defineProperty(e.prototype,"rangeStartLeft",{get:function(){return this.isVertical()?"auto":this.handleValues[0]+"%"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rangeStartBottom",{get:function(){return this.isVertical()?this.handleValues[0]+"%":"auto"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rangeEndLeft",{get:function(){return this.isVertical()?"auto":this.handleValues[1]+"%"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rangeEndBottom",{get:function(){return this.isVertical()?this.handleValues[1]+"%":"auto"},enumerable:!1,configurable:!0}),e.prototype.isVertical=function(){return"vertical"===this.orientation},e.prototype.updateDomData=function(){var e=this.el.nativeElement.children[0].getBoundingClientRect();this.initX=e.left+a.DomHandler.getWindowScrollLeft(),this.initY=e.top+a.DomHandler.getWindowScrollTop(),this.barWidth=this.el.nativeElement.children[0].offsetWidth,this.barHeight=this.el.nativeElement.children[0].offsetHeight},e.prototype.calculateHandleValue=function(e){return"horizontal"===this.orientation?100*(e.pageX-this.initX)/this.barWidth:100*(this.initY+this.barHeight-e.pageY)/this.barHeight},e.prototype.updateHandleValue=function(){this.range?(this.handleValues[0]=100*(this.values[0]<this.min?0:this.values[0]-this.min)/(this.max-this.min),this.handleValues[1]=100*(this.values[1]>this.max?100:this.values[1]-this.min)/(this.max-this.min)):this.value<this.min?this.handleValue=0:this.value>this.max?this.handleValue=100:this.handleValue=100*(this.value-this.min)/(this.max-this.min)},e.prototype.updateValue=function(e,t){if(this.range){var n=e;0==this.handleIndex?(n<this.min?(n=this.min,this.handleValues[0]=0):n>this.values[1]&&(n=this.values[1],this.handleValues[0]=this.handleValues[1]),this.sliderHandleStart.nativeElement.focus()):(n>this.max?(n=this.max,this.handleValues[1]=100):n<this.values[0]&&(n=this.values[0],this.handleValues[1]=this.handleValues[0]),this.sliderHandleEnd.nativeElement.focus()),this.values[this.handleIndex]=this.getNormalizedValue(n),this.values=this.values.slice(),this.onModelChange(this.values),this.onChange.emit({event:t,values:this.values})}else e<this.min?(e=this.min,this.handleValue=0):e>this.max&&(e=this.max,this.handleValue=100),this.value=this.getNormalizedValue(e),this.onModelChange(this.value),this.onChange.emit({event:t,value:this.value}),this.sliderHandle.nativeElement.focus()},e.prototype.getValueFromHandle=function(e){return(this.max-this.min)*(e/100)+this.min},e.prototype.getDecimalsCount=function(e){return e&&Math.floor(e)!==e&&e.toString().split(".")[1].length||0},e.prototype.getNormalizedValue=function(e){var t=this.getDecimalsCount(this.step);return t>0?+e.toFixed(t):Math.floor(e)},e.prototype.ngOnDestroy=function(){this.unbindDragListeners()},e}();s.decorators=[{type:t.Component,args:[{selector:"p-slider",template:'\n <div [ngStyle]="style" [class]="styleClass" [ngClass]="{\'p-slider p-component\':true,\'p-disabled\':disabled,\n \'p-slider-horizontal\':orientation == \'horizontal\',\'p-slider-vertical\':orientation == \'vertical\',\'p-slider-animate\':animate}"\n (click)="onBarClick($event)">\n <span *ngIf="range && orientation == \'horizontal\'" class="p-slider-range" [ngStyle]="{\'left\':handleValues[0] + \'%\',width: (handleValues[1] - handleValues[0] + \'%\')}"></span>\n <span *ngIf="range && orientation == \'vertical\'" class="p-slider-range" [ngStyle]="{\'bottom\':handleValues[0] + \'%\',height: (handleValues[1] - handleValues[0] + \'%\')}"></span>\n <span *ngIf="!range && orientation==\'vertical\'" class="p-slider-range" [ngStyle]="{\'height\': handleValue + \'%\'}"></span>\n <span *ngIf="!range && orientation==\'horizontal\'" class="p-slider-range" [ngStyle]="{\'width\': handleValue + \'%\'}"></span>\n <span #sliderHandle *ngIf="!range" [attr.tabindex]="disabled ? null : tabindex" (keydown)="onHandleKeydown($event)" class="p-slider-handle" (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]="disabled ? null : 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="p-slider-handle" \n [ngStyle]="{\'left\': rangeStartLeft, \'bottom\': rangeStartBottom}" [ngClass]="{\'p-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]="disabled ? null : 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="p-slider-handle" \n [ngStyle]="{\'left\': rangeEndLeft, \'bottom\': rangeEndBottom}" [ngClass]="{\'p-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 ',providers:[l],changeDetection:t.ChangeDetectionStrategy.OnPush,encapsulation:t.ViewEncapsulation.None,styles:[".p-slider{position:relative}.p-slider .p-slider-handle{cursor:grab;touch-action:none}.p-slider-range,.p-slider .p-slider-handle{display:block;position:absolute}.p-slider-horizontal .p-slider-range{height:100%;left:0;top:0}.p-slider-horizontal .p-slider-handle{top:50%}.p-slider-vertical{height:100px}.p-slider-vertical .p-slider-handle{left:50%}.p-slider-vertical .p-slider-range{bottom:0;left:0;width:100%}"]}]}],s.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Renderer2},{type:t.NgZone},{type:t.ChangeDetectorRef}]},s.propDecorators={animate:[{type:t.Input}],disabled:[{type:t.Input}],min:[{type:t.Input}],max:[{type:t.Input}],orientation:[{type:t.Input}],step:[{type:t.Input}],range:[{type:t.Input}],style:[{type:t.Input}],styleClass:[{type:t.Input}],ariaLabelledBy:[{type:t.Input}],tabindex:[{type:t.Input}],onChange:[{type:t.Output}],onSlideEnd:[{type:t.Output}],sliderHandle:[{type:t.ViewChild,args:["sliderHandle"]}],sliderHandleStart:[{type:t.ViewChild,args:["sliderHandleStart"]}],sliderHandleEnd:[{type:t.ViewChild,args:["sliderHandleEnd"]}]};var r=function(){};r.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule],exports:[s],declarations:[s]}]}],e.SLIDER_VALUE_ACCESSOR=l,e.Slider=s,e.SliderModule=r,Object.defineProperty(e,"__esModule",{value:!0})}));
|
2
2
|
//# sourceMappingURL=primeng-slider.umd.min.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/app/components/slider/slider.ts"],"names":["SLIDER_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","Slider","multi","el","renderer","ngZone","cd","this","min","max","orientation","tabindex","onChange","EventEmitter","onSlideEnd","handleValues","onModelChange","onModelTouched","handleIndex","prototype","onMouseDown","event","index","disabled","dragging","updateDomData","sliderHandleClick","range","bindDragListeners","target","focus","preventDefault","animate","DomHandler","removeClass","nativeElement","children","onTouchStart","touchobj","changedTouches","startHandleValue","handleValue","startx","parseInt","clientX","barWidth","offsetWidth","starty","clientY","barHeight","offsetHeight","onTouchMove","Math","floor","setValueFromHandle","onTouchEnd","emit","originalEvent","values","value","addClass","onBarClick","handleChange","onHandleKeydown","which","spin","dir","step","updateValue","updateHandleValue","calculateHandleValue","_this","runOutsideAngular","documentTarget","ownerDocument","dragListener","listen","run","mouseupListener","unbindDragListeners","newValue","getValueFromHandle","handleStepChange","markForCheck","oldValue","diff","val","ceil","writeValue","registerOnChange","fn","registerOnTouched","setDisabledState","Object","defineProperty","isVertical","rect","getBoundingClientRect","initX","left","getWindowScrollLeft","initY","top","getWindowScrollTop","pageX","pageY","sliderHandleStart","sliderHandleEnd","getNormalizedValue","slice","sliderHandle","getDecimalsCount","toString","split","length","decimalsCount","toFixed","ngOnDestroy","Component","args","selector","template","providers","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","ElementRef","Renderer2","NgZone","ChangeDetectorRef","Input","Output","ViewChild","NgModule","imports","CommonModule","exports","declarations"],"mappings":"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","sourcesContent":["import {NgModule, Component, ElementRef, OnDestroy, Input, Output, EventEmitter, forwardRef, Renderer2,NgZone,ChangeDetectorRef, ViewChild, ChangeDetectionStrategy, ViewEncapsulation} 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]=\"{'p-slider p-component':true,'p-disabled':disabled,\n 'p-slider-horizontal':orientation == 'horizontal','p-slider-vertical':orientation == 'vertical','p-slider-animate':animate}\"\n (click)=\"onBarClick($event)\">\n <span *ngIf=\"range && orientation == 'horizontal'\" class=\"p-slider-range\" [ngStyle]=\"{'left':handleValues[0] + '%',width: (handleValues[1] - handleValues[0] + '%')}\"></span>\n <span *ngIf=\"range && orientation == 'vertical'\" class=\"p-slider-range\" [ngStyle]=\"{'bottom':handleValues[0] + '%',height: (handleValues[1] - handleValues[0] + '%')}\"></span>\n <span *ngIf=\"!range && orientation=='vertical'\" class=\"p-slider-range\" [ngStyle]=\"{'height': handleValue + '%'}\"></span>\n <span *ngIf=\"!range && orientation=='horizontal'\" class=\"p-slider-range\" [ngStyle]=\"{'width': handleValue + '%'}\"></span>\n <span #sliderHandle *ngIf=\"!range\" [attr.tabindex]=\"disabled ? null : tabindex\" (keydown)=\"onHandleKeydown($event)\" class=\"p-slider-handle\" (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]=\"disabled ? null : 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=\"p-slider-handle\" \n [ngStyle]=\"{'left': rangeStartLeft, 'bottom': rangeStartBottom}\" [ngClass]=\"{'p-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]=\"disabled ? null : 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=\"p-slider-handle\" \n [ngStyle]=\"{'left': rangeEndLeft, 'bottom': rangeEndBottom}\" [ngClass]=\"{'p-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.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./slider.css']\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 if (this.range && this.handleValues && this.handleValues[0] === this.max) {\n this.handleIndex = 0;\n }\n else {\n this.handleIndex = index;\n }\n\n this.bindDragListeners();\n event.target.focus();\n event.preventDefault();\n\n if (this.animate) {\n DomHandler.removeClass(this.el.nativeElement.children[0], 'p-slider-animate');\n }\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 if (this.range && this.handleValues && this.handleValues[0] === this.max) {\n this.handleIndex = 0;\n }\n else {\n this.handleIndex = index;\n }\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 if (this.animate) {\n DomHandler.removeClass(this.el.nativeElement.children[0], 'p-slider-animate');\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 if (this.animate) {\n DomHandler.addClass(this.el.nativeElement.children[0], 'p-slider-animate');\n }\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 (this.disabled) {\n return;\n }\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 const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n if (!this.dragListener) {\n this.dragListener = this.renderer.listen(documentTarget, '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(documentTarget, '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 if (this.animate) {\n DomHandler.addClass(this.el.nativeElement.children[0], 'p-slider-animate');\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 this.cd.markForCheck();\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 this.cd.markForCheck();\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"]}
|
1
|
+
{"version":3,"sources":["../../src/app/components/slider/slider.ts"],"names":["SLIDER_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","Slider","multi","el","renderer","ngZone","cd","this","min","max","orientation","tabindex","onChange","EventEmitter","onSlideEnd","handleValues","onModelChange","onModelTouched","handleIndex","prototype","onMouseDown","event","index","disabled","dragging","updateDomData","sliderHandleClick","range","bindDragListeners","target","focus","preventDefault","animate","DomHandler","removeClass","nativeElement","children","onTouchStart","touchobj","changedTouches","startHandleValue","handleValue","startx","parseInt","clientX","barWidth","offsetWidth","starty","clientY","barHeight","offsetHeight","onTouchMove","Math","floor","setValueFromHandle","onTouchEnd","emit","originalEvent","values","value","addClass","onBarClick","handleChange","onHandleKeydown","which","spin","dir","step","updateValue","updateHandleValue","calculateHandleValue","_this","runOutsideAngular","documentTarget","ownerDocument","dragListener","listen","run","mouseupListener","unbindDragListeners","newValue","getValueFromHandle","handleStepChange","markForCheck","oldValue","diff","val","ceil","writeValue","registerOnChange","fn","registerOnTouched","setDisabledState","Object","defineProperty","isVertical","rect","getBoundingClientRect","initX","left","getWindowScrollLeft","initY","top","getWindowScrollTop","pageX","pageY","sliderHandleStart","sliderHandleEnd","getNormalizedValue","slice","sliderHandle","getDecimalsCount","toString","split","length","decimalsCount","toFixed","ngOnDestroy","Component","args","selector","template","providers","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","ElementRef","Renderer2","NgZone","ChangeDetectorRef","Input","Output","ViewChild","NgModule","imports","CommonModule","exports","declarations"],"mappings":"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","sourcesContent":["import {NgModule, Component, ElementRef, OnDestroy, Input, Output, EventEmitter, forwardRef, Renderer2,NgZone,ChangeDetectorRef, ViewChild, ChangeDetectionStrategy, ViewEncapsulation} 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]=\"{'p-slider p-component':true,'p-disabled':disabled,\n 'p-slider-horizontal':orientation == 'horizontal','p-slider-vertical':orientation == 'vertical','p-slider-animate':animate}\"\n (click)=\"onBarClick($event)\">\n <span *ngIf=\"range && orientation == 'horizontal'\" class=\"p-slider-range\" [ngStyle]=\"{'left':handleValues[0] + '%',width: (handleValues[1] - handleValues[0] + '%')}\"></span>\n <span *ngIf=\"range && orientation == 'vertical'\" class=\"p-slider-range\" [ngStyle]=\"{'bottom':handleValues[0] + '%',height: (handleValues[1] - handleValues[0] + '%')}\"></span>\n <span *ngIf=\"!range && orientation=='vertical'\" class=\"p-slider-range\" [ngStyle]=\"{'height': handleValue + '%'}\"></span>\n <span *ngIf=\"!range && orientation=='horizontal'\" class=\"p-slider-range\" [ngStyle]=\"{'width': handleValue + '%'}\"></span>\n <span #sliderHandle *ngIf=\"!range\" [attr.tabindex]=\"disabled ? null : tabindex\" (keydown)=\"onHandleKeydown($event)\" class=\"p-slider-handle\" (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]=\"disabled ? null : 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=\"p-slider-handle\" \n [ngStyle]=\"{'left': rangeStartLeft, 'bottom': rangeStartBottom}\" [ngClass]=\"{'p-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]=\"disabled ? null : 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=\"p-slider-handle\" \n [ngStyle]=\"{'left': rangeEndLeft, 'bottom': rangeEndBottom}\" [ngClass]=\"{'p-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.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./slider.css']\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 if (this.range && this.handleValues && this.handleValues[0] === this.max) {\n this.handleIndex = 0;\n }\n else {\n this.handleIndex = index;\n }\n\n this.bindDragListeners();\n event.target.focus();\n event.preventDefault();\n\n if (this.animate) {\n DomHandler.removeClass(this.el.nativeElement.children[0], 'p-slider-animate');\n }\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 if (this.range && this.handleValues && this.handleValues[0] === this.max) {\n this.handleIndex = 0;\n }\n else {\n this.handleIndex = index;\n }\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 if (this.animate) {\n DomHandler.removeClass(this.el.nativeElement.children[0], 'p-slider-animate');\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 if (this.animate) {\n DomHandler.addClass(this.el.nativeElement.children[0], 'p-slider-animate');\n }\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 (this.disabled) {\n return;\n }\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 const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n if (!this.dragListener) {\n this.dragListener = this.renderer.listen(documentTarget, '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(documentTarget, '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 if (this.animate) {\n DomHandler.addClass(this.el.nativeElement.children[0], 'p-slider-animate');\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 this.sliderHandleClick = false;\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 this.cd.markForCheck();\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 this.cd.markForCheck();\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"]}
|