From 9a7f69a614a4888fd59a27ad03e5cc78d83c5344 Mon Sep 17 00:00:00 2001 From: Pete Richards Date: Tue, 8 Nov 2016 13:54:31 -0800 Subject: [PATCH] Model Cache updates models on mutation --- platform/core/bundle.js | 5 ++++- platform/core/src/models/ModelCacheService.js | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/platform/core/bundle.js b/platform/core/bundle.js index 93b64f5739..294d339692 100644 --- a/platform/core/bundle.js +++ b/platform/core/bundle.js @@ -372,7 +372,10 @@ define([ "services": [ { "key": "cacheService", - "implementation": ModelCacheService + "implementation": ModelCacheService, + "depends": [ + "topic" + ] }, { "key": "now", diff --git a/platform/core/src/models/ModelCacheService.js b/platform/core/src/models/ModelCacheService.js index 0e3daf2121..0ddb279251 100644 --- a/platform/core/src/models/ModelCacheService.js +++ b/platform/core/src/models/ModelCacheService.js @@ -28,8 +28,13 @@ define([], function () { * @constructor * @memberof platform/core */ - function ModelCacheService() { + function ModelCacheService(topic) { this.cache = {}; + topic('mutation').listen(function (domainObject) { + if (this.has(domainObject.getId())) { + this.put(domainObject.getId(), domainObject.getModel()); + } + }.bind(this)); } /**