UNPKG

@terminus/ngx-tools

Version:

[![CircleCI][circle-badge]][circle-link] [![codecov][codecov-badge]][codecov-project] [![semantic-release][semantic-release-badge]][semantic-release] [![MIT License][license-image]][license-url] <br> [![NPM version][npm-version-image]][npm-url] [![Github

25 lines 3.07 kB
/** * Creates a browser TouchEvent with the specified pointer coordinates. * * @param type - The touch event type * @param pageX - The location on the X axis * @param pageY - The location on the Y axis * * @example * createTouchEvent('touchstart'); * createTouchEvent('touchstart', 212, 433); */ export function createTouchEvent(type, pageX = 0, pageY = 0) { // NOTE: In favor of creating events that work for most of the browsers, the event is created // as a basic UI Event. The necessary details for the event will be set manually. const event = document.createEvent('UIEvent'); const touchDetails = { pageX, pageY, }; event.initEvent(type, true, true); // NOTE: Most of the browsers don't have a "initTouchEvent" method that can be used to define the touch details. Object.defineProperties(event, { touches: { value: [touchDetails] } }); return event; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRvdWNoLWV2ZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRlcm1pbnVzL25neC10b29scy90ZXN0aW5nLyIsInNvdXJjZXMiOlsidXRpbGl0aWVzL2V2ZW50cy9jcmVhdGUtdG91Y2gtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQztJQUNqRSw2RkFBNkY7SUFDN0YsaUZBQWlGO0lBQ2pGLE1BQU0sS0FBSyxHQUFZLFFBQVEsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkQsTUFBTSxZQUFZLEdBQUc7UUFDbkIsS0FBSztRQUNMLEtBQUs7S0FDTixDQUFDO0lBQ0YsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2xDLGdIQUFnSDtJQUNoSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkUsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDcmVhdGVzIGEgYnJvd3NlciBUb3VjaEV2ZW50IHdpdGggdGhlIHNwZWNpZmllZCBwb2ludGVyIGNvb3JkaW5hdGVzLlxuICpcbiAqIEBwYXJhbSB0eXBlIC0gVGhlIHRvdWNoIGV2ZW50IHR5cGVcbiAqIEBwYXJhbSBwYWdlWCAtIFRoZSBsb2NhdGlvbiBvbiB0aGUgWCBheGlzXG4gKiBAcGFyYW0gcGFnZVkgLSBUaGUgbG9jYXRpb24gb24gdGhlIFkgYXhpc1xuICpcbiAqIEBleGFtcGxlXG4gKiBjcmVhdGVUb3VjaEV2ZW50KCd0b3VjaHN0YXJ0Jyk7XG4gKiBjcmVhdGVUb3VjaEV2ZW50KCd0b3VjaHN0YXJ0JywgMjEyLCA0MzMpO1xuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVG91Y2hFdmVudCh0eXBlOiBzdHJpbmcsIHBhZ2VYID0gMCwgcGFnZVkgPSAwKTogVUlFdmVudCB7XG4gIC8vIE5PVEU6IEluIGZhdm9yIG9mIGNyZWF0aW5nIGV2ZW50cyB0aGF0IHdvcmsgZm9yIG1vc3Qgb2YgdGhlIGJyb3dzZXJzLCB0aGUgZXZlbnQgaXMgY3JlYXRlZFxuICAvLyBhcyBhIGJhc2ljIFVJIEV2ZW50LiBUaGUgbmVjZXNzYXJ5IGRldGFpbHMgZm9yIHRoZSBldmVudCB3aWxsIGJlIHNldCBtYW51YWxseS5cbiAgY29uc3QgZXZlbnQ6IFVJRXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnVUlFdmVudCcpO1xuICBjb25zdCB0b3VjaERldGFpbHMgPSB7XG4gICAgcGFnZVgsXG4gICAgcGFnZVksXG4gIH07XG4gIGV2ZW50LmluaXRFdmVudCh0eXBlLCB0cnVlLCB0cnVlKTtcbiAgLy8gTk9URTogTW9zdCBvZiB0aGUgYnJvd3NlcnMgZG9uJ3QgaGF2ZSBhIFwiaW5pdFRvdWNoRXZlbnRcIiBtZXRob2QgdGhhdCBjYW4gYmUgdXNlZCB0byBkZWZpbmUgdGhlIHRvdWNoIGRldGFpbHMuXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGV2ZW50LCB7IHRvdWNoZXM6IHsgdmFsdWU6IFt0b3VjaERldGFpbHNdIH0gfSk7XG4gIHJldHVybiBldmVudDtcbn1cbiJdfQ==