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

Unified Diff: charted/lib/selection/selection.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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « charted/lib/locale/locale.dart ('k') | charted/lib/selection/selection_scope.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: charted/lib/selection/selection.dart
diff --git a/charted/lib/selection/selection.dart b/charted/lib/selection/selection.dart
deleted file mode 100644
index d040745c4d508ba5d11d6c07b95398023c8f174d..0000000000000000000000000000000000000000
--- a/charted/lib/selection/selection.dart
+++ /dev/null
@@ -1,390 +0,0 @@
-/*
- * Copyright 2014 Google Inc. All rights reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
-/*
- * TODO(prsd): Document library
- */
-library charted.selection;
-
-import "dart:html" show Element, Event, document;
-import "dart:math" as math;
-import "package:charted/core/utils.dart";
-import "package:charted/selection/transition.dart";
-
-part "selection_scope.dart";
-part "src/selection_impl.dart";
-
-/**
- * Callback to access key value from a given data object. During the process
- * of binding data to Elements, the key values are used to match Elements
- * that have previously bound data
- */
-typedef SelectionKeyFunction(datum);
-
-/**
- * Callback for all DOM related operations - The first parameter [datum] is
- * the piece of data associated with the node, [ei] is the index of the
- * element in it's group and [c] is the context to which the data is
- * associated to.
- */
-typedef E SelectionCallback<E>(datum, int index, Element element);
-
-/** Callback used to access a value from a datum */
-typedef E SelectionValueAccessor<E>(datum, int index);
-
-/** Create a ChartedCallback that always returns [val] */
-SelectionCallback toCallback(val) => (datum, index, element) => val;
-
-/** Create a ChartedValueAccessor that always returns [val] */
-SelectionValueAccessor toValueAccessor(val) => (datum, index) => val;
-
-/**
- * [Selection] is a collection of elements - this collection defines
- * operators that can be applied on all elements of the collection.
- *
- * All operators accept parameters either as a constant value or a callback
- * function (typically using the named parameters "val" and "fn"). These
- * operators, when invoked with the callback function, the function is
- * called once per element and is passed the "data" associated, the "index"
- * and the element itself.
- */
-abstract class Selection {
- /**
- * Collection of groups - A selection when created by calling [selectAll]
- * on an existing [Selection], could contain more than one group.
- */
- Iterable<SelectionGroup> groups;
-
- /**
- * Scope of this selection that manages the element, data associations for
- * all elements in this selection (and the sub-selections)
- */
- SelectionScope get scope;
-
- /** Indicates if this selection is empty */
- bool get isEmpty;
-
- /** Number of elements in this selection */
- int get length;
-
- /** First non-null element in this selection, if any. */
- Element get first;
-
- /**
- * Creates and returns a new [Selection] containing the first element
- * matching [selector] under each element in the current selection.
- *
- * If an element does not have a matching descendant, a placeholder is used
- * in it's position - thus being able to match the indices of elements in
- * the current and the created sub-selection.
- *
- * Any data bound to elements in this selection is inherited by the
- * selected descendants.
- */
- Selection select(String selector);
-
- /**
- * Same as [select], but calls [fn] for each non-null element in the
- * selection (with data associated to the element, index of the element in
- * it's group and the element itself) to get the selected element that will
- * be selected.
- */
- Selection selectWithCallback(SelectionCallback<Element> fn);
-
- /**
- * Creates and returns a new [Selection] containing all elements matching
- * [selector] under each element in the current selection.
- *
- * The resulting [Selection] is nested with elements from current selection
- * as parents and the selected descendants grouped by elements in the
- * current selection. When no descendants match the selector, the
- * collection of selected elements in a group is empty.
- *
- * Data bound to the elements is not automatically inherited by the
- * selected descendants.
- */
- Selection selectAll(String selector);
-
- /**
- * Same as [selectAll], but calls [fn] for each non-null element in the
- * selection (with data associated to the element, index of the element in
- * it's group and the element itself) to get a collection of selected
- * elements that will be part of the new selection.
- */
- Selection selectAllWithCallback(SelectionCallback<Iterable<Element>> fn);
-
- /**
- * Sets the attribute [name] on all elements when [val] is not null.
- * Removes the attribute when [val] is null.
- */
- void attr(String name, val);
-
- /**
- * Same as [attr], but calls [fn] for each non-null element in the
- * selection (with data associated to the element, index of the element in
- * it's group and the element itself) to get the value of the attribute.
- */
- void attrWithCallback(String name, SelectionCallback fn);
-
- /**
- * Ensures presence of a class when [val] is true. Ensures that the class
- * isn't present if [val] is false.
- */
- void classed(String name, [bool val = true]);
-
- /**
- * Same as [classed], but calls [fn] for each non-null element in the
- * selection (with data associated to the element, index of the element in
- * it's group and the element itself) to get the boolean value that
- * indicates if the class must be added or removed.
- */
- void classedWithCallback(String name, SelectionCallback<bool> fn);
-
- /** Sets CSS [property] to [val] on all elements in the selection. */
- void style(String property, val, {String priority});
-
- /**
- * Same as [style], but calls [fn] for each non-null element in the
- * selection (with data associated to the element, index of the element in
- * it's group and the element itself) to get the value of the property.
- */
- void styleWithCallback(String property,
- SelectionCallback<String> fn, {String priority});
-
- /**
- * Sets textContent of all elements in the selection to [val]. A side-effect
- * of this call is that any children of these elements will not be part of
- * the DOM anymore.
- */
- void text(String val);
-
- /**
- * Same as [text], but calls [fn] for each non-null element in
- * the selection (with data associated to the element, index of the
- * element in it's group and the element itself) to get the text content
- */
- void textWithCallback(SelectionCallback<String> fn);
-
- /**
- * Sets innerHtml of all elements in the selection to [val]. A side-effect
- * of this call is that any children of these elements will not be part of
- * the DOM anymore.
- */
- void html(String val);
-
- /**
- * Same as [html], but calls [fn] for each non-null element in
- * the selection (with data associated to the element, index of the
- * element in it's group and the element itself) to get the html content
- */
- void htmlWithCallback(SelectionCallback<String> fn);
-
- /**
- * Appends a new child element to each element in the selection.
- *
- * Returns a [Selection] containing the newly created elements. As with
- * [select], any data bound to the elements in this selection is inherited
- * by the new elements.
- */
- Selection append(String tag);
-
- /**
- * Same as [append], but calls [fn] for each non-null element in the
- * selection (with data associated to the element, index of the element in
- * it's group and the element itself) to get the element to be appended.
- */
- Selection appendWithCallback(SelectionCallback<Element> fn);
-
- /**
- * Inserts a child node to each element in the selection before the first
- * element matching [before] or before the element returned by [beforeFn].
- *
- * Returns a [Selection] containing the newly created elements. As with
- * [select], any data bound to the elements in this selection is inherited
- * by the new elements.
- */
- Selection insert(String tag,
- {String before, SelectionCallback<Element> beforeFn});
-
- /**
- * Same as [insert], but calls [fn] for each non-null element in the
- * selection (with data associated to the element, index of the element in
- * it's group and the element itself) to get the element to be inserted.
- */
- Selection insertWithCallback(SelectionCallback<Element> fn,
- {String before, SelectionCallback<Element> beforeFn});
-
- /** Removes all selected elements from the DOM */
- void remove();
-
- /** Calls [fn] on each element in this selection */
- void each(SelectionCallback fn);
-
- /**
- * Adds or removes an event [listener] to each element in the selection for
- * the specified [type] (Eg: "mouseclick", "mousedown")
- *
- * Any existing listener of the same type will be removed. To register
- * multiple listener for the same event type, the [type] can be suffixed
- * with a namespace. (Eg: "mouseclick.foo", "mousedown.bar")
- *
- * When [listener] is null, any existing listener of the same type and in
- * the same namespace will be removed (Eg: Using "mouseclick.foo" as type
- * will only remove listeners for "mouseclick.foo" and not "mouseclick.bar")
- *
- * To remove listeners of an event type in all namespaces, prefix the type
- * with a "." (Eg: ".mouseclick" will remove "mouseclick.bar",
- * "mouseclick .foo" and all other mouseclick event listeners)
- *
- * To summarize, [type] can be any DOM event type optionally in the format
- * "event.namespace" where event is the DOM event type and namespace is
- * used to distinguish between added listeners.
- *
- * When [listener] is called, it is passed the current value associated with
- * the element. Please note that index passed to the listener contains a
- * value as it was at the time of adding the listener.
- */
- void on(String type, [SelectionCallback listener, bool capture]);
-
- /**
- * Associates data with the selected elements.
- * Computes the enter, update and exit selections.
- */
- DataSelection data(Iterable vals, [SelectionKeyFunction keyFn]);
-
- /**
- * Same as [data], but calls [fn] for each non-null element in the
- * selection (with data associated to the element, index of the element in
- * it's group and the element itself) to get the data to be set on the
- * current element.
- */
- DataSelection dataWithCallback(
- SelectionCallback<Iterable> fn, [SelectionKeyFunction keyFn]);
-
- /**
- * Associates data with all the elements - no join is performed. Unlike
- * [data], this does not compute the enter, update and exit selections.
- */
- void datum(Iterable vals);
-
- /**
- * Same as [datum], but calls [fn] for each non-null element in the
- * selection (with data associated to the element, index of the element in
- * it's group and the element itself) to get the data to be set on the
- * current element.
- */
- void datumWithCallback(SelectionCallback<Iterable> fn);
-
- /**
- * Starts a transition for the current selection. Transitions behave much
- * like selections, except operators animate smoothly over time rather than
- * applying instantaneously.
- */
- Transition transition();
-}
-
-
-/*
- * Group of elements in the selection.
- * Each selection may contain more than one group of elements.
- */
-abstract class SelectionGroup {
- Iterable<Element> elements;
- Element parent;
-}
-
-
-/**
- * [EnterSelection] is a sub-selection that represents missing elements of a
- * selection - an element is considered missing when there is data and no
- * corresponding element in a selection.
- */
-abstract class EnterSelection {
- /**
- * Indicate if this selection is empty
- * See [Selection.isEmpty] for more information.
- */
- bool get isEmpty;
-
- /** [DataSelection] that corresponds to this selection. */
- DataSelection get update;
-
- /**
- * Appends an element to all elements in this selection and return
- * [Selection] containing the newly added elements.
- *
- * See [Selection.append] for more information.
- * The new nodes are merged into the [DataSelection]
- */
- Selection append(String tag);
-
- /**
- * Same as [append] but calls [fn] to get the element to be appended.
- * See [Selection.appendWithCallback] for more information.
- */
- Selection appendWithCallback(SelectionCallback<Element> fn);
-
- /**
- * Insert a child node to each element in the selection and return
- * [Selection] containing the newly added elements.
- *
- * See [Selection.insert] for more information.
- * The new nodes are merged into the [UpdateSelection]
- */
- Selection insert(String tag,
- {String before, SelectionCallback<Element> beforeFn});
-
- /**
- * Same as [insert] but calls [fn] to get the element to be inserted.
- * See [Selection.insertWithCallback] for more information.
- */
- Selection insertWithCallback(SelectionCallback<Element> fn,
- {String before, SelectionCallback<Element> beforeFn});
-
- /**
- * For each element in the current selection, select exactly one
- * descendant and return [Selection] containing the selected elements.
- *
- * See [Selection.select] for more information.
- */
- Selection select(String selector);
-
- /**
- * Same as [select] but calls [fn] to get the element to be inserted.
- * See [Selection.selectWithCallback] for more information.
- */
- Selection selectWithCallback(SelectionCallback<Element> fn);
-}
-
-/*
- * [ExitSelection] is a sub-selection that represents elements that don't
- * have data associated to them.
- */
-abstract class ExitSelection extends Selection {
- DataSelection get update;
-}
-
-/*
- * Selection that consists elements in the selection that aren't part of
- * [EnterSelection] or the [ExitSelection]
- *
- * An [UpdateSelection] is only available after data() is attached and is
- * currently exactly the same as [Selection] itself.
- */
-abstract class DataSelection extends Selection {
- /**
- * A view of the current selection that contains a collection of data
- * elements which weren't associated with an element in the DOM.
- */
- EnterSelection get enter;
-
- /**
- * A view of the current selection containing elements that don't have data
- * associated with them.
- */
- ExitSelection get exit;
-}
« no previous file with comments | « charted/lib/locale/locale.dart ('k') | charted/lib/selection/selection_scope.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698