forked from goodow/realtime-web-playground
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rtpg.collaborators.js
68 lines (57 loc) · 2.26 KB
/
rtpg.collaborators.js
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
/**
* Copyright 2014 Google Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http:https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
"use strict";
/**
* Namespace for Log Demo.
*/
rtpg.collaborators = rtpg.collaborators || {};
rtpg.allDemos.push(rtpg.collaborators);
/**
* DOM selector for the output element for Log Demo.
*/
rtpg.collaborators.COLLABORATORS_SELECTOR = '#collaborators';
rtpg.collaborators.loadField = function() {
}
rtpg.collaborators.initializeModel = function(model) {
}
rtpg.collaborators.updateUi = function() {
var collaboratorsList = rtpg.realtimeDoc.getCollaborators();
$(rtpg.collaborators.COLLABORATORS_SELECTOR).empty();
for (var i = 0; i < collaboratorsList.length; i = i + 1) {
var collaborator = collaboratorsList[i];
var imgSrc = collaborator.photoUrl() == null ? 'images/anon.jpeg' : collaborator.photoUrl();
var img = $('<img>').attr('src', imgSrc).attr('alt', collaborator.displayName()).attr('title', collaborator.displayName() + (collaborator.isMe() ? " (Me)" : ""));
img.css('background-color', collaborator.color());
$(rtpg.collaborators.COLLABORATORS_SELECTOR).append(img);
}
};
rtpg.collaborators.connectUi = function() {
};
rtpg.collaborators.connectRealtime = function(doc) {
//Adding Listeners for Collaborator events.
doc.onCollaboratorJoined(rtpg.collaborators.onCollaboratorJoined);
doc.onCollaboratorLeft(rtpg.collaborators.onCollaboratorLeft);
rtpg.collaborators.updateUi();
};
rtpg.collaborators.onCollaboratorJoined = function(event) {
rtpg.log.logEvent(event, 'User opened the document');
rtpg.collaborators.updateUi();
};
rtpg.collaborators.onCollaboratorLeft = function(event) {
rtpg.log.logEvent(event, 'User closed the document');
rtpg.collaborators.updateUi();
rtpg.list.garbageCollectReferenceIndices();
};