diff --git a/core/js/sharedialogview.js b/core/js/sharedialogview.js index 4cebf7962e..02e0e673ca 100644 --- a/core/js/sharedialogview.js +++ b/core/js/sharedialogview.js @@ -233,8 +233,18 @@ _onSelectRecipient: function(e, s) { e.preventDefault(); - $(e.target).val(''); - this.model.addShare(s.item.value); + $(e.target).attr('disabled', true) + .val(s.item.label); + var $loading = this.$el.find('.shareWithLoading'); + $loading.removeClass('hidden') + .addClass('inlineblock'); + + this.model.addShare(s.item.value, {success: function() { + $(e.target).val('') + .attr('disabled', false); + $loading.addClass('hidden') + .removeClass('inlineblock'); + }}); }, _toggleLoading: function(state) { diff --git a/core/js/shareitemmodel.js b/core/js/shareitemmodel.js index a28bcac91c..292230d26d 100644 --- a/core/js/shareitemmodel.js +++ b/core/js/shareitemmodel.js @@ -183,11 +183,9 @@ data: attributes, dataType: 'json' }).done(function() { - self.fetch({ - success: function() { - if (_.isFunction(options.success)) { - options.success(self); - } + self.fetch().done(function() { + if (_.isFunction(options.success)) { + options.success(self); } }); }).fail(function(xhr) {