|
|
@ -0,0 +1,392 @@ |
|
|
|
<!DOCTYPE html> |
|
|
|
<html lang="en"><head> |
|
|
|
<meta charset="utf-8"> |
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"> |
|
|
|
<meta name="description" content=""> |
|
|
|
<meta name="author" content=""> |
|
|
|
<link rel="icon" HREF="favicon.ico"> |
|
|
|
<title>DataView - vis.js - A dynamic, browser based visualization library.</title> |
|
|
|
|
|
|
|
<!-- Bootstrap core CSS --> |
|
|
|
<link href="../css/bootstrap.css" rel="stylesheet"> |
|
|
|
<link href="../css/style.css" rel="stylesheet"> |
|
|
|
|
|
|
|
|
|
|
|
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> |
|
|
|
<!--[if lt IE 9]> |
|
|
|
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> |
|
|
|
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> |
|
|
|
<![endif]--> |
|
|
|
|
|
|
|
|
|
|
|
<link href="../css/prettify.css" type="text/css" rel="stylesheet"/> |
|
|
|
<script type="text/javascript" src="../js/googleAnalytics.js"></script> |
|
|
|
<script type="text/javascript" src="../js/prettify/prettify.js"></script> |
|
|
|
|
|
|
|
<script src="../js/smooth-scroll.min.js"></script> |
|
|
|
<script language="JavaScript"> |
|
|
|
smoothScroll.init(); |
|
|
|
</script> |
|
|
|
|
|
|
|
<script type="text/javascript" src="../js/toggleTable.js"></script> |
|
|
|
</head> |
|
|
|
<body onload="prettyPrint();"> |
|
|
|
|
|
|
|
|
|
|
|
<div class="navbar-wrapper"> |
|
|
|
<div class="container"> |
|
|
|
<nav class="navbar navbar-inverse navbar-static-top" role="navigation"> |
|
|
|
<div class="container"> |
|
|
|
<div class="navbar-header"> |
|
|
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" |
|
|
|
aria-expanded="false" aria-controls="navbar"> |
|
|
|
<span class="sr-only">Toggle navigation</span> |
|
|
|
<span class="icon-bar"></span> |
|
|
|
<span class="icon-bar"></span> |
|
|
|
<span class="icon-bar"></span> |
|
|
|
</button> |
|
|
|
<a class="navbar-brand hidden-sm" href="./index.html">vis.js</a> |
|
|
|
</div> |
|
|
|
<div id="navbar" class="navbar-collapse collapse"> |
|
|
|
<ul class="nav navbar-nav"> |
|
|
|
<li><a href="http://www.visjs.org/index.html#modules">Modules</a></li> |
|
|
|
<li class="active"><a href="./docs/index.html" target="_blank">Documentation <img class="icon" |
|
|
|
src="../img/external-link-icons/external-link-icon-white.png"></a> |
|
|
|
</li> |
|
|
|
<li><a href="http://www.visjs.org/blog.html">Blog</a></li> |
|
|
|
<li><a href="http://www.visjs.org/index.html#download_install">Download</a></li> |
|
|
|
<li><a href="http://www.visjs.org/showcase/index.html">Showcase</a></li> |
|
|
|
<li><a href="http://www.visjs.org/index.html#contribute">Contribute</a></li> |
|
|
|
<li><a href="http://www.visjs.org/featureRequests.html">Feature requests</a></li> |
|
|
|
<li><a href="http://www.visjs.org/index.html#licenses">License</a></li> |
|
|
|
</ul> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</nav> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<a href="https://github.com/almende/vis" class="hidden-xs hidden-sm hidden-md"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"></a> |
|
|
|
<div class="container full"> |
|
|
|
|
|
|
|
<h1>DataView documentation</h1> |
|
|
|
|
|
|
|
<h2 id="Contents">Contents</h2> |
|
|
|
<ul> |
|
|
|
<li><a href="#Overview">Overview</a></li> |
|
|
|
<li><a href="#Example">Example</a></li> |
|
|
|
<li><a href="#Construction">Construction</a></li> |
|
|
|
<li><a href="#Methods">Methods</a></li> |
|
|
|
<li><a href="#Properties">Properties</a></li> |
|
|
|
<li><a href="#Getting_Data">Getting Data</a></li> |
|
|
|
<li><a href="#Subscriptions">Subscriptions</a></li> |
|
|
|
</ul> |
|
|
|
|
|
|
|
|
|
|
|
<h2 id="Overview">Overview</h2> |
|
|
|
|
|
|
|
<p> |
|
|
|
A DataView offers a filtered and/or formatted view on a |
|
|
|
<a href="dataset.html">DataSet</a>. |
|
|
|
One can subscribe on changes in a DataView, and easily get filtered or |
|
|
|
formatted data without having to specify filters and field types all |
|
|
|
the time. |
|
|
|
</p> |
|
|
|
|
|
|
|
<h2 id="Example">Example</h2> |
|
|
|
|
|
|
|
<p> |
|
|
|
The following example shows how to use a DataView. |
|
|
|
</p> |
|
|
|
|
|
|
|
<pre class="prettyprint lang-js"> |
|
|
|
// create a DataSet |
|
|
|
var data = new vis.DataSet(); |
|
|
|
data.add([ |
|
|
|
{id: 1, text: 'item 1', date: new Date(2013, 6, 20), group: 1, first: true}, |
|
|
|
{id: 2, text: 'item 2', date: '2013-06-23', group: 2}, |
|
|
|
{id: 3, text: 'item 3', date: '2013-06-25', group: 2}, |
|
|
|
{id: 4, text: 'item 4'} |
|
|
|
]); |
|
|
|
|
|
|
|
// create a DataView |
|
|
|
// the view will only contain items having a property group with value 1, |
|
|
|
// and will only output fields id, text, and date. |
|
|
|
var view = new vis.DataView(data, { |
|
|
|
filter: function (item) { |
|
|
|
return (item.group == 1); |
|
|
|
}, |
|
|
|
fields: ['id', 'text', 'date'] |
|
|
|
}); |
|
|
|
|
|
|
|
// subscribe to any change in the DataView |
|
|
|
view.on('*', function (event, properties, senderId) { |
|
|
|
console.log('event', event, properties); |
|
|
|
}); |
|
|
|
|
|
|
|
// update an item in the data set |
|
|
|
data.update({id: 2, group: 1}); |
|
|
|
|
|
|
|
// get all ids in the view |
|
|
|
var ids = view.getIds(); |
|
|
|
console.log('ids', ids); // will output [1, 2] |
|
|
|
|
|
|
|
// get all items in the view |
|
|
|
var items = view.get(); |
|
|
|
</pre> |
|
|
|
|
|
|
|
<h2 id="Construction">Construction</h2> |
|
|
|
|
|
|
|
|
|
|
|
<p> |
|
|
|
A DataView can be constructed as: |
|
|
|
</p> |
|
|
|
|
|
|
|
<pre class="prettyprint lang-js"> |
|
|
|
var data = new vis.DataView(dataset, options) |
|
|
|
</pre> |
|
|
|
|
|
|
|
<p> |
|
|
|
where: |
|
|
|
</p> |
|
|
|
|
|
|
|
<ul> |
|
|
|
<li> |
|
|
|
<code>dataset</code> is a DataSet or DataView. |
|
|
|
</li> |
|
|
|
<li> |
|
|
|
<code>options</code> is an object which can |
|
|
|
contain the following properties. Note that these properties |
|
|
|
are exactly the same as the properties available in methods |
|
|
|
<code>DataSet.get</code> and <code>DataView.get</code>. |
|
|
|
|
|
|
|
<table class="options"> |
|
|
|
<tr> |
|
|
|
<th>Name</th> |
|
|
|
<th>Type</th> |
|
|
|
<th>Default</th> |
|
|
|
<th>Description</th> |
|
|
|
</tr> |
|
|
|
|
|
|
|
<tr> |
|
|
|
<td>convert</td> |
|
|
|
<td>Object.<String, String></td> |
|
|
|
<td>none</td> |
|
|
|
<td> |
|
|
|
An object containing field names as key, and data types as value. |
|
|
|
By default, the type of the properties of an item are left |
|
|
|
unchanged. When a field type is specified, this field in the |
|
|
|
items will be converted to the specified type. This can be used |
|
|
|
for example to convert ISO strings containing a date to a |
|
|
|
JavaScript Date object, or convert strings to numbers or vice |
|
|
|
versa. The available data types are listed in section |
|
|
|
<a href="dataset.html#Data_Types">Data Types</a>. |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
|
|
|
|
<tr> |
|
|
|
<td>fields</td> |
|
|
|
<td>String[ ] | Object.<String, String></td> |
|
|
|
<td>none</td> |
|
|
|
<td> |
|
|
|
An array with field names, or an object with current field name and |
|
|
|
new field name that the field is returned as. |
|
|
|
By default, all properties of the items are emitted. |
|
|
|
When <code>fields</code> is defined, only the properties |
|
|
|
whose name is specified in <code>fields</code> will be included |
|
|
|
in the returned items. |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
|
|
|
|
<tr> |
|
|
|
<td>filter</td> |
|
|
|
<td>function</td> |
|
|
|
<td>none</td> |
|
|
|
<td>Items can be filtered on specific properties by providing a filter |
|
|
|
function. A filter function is executed for each of the items in the |
|
|
|
DataSet, and is called with the item as parameter. The function must |
|
|
|
return a boolean. All items for which the filter function returns |
|
|
|
true will be emitted. |
|
|
|
See also section <a href="dataset.html#Data_Filtering">Data Filtering</a>.</td> |
|
|
|
</tr> |
|
|
|
|
|
|
|
</table> |
|
|
|
</li> |
|
|
|
</ul> |
|
|
|
|
|
|
|
<h2 id="Methods">Methods</h2> |
|
|
|
|
|
|
|
<p>DataView contains the following methods.</p> |
|
|
|
|
|
|
|
<table class="methods"> |
|
|
|
<tr> |
|
|
|
<th>Method</th> |
|
|
|
<th>Return Type</th> |
|
|
|
<th>Description</th> |
|
|
|
</tr> |
|
|
|
|
|
|
|
<tr> |
|
|
|
<td> |
|
|
|
get([options] [, data])<br> |
|
|
|
get(id [,options] [, data])<br> |
|
|
|
get(ids [, options] [, data]) |
|
|
|
</td> |
|
|
|
<td>Object | Array</td> |
|
|
|
<td> |
|
|
|
Get a single item, multiple items, or all items from the DataView. |
|
|
|
Usage examples can be found in section <a href="#Getting_Data">Getting Data</a>, and the available <code>options</code> are described in section <a href="#Data_Selection">Data Selection</a>. |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
|
|
|
|
<tr> |
|
|
|
<td> |
|
|
|
getDataSet() |
|
|
|
</td> |
|
|
|
<td>DataSet</td> |
|
|
|
<td> |
|
|
|
Get the DataSet to which the DataView is connected. |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
|
|
|
|
<tr> |
|
|
|
<td> |
|
|
|
getIds([options]) |
|
|
|
</td> |
|
|
|
<td>Number[]</td> |
|
|
|
<td> |
|
|
|
Get ids of all items or of a filtered set of items. |
|
|
|
Available <code>options</code> are described in section <a href="dataset.html#Data_Selection">Data Selection</a>, except that options <code>fields</code> and <code>type</code> are not applicable in case of <code>getIds</code>. |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
|
|
|
|
<tr> |
|
|
|
<td>off(event, callback)</td> |
|
|
|
<td>none</td> |
|
|
|
<td> |
|
|
|
Unsubscribe from an event, remove an event listener. See section <a href="#Subscriptions">Subscriptions</a>. |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
|
|
|
|
<tr> |
|
|
|
<td>on(event, callback)</td> |
|
|
|
<td>none</td> |
|
|
|
<td> |
|
|
|
Subscribe to an event, add an event listener. See section <a href="#Subscriptions">Subscriptions</a>. |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
|
|
|
|
<tr> |
|
|
|
<td>refresh()</td> |
|
|
|
<td>none</td> |
|
|
|
<td> |
|
|
|
Refresh the filter results of a DataView. Useful when the filter function contains dynamic properties, like: |
|
|
|
|
|
|
|
<pre class="prettyprint lang-js">var data = new vis.DataSet(...); |
|
|
|
var view = new vis.DataView(data, { |
|
|
|
filter: function (item) { |
|
|
|
return item.value > threshold; |
|
|
|
} |
|
|
|
});</pre> |
|
|
|
In this example, <code>threshold</code> is an external parameter. When the value of <code>threshold</code> changes, the DataView must be notified that the filter results may have changed by calling <code>DataView.refresh()</code>. |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
|
|
|
|
<tr> |
|
|
|
<td> |
|
|
|
setDataSet(data) |
|
|
|
</td> |
|
|
|
<td>none</td> |
|
|
|
<td> |
|
|
|
Replace the DataSet of the DataView. Parameter <code>data</code> can be a DataSet or a DataView. |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
|
|
|
|
</table> |
|
|
|
|
|
|
|
|
|
|
|
<h2 id="Properties">Properties</h2> |
|
|
|
|
|
|
|
<p>DataView contains the following properties.</p> |
|
|
|
|
|
|
|
<table> |
|
|
|
<colgroup> |
|
|
|
<col width="200"> |
|
|
|
</colgroup> |
|
|
|
|
|
|
|
<tr> |
|
|
|
<th>Property</th> |
|
|
|
<th>Type</th> |
|
|
|
<th>Description</th> |
|
|
|
</tr> |
|
|
|
|
|
|
|
<tr> |
|
|
|
<td>length</td> |
|
|
|
<td>Number</td> |
|
|
|
<td>The number of items in the DataView.</td> |
|
|
|
</tr> |
|
|
|
</table> |
|
|
|
|
|
|
|
<h2 id="Getting_Data">Getting Data</h2> |
|
|
|
|
|
|
|
<p> |
|
|
|
Data of the DataView can be retrieved using the method <code>get</code>. |
|
|
|
</p> |
|
|
|
|
|
|
|
<pre class="prettyprint lang-js"> |
|
|
|
var items = view.get(); |
|
|
|
</pre> |
|
|
|
|
|
|
|
<p> |
|
|
|
Data of a DataView can be filtered and formatted again, in exactly the |
|
|
|
same way as in a DataSet. See sections |
|
|
|
<a href="dataset.html#Data_Manipulation">Data Manipulation</a> and |
|
|
|
<a href="dataset.html#Data_Selection">Data Selection</a> for more |
|
|
|
information. |
|
|
|
</p> |
|
|
|
|
|
|
|
<pre class="prettyprint lang-js"> |
|
|
|
var items = view.get({ |
|
|
|
fields: ['id', 'score'], |
|
|
|
filter: function (item) { |
|
|
|
return (item.score > 50); |
|
|
|
} |
|
|
|
}); |
|
|
|
</pre> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id="Subscriptions">Subscriptions</h2> |
|
|
|
<p> |
|
|
|
One can subscribe on changes in the DataView. Subscription works exactly |
|
|
|
the same as for DataSets. See the documentation on |
|
|
|
<a href="dataset.html#Subscriptions">subscriptions in a DataSet</a> |
|
|
|
for more information. |
|
|
|
</p> |
|
|
|
|
|
|
|
<pre class="prettyprint lang-js"> |
|
|
|
// create a DataSet and a view on the data set |
|
|
|
var data = new vis.DataSet(); |
|
|
|
var view = new vis.DataView({ |
|
|
|
filter: function (item) { |
|
|
|
return (item.group == 2); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
// subscribe to any change in the DataView |
|
|
|
view.on('*', function (event, properties, senderId) { |
|
|
|
console.log('event:', event, 'properties:', properties, 'senderId:', senderId); |
|
|
|
}); |
|
|
|
|
|
|
|
// add, update, and remove data in the DataSet... |
|
|
|
</pre> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- Bootstrap core JavaScript |
|
|
|
================================================== --> |
|
|
|
<!-- Placed at the end of the document so the pages load faster --> |
|
|
|
<script src="../js/jquery.min.js"></script> |
|
|
|
<script src="../js/bootstrap.min.js"></script> |
|
|
|
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> |
|
|
|
<script src="../js/ie10-viewport-bug-workaround.js"></script> |