0426ba6de5
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>
102 lines
2.6 KiB
JavaScript
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);
|
|
});
|
|
|