Committed by
Gerrit Code Review
ONOS-4359: continued work on theming UI
- topo view: map and instance panel re-theming. Change-Id: I8e5b0eda61b78b7d54593d84efccb16c54c1611e
Showing
27 changed files
with
291 additions
and
125 deletions
... | @@ -127,6 +127,11 @@ | ... | @@ -127,6 +127,11 @@ |
127 | glyphDataSet = { | 127 | glyphDataSet = { |
128 | _viewbox: '0 0 110 110', | 128 | _viewbox: '0 0 110 110', |
129 | 129 | ||
130 | + uiAttached: 'M91.9,16.7H18.1A5.3,5.3,0,0,0,12.8,22V68' + | ||
131 | + 'a5.3,5.3,0,0,0,5.3,5.3H91.9A5.3,5.3,0,0,0,97.2,68V22' + | ||
132 | + 'A5.3,5.3,0,0,0,91.9,16.7ZM91.6,65.2H18.4V22.3H91.6V65.2Z' + | ||
133 | + 'M71.5,87.5h3.8v5.9h-40.6v-5.9h3.8v-1.7h5.4v-9.7h22.3v9.7h5.3v1.7z', | ||
134 | + | ||
130 | // Small dot | 135 | // Small dot |
131 | unknown: 'M35,40a5,5,0,0,1,5-5h30a5,5,0,0,1,5,5v30a5,5,0,0,1-5,5' + | 136 | unknown: 'M35,40a5,5,0,0,1,5-5h30a5,5,0,0,1,5,5v30a5,5,0,0,1-5,5' + |
132 | 'h-30a5,5,0,0,1-5-5z', | 137 | 'h-30a5,5,0,0,1-5-5z', |
... | @@ -525,11 +530,6 @@ | ... | @@ -525,11 +530,6 @@ |
525 | badgeDataSet = { | 530 | badgeDataSet = { |
526 | _viewbox: '0 0 10 10', | 531 | _viewbox: '0 0 10 10', |
527 | 532 | ||
528 | - uiAttached: 'M2,2.5a.5,.5,0,0,1,.5-.5h5a.5,.5,0,0,1,.5,.5v3' + | ||
529 | - 'a.5,.5,0,0,1-.5,.5h-5a.5,.5,0,0,1-.5-.5zM2.5,2.8a.3,.3,0,0,1,' + | ||
530 | - '.3-.3h4.4a.3,.3,0,0,1,.3,.3v2.4a.3,.3,0,0,1-.3,.3h-4.4' + | ||
531 | - 'a.3,.3,0,0,1-.3-.3zM2,6.55h6l1,1.45h-8z', | ||
532 | - | ||
533 | checkMark: 'M8.6,3.4L4.4,7.7L1.4,4.7L2.5,3.6L4.4,5.5L7.5,2.3L8.6,3.4Z', | 533 | checkMark: 'M8.6,3.4L4.4,7.7L1.4,4.7L2.5,3.6L4.4,5.5L7.5,2.3L8.6,3.4Z', |
534 | 534 | ||
535 | xMark: 'M7.8,6.7L6.7,7.8,5,6.1,3.3,7.8,2.2,6.7,3.9,5,2.2,3.3,3.3,' + | 535 | xMark: 'M7.8,6.7L6.7,7.8,5,6.1,3.3,7.8,2.2,6.7,3.9,5,2.2,3.3,3.3,' + | ... | ... |
... | @@ -159,12 +159,13 @@ | ... | @@ -159,12 +159,13 @@ |
159 | 159 | ||
160 | // --- Ordinal scales for 7 values. | 160 | // --- Ordinal scales for 7 values. |
161 | 161 | ||
162 | - // blue brown brick red sea green purple dark teal lime | 162 | + // Colors per Mojo-Design's color palette.. |
163 | - var lightNorm = ['#3E5780', '#78533B', '#CB4D28', '#018D61', '#8A2979', '#006D73', '#56AF00'], | 163 | + // blue lt blue red lt red dk grey lt grey steel |
164 | - lightMute = ['#A8B8CC', '#CCB3A8', '#FFC2BD', '#96D6BF', '#D19FCE', '#8FCCCA', '#CAEAA4'], | 164 | + var lightNorm = ['#5b99d2', '#66cef6', '#d05a55', '#db7773', '#716b6b', '#aeada8', '#7e9aa8'], |
165 | - | 165 | + lightMute = ['#a8cceb', '#a8e9fd', '#f1a7a7', '#f8c9c9', '#b9b5b5', '#d7d6d4', '#bdcdd5'], |
166 | - darkNorm = ['#304860', '#664631', '#A8391B', '#00754B', '#77206D', '#005959', '#428700'], | 166 | + // TODO: dark theme |
167 | - darkMute = ['#304860', '#664631', '#A8391B', '#00754B', '#77206D', '#005959', '#428700']; | 167 | + darkNorm = ['#5b99d2', '#66cef6', '#d05a55', '#db7773', '#716b6b', '#aeada8', '#7e9aa8'], |
168 | + darkMute = ['#a8cceb', '#a8e9fd', '#f1a7a7', '#f8c9c9', '#b9b5b5', '#d7d6d4', '#bdcdd5']; | ||
168 | 169 | ||
169 | var colors= { | 170 | var colors= { |
170 | light: { | 171 | light: { |
... | @@ -215,7 +216,7 @@ | ... | @@ -215,7 +216,7 @@ |
215 | dom.forEach(function (id, i) { | 216 | dom.forEach(function (id, i) { |
216 | var x = i * 20, | 217 | var x = i * 20, |
217 | y = k * 20, | 218 | y = k * 20, |
218 | - f = get(id, muted, theme); | 219 | + f = getColor(id, muted, theme); |
219 | g.append('circle').attr({ | 220 | g.append('circle').attr({ |
220 | cx: x, | 221 | cx: x, |
221 | cy: y, | 222 | cy: y, | ... | ... |
... | @@ -110,7 +110,8 @@ | ... | @@ -110,7 +110,8 @@ |
110 | } | 110 | } |
111 | 111 | ||
112 | function adjustWidth(btnWidth) { | 112 | function adjustWidth(btnWidth) { |
113 | - if (fs.noPxStyle(currentRow, 'width') >= maxWidth) { | 113 | + // 0.1 fudge for rounding error |
114 | + if (fs.noPxStyle(currentRow, 'width') + 0.1 >= maxWidth) { | ||
114 | tbWidth += btnWidth; | 115 | tbWidth += btnWidth; |
115 | maxWidth = tbWidth; | 116 | maxWidth = tbWidth; |
116 | } | 117 | } | ... | ... |
This diff is collapsed. Click to expand it.
... | @@ -127,7 +127,8 @@ html[data-platform='iPad'] #topo-p-detail { | ... | @@ -127,7 +127,8 @@ html[data-platform='iPad'] #topo-p-detail { |
127 | /* --- Topo Instance Panel --- */ | 127 | /* --- Topo Instance Panel --- */ |
128 | 128 | ||
129 | #topo-p-instance { | 129 | #topo-p-instance { |
130 | - height: 100px; | 130 | + height: 85px; |
131 | + padding: 10px; | ||
131 | } | 132 | } |
132 | 133 | ||
133 | #topo-p-instance div.onosInst { | 134 | #topo-p-instance div.onosInst { |
... | @@ -140,15 +141,20 @@ html[data-platform='iPad'] #topo-p-detail { | ... | @@ -140,15 +141,20 @@ html[data-platform='iPad'] #topo-p-detail { |
140 | #topo-p-instance svg text.instTitle { | 141 | #topo-p-instance svg text.instTitle { |
141 | font-size: 11pt; | 142 | font-size: 11pt; |
142 | font-weight: bold; | 143 | font-weight: bold; |
144 | + font-variant: small-caps; | ||
145 | + text-transform: uppercase; | ||
143 | } | 146 | } |
144 | #topo-p-instance svg text.instLabel { | 147 | #topo-p-instance svg text.instLabel { |
145 | - font-size: 9pt; | 148 | + font-size: 10pt; |
146 | - font-style: italic; | ||
147 | } | 149 | } |
148 | 150 | ||
149 | 151 | ||
150 | /* --- Toolbar --- */ | 152 | /* --- Toolbar --- */ |
151 | 153 | ||
154 | +#toolbar-topo-tbar { | ||
155 | + padding: 6px; | ||
156 | +} | ||
157 | + | ||
152 | #toolbar-topo-tbar .tbar-row.right { | 158 | #toolbar-topo-tbar .tbar-row.right { |
153 | width: 100%; | 159 | width: 100%; |
154 | } | 160 | } |
... | @@ -228,10 +234,6 @@ html[data-platform='iPad'] #topo-p-detail { | ... | @@ -228,10 +234,6 @@ html[data-platform='iPad'] #topo-p-detail { |
228 | 234 | ||
229 | /* -- MISC -- */ | 235 | /* -- MISC -- */ |
230 | 236 | ||
231 | -.notReady .readyBadge { | ||
232 | - visibility: hidden; | ||
233 | -} | ||
234 | - | ||
235 | .map-list { | 237 | .map-list { |
236 | padding: 10px; | 238 | padding: 10px; |
237 | } | 239 | } | ... | ... |
... | @@ -67,6 +67,9 @@ | ... | @@ -67,6 +67,9 @@ |
67 | 67 | ||
68 | E: [equalizeMasters, 'Equalize mastership roles'], | 68 | E: [equalizeMasters, 'Equalize mastership roles'], |
69 | 69 | ||
70 | + //-- instance color palette debug | ||
71 | + // 9: function () { sus.cat7().testCard(svg); }, | ||
72 | + | ||
70 | // topology overlay selections | 73 | // topology overlay selections |
71 | F1: function () { ttbs.fnkey(0); }, | 74 | F1: function () { ttbs.fnkey(0); }, |
72 | F2: function () { ttbs.fnkey(1); }, | 75 | F2: function () { ttbs.fnkey(1); }, | ... | ... |
... | @@ -32,20 +32,7 @@ | ... | @@ -32,20 +32,7 @@ |
32 | */ | 32 | */ |
33 | 33 | ||
34 | // configuration | 34 | // configuration |
35 | - var instCfg = { | 35 | + var showLogicErrors = true, |
36 | - rectPad: 8, | ||
37 | - nodeOx: 9, | ||
38 | - nodeOy: 9, | ||
39 | - nodeDim: 40, | ||
40 | - birdOx: 19, | ||
41 | - birdOy: 21, | ||
42 | - birdDim: 21, | ||
43 | - uiDy: 45, | ||
44 | - titleDy: 30, | ||
45 | - textYOff: 20, | ||
46 | - textYSpc: 15 | ||
47 | - }, | ||
48 | - showLogicErrors = true, | ||
49 | idIns = 'topo-p-instance', | 36 | idIns = 'topo-p-instance', |
50 | instOpts = { | 37 | instOpts = { |
51 | edge: 'left', | 38 | edge: 'left', |
... | @@ -102,14 +89,6 @@ | ... | @@ -102,14 +89,6 @@ |
102 | 89 | ||
103 | // ========================== | 90 | // ========================== |
104 | 91 | ||
105 | - function computeDim(self) { | ||
106 | - var css = window.getComputedStyle(self); | ||
107 | - return { | ||
108 | - w: sus.stripPx(css.width), | ||
109 | - h: sus.stripPx(css.height) | ||
110 | - }; | ||
111 | - } | ||
112 | - | ||
113 | function clickInst(d) { | 92 | function clickInst(d) { |
114 | var el = d3.select(this), | 93 | var el = d3.select(this), |
115 | aff = el.classed('affinity'); | 94 | aff = el.classed('affinity'); |
... | @@ -139,28 +118,13 @@ | ... | @@ -139,28 +118,13 @@ |
139 | oiShowMaster = false; | 118 | oiShowMaster = false; |
140 | } | 119 | } |
141 | 120 | ||
142 | - function instRectAttr(dim) { | ||
143 | - var pad = instCfg.rectPad; | ||
144 | - return { | ||
145 | - x: pad, | ||
146 | - y: pad, | ||
147 | - width: dim.w - pad*2, | ||
148 | - height: dim.h - pad*2, | ||
149 | - rx: 6 | ||
150 | - }; | ||
151 | - } | ||
152 | - | ||
153 | - function viewBox(dim) { | ||
154 | - return '0 0 ' + dim.w + ' ' + dim.h; | ||
155 | - } | ||
156 | - | ||
157 | function attachUiBadge(svg) { | 121 | function attachUiBadge(svg) { |
158 | - gs.addGlyph(svg, 'uiAttached', 24, true, [28, instCfg.uiDy]) | 122 | + gs.addGlyph(svg, 'uiAttached', 24, true, [14, 54]) |
159 | .classed('badgeIcon uiBadge', true); | 123 | .classed('badgeIcon uiBadge', true); |
160 | } | 124 | } |
161 | 125 | ||
162 | function attachReadyBadge(svg) { | 126 | function attachReadyBadge(svg) { |
163 | - gs.addGlyph(svg, 'checkMark', 16, true, [12, instCfg.uiDy + 4]) | 127 | + gs.addGlyph(svg, 'checkMark', 16, true, [18, 40]) |
164 | .classed('badgeIcon readyBadge', true); | 128 | .classed('badgeIcon readyBadge', true); |
165 | } | 129 | } |
166 | 130 | ||
... | @@ -171,24 +135,50 @@ | ... | @@ -171,24 +135,50 @@ |
171 | // ============================== | 135 | // ============================== |
172 | 136 | ||
173 | function updateInstances() { | 137 | function updateInstances() { |
138 | + var rox = 5, | ||
139 | + roy = 5, | ||
140 | + rw = 160, | ||
141 | + rhh = 30, | ||
142 | + rbh = 45, | ||
143 | + tx = 48, | ||
144 | + instSvg = { | ||
145 | + width: 170, | ||
146 | + height: 85, | ||
147 | + viewBox: '0 0 170 85' | ||
148 | + }, | ||
149 | + headRect = { | ||
150 | + x: rox, | ||
151 | + y: roy, | ||
152 | + width: rw, | ||
153 | + height: rhh | ||
154 | + }, | ||
155 | + bodyRect = { | ||
156 | + x: rox, | ||
157 | + y: roy + rhh, | ||
158 | + width: rw, | ||
159 | + height: rbh | ||
160 | + }, | ||
161 | + titleAttr = { | ||
162 | + class: 'instTitle', | ||
163 | + x: tx, | ||
164 | + y: 27 | ||
165 | + }; | ||
166 | + | ||
174 | var onoses = oiBox.el().selectAll('.onosInst') | 167 | var onoses = oiBox.el().selectAll('.onosInst') |
175 | - .data(onosOrder, function (d) { return d.id; }), | 168 | + .data(onosOrder, function (d) { return d.id; }); |
176 | - instDim = {w:0,h:0}, | ||
177 | - c = instCfg; | ||
178 | 169 | ||
179 | function nSw(n) { | 170 | function nSw(n) { |
180 | - return '# Switches: ' + n; | 171 | + return 'Switches: ' + n; |
181 | } | 172 | } |
182 | 173 | ||
183 | // operate on existing onos instances if necessary | 174 | // operate on existing onos instances if necessary |
184 | onoses.each(function (d) { | 175 | onoses.each(function (d) { |
185 | var el = d3.select(this), | 176 | var el = d3.select(this), |
186 | svg = el.select('svg'); | 177 | svg = el.select('svg'); |
187 | - instDim = computeDim(this); | ||
188 | 178 | ||
189 | // update online state | 179 | // update online state |
190 | el.classed('online', d.online); | 180 | el.classed('online', d.online); |
191 | - el.classed('notReady', !d.ready); | 181 | + el.classed('ready', d.ready); |
192 | 182 | ||
193 | // update ui-attached state | 183 | // update ui-attached state |
194 | svg.select('use.uiBadge').remove(); | 184 | svg.select('use.uiBadge').remove(); |
... | @@ -196,8 +186,6 @@ | ... | @@ -196,8 +186,6 @@ |
196 | attachUiBadge(svg); | 186 | attachUiBadge(svg); |
197 | } | 187 | } |
198 | 188 | ||
199 | - attachReadyBadge(svg, d.ready); | ||
200 | - | ||
201 | function updAttr(id, value) { | 189 | function updAttr(id, value) { |
202 | svg.select('text.instLabel.'+id).text(value); | 190 | svg.select('text.instLabel.'+id).text(value); |
203 | } | 191 | } |
... | @@ -210,59 +198,39 @@ | ... | @@ -210,59 +198,39 @@ |
210 | // operate on new onos instances | 198 | // operate on new onos instances |
211 | var entering = onoses.enter() | 199 | var entering = onoses.enter() |
212 | .append('div') | 200 | .append('div') |
213 | - .attr('class', 'onosInst') | 201 | + .classed('onosInst', true) |
214 | .classed('online', function (d) { return d.online; }) | 202 | .classed('online', function (d) { return d.online; }) |
215 | - .classed('notReady', function (d) { return !d.ready; }) | 203 | + .classed('ready', function (d) { return d.ready; }) |
216 | .on('click', clickInst); | 204 | .on('click', clickInst); |
217 | 205 | ||
218 | entering.each(function (d) { | 206 | entering.each(function (d) { |
219 | var el = d3.select(this), | 207 | var el = d3.select(this), |
220 | - rectAttr, | 208 | + svg = el.append('svg').attr(instSvg); |
221 | - svg; | ||
222 | - instDim = computeDim(this); | ||
223 | - rectAttr = instRectAttr(instDim); | ||
224 | 209 | ||
225 | - svg = el.append('svg').attr({ | 210 | + svg.append('rect').attr(headRect); |
226 | - width: instDim.w, | 211 | + svg.append('rect').attr(bodyRect); |
227 | - height: instDim.h, | ||
228 | - viewBox: viewBox(instDim) | ||
229 | - }); | ||
230 | 212 | ||
231 | - svg.append('rect').attr(rectAttr); | 213 | + gs.addGlyph(svg, 'bird', 20, false, [15, 10]) |
214 | + .classed('badgeIcon bird', true); | ||
232 | 215 | ||
233 | - gs.addGlyph(svg, 'bird', 28, true, [14, 14]) | 216 | + attachReadyBadge(svg); |
234 | - .classed('badgeIcon', true); | ||
235 | 217 | ||
236 | if (d.uiAttached) { | 218 | if (d.uiAttached) { |
237 | attachUiBadge(svg); | 219 | attachUiBadge(svg); |
238 | } | 220 | } |
239 | 221 | ||
240 | - attachReadyBadge(svg); | ||
241 | - | ||
242 | - var left = c.nodeOx + c.nodeDim, | ||
243 | - len = rectAttr.width - left, | ||
244 | - hlen = len / 2, | ||
245 | - midline = hlen + left; | ||
246 | - | ||
247 | - // title | ||
248 | svg.append('text') | 222 | svg.append('text') |
249 | - .attr({ | 223 | + .attr(titleAttr) |
250 | - class: 'instTitle', | ||
251 | - x: midline, | ||
252 | - y: c.titleDy | ||
253 | - }) | ||
254 | .text(d.id); | 224 | .text(d.id); |
255 | 225 | ||
256 | - // a couple of attributes | 226 | + var ty = 55; |
257 | - var ty = c.titleDy + c.textYOff; | ||
258 | - | ||
259 | function addAttr(id, label) { | 227 | function addAttr(id, label) { |
260 | svg.append('text').attr({ | 228 | svg.append('text').attr({ |
261 | class: 'instLabel ' + id, | 229 | class: 'instLabel ' + id, |
262 | - x: midline, | 230 | + x: tx, |
263 | y: ty | 231 | y: ty |
264 | }).text(label); | 232 | }).text(label); |
265 | - ty += c.textYSpc; | 233 | + ty += 18; |
266 | } | 234 | } |
267 | 235 | ||
268 | addAttr('ip', d.ip); | 236 | addAttr('ip', d.ip); |
... | @@ -279,8 +247,8 @@ | ... | @@ -279,8 +247,8 @@ |
279 | }); | 247 | }); |
280 | 248 | ||
281 | // adjust the panel size appropriately... | 249 | // adjust the panel size appropriately... |
282 | - oiBox.width(instDim.w * onosOrder.length); | 250 | + oiBox.width(instSvg.width * onosOrder.length); |
283 | - oiBox.height(instDim.h); | 251 | + oiBox.height(instSvg.height); |
284 | 252 | ||
285 | // remove any outgoing instances | 253 | // remove any outgoing instances |
286 | onoses.exit().remove(); | 254 | onoses.exit().remove(); | ... | ... |
... | @@ -89,7 +89,8 @@ describe('factory: fw/svg/glyph.js', function() { | ... | @@ -89,7 +89,8 @@ describe('factory: fw/svg/glyph.js', function() { |
89 | diamond: 'M.2,.5' | 89 | diamond: 'M.2,.5' |
90 | }, | 90 | }, |
91 | glyphIds = [ | 91 | glyphIds = [ |
92 | - 'unknown', 'node', 'switch', 'roadm', 'endstation', 'router', | 92 | + 'unknown', 'uiAttached', |
93 | + 'node', 'switch', 'roadm', 'endstation', 'router', | ||
93 | 'bgpSpeaker', 'chain', 'crown', 'lock', 'topo', 'refresh', | 94 | 'bgpSpeaker', 'chain', 'crown', 'lock', 'topo', 'refresh', |
94 | 'garbage', | 95 | 'garbage', |
95 | 'flowTable', 'portTable', 'groupTable', | 96 | 'flowTable', 'portTable', 'groupTable', |
... | @@ -98,7 +99,7 @@ describe('factory: fw/svg/glyph.js', function() { | ... | @@ -98,7 +99,7 @@ describe('factory: fw/svg/glyph.js', function() { |
98 | 'prevIntent', 'intentTraffic', 'allTraffic', 'flows', 'eqMaster' | 99 | 'prevIntent', 'intentTraffic', 'allTraffic', 'flows', 'eqMaster' |
99 | ], | 100 | ], |
100 | badgeIds = [ | 101 | badgeIds = [ |
101 | - 'uiAttached', 'checkMark', 'xMark', 'triangleUp', 'triangleDown', | 102 | + 'checkMark', 'xMark', 'triangleUp', 'triangleDown', |
102 | 'plus', 'minus', 'play', 'stop' | 103 | 'plus', 'minus', 'play', 'stop' |
103 | ], | 104 | ], |
104 | spriteIds = [ | 105 | spriteIds = [ | ... | ... |
... | @@ -153,39 +153,40 @@ describe('factory: fw/svg/svgUtil.js', function() { | ... | @@ -153,39 +153,40 @@ describe('factory: fw/svg/svgUtil.js', function() { |
153 | ])).toBeTruthy(); | 153 | ])).toBeTruthy(); |
154 | }); | 154 | }); |
155 | 155 | ||
156 | - it('should provide a certain shade of blue', function () { | 156 | + it('should provide blue', function () { |
157 | - expect(sus.cat7().getColor('foo', false, 'light')).toEqual('#3E5780'); | 157 | + expect(sus.cat7().getColor('foo', false, 'light')).toEqual('#5b99d2'); |
158 | }); | 158 | }); |
159 | 159 | ||
160 | - it('should not matter what the ID really is for shade of blue', function () { | 160 | + it('should provide light blue', function () { |
161 | - expect(sus.cat7().getColor('bar', false, 'light')).toEqual('#78533B'); | 161 | + expect(sus.cat7().getColor('bar', false, 'light')).toEqual('#66cef6'); |
162 | }); | 162 | }); |
163 | 163 | ||
164 | - it('should provide different shade of blue for muted', function () { | 164 | + it('should provide paler shade of blue for muted', function () { |
165 | - expect(sus.cat7().getColor('foo', true, 'light')).toEqual('#A8B8CC'); | 165 | + expect(sus.cat7().getColor('foo', true, 'light')).toEqual('#a8cceb'); |
166 | }); | 166 | }); |
167 | 167 | ||
168 | - | 168 | + // TODO: dark theme required |
169 | - it('should provide an alternate (dark) shade of blue', function () { | 169 | + xit('should provide an alternate (dark) shade of blue', function () { |
170 | - expect(sus.cat7().getColor('foo', false, 'dark')).toEqual('#304860'); | 170 | + expect(sus.cat7().getColor('foo', false, 'dark')).toEqual('#5b99d2'); |
171 | }); | 171 | }); |
172 | 172 | ||
173 | - it('should provide an alternate (dark) shade of blue for muted', function () { | 173 | + // TODO: dark theme required |
174 | - expect(sus.cat7().getColor('foo', true, 'dark')).toEqual('#304860'); | 174 | + xit('should provide an alternate (dark) shade of blue for muted', function () { |
175 | + expect(sus.cat7().getColor('foo', true, 'dark')).toEqual('#a8cceb'); | ||
175 | }); | 176 | }); |
176 | 177 | ||
177 | it('should iterate across the colors', function () { | 178 | it('should iterate across the colors', function () { |
178 | - expect(sus.cat7().getColor('foo', false, 'light')).toEqual('#3E5780'); | 179 | + expect(sus.cat7().getColor('foo', false, 'light')).toEqual('#5b99d2'); |
179 | - expect(sus.cat7().getColor('bar', false, 'light')).toEqual('#78533B'); | 180 | + expect(sus.cat7().getColor('bar', false, 'light')).toEqual('#66cef6'); |
180 | - expect(sus.cat7().getColor('baz', false, 'light')).toEqual('#CB4D28'); | 181 | + expect(sus.cat7().getColor('baz', false, 'light')).toEqual('#d05a55'); |
181 | - expect(sus.cat7().getColor('goo', false, 'light')).toEqual('#018D61'); | 182 | + expect(sus.cat7().getColor('goo', false, 'light')).toEqual('#db7773'); |
182 | - expect(sus.cat7().getColor('zoo', false, 'light')).toEqual('#8A2979'); | 183 | + expect(sus.cat7().getColor('zoo', false, 'light')).toEqual('#716b6b'); |
183 | - expect(sus.cat7().getColor('pip', false, 'light')).toEqual('#006D73'); | 184 | + expect(sus.cat7().getColor('pip', false, 'light')).toEqual('#aeada8'); |
184 | - expect(sus.cat7().getColor('sdh', false, 'light')).toEqual('#56AF00'); | 185 | + expect(sus.cat7().getColor('sdh', false, 'light')).toEqual('#7e9aa8'); |
185 | // and cycle back to the first color for item #8 | 186 | // and cycle back to the first color for item #8 |
186 | - expect(sus.cat7().getColor('bri', false, 'light')).toEqual('#3E5780'); | 187 | + expect(sus.cat7().getColor('bri', false, 'light')).toEqual('#5b99d2'); |
187 | // and return the same color for the same ID | 188 | // and return the same color for the same ID |
188 | - expect(sus.cat7().getColor('zoo', false, 'light')).toEqual('#8A2979'); | 189 | + expect(sus.cat7().getColor('zoo', false, 'light')).toEqual('#716b6b'); |
189 | }); | 190 | }); |
190 | 191 | ||
191 | // === translate(), scale(), skewX(), rotate() | 192 | // === translate(), scale(), skewX(), rotate() | ... | ... |
... | @@ -7,7 +7,7 @@ | ... | @@ -7,7 +7,7 @@ |
7 | "lastAuto": 29 | 7 | "lastAuto": 29 |
8 | }, | 8 | }, |
9 | "description": [ | 9 | "description": [ |
10 | - "Press '=' to load initial events.", | 10 | + "Press 'a' to load initial events.", |
11 | - "Press '-' to fire further events." | 11 | + "Press 'n' to fire further events." |
12 | ] | 12 | ] |
13 | } | 13 | } | ... | ... |
-
Please register or login to post a comment