diff --git a/platform/commonUI/general/src/controllers/ObjectInspectorController.js b/platform/commonUI/general/src/controllers/ObjectInspectorController.js index 991f79553e..d8e6ead840 100644 --- a/platform/commonUI/general/src/controllers/ObjectInspectorController.js +++ b/platform/commonUI/general/src/controllers/ObjectInspectorController.js @@ -108,8 +108,11 @@ define( getMetadata(); }); - } + var mutation = $scope.ngModel.selectedObject.getCapability('mutation'); + var unlisten = mutation.listen(getMetadata); + $scope.$on('$destroy', unlisten); + } return ObjectInspectorController; } ); diff --git a/platform/commonUI/general/test/controllers/ObjectInspectorControllerSpec.js b/platform/commonUI/general/test/controllers/ObjectInspectorControllerSpec.js index bc2acd0fb1..4178fa8581 100644 --- a/platform/commonUI/general/test/controllers/ObjectInspectorControllerSpec.js +++ b/platform/commonUI/general/test/controllers/ObjectInspectorControllerSpec.js @@ -39,10 +39,18 @@ define( beforeEach(function () { mockScope = jasmine.createSpyObj( "$scope", - ["$watch"] + ["$watch", "$on"] ); mockScope.ngModel = {}; - mockScope.ngModel.selectedObject = 'mock selected object'; + mockScope.ngModel.selectedObject = { + getCapability: function () { + return { + listen: function () { + return true; + } + }; + } + }; mockObjectService = jasmine.createSpyObj( "objectService",