Browse Source

Adding new ReactiveCache

Martin Filser 2 years ago
parent
commit
47427f89b0
2 changed files with 16 additions and 1 deletions
  1. 14 0
      client/lib/reactiveCache.js
  2. 2 1
      models/cards.js

+ 14 - 0
client/lib/reactiveCache.js

@@ -0,0 +1,14 @@
+import { DataCache } from 'meteor-reactive-cache';
+
+// global Reactive Cache class to avoid big overhead while searching for the same data often again
+ReactiveCache = {
+  getBoard(id) {
+    if (!this.__board) {
+      this.__board = new DataCache(boardId => {
+        return Boards.findOne(boardId);
+      });
+    }
+    const ret = this.__board.get(id);
+    return ret;
+  }
+}

+ 2 - 1
models/cards.js

@@ -639,7 +639,8 @@ Cards.helpers({
   },
 
   board() {
-    return Boards.findOne(this.boardId);
+    const ret = ReactiveCache.getBoard(this.boardId);
+    return ret;
   },
 
   getRealId() {