Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(399)

Side by Side Diff: sdk/lib/html/html_common/css_class_set.dart

Issue 26280002: Set.add returns true if item has been added, otherwise false (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: again Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « sdk/lib/html/dartium/html_dartium.dart ('k') | tests/corelib/set_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_common; 5 part of html_common;
6 6
7 abstract class CssClassSetImpl implements CssClassSet { 7 abstract class CssClassSetImpl implements CssClassSet {
8 8
9 String toString() { 9 String toString() {
10 return readClasses().join(' '); 10 return readClasses().join(' ');
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 85
86 /** Lookup from the Set interface. Not interesting for a String set. */ 86 /** Lookup from the Set interface. Not interesting for a String set. */
87 String lookup(String value) => contains(value) ? value : null; 87 String lookup(String value) => contains(value) ? value : null;
88 88
89 /** 89 /**
90 * Add the class [value] to element. 90 * Add the class [value] to element.
91 * 91 *
92 * This is the Dart equivalent of jQuery's 92 * This is the Dart equivalent of jQuery's
93 * [addClass](http://api.jquery.com/addClass/). 93 * [addClass](http://api.jquery.com/addClass/).
94 */ 94 */
95 void add(String value) { 95 bool add(String value) {
96 // TODO - figure out if we need to do any validation here 96 // TODO - figure out if we need to do any validation here
97 // or if the browser natively does enough. 97 // or if the browser natively does enough.
98 modify((s) => s.add(value)); 98 return modify((s) => s.add(value));
99 } 99 }
100 100
101 /** 101 /**
102 * Remove the class [value] from element, and return true on successful 102 * Remove the class [value] from element, and return true on successful
103 * removal. 103 * removal.
104 * 104 *
105 * This is the Dart equivalent of jQuery's 105 * This is the Dart equivalent of jQuery's
106 * [removeClass](http://api.jquery.com/removeClass/). 106 * [removeClass](http://api.jquery.com/removeClass/).
107 */ 107 */
108 bool remove(Object value) { 108 bool remove(Object value) {
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 199
200 /** 200 /**
201 * Helper method used to modify the set of css classes on this element. 201 * Helper method used to modify the set of css classes on this element.
202 * 202 *
203 * f - callback with: 203 * f - callback with:
204 * s - a Set of all the css class name currently on this element. 204 * s - a Set of all the css class name currently on this element.
205 * 205 *
206 * After f returns, the modified set is written to the 206 * After f returns, the modified set is written to the
207 * className property of this element. 207 * className property of this element.
208 */ 208 */
209 void modify( f(Set<String> s)) { 209 modify( f(Set<String> s)) {
210 Set<String> s = readClasses(); 210 Set<String> s = readClasses();
211 f(s); 211 var ret = f(s);
212 writeClasses(s); 212 writeClasses(s);
213 return ret;
213 } 214 }
214 215
215 /** 216 /**
216 * Read the class names from the Element class property, 217 * Read the class names from the Element class property,
217 * and put them into a set (duplicates are discarded). 218 * and put them into a set (duplicates are discarded).
218 * This is intended to be overridden by specific implementations. 219 * This is intended to be overridden by specific implementations.
219 */ 220 */
220 Set<String> readClasses(); 221 Set<String> readClasses();
221 222
222 /** 223 /**
223 * Join all the elements of a set into one string and write 224 * Join all the elements of a set into one string and write
224 * back to the element. 225 * back to the element.
225 * This is intended to be overridden by specific implementations. 226 * This is intended to be overridden by specific implementations.
226 */ 227 */
227 void writeClasses(Set<String> s); 228 void writeClasses(Set<String> s);
228 } 229 }
OLDNEW
« no previous file with comments | « sdk/lib/html/dartium/html_dartium.dart ('k') | tests/corelib/set_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698