123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- /*
- * Copyright (c) 2016
- *
- * This file is licensed under the Affero General Public License version 3
- * or later.
- *
- * See the COPYING-README file.
- *
- */
- (function(OC, OCA) {
- _.extend(OC.Files.Client, {
- PROPERTY_FILEID: '{' + OC.Files.Client.NS_OWNCLOUD + '}id',
- PROPERTY_MESSAGE: '{' + OC.Files.Client.NS_OWNCLOUD + '}message',
- PROPERTY_ACTORTYPE: '{' + OC.Files.Client.NS_OWNCLOUD + '}actorType',
- PROPERTY_ACTORID: '{' + OC.Files.Client.NS_OWNCLOUD + '}actorId',
- PROPERTY_ISUNREAD: '{' + OC.Files.Client.NS_OWNCLOUD + '}isUnread',
- PROPERTY_OBJECTID: '{' + OC.Files.Client.NS_OWNCLOUD + '}objectId',
- PROPERTY_OBJECTTYPE: '{' + OC.Files.Client.NS_OWNCLOUD + '}objectType',
- PROPERTY_ACTORDISPLAYNAME: '{' + OC.Files.Client.NS_OWNCLOUD + '}actorDisplayName',
- PROPERTY_CREATIONDATETIME: '{' + OC.Files.Client.NS_OWNCLOUD + '}creationDateTime',
- PROPERTY_MENTIONS: '{' + OC.Files.Client.NS_OWNCLOUD + '}mentions'
- });
- /**
- * @class OCA.Comments.CommentModel
- * @classdesc
- *
- * Comment
- *
- */
- var CommentModel = OC.Backbone.Model.extend(
- /** @lends OCA.Comments.CommentModel.prototype */ {
- sync: OC.Backbone.davSync,
- defaults: {
- actorType: 'users',
- objectType: 'files'
- },
- davProperties: {
- 'id': OC.Files.Client.PROPERTY_FILEID,
- 'message': OC.Files.Client.PROPERTY_MESSAGE,
- 'actorType': OC.Files.Client.PROPERTY_ACTORTYPE,
- 'actorId': OC.Files.Client.PROPERTY_ACTORID,
- 'actorDisplayName': OC.Files.Client.PROPERTY_ACTORDISPLAYNAME,
- 'creationDateTime': OC.Files.Client.PROPERTY_CREATIONDATETIME,
- 'objectType': OC.Files.Client.PROPERTY_OBJECTTYPE,
- 'objectId': OC.Files.Client.PROPERTY_OBJECTID,
- 'isUnread': OC.Files.Client.PROPERTY_ISUNREAD,
- 'mentions': OC.Files.Client.PROPERTY_MENTIONS
- },
- parse: function(data) {
- return {
- id: data.id,
- message: data.message,
- actorType: data.actorType,
- actorId: data.actorId,
- actorDisplayName: data.actorDisplayName,
- creationDateTime: data.creationDateTime,
- objectType: data.objectType,
- objectId: data.objectId,
- isUnread: (data.isUnread === 'true'),
- mentions: this._parseMentions(data.mentions)
- };
- },
- _parseMentions: function(mentions) {
- if(_.isUndefined(mentions)) {
- return {};
- }
- var result = {};
- for(var i in mentions) {
- var mention = mentions[i];
- if(_.isUndefined(mention.localName) || mention.localName !== 'mention') {
- continue;
- }
- result[i] = {};
- for (var child = mention.firstChild; child; child = child.nextSibling) {
- if(_.isUndefined(child.localName) || !child.localName.startsWith('mention')) {
- continue;
- }
- result[i][child.localName] = child.textContent;
- }
- }
- return result;
- }
- });
- OCA.Comments.CommentModel = CommentModel;
- })(OC, OCA);
|