Forráskód Böngészése

Move every Team.findOne() to the ReactiveCache

Martin Filser 2 éve
szülő
commit
fe2015735a

+ 5 - 5
client/components/settings/peopleBody.js

@@ -198,7 +198,7 @@ Template.orgRow.helpers({
 
 Template.teamRow.helpers({
   teamData() {
-    return Team.findOne(this.teamId);
+    return ReactiveCache.getTeam(this.teamId);
   },
 });
 
@@ -238,7 +238,7 @@ Template.editOrgPopup.helpers({
 
 Template.editTeamPopup.helpers({
   team() {
-    return Team.findOne(this.teamId);
+    return ReactiveCache.getTeam(this.teamId);
   },
   errorMessage() {
     return Template.instance().errorMessage.get();
@@ -311,7 +311,7 @@ Template.newOrgPopup.helpers({
 
 Template.newTeamPopup.helpers({
   team() {
-    return Team.findOne(this.teamId);
+    return ReactiveCache.getTeam(this.teamId);
   },
   errorMessage() {
     return Template.instance().errorMessage.get();
@@ -369,7 +369,7 @@ BlazeComponent.extendComponent({
 BlazeComponent.extendComponent({
   onCreated() {},
   team() {
-    return Team.findOne(this.teamId);
+    return ReactiveCache.getTeam(this.teamId);
   },
   events() {
     return [
@@ -605,7 +605,7 @@ Template.editOrgPopup.events({
 Template.editTeamPopup.events({
   submit(event, templateInstance) {
     event.preventDefault();
-    const team = Team.findOne(this.teamId);
+    const team = ReactiveCache.getTeam(this.teamId);
 
     const teamDisplayName = templateInstance
       .find('.js-teamDisplayName')

+ 1 - 1
client/components/sidebar/sidebar.js

@@ -1845,7 +1845,7 @@ BlazeComponent.extendComponent({
 
 Template.removeBoardTeamPopup.helpers({
   team() {
-    return Team.findOne(this.teamId);
+    return ReactiveCache.getTeam(this.teamId);
   },
 });
 

+ 3 - 3
client/components/users/userAvatar.js

@@ -148,18 +148,18 @@ BlazeComponent.extendComponent({
 
 Template.boardTeamRow.helpers({
   teamData() {
-    return Team.findOne(this.teamId);
+    return ReactiveCache.getTeam(this.teamId);
   },
 });
 
 Template.boardTeamName.helpers({
   teamName() {
-    const team = Team.findOne(this.teamId);
+    const team = ReactiveCache.getTeam(this.teamId);
     return team && team.teamDisplayName;
   },
 
   teamViewPortWidth() {
-    const team = Team.findOne(this.teamId);
+    const team = ReactiveCache.getTeam(this.teamId);
     return ((team && team.teamDisplayName.length) || 1) * 12;
   },
 });

+ 23 - 0
imports/reactiveCache.js

@@ -47,6 +47,10 @@ ReactiveCacheServer = {
     const ret = Org.findOne(id);
     return ret;
   },
+  getTeam(id) {
+    const ret = Team.findOne(id);
+    return ret;
+  },
   getActivity(id) {
     const ret = Activities.findOne(id);
     return ret;
@@ -175,6 +179,16 @@ ReactiveCacheClient = {
     const ret = this.__org.get(id);
     return ret;
   },
+  getTeam(id) {
+    if (!this.__team) {
+      this.__team = new DataCache(_id => {
+        const _ret = Team.findOne(_id);
+        return _ret;
+      });
+    }
+    const ret = this.__team.get(id);
+    return ret;
+  },
   getActivity(id) {
     if (!this.__activity) {
       this.__activity = new DataCache(_id => {
@@ -313,6 +327,15 @@ ReactiveCache = {
     }
     return ret;
   },
+  getTeam(id) {
+    let ret;
+    if (Meteor.isServer) {
+      ret = ReactiveCacheServer.getTeam(id);
+    } else {
+      ret = ReactiveCacheClient.getTeam(id);
+    }
+    return ret;
+  },
   getActivity(id) {
     let ret;
     if (Meteor.isServer) {