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

Side by Side Diff: packages/charted/lib/selection/selection.dart

Issue 2213693002: Updated charted DEP to 0.4.X (Closed) Base URL: https://github.com/dart-lang/observatory_pub_packages.git@master
Patch Set: Created 4 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
OLDNEW
1 /* 1 /*
2 * Copyright 2014 Google Inc. All rights reserved. 2 * Copyright 2014 Google Inc. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style 4 * Use of this source code is governed by a BSD-style
5 * license that can be found in the LICENSE file or at 5 * license that can be found in the LICENSE file or at
6 * https://developers.google.com/open-source/licenses/bsd 6 * https://developers.google.com/open-source/licenses/bsd
7 */ 7 */
8 /* 8 /*
9 * TODO(prsd): Document library 9 * TODO(prsd): Document library
10 */ 10 */
11 library charted.selection; 11 library charted.selection;
12 12
13 import "dart:html" show Element, Event, document; 13 import "dart:html" show Element, Event, EventListener, document;
14 import "dart:math" as math; 14 import "dart:math" as math;
15 import "package:charted/core/utils.dart"; 15 import "package:charted/core/utils.dart";
16 import "package:charted/selection/transition.dart"; 16 import "package:charted/selection/transition.dart";
17 17
18 part "selection_scope.dart"; 18 part "selection_scope.dart";
19 part "src/selection_impl.dart"; 19 part "src/selection_impl.dart";
20 20
21 /** 21 /**
22 * Callback to access key value from a given data object. During the process 22 * Callback to access key value from a given data object. During the process
23 * of binding data to Elements, the key values are used to match Elements 23 * of binding data to Elements, the key values are used to match Elements
24 * that have previously bound data 24 * that have previously bound data
25 */ 25 */
26 typedef SelectionKeyFunction(datum); 26 typedef SelectionKeyFunction(datum);
27 27
28 /** 28 /**
29 * Callback for all DOM related operations - The first parameter [datum] is 29 * Callback for all DOM related operations - The first parameter [datum] is
30 * the piece of data associated with the node, [ei] is the index of the 30 * the piece of data associated with the node, [ei] is the index of the
31 * element in it's group and [c] is the context to which the data is 31 * element in it's group and [c] is the context to which the data is
32 * associated to. 32 * associated to.
33 */ 33 */
34 typedef E SelectionCallback<E>(datum, int index, Element element); 34 typedef E SelectionCallback<E>(datum, int index, Element element);
35 35
36 /** Callback used to access a value from a datum */ 36 /** Callback used to access a value from a datum */
37 typedef E SelectionValueAccessor<E>(datum, int index); 37 typedef E SelectionValueAccessor<E>(datum, int index);
38 38
39 /** Create a ChartedCallback that always returns [val] */ 39 /** Create a ChartedCallback that always returns [val] */
40 SelectionCallback toCallback(val) => (datum, index, element) => val; 40 SelectionCallback/*<T>*/ toCallback/*<T>*/(/*=T*/ val) => (datum, index, element ) => val;
41 41
42 /** Create a ChartedValueAccessor that always returns [val] */ 42 /** Create a ChartedValueAccessor that always returns [val] */
43 SelectionValueAccessor toValueAccessor(val) => (datum, index) => val; 43 SelectionValueAccessor toValueAccessor(val) => (datum, index) => val;
44 44
45 /** 45 /**
46 * [Selection] is a collection of elements - this collection defines 46 * [Selection] is a collection of elements - this collection defines
47 * operators that can be applied on all elements of the collection. 47 * operators that can be applied on all elements of the collection.
48 * 48 *
49 * All operators accept parameters either as a constant value or a callback 49 * All operators accept parameters either as a constant value or a callback
50 * function (typically using the named parameters "val" and "fn"). These 50 * function (typically using the named parameters "val" and "fn"). These
51 * operators, when invoked with the callback function, the function is 51 * operators, when invoked with the callback function, the function is
52 * called once per element and is passed the "data" associated, the "index" 52 * called once per element and is passed the "data" associated, the "index"
53 * and the element itself. 53 * and the element itself.
54 */ 54 */
55 abstract class Selection { 55 abstract class Selection {
56 /** 56 /**
57 * Collection of groups - A selection when created by calling [selectAll] 57 * Collection of groups - A selection when created by calling [selectAll]
58 * on an existing [Selection], could contain more than one group. 58 * on an existing [Selection], could contain more than one group.
59 */ 59 */
60 Iterable<SelectionGroup> groups; 60 List<SelectionGroup> groups;
61 61
62 /** 62 /**
63 * Scope of this selection that manages the element, data associations for 63 * Scope of this selection that manages the element, data associations for
64 * all elements in this selection (and the sub-selections) 64 * all elements in this selection (and the sub-selections)
65 */ 65 */
66 SelectionScope get scope; 66 SelectionScope get scope;
67 67
68 /** Indicates if this selection is empty */ 68 /** Indicates if this selection is empty */
69 bool get isEmpty; 69 bool get isEmpty;
70 70
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 * applying instantaneously. 285 * applying instantaneously.
286 */ 286 */
287 Transition transition(); 287 Transition transition();
288 } 288 }
289 289
290 /* 290 /*
291 * Group of elements in the selection. 291 * Group of elements in the selection.
292 * Each selection may contain more than one group of elements. 292 * Each selection may contain more than one group of elements.
293 */ 293 */
294 abstract class SelectionGroup { 294 abstract class SelectionGroup {
295 Iterable<Element> elements; 295 List<Element> elements;
296 Element parent; 296 Element parent;
297 } 297 }
298 298
299 /** 299 /**
300 * [EnterSelection] is a sub-selection that represents missing elements of a 300 * [EnterSelection] is a sub-selection that represents missing elements of a
301 * selection - an element is considered missing when there is data and no 301 * selection - an element is considered missing when there is data and no
302 * corresponding element in a selection. 302 * corresponding element in a selection.
303 */ 303 */
304 abstract class EnterSelection { 304 abstract class EnterSelection {
305 /** 305 /**
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
379 * elements which weren't associated with an element in the DOM. 379 * elements which weren't associated with an element in the DOM.
380 */ 380 */
381 EnterSelection get enter; 381 EnterSelection get enter;
382 382
383 /** 383 /**
384 * A view of the current selection containing elements that don't have data 384 * A view of the current selection containing elements that don't have data
385 * associated with them. 385 * associated with them.
386 */ 386 */
387 ExitSelection get exit; 387 ExitSelection get exit;
388 } 388 }
OLDNEW
« no previous file with comments | « packages/charted/lib/locale/format/time_format.dart ('k') | packages/charted/lib/selection/selection_scope.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698