1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
-
-
- import util from './util';
- import MicroEvent from './microevent';
-
- var softwareKeyboard = new MicroEvent();
- softwareKeyboard._visible = false;
-
- var onShow = function onShow() {
- softwareKeyboard._visible = true;
- softwareKeyboard.emit('show');
- };
-
- var onHide = function onHide() {
- softwareKeyboard._visible = false;
- softwareKeyboard.emit('hide');
- };
-
- var bindEvents = function bindEvents() {
- if (typeof Keyboard !== 'undefined') {
-
- Keyboard.onshow = onShow;
- Keyboard.onhide = onHide;
- softwareKeyboard.emit('init', { visible: Keyboard.isVisible });
-
- return true;
- } else if (typeof cordova.plugins !== 'undefined' && typeof cordova.plugins.Keyboard !== 'undefined') {
-
- window.addEventListener('native.keyboardshow', onShow);
- window.addEventListener('native.keyboardhide', onHide);
- softwareKeyboard.emit('init', { visible: cordova.plugins.Keyboard.isVisible });
-
- return true;
- }
-
- return false;
- };
-
- var noPluginError = function noPluginError() {
- util.warn('ons-keyboard: Cordova Keyboard plugin is not present.');
- };
-
- document.addEventListener('deviceready', function () {
- if (!bindEvents()) {
- if (document.querySelector('[ons-keyboard-active]') || document.querySelector('[ons-keyboard-inactive]')) {
- noPluginError();
- }
-
- softwareKeyboard.on = noPluginError;
- }
- });
-
- export default softwareKeyboard;
|