diff options
Diffstat (limited to 'addons/mail/static/src/models/thread_cache')
| -rw-r--r-- | addons/mail/static/src/models/thread_cache/thread_cache.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/addons/mail/static/src/models/thread_cache/thread_cache.js b/addons/mail/static/src/models/thread_cache/thread_cache.js index 4e2bb5208e2..c474c565219 100644 --- a/addons/mail/static/src/models/thread_cache/thread_cache.js +++ b/addons/mail/static/src/models/thread_cache/thread_cache.js @@ -160,6 +160,15 @@ function factory(dependencies) { } /** + * + * @private + * @returns {mail.message[]} + */ + _computeNonEmptyMessages() { + return [['replace', this.messages.filter(message => !message.isEmpty)]] + } + + /** * @private * @returns {mail.message[]} */ @@ -427,6 +436,23 @@ function factory(dependencies) { ], }), /** + * IsEmpty trait of all messages. + * Serves as compute dependency. + */ + messagesAreEmpty: attr({ + related: 'messages.isEmpty' + }), + /** + * List of non empty messages linked to this cache. + */ + nonEmptyMessages: many2many('mail.message', { + compute: '_computeNonEmptyMessages', + dependencies: [ + 'messages', + 'messagesAreEmpty', + ], + }), + /** * Loads initial messages from `this`. * This is not a "real" field, its compute function is used to trigger * the load of messages at the right time. |
