diff --git a/web/gui/src/main/webapp/app/fw/widget/toolbar.css b/web/gui/src/main/webapp/app/fw/widget/toolbar.css index 286296583d..36a5971b5f 100644 --- a/web/gui/src/main/webapp/app/fw/widget/toolbar.css +++ b/web/gui/src/main/webapp/app/fw/widget/toolbar.css @@ -18,21 +18,37 @@ ONOS GUI -- Toolbar Service -- CSS file */ -.light .tbarArrow svg.embeddedIcon .icon .glyph { +.light .tbar-arrow svg.embeddedIcon .icon .glyph { fill: #838383; } -.dark .tbarArrow svg.embeddedIcon .icon .glyph { +.dark .tbar-arrow svg.embeddedIcon .icon .glyph { fill: #B2B2B2; } -.tbarArrow svg.embeddedIcon .icon rect { +div.tbar-arrow { + position: absolute; + top: 53%; + left: 96%; + margin-right: -4%; + transform: translate(-50%, -50%); + cursor: pointer; +} +.safari div.tbar-arrow { + top: 46%; +} +.firefox div.tbar-arrow { + left: 97%; + margin-right: -3%; +} + +.tbar-arrow svg.embeddedIcon .icon rect { stroke: none; } -.light .tbarArrow svg.embeddedIcon .icon rect { +.light .tbar-arrow svg.embeddedIcon .icon rect { fill: none; } -.dark .tbarArrow svg.embeddedIcon .icon rect { +.dark .tbar-arrow svg.embeddedIcon .icon rect { fill: none; } diff --git a/web/gui/src/main/webapp/app/fw/widget/toolbar.js b/web/gui/src/main/webapp/app/fw/widget/toolbar.js index df09a2201d..00086dc8b5 100644 --- a/web/gui/src/main/webapp/app/fw/widget/toolbar.js +++ b/web/gui/src/main/webapp/app/fw/widget/toolbar.js @@ -58,15 +58,7 @@ function createArrow(panel) { var arrowDiv = panel.append('div') - .classed('tbarArrow', true) - .style({ - 'position': 'absolute', - 'top': '53%', - 'left': '96%', - 'margin-right': '-4%', - 'transform': 'translate(-50%, -50%)', - 'cursor': 'pointer' - }); + .classed('tbar-arrow', true); is.loadIcon(arrowDiv, 'triangleUp', arrowSize, true); return arrowDiv; } diff --git a/web/gui/src/main/webapp/app/view/topo/topo.css b/web/gui/src/main/webapp/app/view/topo/topo.css index 24bee244b9..d1d4b4c786 100644 --- a/web/gui/src/main/webapp/app/view/topo/topo.css +++ b/web/gui/src/main/webapp/app/view/topo/topo.css @@ -298,7 +298,12 @@ html[data-platform='iPad'] #topo-p-detail { .dark #topo-p-instance .onosInst.mastership.affinity svg rect { filter: url(#yellow-glow); } - +.light.firefox #topo-p-instance .onosInst.mastership.affinity svg rect { + filter: url("data:image/svg+xml;utf8, #blue-glow"); +} +.dark.firefox #topo-p-instance .onosInst.mastership.affinity svg rect { + filter: url("data:image/svg+xml;utf8, #yellow-glow"); +} /* --- Topo Nodes --- */ @@ -320,6 +325,14 @@ html[data-platform='iPad'] #topo-p-detail { fill: #f90; filter: url(#yellow-glow); } +.light.firefox #ov-topo svg .node.selected rect, +.light.firefox #ov-topo svg .node.selected circle { + filter: url("data:image/svg+xml;utf8, #blue-glow"); +} +.dark.firefox #ov-topo svg .node.selected rect, +.dark.firefox #ov-topo svg .node.selected circle { + filter: url("data:image/svg+xml;utf8, #yellow-glow"); +} #ov-topo svg .node text { pointer-events: none; @@ -446,6 +459,15 @@ html[data-platform='iPad'] #topo-p-detail { .dark #ov-topo svg .link.enhanced { filter: url(#yellow-glow); } +.light.firefox #ov-topo svg .link.selected, +.light.firefox #ov-topo svg .link.enhanced { + filter: url("data:image/svg+xml;utf8, #blue-glow"); +} +.dark.firefox #ov-topo svg .link.selected, +.dark.firefox #ov-topo svg .link.enhanced { + filter: url("data:image/svg+xml;utf8, #yellow-glow"); + +} #ov-topo svg .link.inactive { opacity: .5; diff --git a/web/gui/src/main/webapp/tests/app/fw/widget/toolbar-spec.js b/web/gui/src/main/webapp/tests/app/fw/widget/toolbar-spec.js index 10a22b45d5..83fd042e05 100644 --- a/web/gui/src/main/webapp/tests/app/fw/widget/toolbar-spec.js +++ b/web/gui/src/main/webapp/tests/app/fw/widget/toolbar-spec.js @@ -78,7 +78,7 @@ describe('factory: fw/widget/toolbar.js', function () { // NOTE: toolbar service prefixes id with 'toolbar-' var tbar = d3.select('#toolbar-test'), - arrow = tbar.select('.tbarArrow'); + arrow = tbar.select('.tbar-arrow'); expect(arrow.size()).toBe(1); expect(arrow.select('svg').size()).toBe(1);