| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 part of $LIBRARYNAME; | 5 part of $LIBRARYNAME; |
| 6 | 6 |
| 7 class _ChildrenElementList extends ListBase<Element> | 7 class _ChildrenElementList extends ListBase<Element> |
| 8 implements NodeListWrapper { | 8 implements NodeListWrapper { |
| 9 // Raw Element. | 9 // Raw Element. |
| 10 final Element _element; | 10 final Element _element; |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 } | 64 } |
| 65 | 65 |
| 66 void removeWhere(bool test(Element element)) { | 66 void removeWhere(bool test(Element element)) { |
| 67 _filter(test, false); | 67 _filter(test, false); |
| 68 } | 68 } |
| 69 | 69 |
| 70 void retainWhere(bool test(Element element)) { | 70 void retainWhere(bool test(Element element)) { |
| 71 _filter(test, true); | 71 _filter(test, true); |
| 72 } | 72 } |
| 73 | 73 |
| 74 void _filter(bool test(var element), bool retainMatching) { | 74 void _filter(bool test(Element element), bool retainMatching) { |
| 75 var removed; | 75 var removed; |
| 76 if (retainMatching) { | 76 if (retainMatching) { |
| 77 removed = _element.children.where((e) => !test(e)); | 77 removed = _element.children.where((e) => !test(e)); |
| 78 } else { | 78 } else { |
| 79 removed = _element.children.where(test); | 79 removed = _element.children.where(test); |
| 80 } | 80 } |
| 81 for (var e in removed) e.remove(); | 81 for (var e in removed) e.remove(); |
| 82 } | 82 } |
| 83 | 83 |
| 84 void setRange(int start, int end, Iterable<Element> iterable, | 84 void setRange(int start, int end, Iterable<Element> iterable, |
| (...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 586 * item.text = 'Something'; | 586 * item.text = 'Something'; |
| 587 * document.body.children.add(item) // Item is now displayed on the page. | 587 * document.body.children.add(item) // Item is now displayed on the page. |
| 588 * for (var element in document.body.children) { | 588 * for (var element in document.body.children) { |
| 589 * element.style.background = 'red'; // Turns every child of body red. | 589 * element.style.background = 'red'; // Turns every child of body red. |
| 590 * } | 590 * } |
| 591 */ | 591 */ |
| 592 List<Element> get children => new _ChildrenElementList._wrap(this); | 592 List<Element> get children => new _ChildrenElementList._wrap(this); |
| 593 | 593 |
| 594 set children(List<Element> value) { | 594 set children(List<Element> value) { |
| 595 // Copy list first since we don't want liveness during iteration. | 595 // Copy list first since we don't want liveness during iteration. |
| 596 List copy = new List.from(value); | 596 var copy = value.toList(); |
| 597 var children = this.children; | 597 var children = this.children; |
| 598 children.clear(); | 598 children.clear(); |
| 599 children.addAll(copy); | 599 children.addAll(copy); |
| 600 } | 600 } |
| 601 | 601 |
| 602 /** | 602 /** |
| 603 * Finds all descendent elements of this element that match the specified | 603 * Finds all descendent elements of this element that match the specified |
| 604 * group of selectors. | 604 * group of selectors. |
| 605 * | 605 * |
| 606 * [selectors] should be a string using CSS selector syntax. | 606 * [selectors] should be a string using CSS selector syntax. |
| (...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 821 * for the transition, or a Map with fields corresponding to those | 821 * for the transition, or a Map with fields corresponding to those |
| 822 * of the [Timing] object. | 822 * of the [Timing] object. |
| 823 **/ | 823 **/ |
| 824 @Experimental() | 824 @Experimental() |
| 825 @SupportedBrowser(SupportedBrowser.CHROME, '36') | 825 @SupportedBrowser(SupportedBrowser.CHROME, '36') |
| 826 Animation animate(Iterable<Map<String, dynamic>> frames, [timing]) { | 826 Animation animate(Iterable<Map<String, dynamic>> frames, [timing]) { |
| 827 if (frames is! Iterable || !(frames.every((x) => x is Map))) { | 827 if (frames is! Iterable || !(frames.every((x) => x is Map))) { |
| 828 throw new ArgumentError("The frames parameter should be a List of Maps " | 828 throw new ArgumentError("The frames parameter should be a List of Maps " |
| 829 "with frame information"); | 829 "with frame information"); |
| 830 } | 830 } |
| 831 var convertedFrames = frames; | 831 var convertedFrames; |
| 832 if (convertedFrames is Iterable) { | 832 if (frames is Iterable) { |
| 833 $if DART2JS | 833 $if DART2JS |
| 834 convertedFrames = frames.map(convertDartToNative_Dictionary).toList(); | 834 convertedFrames = frames.map(convertDartToNative_Dictionary).toList(); |
| 835 $else | 835 $else |
| 836 convertedFrames = convertDartToNative_List( | 836 convertedFrames = convertDartToNative_List( |
| 837 frames.map(convertDartToNative_Dictionary).toList()); | 837 frames.map(convertDartToNative_Dictionary).toList()); |
| 838 $endif | 838 $endif |
| 839 } else { |
| 840 convertedFrames = frames; |
| 839 } | 841 } |
| 840 var convertedTiming = timing; | 842 var convertedTiming = timing is Map ? convertDartToNative_Dictionary(timing)
: timing; |
| 841 if (convertedTiming is Map) { | |
| 842 convertedTiming = convertDartToNative_Dictionary(convertedTiming); | |
| 843 } | |
| 844 return convertedTiming == null | 843 return convertedTiming == null |
| 845 ? _animate(convertedFrames) | 844 ? _animate(convertedFrames) |
| 846 : _animate(convertedFrames, convertedTiming); | 845 : _animate(convertedFrames, convertedTiming); |
| 847 } | 846 } |
| 848 | 847 |
| 849 $if DART2JS | 848 $if DART2JS |
| 850 @DomName('Element.animate') | 849 @DomName('Element.animate') |
| 851 @JSName('animate') | 850 @JSName('animate') |
| 852 @Experimental() // untriaged | 851 @Experimental() // untriaged |
| 853 Animation _animate(Object effect, [timing]) native; | 852 Animation _animate(Object effect, [timing]) native; |
| (...skipping 816 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1670 const ScrollAlignment._internal(this._value); | 1669 const ScrollAlignment._internal(this._value); |
| 1671 toString() => 'ScrollAlignment.$_value'; | 1670 toString() => 'ScrollAlignment.$_value'; |
| 1672 | 1671 |
| 1673 /// Attempt to align the element to the top of the scrollable area. | 1672 /// Attempt to align the element to the top of the scrollable area. |
| 1674 static const TOP = const ScrollAlignment._internal('TOP'); | 1673 static const TOP = const ScrollAlignment._internal('TOP'); |
| 1675 /// Attempt to center the element in the scrollable area. | 1674 /// Attempt to center the element in the scrollable area. |
| 1676 static const CENTER = const ScrollAlignment._internal('CENTER'); | 1675 static const CENTER = const ScrollAlignment._internal('CENTER'); |
| 1677 /// Attempt to align the element to the bottom of the scrollable area. | 1676 /// Attempt to align the element to the bottom of the scrollable area. |
| 1678 static const BOTTOM = const ScrollAlignment._internal('BOTTOM'); | 1677 static const BOTTOM = const ScrollAlignment._internal('BOTTOM'); |
| 1679 } | 1678 } |
| OLD | NEW |