| Index: sky/examples/stocks/stock.sky
|
| diff --git a/sky/examples/stocks/stock.sky b/sky/examples/stocks/stock.sky
|
| index e147718e7b7dec7d37df7dccae02f4f613cdf1b2..624c203cdca4cab78b2b34490baea16dd15e37bd 100644
|
| --- a/sky/examples/stocks/stock.sky
|
| +++ b/sky/examples/stocks/stock.sky
|
| @@ -9,30 +9,28 @@
|
| <template>
|
| <style>
|
| :host {
|
| - height: 50px;
|
| + // TODO(eseidel): Why does setting height here make this too big?
|
| + // height: 48px;
|
| + max-height: 48px;
|
| display: flex;
|
| - width: 100%;
|
| - border: 1px solid black;
|
| + border-bottom: 1px solid black;
|
| + padding-top: 16px;
|
| + padding-left: 16px;
|
| + padding-right: 16px;
|
| + padding-bottom: 20px;
|
| }
|
| #ticker {
|
| - padding: 10px;
|
| flex-grow: 1;
|
| }
|
| #last-sale {
|
| - padding: 10px;
|
| + padding-right: 20px;
|
| }
|
| #change {
|
| - padding: 10px;
|
| border-radius: 5px;
|
| - min-width: 70px;
|
| + min-width: 72px;
|
| + padding-right: 10px;
|
| text-align: right;
|
| }
|
| - .positive {
|
| - background-color: green;
|
| - }
|
| - .negative {
|
| - background-color: red;
|
| - }
|
| </style>
|
| <div id="ticker" />
|
| <div id="last-sale" />
|
| @@ -40,6 +38,45 @@
|
| </template>
|
| <script>
|
| import "dart:sky";
|
| +import "dart:math";
|
| +
|
| +List<String> redColors = [
|
| + '#FFEBEE',
|
| + '#FFCDD2',
|
| + '#EF9A9A',
|
| + '#E57373',
|
| + '#EF5350',
|
| + '#F44336',
|
| + '#E53935',
|
| + '#D32F2F',
|
| + '#C62828',
|
| + '#B71C1C',
|
| +];
|
| +
|
| +List<String> greenColors = [
|
| + '#E8F5E9',
|
| + '#C8E6C9',
|
| + '#A5D6A7',
|
| + '#81C784',
|
| + '#66BB6A',
|
| + '#4CAF50',
|
| + '#43A047',
|
| + '#388E3C',
|
| + '#2E7D32',
|
| + '#1B5E20',
|
| +];
|
| +
|
| +int colorIndexForPercentChange(double percentChange) {
|
| + // Currently the max is 10%.
|
| + double maxPercent = 10.0;
|
| + return max(0, ((percentChange.abs() / maxPercent) * greenColors.length).floor());
|
| +}
|
| +
|
| +String colorForPercentChange(double percentChange) {
|
| + if (percentChange > 0)
|
| + return greenColors[colorIndexForPercentChange(percentChange)];
|
| + return redColors[colorIndexForPercentChange(percentChange)];
|
| +}
|
|
|
| @Tagname('stock')
|
| class Stock extends SkyElement {
|
| @@ -56,7 +93,7 @@ class Stock extends SkyElement {
|
| if (model.percentChange > 0)
|
| changeString = "+" + changeString;
|
| change.textContent = changeString;
|
| - change.classList.add((model.percentChange < 0) ? 'negative' : 'positive');
|
| + change.style['background-color'] = colorForPercentChange(model.percentChange);
|
| }
|
| }
|
|
|
|
|