Cordova magic

This commit is contained in:
Max Lynch 2015-11-24 14:51:47 -06:00
parent 975535e563
commit a05462526d
3 changed files with 10 additions and 12 deletions

7
src/cordova.js vendored
View File

@ -1,4 +1,4 @@
const promisifyCordova = (pluginName, methodName) => {
const promisifyCordova = (pluginObj, pluginName, methodName) => {
return (...args) => {
return new Promise((resolve, reject) => {
if(!window.cordova) {
@ -8,6 +8,11 @@ const promisifyCordova = (pluginName, methodName) => {
});
return;
}
if(!pluginOjb.installed()) {
console.warn('Cordova: tried calling', '"' + pluginName + '.' + methodName + '"', 'but the ' + pluginObj.plugin + ' plugin is not installed.');
return;
}
cordova.exec(resolve, reject, pluginName, methodName, args);
})
}

View File

@ -1,4 +1,3 @@
import {Plugins} from './plugins';
import {PluginConfig} from './plugin-config'
import {promisifyCordova} from './cordova';
@ -10,10 +9,10 @@ function newPluginClass(config) {
let obj = {
installed: () => {
return config.pluginRef && window.hasOwnProperty(config.pluginRef);
}
}
},
obj.pluginCheck = config.pluginCheck || function() { return false; };
plugin: config.plugin
};
return obj;
}
@ -28,7 +27,7 @@ for(let plugin of PluginConfig) {
promised = plugin.promise || [];
for(let method of promised) {
let p = promisifyCordova(plugin.id, method)
let p = promisifyCordova(cls, plugin.id, method)
cls[method] = p;
}

View File

@ -1,6 +0,0 @@
export var Plugins = {
getPlugin(name) {
return name;
}
}