forked from nextcloud/circles
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Creation of panel to see circles' shared files
This commit inserts a panel in files visualization to allow filtering files that were shared to one or more circles. Depends on some other modifications in nextcloud core, that will be referenced in the PR. Signed-off-by: Vinicius Cubas Brand <viniciuscb@gmail.com>
- Loading branch information
1 parent
736bf4e
commit e04b7e0
Showing
11 changed files
with
638 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
/* | ||
* Copyright (c) 2017 | ||
* | ||
* This file is licensed under the Affero General Public License version 3 | ||
* or later. | ||
* | ||
* See the COPYING-README file. | ||
* | ||
*/ | ||
#app-content-circlesfilter .select2-container { | ||
width: 30%; | ||
margin-left: 10px; | ||
} | ||
|
||
#app-content-circlesfilter .select2-choices { | ||
white-space: nowrap; | ||
text-overflow: ellipsis; | ||
background: #fff; | ||
color: #555; | ||
box-sizing: content-box; | ||
border-radius: 3px; | ||
border: 1px solid #ddd; | ||
padding: 0; | ||
min-height: auto; | ||
} | ||
|
||
.nav-icon-circlesfilter { | ||
background-image: url('../img/black_circle.svg'); | ||
} | ||
|
||
#app-sidebar .mainFileInfoView .tag-label { | ||
cursor: pointer; | ||
padding: 13px; | ||
} | ||
|
||
#app-sidebar .mainFileInfoView .icon-tag { | ||
opacity: .5; | ||
vertical-align: middle; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
/* | ||
* Copyright (c) 2017 Cooperativa EITA (eita.org.br) | ||
* | ||
* @author Vinicius Cubas Brand <vinicius@eita.org.br> | ||
* @author Daniel Tygel <dtygel@eita.org.br> | ||
* | ||
* This file is licensed under the Affero General Public License version 3 | ||
* or later. | ||
* | ||
* See the COPYING-README file. | ||
* | ||
*/ | ||
|
||
var api = OCA.Circles.api; | ||
|
||
(function() { | ||
if (!OCA.Circles) { | ||
/** | ||
* @namespace | ||
*/ | ||
OCA.Circles = {}; | ||
} | ||
|
||
OCA.Circles.App = { | ||
|
||
initFileList: function($el) { | ||
if (this._fileList) { | ||
return this._fileList; | ||
} | ||
|
||
this._fileList = new OCA.Circles.FileList( | ||
$el, | ||
{ | ||
id: 'circles', | ||
scrollContainer: $('#app-content'), | ||
fileActions: this._createFileActions(), | ||
config: OCA.Files.App.getFilesConfig() | ||
} | ||
); | ||
|
||
this._fileList.appName = t('circles', 'Circles'); | ||
return this._fileList; | ||
}, | ||
|
||
removeFileList: function() { | ||
if (this._fileList) { | ||
this._fileList.$fileList.empty(); | ||
} | ||
}, | ||
|
||
_createFileActions: function() { | ||
// inherit file actions from the files app | ||
var fileActions = new OCA.Files.FileActions(); | ||
// note: not merging the legacy actions because legacy apps are not | ||
// compatible with the sharing overview and need to be adapted first | ||
fileActions.registerDefaultActions(); | ||
fileActions.merge(OCA.Files.fileActions); | ||
|
||
if (!this._globalActionsInitialized) { | ||
// in case actions are registered later | ||
this._onActionsUpdated = _.bind(this._onActionsUpdated, this); | ||
OCA.Files.fileActions.on('setDefault.app-circles', this._onActionsUpdated); | ||
OCA.Files.fileActions.on('registerAction.app-circles', this._onActionsUpdated); | ||
this._globalActionsInitialized = true; | ||
} | ||
|
||
// when the user clicks on a folder, redirect to the corresponding | ||
// folder in the files app instead of opening it directly | ||
fileActions.register('dir', 'Open', OC.PERMISSION_READ, '', function (filename, context) { | ||
OCA.Files.App.setActiveView('files', {silent: true}); | ||
OCA.Files.App.fileList.changeDirectory(OC.joinPaths(context.$file.attr('data-path'), filename), true, true); | ||
}); | ||
fileActions.setDefault('dir', 'Open'); | ||
return fileActions; | ||
}, | ||
|
||
_onActionsUpdated: function(ev) { | ||
if (!this._fileList) { | ||
return; | ||
} | ||
|
||
if (ev.action) { | ||
this._fileList.fileActions.registerAction(ev.action); | ||
} else if (ev.defaultAction) { | ||
this._fileList.fileActions.setDefault( | ||
ev.defaultAction.mime, | ||
ev.defaultAction.name | ||
); | ||
} | ||
}, | ||
|
||
/** | ||
* Destroy the app | ||
*/ | ||
destroy: function() { | ||
OCA.Files.fileActions.off('setDefault.app-circles', this._onActionsUpdated); | ||
OCA.Files.fileActions.off('registerAction.app-circles', this._onActionsUpdated); | ||
this.removeFileList(); | ||
this._fileList = null; | ||
delete this._globalActionsInitialized; | ||
} | ||
}; | ||
|
||
})(); | ||
|
||
$(document).ready(function() { | ||
$('#app-content-circlesfilter').on('show', function(e) { | ||
OCA.Circles.App.initFileList($(e.target)); | ||
}); | ||
$('#app-content-circlesfilter').on('hide', function() { | ||
OCA.Circles.App.removeFileList(); | ||
}); | ||
}); |
Oops, something went wrong.
e04b7e0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
issue nextcloud#137