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

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

Issue 1400473008: Roll Observatory packages and add a roll script (Closed) Base URL: git@github.com:dart-lang/observatory_pub_packages.git@master
Patch Set: Created 5 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
« no previous file with comments | « charted/lib/selection/src/transition_impl.dart ('k') | charted/lib/svg/axis.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /*
2 * Copyright 2014 Google Inc. All rights reserved.
3 *
4 * Use of this source code is governed by a BSD-style
5 * license that can be found in the LICENSE file or at
6 * https://developers.google.com/open-source/licenses/bsd
7 */
8 library charted.selection.transition;
9
10 import "dart:html" show Element,document;
11 import "package:charted/core/timer.dart";
12 import "package:charted/selection/selection.dart";
13 import "package:charted/core/interpolators.dart";
14
15 part 'src/transition_impl.dart';
16
17 typedef Interpolator AttrTweenCallback(datum, int ei, String attr);
18 typedef Interpolator StyleTweenCallback(datum, int ei, String style);
19
20 /**
21 * Transitions are created using the transition operator on a selection.
22 * Transitions start automatically upon creation after a delay which defaults
23 * to zero; however, note that a zero-delay transition actually starts after a
24 * minimal (~17ms) delay, pending the first timer callback.
25 * Transitions have a default duration of 250ms.
26 */
27 abstract class Transition {
28
29 /** A settable default easing type */
30 static EasingFunction defaultEasingType = easeCubic();
31
32 /** A settable default easing mode */
33 static EasingModeFunction defaultEasingMode = reflectEasingFn;
34
35 /** A settable default transition duration */
36 static int defaultDurationMilliseconds = 250;
37
38 /** Sets the ease function of the transition, default is cubic-in-out. */
39 Interpolator ease;
40
41 /**
42 * Specifies the transition delay in milliseconds. All elements are given the
43 * same delay. The default delay is 0.
44 */
45 void delay(int millisecond);
46
47 /**
48 * Sets the delay with a ChartedCallback function which would be evaluated for
49 * each selected element (in order), being passed the current datum d, the
50 * current index i, and the current DOM element. The function's return value
51 * is then used to set each element's delay.
52 */
53 void delayWithCallback(SelectionCallback fn);
54
55 /**
56 * Specifies per-element duration in milliseconds. All elements are given the
57 * same duration in millisecond. The default duration is 250ms.
58 */
59 void duration(int millisecond);
60
61 /**
62 * Sets the duration with a ChartedCallback which would be evaluated for each
63 * selected element (in order), being passed the current datum d, the current
64 * index i, and the current DOM element. The function's return value is then
65 * used to set each element's duration.
66 */
67 void durationWithCallback(SelectionCallback fn);
68
69 /**
70 * Sets the attribute [name] on all elements when [val] is not null.
71 * Removes the attribute when [val] is null.
72 */
73 void attr(String name, val);
74
75 /**
76 * Same as [attr], but calls [fn] for each non-null element in
77 * the selection (with data associated to the element, index of the
78 * element in it's group and the element itself) to get the value
79 * of the attribute.
80 */
81 void attrWithCallback(String name, SelectionCallback fn);
82
83 /**
84 * Transitions the value of the attribute with the specified name according to
85 * the specified tween function. The starting and ending value of the
86 * transition are determined by tween; the tween function is invoked when the
87 * transition starts on each element, being passed the current datum d, the
88 * current index i and the current attribute value a. The return value of
89 * tween must be an interpolator: a function that maps a parametric value t in
90 * the domain [0,1] to a color, number or arbitrary value.
91 */
92 void attrTween(String name, AttrTweenCallback tween);
93
94 /**
95 * Transitions the value of the CSS style property with the specified name to
96 * the specified value. An optional priority may also be specified, either as
97 * null or the string "important" (without the exclamation point). The
98 * starting value of the transition is the current computed style property
99 * value, and the ending value is the specified value. All elements are
100 * transitioned to the same style property value.
101 */
102 void style(String property, String val, [String priority]);
103
104 /**
105 * Transitions the style with a CartedCallback which would be evaluated for
106 * each selected element (in order), being passed the current datum d and the
107 * current index i, and the current DOM element.
108 * The function's return value is then used to transition each element's
109 * style property.
110 */
111 void styleWithCallback(String property,
112 SelectionCallback<String> fn, [String priority]);
113
114 /**
115 * Transitions the value of the CSS style property with the specified name
116 * according to the specified tween function. An optional priority may also
117 * be specified, either as null or the string "important" (without the
118 * exclamation point). The starting and ending value of the transition are
119 * determined by tween; the tween function is invoked when the transition
120 * starts on each element, being passed the current datum d, the current index
121 * i and the current attribute value a. The return value of tween must be an
122 * interpolator: a function that maps a parametric value t in the domain [0,1]
123 * to a color, number or arbitrary value.
124 */
125 void styleTween(String property, StyleTweenCallback tween, [String priority]);
126
127 /** Interrupts the transition. */
128 void interrupt();
129
130 /**
131 * For each element in the current transition, selects the first descendant
132 * element that matches the specified selector string. If no element matches
133 * the specified selector for the current element, the element at the current
134 * index will be null in the returned selection; operators (with the exception
135 * of data) automatically skip null elements, thereby preserving the index of
136 * the existing selection. If the current element has associated data, this
137 * data is inherited by the returned subselection, and automatically bound to
138 * the newly selected elements. If multiple elements match the selector, only
139 * the first matching element in document traversal order will be selected.
140 */
141 Transition select(String selector);
142
143 /**
144 * For each element in the current transition, selects descendant elements
145 * that match the specified selector string. The returned selection is grouped
146 * by the ancestor node in the current selection. If no element matches the
147 * specified selector for the current element, the group at the current index
148 * will be empty in the returned selection. The subselection does not inherit
149 * data from the current selection; however, if data was previously bound to
150 * the selected elements, that data will be available to operators.
151 */
152 Transition selectAll(String selector);
153
154 /**
155 * Creates a new transition on the same selected elements that starts with
156 * this transition ends. The new transition inherits this transition’s
157 * duration and easing. This can be used to define chained transitions without
158 * needing to listen for "end" events. Only works when parent delay and
159 * duration are constant.
160 */
161 Transition transition();
162
163 /**
164 * Removes all selected elements from the DOM at the end of the transition.
165 * If any of the selected elements have another transition scheduled when
166 * this transition ends, said elements will not be removed.
167 */
168 void remove();
169
170 /** Factory method to create an instance of the default implementation */
171 factory Transition(Selection selection) => new _TransitionImpl(selection);
172 }
OLDNEW
« no previous file with comments | « charted/lib/selection/src/transition_impl.dart ('k') | charted/lib/svg/axis.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698