OLD | NEW |
---|---|
1 import 'dart:html'; | 1 import 'dart:html'; |
2 import 'package:web_ui/web_ui.dart'; | 2 import 'package:web_ui/web_ui.dart'; |
3 import 'package:widget/effects.dart'; | 3 import 'package:widget/effects.dart'; |
4 import 'package:widget/widget.dart'; | 4 import 'package:widget/widget.dart'; |
5 import 'package:bot/bot.dart'; | 5 import 'package:bot/bot.dart'; |
6 | 6 |
7 /** | 7 /** |
8 * [Accordion] wraps a set of [Collapse] elements and ensures only one is visibl e | 8 * [Accordion] wraps a set of [Collapse] elements and ensures only one is visibl e |
9 * at a time. | 9 * at a time. |
10 * | 10 * |
11 * See [Collapse] for details on how content is interpreted. | 11 * See [Collapse] for details on how content is interpreted. |
12 */ | 12 */ |
13 class Accordion extends WebComponent { | 13 class Accordion extends WebComponent { |
14 @protected | 14 @protected |
15 void created() { | 15 void created() { |
16 ShowHideComponent.toggleEvent.forTarget(this).listen(_onOpen); | 16 ShowHideComponent.toggleEvent.forTarget(this).listen(_onOpen); |
17 } | 17 } |
18 | 18 |
19 @protected | 19 @protected |
20 void inserted() { | 20 void inserted() { |
21 // collapse all 'collapse' children | 21 // collapse all 'collapse' children |
22 _getAllCollapseElements() | 22 _getAllCollapseElements() |
23 .map((Element e) => e.xtag) | 23 .map((Element e) => e.xtag) |
24 .forEach((ShowHideComponent e) { | 24 .forEach((ShowHideComponent e) { |
25 e.hide(); | 25 e.hide(); |
26 }); | 26 }); |
27 } | 27 } |
28 | 28 |
29 List<Element> _getAllCollapseElements() => this.queryAll('x-accordion > x-coll apse'); | 29 List<Element> _getAllCollapseElements() => this.queryAll('[is=x-accordion] > [ is=x-collapse]'); |
Siggi Cherem (dart-lang)
2013/04/16 17:34:36
long line (the original code was already like that
Jacob
2013/04/16 17:45:46
Done.
Jacob
2013/04/16 17:45:46
Done.
| |
30 | 30 |
31 void _onOpen(Event openEvent) { | 31 void _onOpen(Event openEvent) { |
32 if(openEvent.target is UnknownElement) { | 32 Element target = openEvent.target; |
33 final UnknownElement target = openEvent.target; | 33 if(target.xtag is ShowHideComponent) { |
Siggi Cherem (dart-lang)
2013/04/16 17:34:36
style nit: space after 'if' (although seems like t
Jacob
2013/04/16 17:45:46
Fixed. When we touch a file we should make it mor
| |
34 final ShowHideComponent shc = target.xtag as ShowHideComponent; | 34 _onShowHideToggle(target.xtag); |
35 if(shc != null) { | |
36 _onShowHideToggle(shc); | |
37 } | |
38 } | 35 } |
39 } | 36 } |
40 | 37 |
41 void _onShowHideToggle(ShowHideComponent shc) { | 38 void _onShowHideToggle(ShowHideComponent shc) { |
42 if(shc.isShown) { | 39 if(shc.isShown) { |
43 _getAllCollapseElements() | 40 _getAllCollapseElements() |
44 .map((Element e) => e.xtag) | 41 .map((Element e) => e.xtag) |
45 .where((e) => e != shc) | 42 .where((e) => e != shc) |
46 .forEach((ShowHideComponent e) { | 43 .forEach((ShowHideComponent e) { |
47 e.hide(); | 44 e.hide(); |
48 }); | 45 }); |
49 } | 46 } |
50 } | 47 } |
51 } | 48 } |
OLD | NEW |