| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- import { Injectable } from '@angular/core';
- import { Platform } from '../platform/platform';
- /**
- * @name Haptic
- * @description
- * The `Haptic` class interacts with a haptic engine on the device, if
- * available. Generally, Ionic components use this under the hood, but you're
- * welcome to get a bit crazy with it if you fancy.
- *
- * Currently, this uses the Taptic engine on iOS.
- *
- * @usage
- * ```ts
- * export class MyClass {
- *
- * constructor(haptic: Haptic) {
- * haptic.selection();
- * }
- * }
- *
- * ```
- */
- export class Haptic {
- constructor(plt) {
- if (plt) {
- plt.ready().then(() => {
- this._p = plt.win().TapticEngine;
- });
- }
- }
- /**
- * Check to see if the Haptic Plugin is available
- * @return {boolean} Returns true or false if the plugin is available
- *
- */
- available() {
- return !!this._p;
- }
- /**
- * Trigger a selection changed haptic event. Good for one-time events
- * (not for gestures)
- */
- selection() {
- this._p && this._p.selection();
- }
- /**
- * Tell the haptic engine that a gesture for a selection change is starting.
- */
- gestureSelectionStart() {
- this._p && this._p.gestureSelectionStart();
- }
- /**
- * Tell the haptic engine that a selection changed during a gesture.
- */
- gestureSelectionChanged() {
- this._p && this._p.gestureSelectionChanged();
- }
- /**
- * Tell the haptic engine we are done with a gesture. This needs to be
- * called lest resources are not properly recycled.
- */
- gestureSelectionEnd() {
- this._p && this._p.gestureSelectionEnd();
- }
- /**
- * Use this to indicate success/failure/warning to the user.
- * options should be of the type `{ type: 'success' }` (or `warning`/`error`)
- */
- notification(options) {
- this._p && this._p.notification(options);
- }
- /**
- * Use this to indicate success/failure/warning to the user.
- * options should be of the type `{ style: 'light' }` (or `medium`/`heavy`)
- */
- impact(options) {
- this._p && this._p.impact(options);
- }
- }
- Haptic.decorators = [
- { type: Injectable },
- ];
- /** @nocollapse */
- Haptic.ctorParameters = () => [
- { type: Platform, },
- ];
- //# sourceMappingURL=haptic.js.map
|