GUI -- Table views' auto refresh can be toggled on or off.
Change-Id: I9c307d8ea43101d6f6cff28c16d2cdbe709871e1
diff --git a/web/gui/src/main/webapp/app/fw/widget/tableBuilder.js b/web/gui/src/main/webapp/app/fw/widget/tableBuilder.js
index 84f11b7..3af8d60 100644
--- a/web/gui/src/main/webapp/app/fw/widget/tableBuilder.js
+++ b/web/gui/src/main/webapp/app/fw/widget/tableBuilder.js
@@ -48,6 +48,7 @@
o.scope.tableData = [];
o.scope.sortParams = {};
+ o.scope.autoRefresh = true;
function respCb(data) {
o.scope.tableData = data[root];
@@ -66,11 +67,25 @@
}
o.scope.selectCallback = selCb;
- function refresh(params) {
- $log.debug('Refreshing ' + root + ' page');
- sortCb(params);
+ function startRefresh() {
+ promise = $interval(function () {
+ $log.debug('Refreshing ' + root + ' page');
+ sortCb(o.scope.sortParams);
+ }, refreshInterval);
}
- o.scope.refresh = refresh;
+
+ function stopRefresh() {
+ if (angular.isDefined(promise)) {
+ $interval.cancel(promise);
+ promise = undefined;
+ }
+ }
+
+ function toggleRefresh() {
+ o.scope.autoRefresh = !o.scope.autoRefresh;
+ o.scope.autoRefresh ? startRefresh() : stopRefresh();
+ }
+ o.scope.toggleRefresh = toggleRefresh;
handlers[resp] = respCb;
wss.bindHandlers(handlers);
@@ -79,17 +94,11 @@
o.scope.$on('$destroy', function () {
wss.unbindHandlers(handlers);
ts.resetSort();
- if (angular.isDefined(promise)) {
- $interval.cancel(promise);
- promise = undefined;
- }
+ stopRefresh();
});
sortCb();
-
- promise = $interval(function () {
- refresh(o.scope.sortParams);
- }, refreshInterval);
+ startRefresh();
}
angular.module('onosWidget')