Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(204)

Side by Side Diff: sky/framework/components/popup_menu_item.dart

Issue 1016093002: Begin work on the PopupMenu entrance animation (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sky/framework/components/popup_menu.dart ('k') | sky/framework/fn.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 '../animation/animated_value.dart';
5 import '../fn.dart'; 6 import '../fn.dart';
6 import 'material.dart'; 7 import 'material.dart';
7 8
8 class PopupMenuItem extends Component { 9 class PopupMenuItem extends Component {
9 static final Style _style = new Style(''' 10 static final Style _style = new Style('''
10 min-width: 112px; 11 min-width: 112px;
11 padding: 16px;'''); 12 padding: 16px;''');
12 13
13 List<Node> children; 14 List<Node> children;
15 AnimatedValueListener _opacity;
14 16
15 PopupMenuItem({ Object key, this.children }) : super(key: key); 17 PopupMenuItem({ Object key, this.children, AnimatedValue opacity}) : super(key : key) {
18 _opacity = new AnimatedValueListener(this, opacity);
19 }
20
21 void didUnmount() {
22 _opacity.stopListening();
23 }
16 24
17 Node build() { 25 Node build() {
26 _opacity.ensureListening();
27
18 return new Material( 28 return new Material(
19 style: _style, 29 style: _style,
30 inlineStyle: _opacity.value == null ? null : 'opacity: ${_opacity.value}',
20 children: children 31 children: children
21 ); 32 );
22 } 33 }
23 } 34 }
OLDNEW
« no previous file with comments | « sky/framework/components/popup_menu.dart ('k') | sky/framework/fn.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698