| 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(' ');
|
| }
|
| }
|
|
|