Skip to content

Commit

Permalink
added support for older documents without list cursors
Browse files Browse the repository at this point in the history
  • Loading branch information
sethmiles committed Jun 23, 2014
1 parent b01e9c0 commit d6a6587
Showing 1 changed file with 22 additions and 12 deletions.
34 changes: 22 additions & 12 deletions js/rtpg.list.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,9 @@ rtpg.list.INPUT_SELECTOR = '#demoListInput';
rtpg.list.loadField = function() {
rtpg.list.field = rtpg.getField(rtpg.list.FIELD_NAME);
rtpg.list.cursors = rtpg.getField(rtpg.list.CURSORS_NAME);
rtpg.list.garbageCollectCursorMap();
if(rtpg.list.cursors){
rtpg.list.garbageCollectCursorMap();
}
};

rtpg.list.garbageCollectCursorMap = function () {
Expand Down Expand Up @@ -107,9 +109,11 @@ rtpg.list.onListItemClick = function (evt) {
// Register Reference
if(!rtpg.list.field.registeredReference){
rtpg.list.field.registeredReference = rtpg.list.field.registerReference(index, true);
rtpg.list.cursors.set(rtpg.getMe().sessionId, rtpg.list.field.registeredReference);
rtpg.list.field.registeredReference
.addEventListener(gapi.drive.realtime.EventType.REFERENCE_SHIFTED, rtpg.list.onRealtimeReferenceShifted);
if(rtpg.list.cursors){
rtpg.list.cursors.set(rtpg.getMe().sessionId, rtpg.list.field.registeredReference);
}
}

rtpg.list.field.registeredReference.index = index;
Expand All @@ -120,9 +124,9 @@ rtpg.list.onListItemClick = function (evt) {
};

rtpg.list.updateListItems = function () {
var keys = rtpg.list.cursors.keys(),
me = rtpg.getMe(),
listItems = $(rtpg.list.INPUT_SELECTOR + ' li');
var me = rtpg.getMe(),
listItems = $(rtpg.list.INPUT_SELECTOR + ' li'),
keys;

listItems.removeClass('muted').removeAttr('style');

Expand All @@ -132,12 +136,15 @@ rtpg.list.updateListItems = function () {
.addClass('active').css('background-color', me.color);
}

for(var i = 0, len = keys.length; i < len; i++){
if(keys[i] != me.sessionId){
var index = rtpg.list.cursors.get(keys[i]).index;
var collaborator = rtpg.getCollaborator(keys[i]);
$(listItems[index]).addClass('muted');
$(listItems[index]).css('background-color', collaborator.color);
if(rtpg.list.cursors){
keys = rtpg.list.cursors.keys();
for(var i = 0, len = keys.length; i < len; i++){
if(keys[i] != me.sessionId){
var index = rtpg.list.cursors.get(keys[i]).index;
var collaborator = rtpg.getCollaborator(keys[i]);
$(listItems[index]).addClass('muted');
$(listItems[index]).css('background-color', collaborator.color);
}
}
}
};
Expand Down Expand Up @@ -226,5 +233,8 @@ rtpg.list.connectRealtime = function() {
rtpg.list.field.addEventListener(gapi.drive.realtime.EventType.VALUES_ADDED, rtpg.list.onRealtimeAdded);
rtpg.list.field.addEventListener(gapi.drive.realtime.EventType.VALUES_REMOVED, rtpg.list.onRealtimeRemoved);
rtpg.list.field.addEventListener(gapi.drive.realtime.EventType.VALUES_SET, rtpg.list.onRealtimeSet);
rtpg.list.cursors.addEventListener(gapi.drive.realtime.EventType.VALUE_CHANGED, rtpg.list.onRealtimeCursorChange);

if(rtpg.list.cursors){
rtpg.list.cursors.addEventListener(gapi.drive.realtime.EventType.VALUE_CHANGED, rtpg.list.onRealtimeCursorChange);
}
};

0 comments on commit d6a6587

Please sign in to comment.