diff options
author | Julius Härtl <jus@bitgrid.net> | 2018-11-09 11:12:13 +0300 |
---|---|---|
committer | Julius Härtl <jus@bitgrid.net> | 2018-11-09 11:12:13 +0300 |
commit | 42e5e1ee0cd1724fa11ae93994ef4c18c41bea6a (patch) | |
tree | 30e7270457f71253de5dfdb6183bc4b0895d90f3 /js | |
parent | b9d1bf08504ffe8a74a7c640fc47a7d1da0342da (diff) |
Use object to store list of views
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Diffstat (limited to 'js')
-rw-r--r-- | js/documents.js | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/js/documents.js b/js/documents.js index 1470b41b..0a1e87c5 100644 --- a/js/documents.js +++ b/js/documents.js @@ -161,7 +161,7 @@ var documentsMain = { revisionsStart: 0, /* Views: people currently editing the file */ - views: [], + views: {}, init : function(){ documentsMain.UI.mainTitle = parent.document.title; @@ -174,9 +174,10 @@ var documentsMain = { renderAvatars: function() { var avatardiv = parent.$('#header .header-right #richdocuments-avatars'); avatardiv.empty(); - + var users = []; // Add new avatars - this.views.forEach(function(view, viewId) { + for (var viewId in this.views) { + var view = this.views[viewId]; if (view.UserId === parent.OC.currentUser) { return; } @@ -188,7 +189,7 @@ var documentsMain = { if (parent.OC.currentUser !== null && view.UserId !== '') { $(avatar).contactsMenu(view.UserId, 0, avatarContainer); } - }); + }; }, showViewer: function(fileId, title){ @@ -561,18 +562,10 @@ var documentsMain = { documentsMain.$deferredVersionRestoreAck.resolve(); } } else if (msgId === 'View_Added') { - documentsMain.UI.views.push(args); + documentsMain.UI.views[args.ViewId] = args; documentsMain.UI.renderAvatars(); } else if (msgId === 'View_Removed') { - var view = $.grep(documentsMain.UI.views, function(element, index) { - return element.ViewId === args.ViewId; - }); - if (view.length === 1) { - index = documentsMain.UI.views.indexOf(view[0]); - if (index > -1) { - documentsMain.UI.views.splice(index, 1); - } - } + delete documentsMain.UI.views[args.ViewId]; documentsMain.UI.renderAvatars(); } else if (msgId === 'Get_Views_Resp') { args.forEach(function(view) { |