mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2025-03-04 00:13:06 +08:00
Aww yis
This commit is contained in:
parent
5b754390f5
commit
3327fe8f45
@ -1,3 +1,10 @@
|
|||||||
# Ionic Native
|
# Ionic Native
|
||||||
|
|
||||||
Native plugins to replace ngCordova
|
Ionic Native comes with a curated set of Native Cordova plugins that you can use to
|
||||||
|
pretty much do any native function you need from your [Ionic](http://ionicframework.com/), Cordova, or Web View mobile apps.
|
||||||
|
|
||||||
|
# Credits
|
||||||
|
|
||||||
|
Max Lynch - [@maxlynch](http://twitter.com/maxlynch)
|
||||||
|
|
||||||
|
Rob Wormald - [@robwormald](https://twitter.com/robwormald)
|
||||||
|
2
dist/plugins/plugin.js
vendored
2
dist/plugins/plugin.js
vendored
@ -49,7 +49,7 @@ function Cordova(opts) {
|
|||||||
if (opts.promise) {
|
if (opts.promise) {
|
||||||
console.log('TODO: Promise');
|
console.log('TODO: Promise');
|
||||||
}
|
}
|
||||||
obj[methodName] = exports.wrap(obj, methodName, opts);
|
obj[methodName] = exports.wrap(obj, methodName, opts).bind(obj);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
exports.Cordova = Cordova;
|
exports.Cordova = Cordova;
|
||||||
|
4
dist/plugins/toast.js
vendored
4
dist/plugins/toast.js
vendored
@ -18,8 +18,8 @@ var Toast = (function () {
|
|||||||
], Toast, "hide");
|
], Toast, "hide");
|
||||||
__decorate([
|
__decorate([
|
||||||
plugin_1.Cordova({
|
plugin_1.Cordova({
|
||||||
successIndex: 0,
|
successIndex: 1,
|
||||||
errIndex: 1
|
errIndex: 2
|
||||||
})
|
})
|
||||||
], Toast, "showWithOptions");
|
], Toast, "showWithOptions");
|
||||||
Toast = __decorate([
|
Toast = __decorate([
|
||||||
|
5
dist/src/cordova.d.ts
vendored
5
dist/src/cordova.d.ts
vendored
@ -1,5 +0,0 @@
|
|||||||
export declare class Cordova {
|
|
||||||
static hasPlugin(pluginRef: string): boolean;
|
|
||||||
static plugin(pluginRef: string): any;
|
|
||||||
static promisify(pluginRef: any, pluginName: any, methodName: any, successIndex: any, errorIndex: any): (...args: any[]) => any;
|
|
||||||
}
|
|
42
dist/src/cordova.js
vendored
42
dist/src/cordova.js
vendored
@ -1,42 +0,0 @@
|
|||||||
var util_1 = require('./util');
|
|
||||||
var Cordova = (function () {
|
|
||||||
function Cordova() {
|
|
||||||
}
|
|
||||||
Cordova.hasPlugin = function (pluginRef) {
|
|
||||||
return !!this.plugin(pluginRef);
|
|
||||||
};
|
|
||||||
Cordova.plugin = function (pluginRef) {
|
|
||||||
return util_1.get(window, pluginRef);
|
|
||||||
};
|
|
||||||
Cordova.promisify = function (pluginRef, pluginName, methodName, successIndex, errorIndex) {
|
|
||||||
var _this = this;
|
|
||||||
return function () {
|
|
||||||
var args = [];
|
|
||||||
for (var _i = 0; _i < arguments.length; _i++) {
|
|
||||||
args[_i - 0] = arguments[_i];
|
|
||||||
}
|
|
||||||
return new Promise(function (resolve, reject) {
|
|
||||||
if (!window.cordova) {
|
|
||||||
console.warn('Cordova: tried calling', '"' + pluginName + '.' + methodName + '"', 'but Cordova is not defined. Please make sure you have cordova.js included in your index.html file and you are running in a proper cordova environment');
|
|
||||||
reject({
|
|
||||||
error: 'cordova_not_available'
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!_this.hasPlugin(pluginRef)) {
|
|
||||||
console.warn('Cordova: tried calling', '"' + pluginName + '.' + methodName + '"', 'but the ' + pluginName + ' plugin is not installed.');
|
|
||||||
reject({
|
|
||||||
error: 'plugin_not_installed'
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
console.log('Cordova: exec(' + pluginName + ', ' + methodName + ')');
|
|
||||||
args[successIndex] = resolve;
|
|
||||||
args[errorIndex] = reject;
|
|
||||||
util_1.get(window, pluginRef)[methodName].apply(_this, args);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
};
|
|
||||||
return Cordova;
|
|
||||||
})();
|
|
||||||
exports.Cordova = Cordova;
|
|
2
dist/src/plugins/plugin.js
vendored
2
dist/src/plugins/plugin.js
vendored
@ -48,7 +48,7 @@ function Cordova(opts) {
|
|||||||
if (opts.promise) {
|
if (opts.promise) {
|
||||||
console.log('TODO: Promise');
|
console.log('TODO: Promise');
|
||||||
}
|
}
|
||||||
obj[methodName] = exports.wrap(obj, methodName, opts);
|
obj[methodName] = exports.wrap(obj, methodName, opts).bind(obj);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
exports.Cordova = Cordova;
|
exports.Cordova = Cordova;
|
||||||
|
4
dist/src/plugins/toast.js
vendored
4
dist/src/plugins/toast.js
vendored
@ -20,8 +20,8 @@ var Toast = (function () {
|
|||||||
], Toast, "hide", void 0);
|
], Toast, "hide", void 0);
|
||||||
__decorate([
|
__decorate([
|
||||||
plugin_1.Cordova({
|
plugin_1.Cordova({
|
||||||
successIndex: 0,
|
successIndex: 1,
|
||||||
errIndex: 1
|
errIndex: 2
|
||||||
}),
|
}),
|
||||||
__metadata('design:type', Object)
|
__metadata('design:type', Object)
|
||||||
], Toast, "showWithOptions", void 0);
|
], Toast, "showWithOptions", void 0);
|
||||||
|
@ -1,43 +0,0 @@
|
|||||||
//patch the window definition
|
|
||||||
declare var Promise;
|
|
||||||
declare var cordova;
|
|
||||||
declare var window;
|
|
||||||
|
|
||||||
import {get} from './util';
|
|
||||||
|
|
||||||
export class Cordova {
|
|
||||||
static hasPlugin(pluginRef: string) {
|
|
||||||
return !!this.plugin(pluginRef);
|
|
||||||
}
|
|
||||||
static plugin(pluginRef: string) {
|
|
||||||
return get(window, pluginRef);
|
|
||||||
}
|
|
||||||
|
|
||||||
static promisify(pluginRef, pluginName, methodName, successIndex, errorIndex) {
|
|
||||||
return (...args) => {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
if(!window.cordova) {
|
|
||||||
console.warn('Cordova: tried calling', '"' + pluginName + '.' + methodName + '"', 'but Cordova is not defined. Please make sure you have cordova.js included in your index.html file and you are running in a proper cordova environment');
|
|
||||||
reject({
|
|
||||||
error: 'cordova_not_available'
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!this.hasPlugin(pluginRef)) {
|
|
||||||
console.warn('Cordova: tried calling', '"' + pluginName + '.' + methodName + '"', 'but the ' + pluginName + ' plugin is not installed.');
|
|
||||||
reject({
|
|
||||||
error: 'plugin_not_installed'
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
console.log('Cordova: exec(' + pluginName + ', ' + methodName +')');
|
|
||||||
|
|
||||||
args[successIndex] = resolve;
|
|
||||||
args[errorIndex] = reject;
|
|
||||||
|
|
||||||
get(window, pluginRef)[methodName].apply(this, args);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -57,6 +57,6 @@ export function Cordova(opts:any = {}) {
|
|||||||
console.log('TODO: Promise');
|
console.log('TODO: Promise');
|
||||||
}
|
}
|
||||||
|
|
||||||
obj[methodName] = wrap(obj, methodName, opts);
|
obj[methodName] = wrap(obj, methodName, opts).bind(obj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,8 +13,8 @@ export class Toast {
|
|||||||
static hide;
|
static hide;
|
||||||
|
|
||||||
@Cordova({
|
@Cordova({
|
||||||
successIndex: 0,
|
successIndex: 1,
|
||||||
errIndex: 1
|
errIndex: 2
|
||||||
})
|
})
|
||||||
static showWithOptions;
|
static showWithOptions;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user