GUI --Added cleanup on scope destroy for sample and device views.
Change-Id: Ia1656eb3987f2f896fa7d6d2cec2860495ce36d7
diff --git a/web/gui/src/main/webapp/app/view/device/device.js b/web/gui/src/main/webapp/app/view/device/device.js
index 54361ee..f979abf 100644
--- a/web/gui/src/main/webapp/app/view/device/device.js
+++ b/web/gui/src/main/webapp/app/view/device/device.js
@@ -22,7 +22,9 @@
'use strict';
angular.module('ovDevice', [])
- .controller('OvDeviceCtrl', ['$log', '$scope', '$location', 'RestService',
+ .controller('OvDeviceCtrl',
+ ['$log', '$scope', '$location', 'RestService',
+
function ($log, $scope, $location, rs) {
var self = this;
self.deviceData = [];
@@ -38,6 +40,11 @@
};
$scope.sortCallback();
+ // Cleanup on destroyed scope
+ $scope.$on('$destroy', function () {
+
+ });
+
$log.log('OvDeviceCtrl has been created');
}]);
}());
diff --git a/web/gui/src/main/webapp/app/view/sample/sample.js b/web/gui/src/main/webapp/app/view/sample/sample.js
index 66b76bb..c726e90 100644
--- a/web/gui/src/main/webapp/app/view/sample/sample.js
+++ b/web/gui/src/main/webapp/app/view/sample/sample.js
@@ -24,6 +24,9 @@
// injected refs
var $log, tbs, flash;
+ // configuration
+ var tbid = 'sample-toolbar';
+
// internal state
var togFnDiv, radFnP;
@@ -50,47 +53,57 @@
.style('color', '#369');
}
+
+ // define the controller
+
angular.module('ovSample', ['onosUtil'])
- .controller('OvSampleCtrl', ['$log', 'ToolbarService', 'FlashService',
- function (_$log_, _tbs_, _flash_) {
- var self = this,
- toolbar,
- rset;
+ .controller('OvSampleCtrl',
+ ['$scope', '$log', 'ToolbarService', 'FlashService',
- $log = _$log_;
- tbs = _tbs_;
- flash = _flash_;
+ function ($scope, _$log_, _tbs_, _flash_) {
+ var self = this,
+ toolbar,
+ rset;
- self.message = 'Hey there folks!';
+ $log = _$log_;
+ tbs = _tbs_;
+ flash = _flash_;
- togFnDiv = d3.select('#ov-sample')
- .append('div')
- .text('Look at me!')
- .style({
- display: 'none',
- color: 'rgb(204, 89, 81)',
- 'font-size': '20pt'
- });
+ self.message = 'Hey there folks!';
- radFnP = d3.select('#ov-sample')
- .append('p')
- .style('font-size', '16pt');
+ togFnDiv = d3.select('#ov-sample')
+ .append('div')
+ .text('Look at me!')
+ .style({
+ display: 'none',
+ color: 'rgb(204, 89, 81)',
+ 'font-size': '20pt'
+ });
- toolbar = tbs.createToolbar('sample');
- rset = [
- { gid: 'checkMark', cb: checkFn },
- { gid: 'xMark', cb: xMarkFn },
- { gid: 'bird', cb: birdFn }
- ];
+ radFnP = d3.select('#ov-sample')
+ .append('p')
+ .style('font-size', '16pt');
- toolbar.addButton('demo-button', 'crown', btnFn);
- toolbar.addToggle('demo-toggle', 'chain', false, togFn);
- toolbar.addSeparator();
- toolbar.addRadioSet('demo-radio', rset);
- toolbar.hide();
+ toolbar = tbs.createToolbar(tbid);
+ rset = [
+ { gid: 'checkMark', cb: checkFn },
+ { gid: 'xMark', cb: xMarkFn },
+ { gid: 'bird', cb: birdFn }
+ ];
- checkFn();
+ toolbar.addButton('demo-button', 'crown', btnFn);
+ toolbar.addToggle('demo-toggle', 'chain', false, togFn);
+ toolbar.addSeparator();
+ toolbar.addRadioSet('demo-radio', rset);
+ toolbar.hide();
- $log.log('OvSampleCtrl has been created');
- }]);
+ checkFn();
+
+ // Clean up on destroyed scope
+ $scope.$on('$destroy', function () {
+ tbs.destroyToolbar(tbid);
+ });
+
+ $log.log('OvSampleCtrl has been created');
+ }]);
}());