summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/files/js/filelist.js3
-rw-r--r--apps/files/tests/js/filelistSpec.js9
2 files changed, 11 insertions, 1 deletions
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 0477a657035..07e4e523e03 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -519,8 +519,9 @@
_onFileActionsUpdated: function() {
var self = this;
this.$fileList.find('tr td.filename').each(function() {
- self.fileActions.display($(this), true, self);
+ self.fileActions.display($(this), false, self);
});
+ this.$fileList.trigger($.Event('fileActionsReady', {fileList: this}));
},
/**
diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js
index a699177767a..7a6c390f325 100644
--- a/apps/files/tests/js/filelistSpec.js
+++ b/apps/files/tests/js/filelistSpec.js
@@ -1630,6 +1630,7 @@ describe('OCA.Files.FileList tests', function() {
});
it('redisplays actions when new actions have been registered', function() {
var actionStub = sinon.stub();
+ var readyHandler = sinon.stub();
var clock = sinon.useFakeTimers();
var debounceStub = sinon.stub(_, 'debounce', function(callback) {
return function() {
@@ -1637,11 +1638,15 @@ describe('OCA.Files.FileList tests', function() {
_.defer(callback);
};
});
+
// need to reinit the list to make the debounce call
fileList.destroy();
fileList = new OCA.Files.FileList($('#app-content-files'));
fileList.setFiles(testFiles);
+
+ fileList.$fileList.on('fileActionsReady', readyHandler);
+
fileList.fileActions.register(
'text/plain',
'Test',
@@ -1654,9 +1659,13 @@ describe('OCA.Files.FileList tests', function() {
);
var $tr = fileList.findFileEl('One.txt');
expect($tr.find('.action-test').length).toEqual(0);
+ expect(readyHandler.notCalled).toEqual(true);
+
// update is delayed
clock.tick(100);
expect($tr.find('.action-test').length).toEqual(1);
+ expect(readyHandler.calledOnce).toEqual(true);
+
clock.restore();
debounceStub.restore();
});