From 3d16450dd8ec0b3ab13ca97f8c8e14f99997fd6e Mon Sep 17 00:00:00 2001 From: yuri Date: Wed, 30 Jan 2019 17:07:42 +0200 Subject: [PATCH] update bull --- client/lib/bull.js | 54 ++++++++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 23 deletions(-) diff --git a/client/lib/bull.js b/client/lib/bull.js index 12e5dc3dd4..e683d8f5bc 100644 --- a/client/lib/bull.js +++ b/client/lib/bull.js @@ -402,38 +402,46 @@ var Bull = Bull || {}; this._isRendered = false; this._isFullyRendered = false; - this._getHtml(function (html) { - if (this._isRenderCanceled) { - this._isRenderCanceled = false; - this._isBeingRendered = false; - return; - } - if (this.$el.size()) { - this.$el.html(html); - } else { - if (this.options.el) { - this.setElement(this.options.el); + return new Promise(function (resolve, reject) { + this._getHtml(function (html) { + if (this._isRenderCanceled) { + this._isRenderCanceled = false; + this._isBeingRendered = false; + reject(); + return; } - this.$el.html(html); - } - this._afterRender(); - if (typeof callback === 'function') { - callback(); - } + if (this.$el.size()) { + this.$el.html(html); + } else { + if (this.options.el) { + this.setElement(this.options.el); + } + this.$el.html(html); + } + this._afterRender(); + if (typeof callback === 'function') { + callback(); + } + resolve(this); + }.bind(this)); }.bind(this)); - }, + /** + * Re-render view. + */ reRender: function (force) { if (this.isRendered()) { - this.render(); + return this.render(); } else if (this.isBeingRendered()) { - this.once('after:render', function () { - this.render(); - }, this); + return new Promise(function (resolve, reject) { + this.once('after:render', function () { + this.render().then(resolve).catch(reject); + }, this); + }.bind(this)); } else { if (force) { - this.render(); + return this.render(); } } },