UNPKG

kiot-cordova-plugin-home-console

Version:

This plugin allows your Android app to download and install compressed updates without the Google Play Store.

85 lines (71 loc) 2.6 kB
var exec = require('cordova/exec'); var Haptic = { // Impact feedback types IMPACT_LIGHT: 'light', IMPACT_MEDIUM: 'medium', IMPACT_HEAVY: 'heavy', // Notification feedback types NOTIFICATION_SUCCESS: 'success', NOTIFICATION_WARNING: 'warning', NOTIFICATION_ERROR: 'error', // Selection feedback SELECTION: 'selection', /** * Trigger impact haptic feedback * @param {string} intensity - 'light', 'medium', or 'heavy' * @param {function} success - Success callback * @param {function} error - Error callback */ impact: function(intensity, success, error) { intensity = intensity || this.IMPACT_MEDIUM; exec(success, error, 'Haptic', 'impact', [intensity]); }, /** * Trigger notification haptic feedback * @param {string} type - 'success', 'warning', or 'error' * @param {function} success - Success callback * @param {function} error - Error callback */ notification: function(type, success, error) { type = type || this.NOTIFICATION_SUCCESS; exec(success, error, 'Haptic', 'notification', [type]); }, /** * Trigger selection haptic feedback * @param {function} success - Success callback * @param {function} error - Error callback */ selection: function(success, error) { exec(success, error, 'Haptic', 'selection', []); }, /** * Simple vibration (fallback for older devices) * @param {number} duration - Duration in milliseconds * @param {function} success - Success callback * @param {function} error - Error callback */ vibrate: function(duration, success, error) { duration = duration || 100; exec(success, error, 'Haptic', 'vibrate', [duration]); }, // Convenience methods that map to the same functions impactLight: function(success, error) { this.impact(this.IMPACT_LIGHT, success, error); }, impactMedium: function(success, error) { this.impact(this.IMPACT_MEDIUM, success, error); }, impactHeavy: function(success, error) { this.impact(this.IMPACT_HEAVY, success, error); }, notificationSuccess: function(success, error) { this.notification(this.NOTIFICATION_SUCCESS, success, error); }, notificationWarning: function(success, error) { this.notification(this.NOTIFICATION_WARNING, success, error); }, notificationError: function(success, error) { this.notification(this.NOTIFICATION_ERROR, success, error); } }; module.exports = Haptic;