Updated master after merge conflicts
Change-Id: Ibea933c20071cc85201420ba1e31fedf9356f55b
Signed-off-by: Iftekharul Islam <iffy.ryan@ibm.com>
diff --git a/app/assets/images/crit-x.svg b/app/assets/images/crit-x.svg
index 1d71c09..abc76fa 100644
--- a/app/assets/images/crit-x.svg
+++ b/app/assets/images/crit-x.svg
@@ -1,3 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 27.7 28" style="enable-background:new 0 0 27.7 28;" xml:space="preserve">
<style type="text/css">
diff --git a/app/assets/images/icon-check.svg b/app/assets/images/icon-check.svg
index e984f55..d7bedf4 100644
--- a/app/assets/images/icon-check.svg
+++ b/app/assets/images/icon-check.svg
@@ -1,3 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 14 12" style="enable-background:new 0 0 14 12;" xml:space="preserve">
<polygon points="14,2.2 12.2,0.5 4.7,8 1.8,5.1 0,6.9 4.7,11.5 "/>
diff --git a/app/assets/images/icon-copy-white.svg b/app/assets/images/icon-copy-white.svg
index 62333bb..bce0b23 100644
--- a/app/assets/images/icon-copy-white.svg
+++ b/app/assets/images/icon-copy-white.svg
@@ -1,3 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
<style type="text/css">
diff --git a/app/assets/images/icon-copy.svg b/app/assets/images/icon-copy.svg
index 335eacd..7766490 100644
--- a/app/assets/images/icon-copy.svg
+++ b/app/assets/images/icon-copy.svg
@@ -1,3 +1,5 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Generator: Adobe Illustrator 20.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
<g>
diff --git a/app/assets/images/icon-critical.svg b/app/assets/images/icon-critical.svg
index 93a0ac1..5b0b28c 100644
--- a/app/assets/images/icon-critical.svg
+++ b/app/assets/images/icon-critical.svg
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve">
<style type="text/css">
diff --git a/app/assets/images/icon-power.svg b/app/assets/images/icon-power.svg
index 9c0c73f..8844297 100644
--- a/app/assets/images/icon-power.svg
+++ b/app/assets/images/icon-power.svg
@@ -1,3 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 75 75" xml:space="preserve">
<path fill="#3C6DF0" d="M17,14.6L17,14.6c1.2-1,1.3-2.7,0.3-3.9c-1-1.1-2.7-1.3-3.9-0.2C1.8,20.6-2.3,36.8,3.1,51.2
diff --git a/app/assets/images/icon-search.svg b/app/assets/images/icon-search.svg
index 55f30a7..d37929f 100644
--- a/app/assets/images/icon-search.svg
+++ b/app/assets/images/icon-search.svg
@@ -1,3 +1,5 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Generator: Adobe Illustrator 20.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
<g>
diff --git a/app/assets/images/icon-trashcan-white.svg b/app/assets/images/icon-trashcan-white.svg
index 585df57..afc7a20 100644
--- a/app/assets/images/icon-trashcan-white.svg
+++ b/app/assets/images/icon-trashcan-white.svg
@@ -1,3 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve">
<style type="text/css">
diff --git a/app/assets/images/icon-trashcan.svg b/app/assets/images/icon-trashcan.svg
index 62f0539..16fdc25 100644
--- a/app/assets/images/icon-trashcan.svg
+++ b/app/assets/images/icon-trashcan.svg
@@ -1,3 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 20.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve">
<g>
diff --git a/app/assets/images/icon-warning.svg b/app/assets/images/icon-warning.svg
index dd9b3dd..b25ae52 100644
--- a/app/assets/images/icon-warning.svg
+++ b/app/assets/images/icon-warning.svg
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve">
<style type="text/css">
diff --git a/app/assets/images/warn-slash.svg b/app/assets/images/warn-slash.svg
index b56d976..87a9f93 100644
--- a/app/assets/images/warn-slash.svg
+++ b/app/assets/images/warn-slash.svg
@@ -1,3 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 27.7 28" style="enable-background:new 0 0 27.7 28;" xml:space="preserve">
<style type="text/css">
diff --git a/app/common/directives/log-event.html b/app/common/directives/log-event.html
index 08efcf1..be7b5a0 100644
--- a/app/common/directives/log-event.html
+++ b/app/common/directives/log-event.html
@@ -15,7 +15,7 @@
<label class="control-check">
<input type="checkbox" name="events__check" ng-click="event.selected= ! event.selected"
ng-checked="event.selected"/>
- <span class="control__indicator accessible-text">select log event</span>
+ <span class="control__indicator"></span>
</label>
</div>
<div class="column small-9 large-10 event-log__event-info"
@@ -29,8 +29,8 @@
<p class="inline event__description">{{event.Severity}}</p>
</div>
<div class="column small-1 large-1">
- <span class="button accord-trigger" ng-class="{'active': event.meta}"
- ng-click="event.meta = ! event.meta"></span>
+ <button class="accord-trigger" ng-class="{'active': event.meta}"
+ ng-click="event.meta = ! event.meta"></button>
</div>
</div>
<div class="row event__metadata-row" ng-class="{'active': event.meta}">
@@ -43,12 +43,17 @@
<button class="btn-meta-copy" clipboard text="event.additional_data" on-copied="copySuccess(event)" on-error="copyfailed(err)">
<img class="event__icon" src="assets/images/icon-copy.svg" alt=""/><span ng-if="!event.copied">Copy</span><span ng-if="event.copied">Copied</span>
</button>
- <button class="btn-delete" ng-click="event.confirm= ! event.confirm"><img
+ <button
+ class="btn-delete"
+ ng-class="{'disabled': multiSelected}"
+ ng-click="event.confirm= ! event.confirm"
+ ng-disabled="multiSelected">
+ <img
class="event__icon"
src="assets/images/icon-trashcan.svg"
alt=""/>Delete
</button>
- <button class="btn-resolve" ng-class="{'disabled': (event.Resolved == 1)}" ng-click="resolveEvent(event)" ng-disabled="event.Resolved == 1"><img class="event__icon" src="assets/images/icon-check.svg" alt=""/>Resolved</button>
+ <button class="btn-resolve" ng-class="{'disabled': (event.Resolved == 1 || multiSelected)}" ng-click="resolveEvent(event)" ng-disabled="event.Resolved == 1 || multiSelected"><img class="event__icon" src="assets/images/icon-checklist.svg" alt=""/>Resolved</button>
</div>
<div class="event__related" ng-show="event.related_items.length">
<p class="inline event__related-label">Related items:</p>
@@ -57,4 +62,4 @@
</div>
</div>
</div>
-</div>
+</div>
\ No newline at end of file
diff --git a/app/common/directives/log-event.js b/app/common/directives/log-event.js
index ae4970d..51bb5dd 100644
--- a/app/common/directives/log-event.js
+++ b/app/common/directives/log-event.js
@@ -9,7 +9,8 @@
'templateUrl': 'common/directives/log-event.html',
'scope': {
'event': '=',
- 'tmz': '='
+ 'tmz': '=',
+ 'multiSelected': '='
},
'controller': ['$rootScope', '$scope','dataService', '$location', '$timeout', function($rootScope, $scope, dataService, $location, $timeout){
$scope.dataService = dataService;
diff --git a/app/common/directives/log-filter.js b/app/common/directives/log-filter.js
index c9ac1d0..81abc7d 100644
--- a/app/common/directives/log-filter.js
+++ b/app/common/directives/log-filter.js
@@ -25,7 +25,11 @@
$scope.selectedSeverity[severity] = !$scope.selectedSeverity[severity];
if(['high', 'medium', 'low'].indexOf(severity) > -1){
- if($scope.selectedSeverity[severity] == false){
+ if($scope.selectedSeverity[severity] == false &&
+ (!$scope.selectedSeverity.low &&
+ !$scope.selectedSeverity.medium &&
+ !$scope.selectedSeverity.high
+ )){
$scope.selectedSeverity.all = true;
return;
}
diff --git a/app/common/services/api-utils.js b/app/common/services/api-utils.js
index 408e42f..bec96b1 100644
--- a/app/common/services/api-utils.js
+++ b/app/common/services/api-utils.js
@@ -425,6 +425,18 @@
var tempKeyParts = [];
var order = 0;
+ function getScaledValue(value, scale){
+ scale = scale + "";
+ var power = parseInt(scale.replace(/[\s\t\+\-]/g,''),10);
+
+ if(scale.indexOf("+") > -1){
+ value = value * Math.pow(10, power);
+ }else if(scale.indexOf("-") > -1){
+ value = value / Math.pow(10, power);
+ }
+ return value;
+ }
+
function getSensorStatus(reading){
var severityFlags = {critical: false, warning: false, normal: false}, severityText = '', order = 0;
@@ -483,6 +495,8 @@
return prev + " " + el;
});
+ content.data[key].Value = getScaledValue(content.data[key].Value, content.data[key].Scale);
+
sensorData.push(Object.assign({
path: key,
selected: false,
diff --git a/app/common/styles/base/mixins.scss b/app/common/styles/base/mixins.scss
index 79b0f34..6067a0e 100644
--- a/app/common/styles/base/mixins.scss
+++ b/app/common/styles/base/mixins.scss
@@ -36,7 +36,7 @@
}
@mixin fontCourierBold {
- font-family: "Courier New", Helvetica, monospace, arial, sans-serif;
+ font-family: "Courier New", Helvetica, arial, sans-serif;
font-weight: 700;
}
diff --git a/app/common/styles/base/typography.scss b/app/common/styles/base/typography.scss
index 64f5e3c..8dc33c0 100644
--- a/app/common/styles/base/typography.scss
+++ b/app/common/styles/base/typography.scss
@@ -54,4 +54,4 @@
font-family: "Courier New", Helvetica, arial, sans-serif;
font-weight: 700;
margin-bottom: 0;
-}
+}
\ No newline at end of file
diff --git a/app/common/styles/elements/index.scss b/app/common/styles/elements/index.scss
index c9e29d9..677a4ba 100644
--- a/app/common/styles/elements/index.scss
+++ b/app/common/styles/elements/index.scss
@@ -1,15 +1,13 @@
-
@import "toggle-switch";
@import "toggle-filter";
@import "status";
-@import "tags";
@import "alerts";
@import "inline-confirm";
@import "accordion";
@import "loader";
@import "content-search";
@import "paginate";
-@import "thresholds";
+@import "tags";
@import "export";
@import "modals";
-@import "quicklinks";
+@import "quicklinks";
\ No newline at end of file
diff --git a/app/overview/controllers/system-overview-controller.html b/app/overview/controllers/system-overview-controller.html
index 787a0dd..07fce0b 100644
--- a/app/overview/controllers/system-overview-controller.html
+++ b/app/overview/controllers/system-overview-controller.html
@@ -86,7 +86,7 @@
<!-- <p class="disabled">No high priority events</p> -->
<!-- single event -->
- <a href="#/server-health/event-log/high" ng-repeat="event in logs|orderBy:'+Id'">
+ <a href="#/server-health/event-log/high/{{event.Id}}" ng-repeat="event in logs|orderBy:'+Id'">
<div class="row column event-log__single-event">
<div class="row">
<div class="column small-1 large-1 event-log__col-check">
diff --git a/app/server-health/controllers/log-controller.html b/app/server-health/controllers/log-controller.html
index 3db7bd9..81f5f3c 100644
--- a/app/server-health/controllers/log-controller.html
+++ b/app/server-health/controllers/log-controller.html
@@ -66,7 +66,9 @@
<log-event
dir-paginate="event in (filteredLogs = (logs|filter:filterBySeverity|filter:filterByStatus|filter:filterByDate|filter:filterBySearchTerms | orderBy:'+Id'))| itemsPerPage: itemsPerPage"
event="event"
- tmz="tmz">
+ tmz="tmz"
+ multi-selected="selectedEvents.length > 1"
+ >
</log-event>
</section>
<dir-pagination-controls template-url="common/directives/dirPagination.tpl.html"></dir-pagination-controls>
diff --git a/app/server-health/controllers/log-controller.js b/app/server-health/controllers/log-controller.js
index b53dae0..c6b4d8f 100644
--- a/app/server-health/controllers/log-controller.js
+++ b/app/server-health/controllers/log-controller.js
@@ -24,8 +24,10 @@
$scope.tmz = 'EDT';
$scope.itemsPerPage = Constants.PAGINATION.LOG_ITEMS_PER_PAGE;
$scope.loading = false;
+ var expandedSelectedIdOnce = false;
var sensorType = $routeParams.type;
+ var eventId = $routeParams.id;
// priority buttons
$scope.selectedSeverity = {
@@ -49,9 +51,25 @@
$scope.searchItems = [];
$scope.selectedEvents = [];
+
+ if(eventId){
+ $scope.customSearch = "#"+eventId;
+ $scope.searchItems.push("#"+eventId);
+ }
+
$scope.loadLogs = function(){
$scope.loading = true;
APIUtils.getLogs().then(function(result){
+ if(eventId && expandedSelectedIdOnce == false){
+ var log = result.data.filter(function(item){
+ return item.Id == eventId;
+ });
+
+ if(log.length){
+ log[0].meta = true;
+ }
+ expandedSelectedIdOnce = true;
+ }
$scope.logs = result.data;
$scope.originalData = result.original;
$scope.loading = false;
diff --git a/app/server-health/controllers/sensors-overview-controller.js b/app/server-health/controllers/sensors-overview-controller.js
index 57e3b65..6d33604 100644
--- a/app/server-health/controllers/sensors-overview-controller.js
+++ b/app/server-health/controllers/sensors-overview-controller.js
@@ -76,7 +76,6 @@
}
if($scope.selectedSeverity.all){
- $scope.selectedSeverity.normal = false;
$scope.selectedSeverity.warning = false;
$scope.selectedSeverity.critical = false;
}
@@ -85,11 +84,19 @@
$scope.toggleSeverity = function(severity){
$scope.selectedSeverity[severity] = !$scope.selectedSeverity[severity];
- if($scope.selectedSeverity.normal &&
- $scope.selectedSeverity.warning &&
+ if(['warning', 'critical'].indexOf(severity) > -1){
+ if($scope.selectedSeverity[severity] == false &&
+ (!$scope.selectedSeverity.warning &&
+ !$scope.selectedSeverity.critical
+ )){
+ $scope.selectedSeverity.all = true;
+ return;
+ }
+ }
+
+ if($scope.selectedSeverity.warning &&
$scope.selectedSeverity.critical){
$scope.selectedSeverity.all = true;
- $scope.selectedSeverity.normal = false;
$scope.selectedSeverity.warning = false;
$scope.selectedSeverity.critical = false;
}else{
diff --git a/app/server-health/controllers/unit-id-controller.js b/app/server-health/controllers/unit-id-controller.js
index 5494c61..42f855d 100644
--- a/app/server-health/controllers/unit-id-controller.js
+++ b/app/server-health/controllers/unit-id-controller.js
@@ -17,18 +17,21 @@
'$window',
'APIUtils',
'dataService',
- function($scope, $window, APIUtils, dataService, userModel){
+ function($scope, $window, APIUtils, dataService){
$scope.dataService = dataService;
- $scope.getLEDState = function(){
- APIUtils.getLEDState(function(state){
- if(state == APIUtils.LED_STATE.on){
- dataService.LED_state = APIUtils.LED_STATE_TEXT.on;
- }else{
- dataService.LED_state = APIUtils.LED_STATE_TEXT.off;
- }
- });
+ APIUtils.getLEDState().then(function(state){
+ $scope.displayLEDState(state);
+ });
+
+ $scope.displayLEDState = function(state){
+ if(state == APIUtils.LED_STATE.on){
+ dataService.LED_state = APIUtils.LED_STATE_TEXT.on;
+ }else{
+ dataService.LED_state = APIUtils.LED_STATE_TEXT.off;
+ }
}
+
$scope.toggleLED = function(){
var toggleState = (dataService.LED_state == APIUtils.LED_STATE_TEXT.on) ?
APIUtils.LED_STATE.off : APIUtils.LED_STATE.on;
@@ -37,8 +40,6 @@
APIUtils.setLEDState(toggleState, function(status){
});
}
-
- $scope.getLEDState();
}
]
);
diff --git a/app/server-health/index.js b/app/server-health/index.js
index 3c32065..1d4ff9f 100644
--- a/app/server-health/index.js
+++ b/app/server-health/index.js
@@ -28,6 +28,11 @@
'controller': 'logController',
authenticated: true
})
+ .when('/server-health/event-log/:type/:id', {
+ 'templateUrl': 'server-health/controllers/log-controller.html',
+ 'controller': 'logController',
+ authenticated: true
+ })
.when('/server-health/inventory-overview', {
'templateUrl': 'server-health/controllers/inventory-overview-controller.html',
'controller': 'inventoryOverviewController',