mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2025-04-02 21:02:57 +08:00
Cordova magic
This commit is contained in:
parent
975535e563
commit
a05462526d
7
src/cordova.js
vendored
7
src/cordova.js
vendored
@ -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);
|
||||
})
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -1,6 +0,0 @@
|
||||
|
||||
export var Plugins = {
|
||||
getPlugin(name) {
|
||||
return name;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user