Ver código fonte

Move every Org.findOne() to the ReactiveCache

Martin Filser 2 anos atrás
pai
commit
2ab34d3b87

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

@@ -192,7 +192,7 @@ BlazeComponent.extendComponent({
 
 Template.orgRow.helpers({
   orgData() {
-    return Org.findOne(this.orgId);
+    return ReactiveCache.getOrg(this.orgId);
   },
 });
 
@@ -229,7 +229,7 @@ Template.editUserPopup.onCreated(function () {
 
 Template.editOrgPopup.helpers({
   org() {
-    return Org.findOne(this.orgId);
+    return ReactiveCache.getOrg(this.orgId);
   },
   errorMessage() {
     return Template.instance().errorMessage.get();
@@ -302,7 +302,7 @@ Template.newUserPopup.onCreated(function () {
 
 Template.newOrgPopup.helpers({
   org() {
-    return Org.findOne(this.orgId);
+    return ReactiveCache.getOrg(this.orgId);
   },
   errorMessage() {
     return Template.instance().errorMessage.get();
@@ -354,7 +354,7 @@ Template.newUserPopup.helpers({
 BlazeComponent.extendComponent({
   onCreated() {},
   org() {
-    return Org.findOne(this.orgId);
+    return ReactiveCache.getOrg(this.orgId);
   },
   events() {
     return [
@@ -564,7 +564,7 @@ BlazeComponent.extendComponent({
 Template.editOrgPopup.events({
   submit(event, templateInstance) {
     event.preventDefault();
-    const org = Org.findOne(this.orgId);
+    const org = ReactiveCache.getOrg(this.orgId);
 
     const orgDisplayName = templateInstance
       .find('.js-orgDisplayName')

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

@@ -1644,7 +1644,7 @@ BlazeComponent.extendComponent({
 
 Template.removeBoardOrgPopup.helpers({
   org() {
-    return Org.findOne(this.orgId);
+    return ReactiveCache.getOrg(this.orgId);
   },
 });
 

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

@@ -89,18 +89,18 @@ BlazeComponent.extendComponent({
 
 Template.boardOrgRow.helpers({
   orgData() {
-    return Org.findOne(this.orgId);
+    return ReactiveCache.getOrg(this.orgId);
   },
 });
 
 Template.boardOrgName.helpers({
   orgName() {
-    const org = Org.findOne(this.orgId);
+    const org = ReactiveCache.getOrg(this.orgId);
     return org && org.orgDisplayName;
   },
 
   orgViewPortWidth() {
-    const org = Org.findOne(this.orgId);
+    const org = ReactiveCache.getOrg(this.orgId);
     return ((org && org.orgDisplayName.length) || 1) * 12;
   },
 });

+ 23 - 0
imports/reactiveCache.js

@@ -43,6 +43,10 @@ ReactiveCacheServer = {
     const ret = Users.findOne(id);
     return ret;
   },
+  getOrg(id) {
+    const ret = Org.findOne(id);
+    return ret;
+  },
   getActivity(id) {
     const ret = Activities.findOne(id);
     return ret;
@@ -161,6 +165,16 @@ ReactiveCacheClient = {
     const ret = this.__user.get(id);
     return ret;
   },
+  getOrg(id) {
+    if (!this.__org) {
+      this.__org = new DataCache(_id => {
+        const _ret = Org.findOne(_id);
+        return _ret;
+      });
+    }
+    const ret = this.__org.get(id);
+    return ret;
+  },
   getActivity(id) {
     if (!this.__activity) {
       this.__activity = new DataCache(_id => {
@@ -290,6 +304,15 @@ ReactiveCache = {
     }
     return ret;
   },
+  getOrg(id) {
+    let ret;
+    if (Meteor.isServer) {
+      ret = ReactiveCacheServer.getOrg(id);
+    } else {
+      ret = ReactiveCacheClient.getOrg(id);
+    }
+    return ret;
+  },
   getActivity(id) {
     let ret;
     if (Meteor.isServer) {