diff options
author | Roeland Jago Douma <roeland@famdouma.nl> | 2019-02-03 19:56:44 +0100 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2019-02-13 22:20:07 +0100 |
commit | 7f886541473fb73591a8930e322250cdc6496bfc (patch) | |
tree | c0025ae7b41bece3a8c6897a093f5ceb6d5d57f7 /apps/files_versions/js/versionstabview.js | |
parent | 53e8957a556af086ce66b8eba45f0013391d7f0d (diff) | |
download | nextcloud-server-7f886541473fb73591a8930e322250cdc6496bfc.tar.gz nextcloud-server-7f886541473fb73591a8930e322250cdc6496bfc.zip |
Move of files_versions to webpack
* Move CSS into bundle
* Old merged.json no longer needed!
* No need to load the style still
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'apps/files_versions/js/versionstabview.js')
-rw-r--r-- | apps/files_versions/js/versionstabview.js | 206 |
1 files changed, 0 insertions, 206 deletions
diff --git a/apps/files_versions/js/versionstabview.js b/apps/files_versions/js/versionstabview.js deleted file mode 100644 index 12b493beec0..00000000000 --- a/apps/files_versions/js/versionstabview.js +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Copyright (c) 2015 - * - * This file is licensed under the Affero General Public License version 3 - * or later. - * - * See the COPYING-README file. - * - */ - -(function() { - /** - * @memberof OCA.Versions - */ - var VersionsTabView = OCA.Files.DetailTabView.extend(/** @lends OCA.Versions.VersionsTabView.prototype */{ - id: 'versionsTabView', - className: 'tab versionsTabView', - - _template: null, - - $versionsContainer: null, - - events: { - 'click .revertVersion': '_onClickRevertVersion' - }, - - initialize: function() { - OCA.Files.DetailTabView.prototype.initialize.apply(this, arguments); - this.collection = new OCA.Versions.VersionCollection(); - this.collection.on('request', this._onRequest, this); - this.collection.on('sync', this._onEndRequest, this); - this.collection.on('update', this._onUpdate, this); - this.collection.on('error', this._onError, this); - this.collection.on('add', this._onAddModel, this); - }, - - getLabel: function() { - return t('files_versions', 'Versions'); - }, - - getIcon: function() { - return 'icon-history'; - }, - - nextPage: function() { - if (this._loading) { - return; - } - - if (this.collection.getFileInfo() && this.collection.getFileInfo().isDirectory()) { - return; - } - this.collection.fetch(); - }, - - _onClickRevertVersion: function(ev) { - var self = this; - var $target = $(ev.target); - var fileInfoModel = this.collection.getFileInfo(); - var revision; - if (!$target.is('li')) { - $target = $target.closest('li'); - } - - ev.preventDefault(); - revision = $target.attr('data-revision'); - - var versionModel = this.collection.get(revision); - versionModel.revert({ - success: function() { - // reset and re-fetch the updated collection - self.$versionsContainer.empty(); - self.collection.setFileInfo(fileInfoModel); - self.collection.reset([], {silent: true}); - self.collection.fetch(); - - self.$el.find('.versions').removeClass('hidden'); - - // update original model - fileInfoModel.trigger('busy', fileInfoModel, false); - fileInfoModel.set({ - size: versionModel.get('size'), - mtime: versionModel.get('timestamp') * 1000, - // temp dummy, until we can do a PROPFIND - etag: versionModel.get('id') + versionModel.get('timestamp') - }); - }, - - error: function() { - fileInfoModel.trigger('busy', fileInfoModel, false); - self.$el.find('.versions').removeClass('hidden'); - self._toggleLoading(false); - OC.Notification.show(t('files_version', 'Failed to revert {file} to revision {timestamp}.', - { - file: versionModel.getFullPath(), - timestamp: OC.Util.formatDate(versionModel.get('timestamp') * 1000) - }), - { - type: 'error' - } - ); - } - }); - - // spinner - this._toggleLoading(true); - fileInfoModel.trigger('busy', fileInfoModel, true); - }, - - _toggleLoading: function(state) { - this._loading = state; - this.$el.find('.loading').toggleClass('hidden', !state); - }, - - _onRequest: function() { - this._toggleLoading(true); - }, - - _onEndRequest: function() { - this._toggleLoading(false); - this.$el.find('.empty').toggleClass('hidden', !!this.collection.length); - }, - - _onAddModel: function(model) { - var $el = $(this.itemTemplate(this._formatItem(model))); - this.$versionsContainer.append($el); - $el.find('.has-tooltip').tooltip(); - }, - - template: function(data) { - return OCA.Versions.Templates['template'](data); - }, - - itemTemplate: function(data) { - return OCA.Versions.Templates['item'](data); - }, - - setFileInfo: function(fileInfo) { - if (fileInfo) { - this.render(); - this.collection.setFileInfo(fileInfo); - this.collection.reset([], {silent: true}); - this.nextPage(); - } else { - this.render(); - this.collection.reset(); - } - }, - - _formatItem: function(version) { - var timestamp = version.get('timestamp') * 1000; - var size = version.has('size') ? version.get('size') : 0; - var preview = OC.MimeType.getIconUrl(version.get('mimetype')); - var img = new Image(); - img.onload = function () { - $('li[data-revision=' + version.get('timestamp') + '] .preview').attr('src', version.getPreviewUrl()); - }; - img.src = version.getPreviewUrl(); - - return _.extend({ - versionId: version.get('id'), - formattedTimestamp: OC.Util.formatDate(timestamp), - relativeTimestamp: OC.Util.relativeModifiedDate(timestamp), - millisecondsTimestamp: timestamp, - humanReadableSize: OC.Util.humanFileSize(size, true), - altSize: n('files', '%n byte', '%n bytes', size), - hasDetails: version.has('size'), - downloadUrl: version.getDownloadUrl(), - downloadIconUrl: OC.imagePath('core', 'actions/download'), - downloadName: version.get('name'), - revertIconUrl: OC.imagePath('core', 'actions/history'), - previewUrl: preview, - revertLabel: t('files_versions', 'Restore'), - canRevert: (this.collection.getFileInfo().get('permissions') & OC.PERMISSION_UPDATE) !== 0 - }, version.attributes); - }, - - /** - * Renders this details view - */ - render: function() { - this.$el.html(this.template({ - emptyResultLabel: t('files_versions', 'No other versions available'), - })); - this.$el.find('.has-tooltip').tooltip(); - this.$versionsContainer = this.$el.find('ul.versions'); - this.delegateEvents(); - }, - - /** - * Returns true for files, false for folders. - * - * @return {bool} true for files, false for folders - */ - canDisplay: function(fileInfo) { - if (!fileInfo) { - return false; - } - return !fileInfo.isDirectory(); - } - }); - - OCA.Versions = OCA.Versions || {}; - - OCA.Versions.VersionsTabView = VersionsTabView; -})(); |