diff --git a/vitrage_dashboard/dashboard/static/dashboard/project/alarmList/alarmList.controller.js b/vitrage_dashboard/dashboard/static/dashboard/project/alarmList/alarmList.controller.js index fdf436a..7354744 100644 --- a/vitrage_dashboard/dashboard/static/dashboard/project/alarmList/alarmList.controller.js +++ b/vitrage_dashboard/dashboard/static/dashboard/project/alarmList/alarmList.controller.js @@ -60,6 +60,15 @@ opened: false }; + alarmList.autoRefreshChanged = function () { + if (alarmList.checkboxAutoRefresh && alarmList.radioModel !== 'historyAlarms') { + startCollectData(); + } else { + stopCollectData(); + } + }; + + alarmList.getHistoryData = function (nextPrev) { if (nextPrev === 'next' && !alarmList.nextEnabled) { return; @@ -104,9 +113,12 @@ if (alarmList.radioModel === 'historyAlarms') { - vitrageTopologySrv.getHistoryAlarms(config).then(function (result) { + $("#table").hide(); + $("#spinner").show(); + vitrageTopologySrv.getHistoryAlarms(config).then(function (result) { alarmList.alarms = result.data; - + $("#spinner").hide(); + $("#table").show(); alarmList.nextEnabled = result.data.length === LIMIT; alarmList.prevEnabled = true; }); @@ -123,6 +135,18 @@ alarmList.getHistoryData(); + function startCollectData() { + if (angular.isDefined(alarmList.alarmInterval)) return; + alarmList.alarmInterval = alarmList.$interval(alarmList.getHistoryData,10000); + } + + function stopCollectData() { + if (angular.isDefined(alarmList.alarmInterval)) { + alarmList.$interval.cancel(alarmList.alarmInterval); + alarmList.alarmInterval = undefined; + } + } + alarmList.sortBy = function (fieldName) { if (fieldName === alarmList.sortByFieldName) { alarmList.sortOrder = alarmList.sortOrder === 'asc' ? 'desc' : 'asc'; diff --git a/vitrage_dashboard/dashboard/static/dashboard/project/alarmList/alarmList.html b/vitrage_dashboard/dashboard/static/dashboard/project/alarmList/alarmList.html index 67e3136..669f15c 100644 --- a/vitrage_dashboard/dashboard/static/dashboard/project/alarmList/alarmList.html +++ b/vitrage_dashboard/dashboard/static/dashboard/project/alarmList/alarmList.html @@ -15,7 +15,10 @@ ng-click="alarmList.getHistoryData('')" uib-btn-radio="'historyAlarms'">Alarm History - +
+ + +
@@ -58,7 +61,7 @@ fa-angle-double-right prev-next-btn"
- @@ -123,5 +126,6 @@ fa-angle-double-right prev-next-btn"
+
diff --git a/vitrage_dashboard/dashboard/static/dashboard/project/alarmList/alarmList.scss b/vitrage_dashboard/dashboard/static/dashboard/project/alarmList/alarmList.scss index cc3e00e..ac9f6ad 100644 --- a/vitrage_dashboard/dashboard/static/dashboard/project/alarmList/alarmList.scss +++ b/vitrage_dashboard/dashboard/static/dashboard/project/alarmList/alarmList.scss @@ -20,6 +20,11 @@ } } + .spinner{ + display:none; + margin-left:45%; + } + .td-red { background: #f67171 !important; } diff --git a/vitrage_dashboard/dashboard/static/dashboard/project/assets/spinner.gif b/vitrage_dashboard/dashboard/static/dashboard/project/assets/spinner.gif new file mode 100644 index 0000000..7de75b1 Binary files /dev/null and b/vitrage_dashboard/dashboard/static/dashboard/project/assets/spinner.gif differ