0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-01-13 22:41:32 -05:00

Merge pull request #2032 from hswolff/fix-2011

Have NProgress called for all ajax calls
This commit is contained in:
Hannah Wolfe 2014-01-26 02:41:59 -08:00
commit 98d901214c

View file

@ -4,37 +4,29 @@
"use strict"; "use strict";
NProgress.configure({ showSpinner: false }); NProgress.configure({ showSpinner: false });
Ghost.ProgressModel = Backbone.Model.extend({
// Adds in a call to start a loading bar // Adds in a call to start a loading bar
// This is sets up a success function which completes the loading bar // This is sets up a success function which completes the loading bar
fetch : function (options) { function wrapSync(method, model, options) {
options = options || {}; if (options !== undefined && _.isObject(options)) {
NProgress.start(); NProgress.start();
var self = this,
oldSuccess = options.success;
options.success = function () { options.success = function () {
NProgress.done(); NProgress.done();
return oldSuccess.apply(self, arguments);
}; };
return Backbone.Model.prototype.fetch.call(this, options);
} }
return Backbone.sync.call(this, method, model, options);
}
Ghost.ProgressModel = Backbone.Model.extend({
sync: wrapSync
}); });
Ghost.ProgressCollection = Backbone.Collection.extend({ Ghost.ProgressCollection = Backbone.Collection.extend({
sync: wrapSync
// Adds in a call to start a loading bar
// This is sets up a success function which completes the loading bar
fetch : function (options) {
options = options || {};
NProgress.start();
options.success = function () {
NProgress.done();
};
return Backbone.Collection.prototype.fetch.call(this, options);
}
}); });
}()); }());