diff options
author | Lauri Ojansivu <x@xet7.org> | 2017-12-02 22:00:42 +0200 |
---|---|---|
committer | Lauri Ojansivu <x@xet7.org> | 2017-12-02 22:00:42 +0200 |
commit | 233554a3d69f1cf3a509e540fc1623d17c357037 (patch) | |
tree | 0321320f8be205aaf558b8912c4d63f98fa40639 /client | |
parent | fa281e3f5f7362797224c0eb11faec26351a407d (diff) | |
download | wekan-233554a3d69f1cf3a509e540fc1623d17c357037.tar.gz wekan-233554a3d69f1cf3a509e540fc1623d17c357037.tar.bz2 wekan-233554a3d69f1cf3a509e540fc1623d17c357037.zip |
Move global subscription to template subscription so that subscription
will stop when template is unused. It's very important for efficiency
espacially with large number of users. Thanks to mfshiu !
Diffstat (limited to 'client')
-rw-r--r-- | client/components/cards/cardDetails.js | 4 | ||||
-rw-r--r-- | client/components/settings/settingBody.js | 10 | ||||
-rw-r--r-- | client/components/users/userAvatar.js | 4 | ||||
-rw-r--r-- | client/lib/unsavedEdits.js | 2 |
4 files changed, 11 insertions, 9 deletions
diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index b62f31d4..e18de87c 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -23,8 +23,12 @@ BlazeComponent.extendComponent({ this.parentComponent().showOverlay.set(true); this.parentComponent().mouseHasEnterCardDetails = false; this.calculateNextPeak(); + + Meteor.subscribe('unsaved-edits'); }, + + isWatching() { const card = this.currentData(); return card.findWatcher(Meteor.userId()); diff --git a/client/components/settings/settingBody.js b/client/components/settings/settingBody.js index 5b015918..fabcc70c 100644 --- a/client/components/settings/settingBody.js +++ b/client/components/settings/settingBody.js @@ -1,8 +1,3 @@ -Meteor.subscribe('setting'); -Meteor.subscribe('mailServer'); -Meteor.subscribe('accountSettings'); -Meteor.subscribe('announcements'); - BlazeComponent.extendComponent({ onCreated() { this.error = new ReactiveVar(''); @@ -11,6 +6,11 @@ BlazeComponent.extendComponent({ this.emailSetting = new ReactiveVar(false); this.accountSetting = new ReactiveVar(false); this.announcementSetting = new ReactiveVar(false); + + Meteor.subscribe('setting'); + Meteor.subscribe('mailServer'); + Meteor.subscribe('accountSettings'); + Meteor.subscribe('announcements'); }, setError(error) { diff --git a/client/components/users/userAvatar.js b/client/components/users/userAvatar.js index 1066c632..be7a85d2 100644 --- a/client/components/users/userAvatar.js +++ b/client/components/users/userAvatar.js @@ -1,5 +1,3 @@ -Meteor.subscribe('my-avatars'); - Template.userAvatar.helpers({ userData() { // We need to handle a special case for the search results provided by the @@ -54,6 +52,8 @@ Template.userAvatarInitials.helpers({ BlazeComponent.extendComponent({ onCreated() { this.error = new ReactiveVar(''); + + Meteor.subscribe('my-avatars'); }, avatarUrlOptions() { diff --git a/client/lib/unsavedEdits.js b/client/lib/unsavedEdits.js index 17bb29b5..9c02eb84 100644 --- a/client/lib/unsavedEdits.js +++ b/client/lib/unsavedEdits.js @@ -1,5 +1,3 @@ -Meteor.subscribe('unsaved-edits'); - // `UnsavedEdits` is a global key-value store used to save drafts of user // inputs. We used to have the notion of a `cachedValue` that was local to a // component but the global store has multiple advantages: |