Index: tools/dom/src/CssClassSet.dart |
diff --git a/tools/dom/src/CssClassSet.dart b/tools/dom/src/CssClassSet.dart |
index c948819c93ad06ee4602e65328139dd38c9d1aab..0b22ef7741942959a398083c4d54b78db2ee40b8 100644 |
--- a/tools/dom/src/CssClassSet.dart |
+++ b/tools/dom/src/CssClassSet.dart |
@@ -96,12 +96,13 @@ class _MultiElementCssClassSet extends CssClassSetImpl { |
Set<String> readClasses() { |
var s = new LinkedHashSet<String>(); |
- _elementCssClassSetIterable.forEach((e) => s.addAll(e.readClasses())); |
+ _elementCssClassSetIterable.forEach( |
+ (_ElementCssClassSet e) => s.addAll(e.readClasses())); |
return s; |
} |
void writeClasses(Set<String> s) { |
- var classes = new List.from(s).join(' '); |
+ var classes = s.join(' '); |
for (Element e in _elementIterable) { |
e.className = classes; |
} |
@@ -117,7 +118,7 @@ class _MultiElementCssClassSet extends CssClassSetImpl { |
* className property of this element. |
*/ |
modify( f(Set<String> s)) { |
- _elementCssClassSetIterable.forEach((e) => e.modify(f)); |
+ _elementCssClassSetIterable.forEach((_ElementCssClassSet e) => e.modify(f)); |
} |
/** |
@@ -125,7 +126,9 @@ class _MultiElementCssClassSet extends CssClassSetImpl { |
* is. |
*/ |
bool toggle(String value, [bool shouldAdd]) => |
- _modifyWithReturnValue((e) => e.toggle(value, shouldAdd)); |
+ _elementCssClassSetIterable.fold(false, |
+ (bool changed, _ElementCssClassSet e) => |
+ e.toggle(value, shouldAdd) || changed); |
/** |
* Remove the class [value] from element, and return true on successful |
@@ -134,10 +137,8 @@ class _MultiElementCssClassSet extends CssClassSetImpl { |
* This is the Dart equivalent of jQuery's |
* [removeClass](http://api.jquery.com/removeClass/). |
*/ |
- bool remove(Object value) => _modifyWithReturnValue((e) => e.remove(value)); |
- |
- bool _modifyWithReturnValue(f) => _elementCssClassSetIterable.fold( |
- false, (prevValue, element) => f(element) || prevValue); |
+ bool remove(Object value) => _elementCssClassSetIterable.fold(false, |
+ (bool changed, _ElementCssClassSet e) => e.remove(value) || changed); |
} |
class _ElementCssClassSet extends CssClassSetImpl { |
@@ -160,7 +161,6 @@ class _ElementCssClassSet extends CssClassSetImpl { |
} |
void writeClasses(Set<String> s) { |
- List list = new List.from(s); |
_element.className = s.join(' '); |
} |
} |