18f46bd47f
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>
59 lines
1.4 KiB
JavaScript
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);
|
|
|