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

Side by Side Diff: lib/src/css_class_set.dart

Issue 2996603002: Update generic comment syntax (Closed)
Patch Set: Created 3 years, 4 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
« no previous file with comments | « lib/dom.dart ('k') | lib/src/utils.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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 // TODO(jmesserly): everything in this file is copied straight from "dart:html". 5 // TODO(jmesserly): everything in this file is copied straight from "dart:html".
6 library html.dom.src; 6 library html.dom.src;
7 7
8 import 'dart:collection'; 8 import 'dart:collection';
9
9 import 'package:html/dom.dart'; 10 import 'package:html/dom.dart';
10 11
11 class ElementCssClassSet extends CssClassSetImpl { 12 class ElementCssClassSet extends CssClassSetImpl {
12 final Element _element; 13 final Element _element;
13 14
14 ElementCssClassSet(this._element); 15 ElementCssClassSet(this._element);
15 16
16 Set<String> readClasses() { 17 Set<String> readClasses() {
17 var s = new LinkedHashSet<String>(); 18 var s = new LinkedHashSet<String>();
18 var classname = _element.className; 19 var classname = _element.className;
19 20
20 for (String name in classname.split(' ')) { 21 for (String name in classname.split(' ')) {
21 String trimmed = name.trim(); 22 String trimmed = name.trim();
22 if (!trimmed.isEmpty) { 23 if (!trimmed.isEmpty) {
23 s.add(trimmed); 24 s.add(trimmed);
24 } 25 }
25 } 26 }
26 return s; 27 return s;
27 } 28 }
28 29
29 void writeClasses(Set<String> s) { 30 void writeClasses(Set<String> s) {
30 _element.className = s.join(' '); 31 _element.className = s.join(' ');
31 } 32 }
32 } 33 }
33 34
34 /** A Set that stores the CSS class names for an element. */ 35 /** A Set that stores the CSS class names for an element. */
35 abstract class CssClassSet implements Set<String> { 36 abstract class CssClassSet implements Set<String> {
36
37 /** 37 /**
38 * Adds the class [value] to the element if it is not on it, removes it if it 38 * Adds the class [value] to the element if it is not on it, removes it if it
39 * is. 39 * is.
40 * 40 *
41 * If [shouldAdd] is true, then we always add that [value] to the element. If 41 * If [shouldAdd] is true, then we always add that [value] to the element. If
42 * [shouldAdd] is false then we always remove [value] from the element. 42 * [shouldAdd] is false then we always remove [value] from the element.
43 */ 43 */
44 bool toggle(String value, [bool shouldAdd]); 44 bool toggle(String value, [bool shouldAdd]);
45 45
46 /** 46 /**
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 Iterator<String> get iterator => readClasses().iterator; 144 Iterator<String> get iterator => readClasses().iterator;
145 // interface Iterable - END 145 // interface Iterable - END
146 146
147 // interface Collection - BEGIN 147 // interface Collection - BEGIN
148 void forEach(void f(String element)) { 148 void forEach(void f(String element)) {
149 readClasses().forEach(f); 149 readClasses().forEach(f);
150 } 150 }
151 151
152 String join([String separator = ""]) => readClasses().join(separator); 152 String join([String separator = ""]) => readClasses().join(separator);
153 153
154 Iterable/*<T>*/ map/*<T>*/(/*=T*/ f(String e)) => readClasses().map(f); 154 Iterable<T> map<T>(T f(String e)) => readClasses().map(f);
155 155
156 Iterable<String> where(bool f(String element)) => readClasses().where(f); 156 Iterable<String> where(bool f(String element)) => readClasses().where(f);
157 157
158 Iterable/*<T>*/ expand/*<T>*/(Iterable/*<T>*/ f(String element)) => readClasse s().expand(f); 158 Iterable<T> expand<T>(Iterable<T> f(String element)) =>
159 readClasses().expand(f);
159 160
160 bool every(bool f(String element)) => readClasses().every(f); 161 bool every(bool f(String element)) => readClasses().every(f);
161 162
162 bool any(bool f(String element)) => readClasses().any(f); 163 bool any(bool f(String element)) => readClasses().any(f);
163 164
164 bool get isEmpty => readClasses().isEmpty; 165 bool get isEmpty => readClasses().isEmpty;
165 166
166 bool get isNotEmpty => readClasses().isNotEmpty; 167 bool get isNotEmpty => readClasses().isNotEmpty;
167 168
168 int get length => readClasses().length; 169 int get length => readClasses().length;
169 170
170 String reduce(String combine(String value, String element)) { 171 String reduce(String combine(String value, String element)) {
171 return readClasses().reduce(combine); 172 return readClasses().reduce(combine);
172 } 173 }
173 174
174 dynamic/*=T*/ fold/*<T>*/(var/*=T*/ initialValue, 175 T fold<T>(T initialValue, T combine(T previousValue, String element)) {
175 dynamic/*=T*/ combine(var/*=T*/ previousValue, String element)) {
176 return readClasses().fold(initialValue, combine); 176 return readClasses().fold(initialValue, combine);
177 } 177 }
178 // interface Collection - END 178 // interface Collection - END
179 179
180 // interface Set - BEGIN 180 // interface Set - BEGIN
181 /** 181 /**
182 * Determine if this element contains the class [value]. 182 * Determine if this element contains the class [value].
183 * 183 *
184 * This is the Dart equivalent of jQuery's 184 * This is the Dart equivalent of jQuery's
185 * [hasClass](http://api.jquery.com/hasClass/). 185 * [hasClass](http://api.jquery.com/hasClass/).
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 */ 321 */
322 Set<String> readClasses(); 322 Set<String> readClasses();
323 323
324 /** 324 /**
325 * Join all the elements of a set into one string and write 325 * Join all the elements of a set into one string and write
326 * back to the element. 326 * back to the element.
327 * This is intended to be overridden by specific implementations. 327 * This is intended to be overridden by specific implementations.
328 */ 328 */
329 void writeClasses(Set<String> s); 329 void writeClasses(Set<String> s);
330 } 330 }
OLDNEW
« no previous file with comments | « lib/dom.dart ('k') | lib/src/utils.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698