ngx-graph-new
Version:
Modify the ngx-chart version is used
53 lines (42 loc) • 1.27 kB
text/typescript
import { Directive, Output, HostListener, EventEmitter } from '@angular/core';
/**
* Mousewheel directive
* https://github.com/SodhanaLibrary/angular2-examples/blob/master/app/mouseWheelDirective/mousewheel.directive.ts
*
* @export
* @class MouseWheelDirective
*/
({ selector: '[mouseWheel]' })
export class MouseWheelDirective {
() mouseWheelUp = new EventEmitter();
() mouseWheelDown = new EventEmitter();
('mousewheel', ['$event'])
onMouseWheelChrome(event: any): void {
this.mouseWheelFunc(event);
}
('DOMMouseScroll', ['$event'])
onMouseWheelFirefox(event: any): void {
this.mouseWheelFunc(event);
}
('onmousewheel', ['$event'])
onMouseWheelIE(event: any): void {
this.mouseWheelFunc(event);
}
mouseWheelFunc(event: any): void {
if (window.event) {
event = window.event;
}
const delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));
if (delta > 0) {
this.mouseWheelUp.emit(event);
} else if(delta < 0) {
this.mouseWheelDown.emit(event);
}
// for IE
event.returnValue = false;
// for Chrome and Firefox
if(event.preventDefault) {
event.preventDefault();
}
}
}