|
|
@@ -27,19 +27,23 @@ function startIO(app) {
|
|
27
|
27
|
return io;
|
|
28
|
28
|
}
|
|
29
|
29
|
|
|
|
30
|
+function getBoard(name) {
|
|
|
31
|
+ var board = boards[name];
|
|
|
32
|
+ if (!board) {
|
|
|
33
|
+ boards[name] = board = {
|
|
|
34
|
+ "data": new BoardData(name)
|
|
|
35
|
+ };
|
|
|
36
|
+ }
|
|
|
37
|
+ return board;
|
|
|
38
|
+}
|
|
|
39
|
+
|
|
30
|
40
|
function socketConnection(socket) {
|
|
31
|
41
|
socket.on("getboard", noFail(function onGetBoard(name) {
|
|
32
|
42
|
|
|
33
|
43
|
// Default to the public board
|
|
34
|
44
|
if (!name) name = "anonymous";
|
|
35
|
45
|
|
|
36
|
|
- if (!boards[name]) {
|
|
37
|
|
- boards[name] = {
|
|
38
|
|
- "data": new BoardData(name)
|
|
39
|
|
- };
|
|
40
|
|
- }
|
|
41
|
|
-
|
|
42
|
|
- var board_data = boards[name].data;
|
|
|
46
|
+ var board_data = getBoard(name).data;
|
|
43
|
47
|
|
|
44
|
48
|
// Join the board
|
|
45
|
49
|
socket.join(name);
|
|
|
@@ -91,9 +95,8 @@ function socketConnection(socket) {
|
|
91
|
95
|
}
|
|
92
|
96
|
|
|
93
|
97
|
function saveHistory(boardName, message) {
|
|
94
|
|
- if (!(boardName in boards)) throw new Error("Missing board cannot be saved: ", boardName);
|
|
95
|
98
|
var id = message.id;
|
|
96
|
|
- var boardData = boards[boardName].data;
|
|
|
99
|
+ var boardData = getBoard(boardName).data;
|
|
97
|
100
|
switch (message.type) {
|
|
98
|
101
|
case "delete":
|
|
99
|
102
|
if (id) boardData.delete(id);
|
|
|
@@ -121,7 +124,7 @@ function generateUID(prefix, suffix) {
|
|
121
|
124
|
|
|
122
|
125
|
if (exports) {
|
|
123
|
126
|
exports.start = function (app) {
|
|
124
|
|
- boards["anonymous"].data.on("ready", function () {
|
|
|
127
|
+ getBoard("anonymous").data.on("ready", function () {
|
|
125
|
128
|
startIO(app);
|
|
126
|
129
|
});
|
|
127
|
130
|
};
|