| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 import '../fn.dart'; | |
| 6 import '../layout.dart'; | |
| 7 import 'button_base.dart'; | |
| 8 import 'icon.dart'; | |
| 9 import 'ink_well.dart'; | |
| 10 | |
| 11 class MenuItem extends ButtonBase { | |
| 12 static final Style _style = new Style(''' | |
| 13 align-items: center; | |
| 14 height: 48px; | |
| 15 -webkit-user-select: none;''' | |
| 16 ); | |
| 17 | |
| 18 static final Style _highlightStyle = new Style(''' | |
| 19 align-items: center; | |
| 20 height: 48px; | |
| 21 background: rgba(153, 153, 153, 0.4); | |
| 22 -webkit-user-select: none;''' | |
| 23 ); | |
| 24 | |
| 25 static final Style _iconStyle = new Style(''' | |
| 26 padding: 0px 16px;''' | |
| 27 ); | |
| 28 | |
| 29 static final Style _labelStyle = new Style(''' | |
| 30 padding: 0px 16px; | |
| 31 flex: 1;''' | |
| 32 ); | |
| 33 | |
| 34 List<UINode> children; | |
| 35 String icon; | |
| 36 GestureEventListener onGestureTap; | |
| 37 | |
| 38 MenuItem({ Object key, this.icon, this.children, this.onGestureTap }) : super(
key: key); | |
| 39 | |
| 40 UINode buildContent() { | |
| 41 return new EventListenerNode( | |
| 42 new StyleNode( | |
| 43 new InkWell( | |
| 44 children: [ | |
| 45 new StyleNode( | |
| 46 new Icon( | |
| 47 size: 24, | |
| 48 type: "${icon}_grey600" | |
| 49 ), | |
| 50 _iconStyle | |
| 51 ), | |
| 52 new FlexContainer( | |
| 53 direction: FlexDirection.Row, | |
| 54 style: _labelStyle, | |
| 55 children: children | |
| 56 ) | |
| 57 ] | |
| 58 ), | |
| 59 highlight ? _highlightStyle : _style | |
| 60 ), | |
| 61 onGestureTap: onGestureTap | |
| 62 ); | |
| 63 } | |
| 64 } | |
| OLD | NEW |