1
0
Mirror von https://github.com/nextcloud/server.git synchronisiert 2024-08-29 05:55:50 +02:00
nextcloud/apps/systemtags/js/filesplugin.js
Daniel Calviño Sánchez 6bcace4609 Extract toggle visibility of a SystemTagsInfoView to its own view
The SystemTagsInfoViewToggleView is a basic view that renders a label
that, when clicked, toggles the visibility of an associated
SystemTagsInfoView.

In order to keep the view parent agnostic its attachment and detachment
to/from the MainfFileInfoView is done in the FilesPlugin.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-06-09 09:13:29 +02:00

65 Zeilen
1.6 KiB
JavaScript

/*
* Copyright (c) 2015 Vincent Petry <pvince81@owncloud.com>
*
* This file is licensed under the Affero General Public License version 3
* or later.
*
* See the COPYING-README file.
*
*/
(function() {
OCA.SystemTags = _.extend({}, OCA.SystemTags);
if (!OCA.SystemTags) {
/**
* @namespace
*/
OCA.SystemTags = {};
}
/**
* @namespace
*/
OCA.SystemTags.FilesPlugin = {
ignoreLists: [
'files_trashbin',
'files.public'
],
attach: function(fileList) {
if (this.ignoreLists.indexOf(fileList.id) >= 0) {
return;
}
var systemTagsInfoView = new OCA.SystemTags.SystemTagsInfoView();
fileList.registerDetailView(systemTagsInfoView);
_.each(fileList.getRegisteredDetailViews(), function(detailView) {
if (detailView instanceof OCA.Files.MainFileInfoDetailView) {
var systemTagsInfoViewToggleView =
new OCA.SystemTags.SystemTagsInfoViewToggleView({
systemTagsInfoView: systemTagsInfoView
});
systemTagsInfoViewToggleView.render();
// The toggle view element is detached before the
// MainFileInfoDetailView is rendered to prevent its event
// handlers from being removed.
systemTagsInfoViewToggleView.listenTo(detailView, 'pre-render', function() {
systemTagsInfoViewToggleView.$el.detach();
});
systemTagsInfoViewToggleView.listenTo(detailView, 'post-render', function() {
detailView.$el.find('.file-details').append(systemTagsInfoViewToggleView.$el);
});
return;
}
});
}
};
})();
OC.Plugins.register('OCA.Files.FileList', OCA.SystemTags.FilesPlugin);