mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2025-04-10 00:53:11 +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 (...args) => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
if(!window.cordova) {
|
if(!window.cordova) {
|
||||||
@ -8,6 +8,11 @@ const promisifyCordova = (pluginName, methodName) => {
|
|||||||
});
|
});
|
||||||
return;
|
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);
|
cordova.exec(resolve, reject, pluginName, methodName, args);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
import {Plugins} from './plugins';
|
|
||||||
import {PluginConfig} from './plugin-config'
|
import {PluginConfig} from './plugin-config'
|
||||||
import {promisifyCordova} from './cordova';
|
import {promisifyCordova} from './cordova';
|
||||||
|
|
||||||
@ -10,10 +9,10 @@ function newPluginClass(config) {
|
|||||||
let obj = {
|
let obj = {
|
||||||
installed: () => {
|
installed: () => {
|
||||||
return config.pluginRef && window.hasOwnProperty(config.pluginRef);
|
return config.pluginRef && window.hasOwnProperty(config.pluginRef);
|
||||||
}
|
},
|
||||||
}
|
|
||||||
|
|
||||||
obj.pluginCheck = config.pluginCheck || function() { return false; };
|
plugin: config.plugin
|
||||||
|
};
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
@ -28,7 +27,7 @@ for(let plugin of PluginConfig) {
|
|||||||
promised = plugin.promise || [];
|
promised = plugin.promise || [];
|
||||||
|
|
||||||
for(let method of promised) {
|
for(let method of promised) {
|
||||||
let p = promisifyCordova(plugin.id, method)
|
let p = promisifyCordova(cls, plugin.id, method)
|
||||||
cls[method] = p;
|
cls[method] = p;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
|
|
||||||
export var Plugins = {
|
|
||||||
getPlugin(name) {
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user