aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_versions/js/versionstabview.js
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2018-10-11 16:59:04 +0200
committerRobin Appelman <robin@icewind.nl>2018-10-11 20:42:41 +0200
commitee84d8351953ed8afee9abcd8fc7cb1449e44a4b (patch)
tree9c6696889c3cb97410be1b390f51547ccd324ddf /apps/files_versions/js/versionstabview.js
parent6e56a7b31e89b7abea4e9bcf78eec21f54dfd74c (diff)
downloadnextcloud-server-ee84d8351953ed8afee9abcd8fc7cb1449e44a4b.tar.gz
nextcloud-server-ee84d8351953ed8afee9abcd8fc7cb1449e44a4b.zip
move versions webui over to the dav api
Signed-off-by: Robin Appelman <robin@icewind.nl>
Diffstat (limited to 'apps/files_versions/js/versionstabview.js')
-rw-r--r--apps/files_versions/js/versionstabview.js74
1 files changed, 11 insertions, 63 deletions
diff --git a/apps/files_versions/js/versionstabview.js b/apps/files_versions/js/versionstabview.js
index dacd567fdc9..61309a30d50 100644
--- a/apps/files_versions/js/versionstabview.js
+++ b/apps/files_versions/js/versionstabview.js
@@ -8,14 +8,11 @@
*
*/
-/* @global Handlebars */
-
(function() {
/**
* @memberof OCA.Versions
*/
- var VersionsTabView = OCA.Files.DetailTabView.extend(
- /** @lends OCA.Versions.VersionsTabView.prototype */ {
+ var VersionsTabView = OCA.Files.DetailTabView.extend(/** @lends OCA.Versions.VersionsTabView.prototype */{
id: 'versionsTabView',
className: 'tab versionsTabView',
@@ -24,8 +21,7 @@
$versionsContainer: null,
events: {
- 'click .revertVersion': '_onClickRevertVersion',
- 'click .showMoreVersions': '_onClickShowMoreVersions'
+ 'click .revertVersion': '_onClickRevertVersion'
},
initialize: function() {
@@ -43,19 +39,14 @@
},
nextPage: function() {
- if (this._loading || !this.collection.hasMoreResults()) {
+ if (this._loading) {
return;
}
if (this.collection.getFileInfo() && this.collection.getFileInfo().isDirectory()) {
return;
}
- this.collection.fetchNext();
- },
-
- _onClickShowMoreVersions: function(ev) {
- ev.preventDefault();
- this.nextPage();
+ this.collection.fetch();
},
_onClickRevertVersion: function(ev) {
@@ -70,8 +61,6 @@
ev.preventDefault();
revision = $target.attr('data-revision');
- this.$el.find('.versions, .showMoreVersions').addClass('hidden');
-
var versionModel = this.collection.get(revision);
versionModel.revert({
success: function() {
@@ -79,7 +68,7 @@
self.$versionsContainer.empty();
self.collection.setFileInfo(fileInfoModel);
self.collection.reset([], {silent: true});
- self.collection.fetchNext();
+ self.collection.fetch();
self.$el.find('.versions').removeClass('hidden');
@@ -97,7 +86,7 @@
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}.',
+ OC.Notification.show(t('files_version', 'Failed to revert {file} to revision {timestamp}.',
{
file: versionModel.getFullPath(),
timestamp: OC.Util.formatDate(versionModel.get('timestamp') * 1000)
@@ -121,27 +110,16 @@
_onRequest: function() {
this._toggleLoading(true);
- this.$el.find('.showMoreVersions').addClass('hidden');
},
_onEndRequest: function() {
this._toggleLoading(false);
this.$el.find('.empty').toggleClass('hidden', !!this.collection.length);
- this.$el.find('.showMoreVersions').toggleClass('hidden', !this.collection.hasMoreResults());
},
_onAddModel: function(model) {
var $el = $(this.itemTemplate(this._formatItem(model)));
this.$versionsContainer.append($el);
-
- var preview = $el.find('.preview')[0];
- this._lazyLoadPreview({
- url: model.getPreviewUrl(),
- mime: model.get('mimetype'),
- callback: function(url) {
- preview.src = url;
- }
- });
$el.find('.has-tooltip').tooltip();
},
@@ -168,8 +146,9 @@
_formatItem: function(version) {
var timestamp = version.get('timestamp') * 1000;
var size = version.has('size') ? version.get('size') : 0;
+
return _.extend({
- millisecondsTimestamp: timestamp,
+ versionId: version.get('id'),
formattedTimestamp: OC.Util.formatDate(timestamp),
relativeTimestamp: OC.Util.relativeModifiedDate(timestamp),
humanReadableSize: OC.Util.humanFileSize(size, true),
@@ -177,7 +156,9 @@
hasDetails: version.has('size'),
downloadUrl: version.getDownloadUrl(),
downloadIconUrl: OC.imagePath('core', 'actions/download'),
+ downloadName: version.get('name'),
revertIconUrl: OC.imagePath('core', 'actions/history'),
+ previewUrl: version.getPreviewUrl(),
revertLabel: t('files_versions', 'Restore'),
canRevert: (this.collection.getFileInfo().get('permissions') & OC.PERMISSION_UPDATE) !== 0
}, version.attributes);
@@ -188,8 +169,7 @@
*/
render: function() {
this.$el.html(this.template({
- emptyResultLabel: t('files_versions', 'No earlier versions available'),
- moreVersionsLabel: t('files_versions', 'More versions …')
+ emptyResultLabel: t('files_versions', 'No other versions available'),
}));
this.$el.find('.has-tooltip').tooltip();
this.$versionsContainer = this.$el.find('ul.versions');
@@ -206,38 +186,6 @@
return false;
}
return !fileInfo.isDirectory();
- },
-
- /**
- * Lazy load a file's preview.
- *
- * @param path path of the file
- * @param mime mime type
- * @param callback callback function to call when the image was loaded
- * @param etag file etag (for caching)
- */
- _lazyLoadPreview : function(options) {
- var url = options.url;
- var mime = options.mime;
- var ready = options.callback;
-
- // get mime icon url
- var iconURL = OC.MimeType.getIconUrl(mime);
- ready(iconURL); // set mimeicon URL
-
- var img = new Image();
- img.onload = function(){
- // if loading the preview image failed (no preview for the mimetype) then img.width will < 5
- if (img.width > 5) {
- ready(url, img);
- } else if (options.error) {
- options.error();
- }
- };
- if (options.error) {
- img.onerror = options.error;
- }
- img.src = url;
}
});