diff options
Diffstat (limited to 'plugins/com.ionic.keyboard/src/blackberry10/index.js')
| -rw-r--r-- | plugins/com.ionic.keyboard/src/blackberry10/index.js | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/plugins/com.ionic.keyboard/src/blackberry10/index.js b/plugins/com.ionic.keyboard/src/blackberry10/index.js new file mode 100644 index 00000000..40294158 --- /dev/null +++ b/plugins/com.ionic.keyboard/src/blackberry10/index.js @@ -0,0 +1,135 @@ + + +var keyboard, + resultObjs = {}, + threadCallback = null, + _utils = require("../../lib/utils"); + _event = require("../../lib/event"); + _webview = require("../../lib/webview"); + + + + +module.exports = { + + // Code can be declared and used outside the module.exports object, + // but any functions to be called by client.js need to be declared + // here in this object. + + // These methods call into JNEXT.Keyboard which handles the + // communication through the JNEXT plugin to keyboard_js.cpp + startService: function (success, fail, args, env) { + var result = new PluginResult(args, env); + + result.ok(keyboard.getInstance().startService(), false); + }, + show: function (success, fail, args, env) { + var result = new PluginResult(args, env); + + result.ok(keyboard.getInstance().showKeyboard(), false); + }, + close: function (success, fail, args, env) { + var result = new PluginResult(args, env); + + result.ok(keyboard.getInstance().closeKeyboard(), false); + } +}; + +keyboardShow = function(a){ + _webview.executeJavascript("cordova.plugins.Keyboard.isVisible = true"); + _webview.executeJavascript("cordova.fireDocumentEvent('native.keyboardshow',"+a+")"); + +} +keyboardHide = function(){ + _webview.executeJavascript("cordova.plugins.Keyboard.isVisible = false"); + _webview.executeJavascript("cordova.fireDocumentEvent('native.keyboardhide','')"); + +} +onStart = function() { + _webview.executeJavascript("cordova.exec("+null+", "+null+", 'Keyboard', 'startService', '')"); + } + +setTimeout(onStart,2000); + +/////////////////////////////////////////////////////////////////// +// JavaScript wrapper for JNEXT plugin for connection +/////////////////////////////////////////////////////////////////// + +JNEXT.Keyboard = function () { + var self = this, + hasInstance = false; + + self.getId = function () { + return self.m_id; + }; + + self.init = function () { + if (!JNEXT.require("libKeyboard")) { + return false; + } + + self.m_id = JNEXT.createObject("libKeyboard.Keyboard_JS"); + + if (self.m_id === "") { + return false; + } + + JNEXT.registerEvents(self); + }; + + // ************************ + // Enter your methods here + // ************************ + + // calls into InvokeMethod(string command) in keyboard_js.cpp + self.startService = function () { + return JNEXT.invoke(self.m_id, "startService"); + }; + self.showKeyboard = function () { + return JNEXT.invoke(self.m_id, "showKeyboard"); + }; + self.closeKeyboard = function () { + return JNEXT.invoke(self.m_id, "closeKeyboard"); + }; + + self.onEvent = function (strData) { // Fired by the Event framework (used by asynchronous callbacks) + var arData = strData.split(" "), + strEventDesc = arData[0], + jsonData; + + if (strEventDesc === "native.keyboardshow") { + jsonData = arData.slice(1, arData.length).join(" "); + keyboardShow(jsonData); + + } + else if (strEventDesc === "native.keyboardhide") { + keyboardHide(); + } + + }; + + // Thread methods + self.keyboardStartThread = function (callbackId) { + return JNEXT.invoke(self.m_id, "keyboardStartThread " + callbackId); + }; + self.keyboardStopThread = function () { + return JNEXT.invoke(self.m_id, "keyboardStopThread"); + }; + + // ************************ + // End of methods to edit + // ************************ + self.m_id = ""; + + self.getInstance = function () { + if (!hasInstance) { + hasInstance = true; + self.init(); + } + return self; + }; + +}; + +keyboard = new JNEXT.Keyboard(); + |
