ng-cordova
Version:
[ngCordova](http://ngcordova.com/) ==========
59 lines (46 loc) • 1.78 kB
JavaScript
// install : cordova plugin add https://github.com/driftyco/ionic-plugins-keyboard.git
// link : https://github.com/driftyco/ionic-plugins-keyboard
angular.module('ngCordova.plugins.keyboard', [])
.factory('$cordovaKeyboard', ['$rootScope', function ($rootScope) {
var keyboardShowEvent = function () {
$rootScope.$evalAsync(function () {
$rootScope.$broadcast('$cordovaKeyboard:show');
});
};
var keyboardHideEvent = function () {
$rootScope.$evalAsync(function () {
$rootScope.$broadcast('$cordovaKeyboard:hide');
});
};
document.addEventListener('deviceready', function () {
if (cordova.plugins.Keyboard) {
window.addEventListener('native.keyboardshow', keyboardShowEvent, false);
window.addEventListener('native.keyboardhide', keyboardHideEvent, false);
}
});
return {
hideAccessoryBar: function (bool) {
return cordova.plugins.Keyboard.hideKeyboardAccessoryBar(bool);
},
close: function () {
return cordova.plugins.Keyboard.close();
},
show: function () {
return cordova.plugins.Keyboard.show();
},
disableScroll: function (bool) {
return cordova.plugins.Keyboard.disableScroll(bool);
},
isVisible: function () {
return cordova.plugins.Keyboard.isVisible;
},
clearShowWatch: function () {
document.removeEventListener('native.keyboardshow', keyboardShowEvent);
$rootScope.$$listeners['$cordovaKeyboard:show'] = [];
},
clearHideWatch: function () {
document.removeEventListener('native.keyboardhide', keyboardHideEvent);
$rootScope.$$listeners['$cordovaKeyboard:hide'] = [];
}
};
}]);