mirror of
https://github.com/wassname/HackFlowy.git
synced 2026-08-10 11:50:55 +08:00
Semi-Naive Real-Time-Editing Works (as far as I can tell). Todos= CursorLogic+AuthorSync
This commit is contained in:
+13
-6
@@ -46,7 +46,8 @@ module.exports = {
|
||||
});
|
||||
|
||||
socket.on('nodeRequest', function(data){
|
||||
var nodes = Node.findAndSocketSend(socket); //finds, then sends through socket.
|
||||
console.log("NodeRequst, CURRENT_TIMESTAMP", CURRENT_TIMESTAMP);
|
||||
var nodes = Node.findAndSocketSend(socket, CURRENT_TIMESTAMP); //finds, then sends through socket.
|
||||
});
|
||||
|
||||
socket.on("revHistoryRequest", function(subRootId){
|
||||
@@ -129,25 +130,31 @@ function attachLogInListeners(socket){
|
||||
}
|
||||
else{
|
||||
CURRENT_TIMESTAMP = timestampData[0];
|
||||
socket.broadcast.emit(emitData[0], emitData[1]);
|
||||
MessageQueue.queueOrDo(action);
|
||||
socket.broadcast.emit(emitData[0], emitData[1], CURRENT_TIMESTAMP);
|
||||
MessageQueue.queueOrDo(queueData);
|
||||
}
|
||||
}
|
||||
//maybe emit sooner...
|
||||
//need to broadcast parentArray.
|
||||
//timestampData=[CURRENT_TIMESTAMP, oldTime]
|
||||
socket.on("newNode", function(data, timestampData){
|
||||
syncValidation(data, timestampData, ['newNode', data, socket], ["dummy", 1234]);
|
||||
var queueData = ['newNode', data, socket];
|
||||
var emitData = ['newNode', data];
|
||||
syncValidation(data, timestampData, queueData, emitData);
|
||||
//(todo = set IDs on client (instead of negative Ids));
|
||||
});
|
||||
|
||||
|
||||
socket.on("removeNode", function(data, timestampData){
|
||||
syncValidation(data, timestampData, ['removeNode', data, socket], ["removeNode", data]);
|
||||
var queueData = ['removeNode', data, socket];
|
||||
var emitData = ["removeNode", data];
|
||||
syncValidation(data, timestampData, queueData, emitData);
|
||||
});
|
||||
|
||||
socket.on("movedNode", function(data, timestampData){
|
||||
syncValidation(data, timestampData, ['movedNode', data, socket],[ "movedNode", [data[0],data[2]] ]);
|
||||
var queueData = ['movedNode', data, socket];
|
||||
var emitData = [ "movedNode", [data[0],data[2]] ];
|
||||
syncValidation(data, timestampData, queueData, emitData);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user