GUI -- "State" is now an icon on Link and Cluster node views. - Icon mapping has generic names to be reused between views - Fixed broken table unit tests - Other minor cleanup
Change-Id: I7136cba15ad4fd185095617d790940d55b9f968f
diff --git a/web/gui/src/main/webapp/app/fw/svg/icon.css b/web/gui/src/main/webapp/app/fw/svg/icon.css
index 872c476..6ade7c7 100644
--- a/web/gui/src/main/webapp/app/fw/svg/icon.css
+++ b/web/gui/src/main/webapp/app/fw/svg/icon.css
@@ -57,10 +57,10 @@
fill: none;
}
-.light svg.embeddedIcon .icon.appActive .glyph {
+.light svg.embeddedIcon .icon.active .glyph {
fill: green;
}
-.dark svg.embeddedIcon .icon.appActive .glyph {
+.dark svg.embeddedIcon .icon.active .glyph {
fill: #308C10;
}
@@ -78,15 +78,15 @@
fill: #ccc;
}
-.light svg.embeddedIcon .icon.deviceOnline .glyph {
+.light svg.embeddedIcon .icon.active .glyph {
fill: green;
}
-.light svg.embeddedIcon .icon.deviceOffline .glyph {
+.light svg.embeddedIcon .icon.inactive .glyph {
fill: darkred;
}
-.dark svg.embeddedIcon .icon.deviceOnline .glyph {
+.dark svg.embeddedIcon .icon.active .glyph {
fill: #308C10;
}
-.dark svg.embeddedIcon .icon.deviceOffline .glyph {
+.dark svg.embeddedIcon .icon.inactive .glyph {
fill: #AD2D2D;
}
diff --git a/web/gui/src/main/webapp/app/fw/svg/icon.js b/web/gui/src/main/webapp/app/fw/svg/icon.js
index d5e2a38..e7e40f0 100644
--- a/web/gui/src/main/webapp/app/fw/svg/icon.js
+++ b/web/gui/src/main/webapp/app/fw/svg/icon.js
@@ -29,28 +29,27 @@
// Maps icon ID to the glyph ID it uses.
// NOTE: icon ID maps to a CSS class for styling that icon
var glyphMapping = {
- appActive: 'checkMark',
- appInactive: 'unknown',
- appPlus: 'plus',
- appMinus: 'minus',
- appPlay: 'play',
- appStop: 'stop',
+ active: 'checkMark',
+ inactive: 'xMark',
- deviceOnline: 'checkMark',
- deviceOffline: 'xMark',
+ plus: 'plus',
+ minus: 'minus',
+ play: 'play',
+ stop: 'stop',
+
+ upArrow: 'triangleUp',
+ downArrow: 'triangleDown',
+
+ appInactive: 'unknown',
+
devIcon_SWITCH: 'switch',
devIcon_ROADM: 'roadm',
hostIcon_endstation: 'endstation',
hostIcon_router: 'router',
- hostIcon_bgpSpeaker: 'bgpSpeaker',
-
- tableColSortAsc: 'triangleUp',
- tableColSortDesc: 'triangleDown'
+ hostIcon_bgpSpeaker: 'bgpSpeaker'
};
-
-
function ensureIconLibDefs() {
var body = d3.select('body'),
svg = body.select('svg#IconLibDefs'),
@@ -187,13 +186,13 @@
function createSortIcon() {
function sortAsc(div) {
div.style('display', 'inline-block');
- loadEmbeddedIcon(div, 'tableColSortAsc', 10);
+ loadEmbeddedIcon(div, 'upArrow', 10);
div.classed('tableColSort', true);
}
function sortDesc(div) {
div.style('display', 'inline-block');
- loadEmbeddedIcon(div, 'tableColSortDesc', 10);
+ loadEmbeddedIcon(div, 'downArrow', 10);
div.classed('tableColSort', true);
}
diff --git a/web/gui/src/main/webapp/app/fw/widget/table.js b/web/gui/src/main/webapp/app/fw/widget/table.js
index 81edaa0..2a358c7 100644
--- a/web/gui/src/main/webapp/app/fw/widget/table.js
+++ b/web/gui/src/main/webapp/app/fw/widget/table.js
@@ -125,12 +125,12 @@
currCol.colId = thElem.attr('colId');
if (currCol.colId === prevCol.colId) {
- (currCol.icon === 'tableColSortDesc') ?
- currCol.icon = 'tableColSortAsc' :
- currCol.icon = 'tableColSortDesc';
+ (currCol.icon === 'downArrow') ?
+ currCol.icon = 'upArrow' :
+ currCol.icon = 'downArrow';
prevCol.icon = currCol.icon;
} else {
- currCol.icon = 'tableColSortAsc';
+ currCol.icon = 'upArrow';
prevCol.icon = 'tableColSortNone';
}
@@ -138,7 +138,7 @@
api.sortNone(div);
div = thElem.append('div');
- if (currCol.icon === 'tableColSortAsc') {
+ if (currCol.icon === 'upArrow') {
api.sortAsc(div);
} else {
api.sortDesc(div);
@@ -156,7 +156,7 @@
function sortRequestParams() {
return {
sortCol: currCol.colId,
- sortDir: (currCol.icon === 'tableColSortAsc' ? 'asc' : 'desc')
+ sortDir: (currCol.icon === 'upArrow' ? 'asc' : 'desc')
};
}