diff options
author | Vincent Petry <pvince81@owncloud.com> | 2014-06-06 13:16:47 +0200 |
---|---|---|
committer | Vincent Petry <pvince81@owncloud.com> | 2014-06-06 15:06:26 +0200 |
commit | 01c2c3107a8370fc57dc6144dcdcc108a92347a9 (patch) | |
tree | 725548f12f0906942aaaf6b1154546c7936fee5f /apps/files_external/js/app.js | |
parent | 933c05566e21c27e4f2d4b4e9c2d54e7b363d304 (diff) | |
download | nextcloud-server-01c2c3107a8370fc57dc6144dcdcc108a92347a9.tar.gz nextcloud-server-01c2c3107a8370fc57dc6144dcdcc108a92347a9.zip |
Added external storage list in files app
Diffstat (limited to 'apps/files_external/js/app.js')
-rw-r--r-- | apps/files_external/js/app.js | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/apps/files_external/js/app.js b/apps/files_external/js/app.js new file mode 100644 index 00000000000..58ad1a0f6ef --- /dev/null +++ b/apps/files_external/js/app.js @@ -0,0 +1,71 @@ +/* + * 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. + * + */ + +if (!OCA.External) { + OCA.External = {}; +} +OCA.External.App = { + + fileList: null, + + initList: function($el) { + if (this.fileList) { + return this.fileList; + } + + this.fileList = new OCA.External.FileList( + $el, + { + scrollContainer: $('#app-content'), + fileActions: this._createFileActions() + } + ); + + this._extendFileList(this.fileList); + this.fileList.appName = t('files_external', 'External storage'); + return this.fileList; + }, + + removeList: function() { + if (this.fileList) { + this.fileList.$fileList.empty(); + } + }, + + _createFileActions: function() { + // inherit file actions from the files app + var fileActions = new OCA.Files.FileActions(); + fileActions.registerDefaultActions(); + + // 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(context.$file.attr('data-path') + '/' + filename, true, true); + }); + fileActions.setDefault('dir', 'Open'); + return fileActions; + }, + + _extendFileList: function(fileList) { + // remove size column from summary + fileList.fileSummary.$el.find('.filesize').remove(); + } +}; + +$(document).ready(function() { + $('#app-content-extstoragemounts').on('show', function(e) { + OCA.External.App.initList($(e.target)); + }); + $('#app-content-extstoragemounts').on('hide', function() { + OCA.External.App.removeList(); + }); +}); + |