ngx-select-angle
Version:
A component for selecting an angle between 0 and 360 degrees in the Angular framework
33 lines • 3.94 kB
JavaScript
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
export class NgxSelectAngleService {
constructor() { }
getOffsetPosition(evt, parent) {
if (evt instanceof MouseEvent) {
return {
x: evt.offsetX,
y: evt.offsetY,
};
}
var position = {
x: evt.targetTouches
? evt.targetTouches[0].pageX
: evt.touches[0].clientX,
y: evt.targetTouches
? evt.targetTouches[0].pageY
: evt.touches[0].clientY,
};
while (parent.offsetParent) {
position.x -= parent.offsetLeft - parent.scrollLeft;
position.y -= parent.offsetTop - parent.scrollTop;
parent = parent.offsetParent;
}
return position;
}
}
NgxSelectAngleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NgxSelectAngleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
NgxSelectAngleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NgxSelectAngleService });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NgxSelectAngleService, decorators: [{
type: Injectable
}], ctorParameters: function () { return []; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNlbGVjdC1hbmdsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNlbGVjdC1hbmdsZS9zcmMvbGliL25neC1zZWxlY3QtYW5nbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLGdCQUFlLENBQUM7SUFFaEIsaUJBQWlCLENBQUMsR0FBNEIsRUFBRSxNQUFtQjtRQUNqRSxJQUFJLEdBQUcsWUFBWSxVQUFVLEVBQUU7WUFDN0IsT0FBTztnQkFDTCxDQUFDLEVBQUUsR0FBRyxDQUFDLE9BQU87Z0JBQ2QsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPO2FBQ2YsQ0FBQztTQUNIO1FBQ0QsSUFBSSxRQUFRLEdBQUc7WUFDYixDQUFDLEVBQUUsR0FBRyxDQUFDLGFBQWE7Z0JBQ2xCLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7Z0JBQzVCLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87WUFDMUIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxhQUFhO2dCQUNsQixDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO2dCQUM1QixDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO1NBQzNCLENBQUM7UUFFRixPQUFPLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDMUIsUUFBUSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDcEQsUUFBUSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFFbEQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxZQUFtQixDQUFDO1NBQ3JDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7a0hBM0JVLHFCQUFxQjtzSEFBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZ3hTZWxlY3RBbmdsZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgZ2V0T2Zmc2V0UG9zaXRpb24oZXZ0OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCwgcGFyZW50OiBIVE1MRWxlbWVudCkge1xuICAgIGlmIChldnQgaW5zdGFuY2VvZiBNb3VzZUV2ZW50KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB4OiBldnQub2Zmc2V0WCxcbiAgICAgICAgeTogZXZ0Lm9mZnNldFksXG4gICAgICB9O1xuICAgIH1cbiAgICB2YXIgcG9zaXRpb24gPSB7XG4gICAgICB4OiBldnQudGFyZ2V0VG91Y2hlc1xuICAgICAgICA/IGV2dC50YXJnZXRUb3VjaGVzWzBdLnBhZ2VYXG4gICAgICAgIDogZXZ0LnRvdWNoZXNbMF0uY2xpZW50WCxcbiAgICAgIHk6IGV2dC50YXJnZXRUb3VjaGVzXG4gICAgICAgID8gZXZ0LnRhcmdldFRvdWNoZXNbMF0ucGFnZVlcbiAgICAgICAgOiBldnQudG91Y2hlc1swXS5jbGllbnRZLFxuICAgIH07XG5cbiAgICB3aGlsZSAocGFyZW50Lm9mZnNldFBhcmVudCkge1xuICAgICAgcG9zaXRpb24ueCAtPSBwYXJlbnQub2Zmc2V0TGVmdCAtIHBhcmVudC5zY3JvbGxMZWZ0O1xuICAgICAgcG9zaXRpb24ueSAtPSBwYXJlbnQub2Zmc2V0VG9wIC0gcGFyZW50LnNjcm9sbFRvcDtcblxuICAgICAgcGFyZW50ID0gcGFyZW50Lm9mZnNldFBhcmVudCBhcyBhbnk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xuICB9XG59XG4iXX0=