OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 import 'animated_component.dart'; | 5 import 'animated_component.dart'; |
6 import '../animation/animated_value.dart'; | 6 import '../animation/animated_value.dart'; |
7 import '../fn.dart'; | 7 import '../fn.dart'; |
8 import 'ink_well.dart'; | 8 import 'ink_well.dart'; |
9 | 9 |
10 class PopupMenuItem extends AnimatedComponent { | 10 class PopupMenuItem extends Component { |
11 static final Style _style = new Style(''' | 11 static final Style _style = new Style(''' |
12 min-width: 112px; | 12 min-width: 112px; |
13 padding: 16px;'''); | 13 padding: 16px;'''); |
14 | 14 |
15 List<Node> children; | 15 List<Node> children; |
16 double _opacity; | 16 double opacity; |
17 | 17 |
18 PopupMenuItem({ Object key, this.children, AnimatedValue opacity}) : super(key
: key) { | 18 PopupMenuItem({ Object key, this.children, this.opacity}) : super(key: key); |
19 animateField(opacity, #_opacity); | |
20 } | |
21 | 19 |
22 Node build() { | 20 Node build() { |
23 return new InkWell( | 21 return new StyleNode( |
24 style: _style, | 22 new InkWell( |
25 inlineStyle: _opacity == null ? null : 'opacity: ${_opacity}', | 23 inlineStyle: opacity == null ? null : 'opacity: ${opacity}', |
26 children: children | 24 children: children |
27 ); | 25 ), |
| 26 _style); |
28 } | 27 } |
29 } | 28 } |
OLD | NEW |