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

Unified Diff: packages/charted/lib/selection/src/selection_impl.dart

Issue 1521693002: Roll Observatory deps (charted -> ^0.3.0) (Closed) Base URL: https://chromium.googlesource.com/external/github.com/dart-lang/observatory_pub_packages.git@master
Patch Set: Created 5 years 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 side-by-side diff with in-line comments
Download patch
Index: packages/charted/lib/selection/src/selection_impl.dart
diff --git a/packages/charted/lib/selection/src/selection_impl.dart b/packages/charted/lib/selection/src/selection_impl.dart
index 8604da773ffc38df7dd8087671452742448b39bd..14de177ffde54393d2bfbf7f7b732685563b7752 100644
--- a/packages/charted/lib/selection/src/selection_impl.dart
+++ b/packages/charted/lib/selection/src/selection_impl.dart
@@ -13,7 +13,6 @@ part of charted.selection;
* the select or selectAll methods on [SelectionScope] and [Selection].
*/
class _SelectionImpl implements Selection {
-
Iterable<SelectionGroup> groups;
SelectionScope scope;
@@ -30,15 +29,18 @@ class _SelectionImpl implements Selection {
* "element" itself passed as parameters. [fn] must return an iterable of
* elements to be used in each group.
*/
- _SelectionImpl.all({String selector, SelectionCallback<Iterable<Element>> fn,
- SelectionScope this.scope, Selection source}) {
+ _SelectionImpl.all(
+ {String selector,
+ SelectionCallback<Iterable<Element>> fn,
+ SelectionScope this.scope,
+ Selection source}) {
assert(selector != null || fn != null);
assert(source != null || scope != null);
if (selector != null) {
- fn = (d, i, c) => c == null ?
- scope.root.querySelectorAll(selector) :
- c.querySelectorAll(selector);
+ fn = (d, i, c) => c == null
+ ? scope.root.querySelectorAll(selector)
+ : c.querySelectorAll(selector);
}
var tmpGroups = new List<SelectionGroup>();
@@ -50,14 +52,13 @@ class _SelectionImpl implements Selection {
final e = g.elements.elementAt(ei);
if (e != null) {
tmpGroups.add(
- new _SelectionGroupImpl(
- fn(scope.datum(e), gi, e), parent: e));
+ new _SelectionGroupImpl(fn(scope.datum(e), gi, e), parent: e));
}
}
}
} else {
- tmpGroups.add(
- new _SelectionGroupImpl(fn(null, 0, null), parent: scope.root));
+ tmpGroups
+ .add(new _SelectionGroupImpl(fn(null, 0, null), parent: scope.root));
}
groups = tmpGroups;
}
@@ -67,15 +68,18 @@ class _SelectionImpl implements Selection {
* [selector] is specified. Otherwise, call [fn] which must return the
* element to be selected.
*/
- _SelectionImpl.single({String selector, SelectionCallback<Element> fn,
- SelectionScope this.scope, Selection source}) {
+ _SelectionImpl.single(
+ {String selector,
+ SelectionCallback<Element> fn,
+ SelectionScope this.scope,
+ Selection source}) {
assert(selector != null || fn != null);
assert(source != null || scope != null);
if (selector != null) {
- fn = (d, i, c) => c == null ?
- scope.root.querySelector(selector) :
- c.querySelector(selector);
+ fn = (d, i, c) => c == null
+ ? scope.root.querySelector(selector)
+ : c.querySelector(selector);
}
if (source != null) {
@@ -84,23 +88,26 @@ class _SelectionImpl implements Selection {
SelectionGroup g = source.groups.elementAt(gi);
return new _SelectionGroupImpl(
new List.generate(g.elements.length, (ei) {
- var e = g.elements.elementAt(ei);
- if (e != null) {
- var datum = scope.datum(e);
- var enterElement = fn(datum, ei, e);
- if (datum != null) {
- scope.associate(enterElement, datum);
- }
- return enterElement;
- } else {
- return null;
- }
- }), parent: g.parent);
+ var e = g.elements.elementAt(ei);
+ if (e != null) {
+ var datum = scope.datum(e);
+ var enterElement = fn(datum, ei, e);
+ if (datum != null) {
+ scope.associate(enterElement, datum);
+ }
+ return enterElement;
+ } else {
+ return null;
+ }
+ }),
+ parent: g.parent);
});
} else {
- groups = new List<SelectionGroup>.generate(1,
- (_) => new _SelectionGroupImpl(new List.generate(1,
- (_) => fn(null, 0, null), growable: false)), growable: false);
+ groups = new List<SelectionGroup>.generate(
+ 1,
+ (_) => new _SelectionGroupImpl(
+ new List.generate(1, (_) => fn(null, 0, null), growable: false)),
+ growable: false);
}
}
@@ -113,8 +120,7 @@ class _SelectionImpl implements Selection {
* be part of the same group, with [SelectionScope.root] as the group's parent
*/
_SelectionImpl.elements(Iterable elements, SelectionScope this.scope) {
- groups = new List<SelectionGroup>()
- ..add(new _SelectionGroupImpl(elements));
+ groups = new List<SelectionGroup>()..add(new _SelectionGroupImpl(elements));
}
/**
@@ -140,19 +146,19 @@ class _SelectionImpl implements Selection {
void on(String type, [SelectionCallback listener, bool capture]) {
Function getEventHandler(i, e) => (Event event) {
- var previous = scope.event;
- scope.event = event;
- try {
- listener(scope.datum(e), i, e);
- } finally {
- scope.event = previous;
- }
- };
+ var previous = scope.event;
+ scope.event = event;
+ try {
+ listener(scope.datum(e), i, e);
+ } finally {
+ scope.event = previous;
+ }
+ };
if (!type.startsWith('.')) {
if (listener != null) {
// Add a listener to each element.
- each((d, i, Element e){
+ each((d, i, Element e) {
var handlers = scope._listeners[e];
if (handlers == null) scope._listeners[e] = handlers = {};
handlers[type] = new Pair(getEventHandler(i, e), capture);
@@ -171,8 +177,7 @@ class _SelectionImpl implements Selection {
} else {
// Remove all listeners on the event type (ignoring the namespace)
each((d, i, Element e) {
- var handlers = scope._listeners[e],
- t = type.substring(1);
+ var handlers = scope._listeners[e], t = type.substring(1);
handlers.forEach((String s, Pair<Function, bool> value) {
if (s.split('.')[0] == t) {
e.removeEventListener(s, value.first, value.last);
@@ -210,8 +215,10 @@ class _SelectionImpl implements Selection {
void attrWithCallback(String name, SelectionCallback fn) {
assert(fn != null);
- _do(fn, (e, v) => v == null ?
- e.attributes.remove(name) : e.attributes[name] = "$v");
+ _do(
+ fn,
+ (e, v) =>
+ v == null ? e.attributes.remove(name) : e.attributes[name] = "$v");
}
void classed(String name, [bool val = true]) {
@@ -221,23 +228,23 @@ class _SelectionImpl implements Selection {
void classedWithCallback(String name, SelectionCallback<bool> fn) {
assert(fn != null);
- _do(fn, (e, v) =>
- v == false ? e.classes.remove(name) : e.classes.add(name));
+ _do(fn,
+ (e, v) => v == false ? e.classes.remove(name) : e.classes.add(name));
}
void style(String property, val, {String priority}) {
assert(property != null && property.isNotEmpty);
- styleWithCallback(property,
- toCallback(val as String), priority: priority);
+ styleWithCallback(property, toCallback(val as String), priority: priority);
}
- void styleWithCallback(String property,
- SelectionCallback<String> fn, {String priority}) {
+ void styleWithCallback(String property, SelectionCallback<String> fn,
+ {String priority}) {
assert(fn != null);
- _do(fn, (Element e, String v) =>
- v == null || v.isEmpty ?
- e.style.removeProperty(property) :
- e.style.setProperty(property, v, priority));
+ _do(
+ fn,
+ (Element e, String v) => v == null || v.isEmpty
+ ? e.style.removeProperty(property)
+ : e.style.setProperty(property, v, priority));
}
void text(String val) => textWithCallback(toCallback(val));
@@ -263,7 +270,7 @@ class _SelectionImpl implements Selection {
Selection selectWithCallback(SelectionCallback<Element> fn) {
assert(fn != null);
- return new _SelectionImpl.single(fn: fn, source:this);
+ return new _SelectionImpl.single(fn: fn, source: this);
}
Selection append(String tag) {
@@ -275,9 +282,9 @@ class _SelectionImpl implements Selection {
Selection appendWithCallback(SelectionCallback<Element> fn) {
assert(fn != null);
return new _SelectionImpl.single(fn: (datum, ei, e) {
- Element child = fn(datum, ei, e);
- return child == null ? null : e.append(child);
- }, source: this);
+ Element child = fn(datum, ei, e);
+ return child == null ? null : e.append(child);
+ }, source: this);
}
Selection insert(String tag,
@@ -285,7 +292,8 @@ class _SelectionImpl implements Selection {
assert(tag != null && tag.isNotEmpty);
return insertWithCallback(
(d, ei, e) => Namespace.createChildElement(tag, e),
- before: before, beforeFn: beforeFn);
+ before: before,
+ beforeFn: beforeFn);
}
Selection insertWithCallback(SelectionCallback<Element> fn,
@@ -293,13 +301,11 @@ class _SelectionImpl implements Selection {
assert(fn != null);
beforeFn =
before == null ? beforeFn : (d, ei, e) => e.querySelector(before);
- return new _SelectionImpl.single(
- fn: (datum, ei, e) {
- Element child = fn(datum, ei, e);
- Element before = beforeFn(datum, ei, e);
- return child == null ? null : e.insertBefore(child, before);
- },
- source: this);
+ return new _SelectionImpl.single(fn: (datum, ei, e) {
+ Element child = fn(datum, ei, e);
+ Element before = beforeFn(datum, ei, e);
+ return child == null ? null : e.insertBefore(child, before);
+ }, source: this);
}
Selection selectAll(String selector) {
@@ -309,7 +315,7 @@ class _SelectionImpl implements Selection {
Selection selectAllWithCallback(SelectionCallback<Iterable<Element>> fn) {
assert(fn != null);
- return new _SelectionImpl.all(fn: fn, source:this);
+ return new _SelectionImpl.all(fn: fn, source: this);
}
DataSelection data(Iterable vals, [SelectionKeyFunction keyFn]) {
@@ -317,20 +323,19 @@ class _SelectionImpl implements Selection {
return dataWithCallback(toCallback(vals), keyFn);
}
- DataSelection dataWithCallback(
- SelectionCallback<Iterable> fn, [SelectionKeyFunction keyFn]) {
+ DataSelection dataWithCallback(SelectionCallback<Iterable> fn,
+ [SelectionKeyFunction keyFn]) {
assert(fn != null);
- var enterGroups = [],
- updateGroups = [],
- exitGroups = [];
+ var enterGroups = [], updateGroups = [], exitGroups = [];
// Create a dummy node to be used with enter() selection.
Object dummy(val) {
var element = new Object();
scope.associate(element, val);
return element;
- };
+ }
+ ;
// Joins data to all elements in the group.
void join(SelectionGroup g, Iterable vals) {
@@ -346,9 +351,7 @@ class _SelectionImpl implements Selection {
// Use key function to determine DOMElement to data associations.
if (keyFn != null) {
- var keysOnDOM = [],
- elementsByKey = {},
- valuesByKey = {};
+ var keysOnDOM = [], elementsByKey = {}, valuesByKey = {};
// Create a key to DOM element map.
// Used later to see if an element already exists for a key.
@@ -419,15 +422,15 @@ class _SelectionImpl implements Selection {
enterGroups.add(new _SelectionGroupImpl(enter, parent: g.parent));
updateGroups.add(new _SelectionGroupImpl(update, parent: g.parent));
exitGroups.add(new _SelectionGroupImpl(exit, parent: g.parent));
- };
+ }
+ ;
for (int gi = 0; gi < groups.length; ++gi) {
final g = groups.elementAt(gi);
join(g, fn(scope.datum(g.parent), gi, g.parent));
}
- return new _DataSelectionImpl(
- updateGroups, enterGroups, exitGroups, scope);
+ return new _DataSelectionImpl(updateGroups, enterGroups, exitGroups, scope);
}
void datum(Iterable vals) {
@@ -447,7 +450,8 @@ class _DataSelectionImpl extends _SelectionImpl implements DataSelection {
ExitSelection exit;
_DataSelectionImpl(Iterable updated, Iterable entering, Iterable exiting,
- SelectionScope scope) : super.selectionGroups(updated, scope) {
+ SelectionScope scope)
+ : super.selectionGroups(updated, scope) {
enter = new _EnterSelectionImpl(entering, this);
exit = new _ExitSelectionImpl(exiting, this);
}
@@ -471,7 +475,8 @@ class _EnterSelectionImpl implements EnterSelection {
assert(tag != null && tag.isNotEmpty);
return insertWithCallback(
(d, ei, e) => Namespace.createChildElement(tag, e),
- before: before, beforeFn: beforeFn);
+ before: before,
+ beforeFn: beforeFn);
}
Selection insertWithCallback(SelectionCallback<Element> fn,
@@ -493,10 +498,10 @@ class _EnterSelectionImpl implements EnterSelection {
Selection appendWithCallback(SelectionCallback<Element> fn) {
assert(fn != null);
return selectWithCallback((datum, ei, e) {
- Element child = fn(datum, ei, e);
- e.append(child);
- return child;
- });
+ Element child = fn(datum, ei, e);
+ e.append(child);
+ return child;
+ });
}
Selection select(String selector) {
@@ -513,8 +518,7 @@ class _EnterSelectionImpl implements EnterSelection {
for (int ei = 0, eLen = g.elements.length; ei < eLen; ++ei) {
final e = g.elements.elementAt(ei);
if (e != null) {
- var datum = scope.datum(e),
- selected = fn(datum, ei, g.parent);
+ var datum = scope.datum(e), selected = fn(datum, ei, g.parent);
scope.associate(selected, datum);
u.elements[ei] = selected;
subgroup.add(selected);
@@ -532,7 +536,8 @@ class _EnterSelectionImpl implements EnterSelection {
class _ExitSelectionImpl extends _SelectionImpl implements ExitSelection {
final DataSelection update;
_ExitSelectionImpl(Iterable groups, DataSelection update)
- : update = update, super.selectionGroups(groups, update.scope);
+ : update = update,
+ super.selectionGroups(groups, update.scope);
}
class _SelectionGroupImpl implements SelectionGroup {
« no previous file with comments | « packages/charted/lib/selection/selection_scope.dart ('k') | packages/charted/lib/selection/src/transition_impl.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698