Skip to content

Commit

Permalink
Improve addons loading: load others addons after an addon error
Browse files Browse the repository at this point in the history
  • Loading branch information
SamyPesse committed Dec 26, 2013
1 parent d544573 commit c8596bc
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 11 deletions.
17 changes: 12 additions & 5 deletions src/client/collections/addons.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ define([
"underscore",
"hr/hr",
"core/backends/rpc",
"models/addon"
], function(Q, _, hr, rpc, Addon) {
"models/addon",
"utils/dialogs"
], function(Q, _, hr, rpc, Addon, dialogs) {
var Addons = hr.Collection.extend({
model: Addon,
defaults: _.defaults({
Expand Down Expand Up @@ -172,10 +173,16 @@ define([
return addon.load({}, _.pick(that.provides, addon.get("client.consumes", []))).fail(function(err) {
err.addon = addon;
return Q.reject(err);
}).then(function(provides) {
_.extend(that.provides, provides || {});
}, function(err) {
return dialogs.alert("Error with addon '"+addon.get("name")+"'", "<p>Error when initializing this addon. Please check addons states using the addons manager and reinstall this addon.</p><p>Error message:"+ (err.message || err) +"</p>");
}).then(function() {
return Q();
}, function() {
return Q();
});
}).then(function(provides) {
_.extend(that.provides, provides || {});
});
})
}, Q({}));
}
});
Expand Down
4 changes: 1 addition & 3 deletions src/client/core/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -118,9 +118,7 @@ box, session, addons, box, files, commands, menu, tabs, panels, operations, loca
operations.render();

// Load addons
addons.loadAll().fail(function(err) {
dialogs.alert("Warning!", "<p>Error when initializing addons, it's possible that one of the addons is not correctly loaded. Please check addons states using the addons manager.</p><p>Addon ref: "+err.addon.get("name")+"</p><p>Error message:"+ err.message+"</p>");
}).fin(function() {
addons.loadAll().fin(function() {
// Remove loading state
that.$(".cb-loading-alert").remove();

Expand Down
12 changes: 11 additions & 1 deletion src/client/core/localfs.js
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,17 @@ define([
logger.log(" -> box:", boxFile.get("mtime"));
logger.log(" -> local:", localEntry.mtime);*/
return readFile(localEntry._fullPath).then(function(content) {
return parent.write(content, localEntry._fullPath);
return parent.read(localEntry._fullPath).then(function(vfsContent) {
if (vfsContent == content) {
// Same content
return Q();
}
return dialogs.confirm("Upload modifications of "
+localEntry._fullPath+" ("+vfsContent.length+"bytes to "+content.length+"bytes)");
}).then(function(confirm) {
if (!confirm) return;
return parent.write(content, localEntry._fullPath);
});
});
}

Expand Down
10 changes: 8 additions & 2 deletions src/client/models/file.js
Original file line number Diff line number Diff line change
Expand Up @@ -379,15 +379,21 @@ define([
/*
* Download
*/
download: function(options) {
download: function(filename, options) {
var url, d, that = this;

if (_.isObject(filename)) {
options = filename;
filename = null;
}

options = _.defaults(options || {}, {
redirect: false
});
if (options.redirect) {
window.open(this.exportUrl(),'_blank');
} else {
return this.vfsRequest("read", this.vfsUrl()).then(function(content) {
return this.vfsRequest("read", this.vfsUrl(filename, false)).then(function(content) {
that.setCache(content);
that.modifiedState(false);
return content;
Expand Down

0 comments on commit c8596bc

Please sign in to comment.