Merge pull request #22350 from owncloud/fix_22304

WebUI feedback when sharing
This commit is contained in:
Thomas Müller 2016-02-15 10:45:42 +01:00
commit 2054dbd4c8
3 changed files with 30 additions and 8 deletions

View File

@ -263,8 +263,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) {

View File

@ -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) {

View File

@ -956,9 +956,12 @@ describe('OC.Share.ShareDialogView', function() {
it('calls addShare after selection', function() {
dialog.render();
var shareWith = $('.shareWithField')[0];
var $shareWith = $(shareWith);
var addShareStub = sinon.stub(shareModel, 'addShare');
var autocompleteOptions = autocompleteStub.getCall(0).args[0];
autocompleteOptions.select(new $.Event('select'), {
autocompleteOptions.select(new $.Event('select', {target: shareWith}), {
item: {
label: 'User Two',
value: {
@ -974,6 +977,17 @@ describe('OC.Share.ShareDialogView', function() {
shareWith: 'user2'
});
//Input is locked
expect($shareWith.val()).toEqual('User Two');
expect($shareWith.attr('disabled')).toEqual('disabled');
//Callback is called
addShareStub.firstCall.args[1].success();
//Input is unlocked
expect($shareWith.val()).toEqual('');
expect($shareWith.attr('disabled')).toEqual(undefined);
addShareStub.restore();
});
});