aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/websocket.ts11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/server/websocket.ts b/src/server/websocket.ts
index 7d13480f5..0d19c3a91 100644
--- a/src/server/websocket.ts
+++ b/src/server/websocket.ts
@@ -276,9 +276,18 @@ export namespace WebSocket {
delete diff.diff.$addToSet;
const updatefield = Array.from(Object.keys(diff.diff.$set))[0];
const list = (results as any).fields?.[updatefield.replace("fields.", "")].fields;
+ const prelen = diff.diff.$set[updatefield].fields.length;
list.forEach((item: any) => !diff.diff.$set[updatefield].fields.some((x: any) => x.fieldId === item.fieldId) && diff.diff.$set[updatefield].fields.push(item));
+ const sendBack = diff.diff.$set[updatefield].fields.length !== prelen;
Database.Instance.update(diff.id, diff.diff,
- () => socket.broadcast.emit(MessageStore.UpdateField.Message, diff), false);
+ () => {
+ if (sendBack) {
+ const id = socket.id;
+ socket.id = "";
+ socket.broadcast.emit(MessageStore.UpdateField.Message, diff);
+ socket.id = id;
+ } else socket.broadcast.emit(MessageStore.UpdateField.Message, diff);
+ }, false);
console.log(results, diff.diff.$set);
}