server/apps/files/js/gotoplugin.js
Daniel Calviño Sánchez 18f46bd47f Fix closing details view when viewing file in folder
The Files app active view is set to "files" in silent mode to avoid an
unneeded load of the "/" directory. However, this also prevents the
details view from being automatically closed, so it has to be explicitly
closed by the Goto plugin; the approach used is the same that would have
been used by OCA.Files.App._onNavigationChanged if not silenced.

Fixes #1448

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-04-25 17:45:42 +02:00

59 lines
1.4 KiB
JavaScript

/*
* Copyright (c) 2016 Robin Appelman <robin@icewind.nl>
*
* This file is licensed under the Affero General Public License version 3
* or later.
*
* See the COPYING-README file.
*
*/
(function (OCA) {
OCA.Files = OCA.Files || {};
/**
* @namespace OCA.Files.GotoPlugin
*
*/
OCA.Files.GotoPlugin = {
name: 'Goto',
disallowedLists: [
'files',
'trashbin'
],
attach: function (fileList) {
if (this.disallowedLists.indexOf(fileList.id) !== -1) {
return;
}
var fileActions = fileList.fileActions;
fileActions.registerAction({
name: 'Goto',
displayName: t('files', 'View in folder'),
mime: 'all',
permissions: OC.PERMISSION_ALL,
iconClass: 'icon-goto nav-icon-extstoragemounts',
type: OCA.Files.FileActions.TYPE_DROPDOWN,
actionHandler: function (fileName, context) {
var fileModel = context.fileInfoModel;
OC.Apps.hideAppSidebar($('.detailsView'));
OCA.Files.App.setActiveView('files', {silent: true});
OCA.Files.App.fileList.changeDirectory(fileModel.get('path'), true, true).then(function() {
OCA.Files.App.fileList.scrollTo(fileModel.get('name'));
});
},
render: function (actionSpec, isDefault, context) {
return fileActions._defaultRenderAction.call(fileActions, actionSpec, isDefault, context)
.removeClass('permanent');
}
});
}
};
})(OCA);
OC.Plugins.register('OCA.Files.FileList', OCA.Files.GotoPlugin);