| Index: tools/dom/src/CssClassSet.dart
|
| diff --git a/tools/dom/src/CssClassSet.dart b/tools/dom/src/CssClassSet.dart
|
| index 0b22ef7741942959a398083c4d54b78db2ee40b8..0c405e4af5d17f82f5f498e9438ba1f779e3192e 100644
|
| --- a/tools/dom/src/CssClassSet.dart
|
| +++ b/tools/dom/src/CssClassSet.dart
|
| @@ -13,6 +13,12 @@ abstract class CssClassSet implements Set<String> {
|
| *
|
| * If [shouldAdd] is true, then we always add that [value] to the element. If
|
| * [shouldAdd] is false then we always remove [value] from the element.
|
| + *
|
| + * If this corresponds to one element, returns `true` if [value] is present
|
| + * after the operation, and returns `false` if [value] is absent after the
|
| + * operation.
|
| + *
|
| + * If this corresponds to many elements, `null` is always returned.
|
| */
|
| bool toggle(String value, [bool shouldAdd]);
|
|
|
| @@ -39,7 +45,7 @@ abstract class CssClassSet implements Set<String> {
|
| * If this corresponds to one element. Returns true if [value] was added to
|
| * the set, otherwise false.
|
| *
|
| - * If this corresponds to many elements, null is always returned.
|
| + * If this corresponds to many elements, `null` is always returned.
|
| */
|
| bool add(String value);
|
|
|
| @@ -80,87 +86,3 @@ abstract class CssClassSet implements Set<String> {
|
| */
|
| void toggleAll(Iterable<String> iterable, [bool shouldAdd]);
|
| }
|
| -
|
| -/**
|
| - * A set (union) of the CSS classes that are present in a set of elements.
|
| - * Implemented separately from _ElementCssClassSet for performance.
|
| - */
|
| -class _MultiElementCssClassSet extends CssClassSetImpl {
|
| - final Iterable<Element> _elementIterable;
|
| - Iterable<_ElementCssClassSet> _elementCssClassSetIterable;
|
| -
|
| - _MultiElementCssClassSet(this._elementIterable) {
|
| - _elementCssClassSetIterable = new List.from(_elementIterable).map(
|
| - (e) => new _ElementCssClassSet(e));
|
| - }
|
| -
|
| - Set<String> readClasses() {
|
| - var s = new LinkedHashSet<String>();
|
| - _elementCssClassSetIterable.forEach(
|
| - (_ElementCssClassSet e) => s.addAll(e.readClasses()));
|
| - return s;
|
| - }
|
| -
|
| - void writeClasses(Set<String> s) {
|
| - var classes = s.join(' ');
|
| - for (Element e in _elementIterable) {
|
| - e.className = classes;
|
| - }
|
| - }
|
| -
|
| - /**
|
| - * Helper method used to modify the set of css classes on this element.
|
| - *
|
| - * f - callback with:
|
| - * s - a Set of all the css class name currently on this element.
|
| - *
|
| - * After f returns, the modified set is written to the
|
| - * className property of this element.
|
| - */
|
| - modify( f(Set<String> s)) {
|
| - _elementCssClassSetIterable.forEach((_ElementCssClassSet e) => e.modify(f));
|
| - }
|
| -
|
| - /**
|
| - * Adds the class [value] to the element if it is not on it, removes it if it
|
| - * is.
|
| - */
|
| - bool toggle(String value, [bool shouldAdd]) =>
|
| - _elementCssClassSetIterable.fold(false,
|
| - (bool changed, _ElementCssClassSet e) =>
|
| - e.toggle(value, shouldAdd) || changed);
|
| -
|
| - /**
|
| - * Remove the class [value] from element, and return true on successful
|
| - * removal.
|
| - *
|
| - * This is the Dart equivalent of jQuery's
|
| - * [removeClass](http://api.jquery.com/removeClass/).
|
| - */
|
| - bool remove(Object value) => _elementCssClassSetIterable.fold(false,
|
| - (bool changed, _ElementCssClassSet e) => e.remove(value) || changed);
|
| -}
|
| -
|
| -class _ElementCssClassSet extends CssClassSetImpl {
|
| -
|
| - final Element _element;
|
| -
|
| - _ElementCssClassSet(this._element);
|
| -
|
| - Set<String> readClasses() {
|
| - var s = new LinkedHashSet<String>();
|
| - var classname = _element.className;
|
| -
|
| - for (String name in classname.split(' ')) {
|
| - String trimmed = name.trim();
|
| - if (!trimmed.isEmpty) {
|
| - s.add(trimmed);
|
| - }
|
| - }
|
| - return s;
|
| - }
|
| -
|
| - void writeClasses(Set<String> s) {
|
| - _element.className = s.join(' ');
|
| - }
|
| -}
|
|
|