38 lines
1.2 KiB
JavaScript
38 lines
1.2 KiB
JavaScript
|
define([
|
||
|
"jquery",
|
||
|
"underscore",
|
||
|
"core",
|
||
|
"providers/gplus-provider"
|
||
|
], function($, _, core) {
|
||
|
|
||
|
var mediaImporter = {};
|
||
|
|
||
|
// Create a map with providerId: providerModule
|
||
|
var providerMap = _.chain(arguments).map(function(argument) {
|
||
|
return argument && argument.providerId && [
|
||
|
argument.providerId,
|
||
|
argument
|
||
|
];
|
||
|
}).compact().object().value();
|
||
|
|
||
|
core.onReady(function() {
|
||
|
_.each(providerMap, function(provider) {
|
||
|
// Import image action links (if any)
|
||
|
$(".action-import-image-" + provider.providerId).click(function() {
|
||
|
// Take the insertLinkCallback from core module
|
||
|
var insertLinkCallback = core.insertLinkCallback;
|
||
|
// Unset it to be sure core module will not call it
|
||
|
core.insertLinkCallback = undefined;
|
||
|
provider.importImage(function(error, imageLink) {
|
||
|
if(error) {
|
||
|
insertLinkCallback(null);
|
||
|
return;
|
||
|
}
|
||
|
insertLinkCallback(imageLink || null);
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
|
||
|
return mediaImporter;
|
||
|
});
|