server/apps/files/js/favoritesfilelist.js
Daniel Calviño Sánchez 0426ba6de5 Remove event handler no longer needed
The custom handler for "URL changed" events were added to reload the
file list whenever the sections for favorites and shares were opened;
this was used to fix the problem of not reloading the file lists when
opening them for a second time. However, besides that the handlers were
not really necessary, and as the root of the bug was fixed in the
previous commit those handlers are now removed.

The file list for tags uses the handler for a different purpose, though,
so that one was kept.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-21 20:21:59 +02:00

102 lines
2.6 KiB
JavaScript

/*
* Copyright (c) 2014 Vincent Petry <pvince81@owncloud.com>
*
* This file is licensed under the Affero General Public License version 3
* or later.
*
* See the COPYING-README file.
*
*/
// HACK: this piece needs to be loaded AFTER the files app (for unit tests)
$(document).ready(function() {
(function(OCA) {
/**
* @class OCA.Files.FavoritesFileList
* @augments OCA.Files.FavoritesFileList
*
* @classdesc Favorites file list.
* Displays the list of files marked as favorites
*
* @param $el container element with existing markup for the #controls
* and a table
* @param [options] map of options, see other parameters
*/
var FavoritesFileList = function($el, options) {
this.initialize($el, options);
};
FavoritesFileList.prototype = _.extend({}, OCA.Files.FileList.prototype,
/** @lends OCA.Files.FavoritesFileList.prototype */ {
id: 'favorites',
appName: t('files','Favorites'),
_clientSideSort: true,
_allowSelection: false,
/**
* @private
*/
initialize: function($el, options) {
OCA.Files.FileList.prototype.initialize.apply(this, arguments);
if (this.initialized) {
return;
}
OC.Plugins.attach('OCA.Files.FavoritesFileList', this);
},
updateEmptyContent: function() {
var dir = this.getCurrentDirectory();
if (dir === '/') {
// root has special permissions
this.$el.find('#emptycontent').toggleClass('hidden', !this.isEmpty);
this.$el.find('#filestable thead th').toggleClass('hidden', this.isEmpty);
}
else {
OCA.Files.FileList.prototype.updateEmptyContent.apply(this, arguments);
}
},
getDirectoryPermissions: function() {
return OC.PERMISSION_READ | OC.PERMISSION_DELETE;
},
updateStorageStatistics: function() {
// no op because it doesn't have
// storage info like free space / used space
},
reload: function() {
this.showMask();
if (this._reloadCall) {
this._reloadCall.abort();
}
// there is only root
this._setCurrentDir('/', false);
this._reloadCall = this.filesClient.getFilteredFiles(
{
favorite: true
},
{
properties: this._getWebdavProperties()
}
);
var callBack = this.reloadCallback.bind(this);
return this._reloadCall.then(callBack, callBack);
},
reloadCallback: function(status, result) {
if (result) {
// prepend empty dir info because original handler
result.unshift({});
}
return OCA.Files.FileList.prototype.reloadCallback.call(this, status, result);
},
});
OCA.Files.FavoritesFileList = FavoritesFileList;
})(OCA);
});