| 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 html; | 5 part of html; |
| 6 | 6 |
| 7 abstract class CssClassSet implements Set<String> { | 7 abstract class CssClassSet implements Set<String> { |
| 8 | 8 |
| 9 String toString() { | 9 String toString() { |
| 10 return Strings.join(new List.from(readClasses()), ' '); | 10 return Strings.join(new List.from(readClasses()), ' '); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 dynamic combine(dynamic previousValue, String element)) { | 60 dynamic combine(dynamic previousValue, String element)) { |
| 61 return readClasses().reduce(initialValue, combine); | 61 return readClasses().reduce(initialValue, combine); |
| 62 } | 62 } |
| 63 // interface Collection - END | 63 // interface Collection - END |
| 64 | 64 |
| 65 // interface Set - BEGIN | 65 // interface Set - BEGIN |
| 66 bool contains(String value) => readClasses().contains(value); | 66 bool contains(String value) => readClasses().contains(value); |
| 67 | 67 |
| 68 void add(String value) { | 68 void add(String value) { |
| 69 // TODO - figure out if we need to do any validation here | 69 // TODO - figure out if we need to do any validation here |
| 70 // or if the browser natively does enough | 70 // or if the browser natively does enough. |
| 71 _modify((s) => s.add(value)); | 71 _modify((s) => s.add(value)); |
| 72 } | 72 } |
| 73 | 73 |
| 74 bool remove(String value) { | 74 bool remove(Object value) { |
| 75 if (value is! String) return false; |
| 75 Set<String> s = readClasses(); | 76 Set<String> s = readClasses(); |
| 76 bool result = s.remove(value); | 77 bool result = s.remove(value); |
| 77 writeClasses(s); | 78 writeClasses(s); |
| 78 return result; | 79 return result; |
| 79 } | 80 } |
| 80 | 81 |
| 81 void addAll(Iterable<String> iterable) { | 82 void addAll(Iterable<String> iterable) { |
| 82 // TODO - see comment above about validation | 83 // TODO - see comment above about validation. |
| 83 _modify((s) => s.addAll(iterable)); | 84 _modify((s) => s.addAll(iterable)); |
| 84 } | 85 } |
| 85 | 86 |
| 86 void removeAll(Iterable<String> iterable) { | 87 void removeAll(Iterable<String> iterable) { |
| 87 _modify((s) => s.removeAll(iterable)); | 88 _modify((s) => s.removeAll(iterable)); |
| 88 } | 89 } |
| 89 | 90 |
| 91 void retainAll(Iterable<String> iterable) { |
| 92 _modify((s) => s.retainAll(iterable)); |
| 93 } |
| 94 |
| 95 void removeMatching(bool test(String name)) { |
| 96 _modify((s) => s.removeMatching(test)); |
| 97 } |
| 98 |
| 99 void retainMatching(bool test(String name)) { |
| 100 _modify((s) => s.retainMatching(test)); |
| 101 } |
| 102 |
| 90 bool isSubsetOf(Collection<String> collection) => | 103 bool isSubsetOf(Collection<String> collection) => |
| 91 readClasses().isSubsetOf(collection); | 104 readClasses().isSubsetOf(collection); |
| 92 | 105 |
| 93 bool containsAll(Collection<String> collection) => | 106 bool containsAll(Collection<String> collection) => |
| 94 readClasses().containsAll(collection); | 107 readClasses().containsAll(collection); |
| 95 | 108 |
| 96 Set<String> intersection(Collection<String> other) => | 109 Set<String> intersection(Collection<String> other) => |
| 97 readClasses().intersection(other); | 110 readClasses().intersection(other); |
| 98 | 111 |
| 99 String get first => readClasses().first; | 112 String get first => readClasses().first; |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 */ | 159 */ |
| 147 Set<String> readClasses(); | 160 Set<String> readClasses(); |
| 148 | 161 |
| 149 /** | 162 /** |
| 150 * Join all the elements of a set into one string and write | 163 * Join all the elements of a set into one string and write |
| 151 * back to the element. | 164 * back to the element. |
| 152 * This is intended to be overridden by specific implementations. | 165 * This is intended to be overridden by specific implementations. |
| 153 */ | 166 */ |
| 154 void writeClasses(Set<String> s); | 167 void writeClasses(Set<String> s); |
| 155 } | 168 } |
| OLD | NEW |