summaryrefslogtreecommitdiffstats
path: root/apps/files/js/mainfileinfodetailview.js
blob: 3f3705c25860ed2744306b7cf4b72a35a0e48a49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/*
 * Copyright (c) 2015
 *
 * This file is licensed under the Affero General Public License version 3
 * or later.
 *
 * See the COPYING-README file.
 *
 */

(function() {
	var TEMPLATE =
		'<div class="thumbnail"></div>' +
		'<ul class="detailList">' +
		'   <li>Name: {{name}}</li>' +
		'   <li>Path: {{path}}</li>' +
		'</ul>';

	/**
	 * @class OCA.Files.MainFileInfoDetailView
	 * @classdesc
	 *
	 * Displays main details about a file
	 *
	 */
	var MainFileInfoDetailView = function() {
		this.initialize();
	};
	/**
	 * @memberof OCA.Files
	 */
	MainFileInfoDetailView.prototype = _.extend({}, OCA.Files.DetailFileInfoView.prototype,
		/** @lends OCA.Files.MainFileInfoDetailView.prototype */ {
		_template: null,

		/**
		 * Initialize the details view
		 */
		initialize: function() {
			this.$el = $('<div class="mainFileInfoView"></div>');
		},

		/**
		 * Renders this details view
		 *
		 * @abstract
		 */
		render: function() {
			this.$el.empty();

			if (!this._template) {
				this._template = Handlebars.compile(TEMPLATE);
			}

			if (this._fileInfo) {
				this.$el.append(this._template(this._fileInfo));
				var $iconDiv = this.$el.find('.thumbnail');
				// FIXME: use proper way, this is only for demo purposes
				FileList.lazyLoadPreview({
					path: this._fileInfo.path + '/' + this._fileInfo.name,
					mime: this._fileInfo.mimetype,
					etag: this._fileInfo.etag,
					callback: function(url) {
						$iconDiv.css('background-image', 'url("' + url + '")');
					}
				});
			} else {
				// TODO: render placeholder text?
			}
		}
	});

	OCA.Files.MainFileInfoDetailView = MainFileInfoDetailView;
})();