Introduce FileInfoModel
FileInfoModel is a backbone model that will make it possible to track changes and update views accordingly
This commit is contained in:
parent
aac7c19ab7
commit
997577cf7a
2 changed files with 72 additions and 0 deletions
|
@ -41,6 +41,7 @@ OCP\Util::addscript('files', 'file-upload');
|
|||
OCP\Util::addscript('files', 'jquery.iframe-transport');
|
||||
OCP\Util::addscript('files', 'jquery.fileupload');
|
||||
OCP\Util::addscript('files', 'jquery-visibility');
|
||||
OCP\Util::addscript('files', 'fileinfomodel');
|
||||
OCP\Util::addscript('files', 'filesummary');
|
||||
OCP\Util::addscript('files', 'breadcrumb');
|
||||
OCP\Util::addscript('files', 'filelist');
|
||||
|
|
71
apps/files/js/fileinfomodel.js
Normal file
71
apps/files/js/fileinfomodel.js
Normal file
|
@ -0,0 +1,71 @@
|
|||
/*
|
||||
* Copyright (c) 2015
|
||||
*
|
||||
* This file is licensed under the Affero General Public License version 3
|
||||
* or later.
|
||||
*
|
||||
* See the COPYING-README file.
|
||||
*
|
||||
*/
|
||||
|
||||
(function(OC, OCA) {
|
||||
|
||||
/**
|
||||
* @class OC.Files.FileInfo
|
||||
* @classdesc File information
|
||||
*
|
||||
* @param {Object} attributes file data
|
||||
* @param {int} attributes.id file id
|
||||
* @param {string} attributes.name file name
|
||||
* @param {string} attributes.path path leading to the file,
|
||||
* without the file name and with a leading slash
|
||||
* @param {int} attributes.size size
|
||||
* @param {string} attributes.mimetype mime type
|
||||
* @param {string} attributes.icon icon URL
|
||||
* @param {int} attributes.permissions permissions
|
||||
* @param {Date} attributes.mtime modification time
|
||||
* @param {string} attributes.etag etag
|
||||
* @param {string} mountType mount type
|
||||
*
|
||||
* @since 8.2
|
||||
*/
|
||||
var FileInfoModel = OC.Backbone.Model.extend({
|
||||
|
||||
initialize: function(data) {
|
||||
if (!_.isUndefined(data.id)) {
|
||||
data.id = parseInt(data.id, 10);
|
||||
}
|
||||
|
||||
// TODO: normalize path
|
||||
data.path = data.path || '';
|
||||
data.name = data.name;
|
||||
|
||||
data.mimetype = data.mimetype || 'application/octet-stream';
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns whether this file is a directory
|
||||
*
|
||||
* @return {boolean} true if this is a directory, false otherwise
|
||||
*/
|
||||
isDirectory: function() {
|
||||
return this.get('mimetype') === 'httpd/unix-directory';
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns the full path to this file
|
||||
*
|
||||
* @return {string} full path
|
||||
*/
|
||||
getFullPath: function() {
|
||||
return OC.joinPaths(this.get('path'), this.get('name'));
|
||||
}
|
||||
});
|
||||
|
||||
if (!OCA.Files) {
|
||||
OCA.Files = {};
|
||||
}
|
||||
OCA.Files.FileInfoModel = FileInfoModel;
|
||||
|
||||
})(OC, OCA);
|
||||
|
Loading…
Reference in a new issue