| @ -0,0 +1,487 @@ | |||
| <html> | |||
| <head> | |||
| <title>vis.js | timeline documentation</title> | |||
| <link href='css/prettify.css' type='text/css' rel='stylesheet'> | |||
| <link href='css/style.css' type='text/css' rel='stylesheet'> | |||
| <script type="text/javascript" src="lib/prettify/prettify.js"></script> | |||
| </head> | |||
| <body onload="prettyPrint();"> | |||
| <div id="container"> | |||
| <h1>Timeline documentation</h1> | |||
| <table> | |||
| <tr> | |||
| <td>Author</td> | |||
| <td>Jos de Jong, <a href="http://www.almende.com" target="_blank">Almende B.V.</a></td> | |||
| </tr> | |||
| <tr> | |||
| <td>Webpage</td> | |||
| <td><a href="http://visjs.org" target="_blank">http://visjs.org</a></td> | |||
| </tr> | |||
| <tr> | |||
| <td>License</td> | |||
| <td> <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License, Version 2.0</a></td> | |||
| </tr> | |||
| </table> | |||
| <h2 id="Contents">Contents</h2> | |||
| <ul> | |||
| <li><a href="#Overview">Overview</a></li> | |||
| <li><a href="#Example">Example</a></li> | |||
| <li><a href="#Loading">Loading</a></li> | |||
| <li><a href="#Data_Format">Data Format</a></li> | |||
| <li><a href="#Configuration_Options">Configuration Options</a></li> | |||
| <li><a href="#Methods">Methods</a></li> | |||
| <li><a href="#Styles">Styles</a></li> | |||
| <li><a href="#Data_Policy">Data Policy</a></li> | |||
| </ul> | |||
| <h2 id="Overview">Overview</h2> | |||
| <p> | |||
| The Timeline is an interactive visualization chart to visualize data in time. | |||
| The data items can take place on a single date, or have a start and end date (a range). | |||
| You can freely move and zoom in the timeline by dragging and scrolling in the | |||
| Timeline. Items can be created, edited, and deleted in the timeline. | |||
| The time scale on the axis is adjusted automatically, and supports scales ranging | |||
| from milliseconds to years. | |||
| </p> | |||
| <h2 id="Example">Example</h2> | |||
| <p> | |||
| The following code shows how to create a Timeline and provide it with data. | |||
| More examples can be found in the <a href="../examples">examples</a> directory. | |||
| </p> | |||
| <pre class="prettyprint lang-html"><!DOCTYPE HTML> | |||
| <html> | |||
| <head> | |||
| <title>Timeline | Basic demo</title> | |||
| <style type="text/css"> | |||
| body, html { | |||
| font-family: sans-serif; | |||
| } | |||
| </style> | |||
| <script src="../../vis.js"></script> | |||
| </head> | |||
| <body> | |||
| <div id="visualization"></div> | |||
| <script type="text/javascript"> | |||
| var container = document.getElementById('visualization'); | |||
| var items = [ | |||
| {id: 1, content: 'item 1', start: '2013-04-20'}, | |||
| {id: 2, content: 'item 2', start: '2013-04-14'}, | |||
| {id: 3, content: 'item 3', start: '2013-04-18'}, | |||
| {id: 4, content: 'item 4', start: '2013-04-16', end: '2013-04-19'}, | |||
| {id: 5, content: 'item 5', start: '2013-04-25'}, | |||
| {id: 6, content: 'item 6', start: '2013-04-27'} | |||
| ]; | |||
| var options = {}; | |||
| var timeline = new vis.Timeline(container, items, options); | |||
| </script> | |||
| </body> | |||
| </html> | |||
| </pre> | |||
| <h2 id="Loading">Loading</h2> | |||
| <p> | |||
| Install or download the <a href="http://visjs.org" target="_blank">vis.js</a> library. | |||
| in a subfolder of your project. Include the library script in the head of your html code: | |||
| </p> | |||
| <pre class="prettyprint lang-html"> | |||
| <script type="text/javascript" src="vis/vis.js"></script> | |||
| </pre> | |||
| The constructor of the Timeline is <code>vis.Timeline</code> | |||
| <pre class="prettyprint lang-js">var timeline = new vis.Timeline(container, items, options);</pre> | |||
| The constructor accepts three parameters: | |||
| <ul> | |||
| <li> | |||
| <code>container</code> is the DOM element in which to create the graph. | |||
| </li> | |||
| <li> | |||
| <code>items</code> is an Array containing items. The properties of an | |||
| item are described in section <a href="#Data_Format">Data Format</a>. | |||
| </li> | |||
| <li> | |||
| <code>options</code> is an optional Object containing a name-value map | |||
| with options. Options can also be set using the method | |||
| <code>setOptions</code>. | |||
| </li> | |||
| </ul> | |||
| <h2 id="Data_Format">Data Format</h2> | |||
| <p> | |||
| The Timeline uses regular Arrays and Objects as data format. | |||
| Data items can contain the properties <code>start</code>, | |||
| <code>end</code> (optional), <code>content</code>, | |||
| <code>group</code> (optional), and <code>className</code> (optional). | |||
| </p> | |||
| <p> | |||
| A table is constructed as: | |||
| </p> | |||
| <pre class="prettyprint lang-js"> | |||
| var items = [ | |||
| { | |||
| start: new Date(2010, 7, 15), | |||
| end: new Date(2010, 8, 2), // end is optional | |||
| content: 'Trajectory A' | |||
| // Optional: a field 'group' | |||
| // Optional: a field 'className' | |||
| // Optional: a field 'editable' | |||
| } | |||
| // more items... | |||
| ]); | |||
| </pre> | |||
| <h3>Properties</h3> | |||
| <p> | |||
| The item properties are defined as: | |||
| </p> | |||
| <table> | |||
| <tr> | |||
| <th>Name</th> | |||
| <th>Type</th> | |||
| <th>Required</th> | |||
| <th>Description</th> | |||
| </tr> | |||
| <tr> | |||
| <td>start</td> | |||
| <td>Date</td> | |||
| <td>yes</td> | |||
| <td>The start date of the item, for example <code>new Date(2010,09,23)</code>.</td> | |||
| </tr> | |||
| <tr> | |||
| <td>end</td> | |||
| <td>Date</td> | |||
| <td>no</td> | |||
| <td>The end date of the item. The end date is optional, and can be left <code>null</code>. | |||
| If end date is provided, the item is displayed as a range. | |||
| If not, the item is displayed as a box.</td> | |||
| </tr> | |||
| <tr> | |||
| <td>content</td> | |||
| <td>String</td> | |||
| <td>yes</td> | |||
| <td>The contents of the item. This can be plain text or html code.</td> | |||
| </tr> | |||
| <tr> | |||
| <td>group</td> | |||
| <td>any type</td> | |||
| <td>no</td> | |||
| <td>This field is optional. When the group column is provided, | |||
| all items with the same group are placed on one line. | |||
| A vertical axis is displayed showing the groups. | |||
| Grouping items can be useful for example when showing availability of multiple | |||
| people, rooms, or other resources next to each other.<br> | |||
| </td> | |||
| </tr> | |||
| <tr> | |||
| <td>className</td> | |||
| <td>String</td> | |||
| <td>no</td> | |||
| <td>This field is optional. A className can be used to give items | |||
| and individual css style. For example, when an item has className | |||
| 'red', one can define a css style | |||
| <code> | |||
| .red { | |||
| background-color: red; | |||
| border-color: dark-red; | |||
| } | |||
| </code>. | |||
| More details on how to style items can be found in the section | |||
| <a href="#Styles">Styles</a>. | |||
| </td> | |||
| </tr> | |||
| </table> | |||
| <h2 id="Configuration_Options">Configuration Options</h2> | |||
| <p> | |||
| Options can be used to customize the timeline. | |||
| Options are defined as a JSON object. All options are optional. | |||
| </p> | |||
| <pre class="prettyprint lang-js"> | |||
| var options = { | |||
| width: '100%', | |||
| height: '30px' | |||
| }; | |||
| </pre> | |||
| <p> | |||
| The following options are available. | |||
| </p> | |||
| <table> | |||
| <tr> | |||
| <th>Name</th> | |||
| <th>Type</th> | |||
| <th>Default</th> | |||
| <th>Description</th> | |||
| </tr> | |||
| <tr> | |||
| <td>align</td> | |||
| <td>String</td> | |||
| <td>"center"</td> | |||
| <td>Alignment of items with style 'box'. Available values are | |||
| 'center' (default), 'left', or 'right').</td> | |||
| </tr> | |||
| <tr> | |||
| <td>autoResize</td> | |||
| <td>boolean</td> | |||
| <td>false</td> | |||
| <td>If true, the Timeline will automatically detect when its | |||
| container is resized, and redraw itself accordingly.</td> | |||
| </tr> | |||
| <tr> | |||
| <td>end</td> | |||
| <td>Date</td> | |||
| <td>none</td> | |||
| <td>The initial end date for the axis of the timeline. | |||
| If not provided, the latest date present in the items set is taken as | |||
| end date.</td> | |||
| </tr> | |||
| <tr> | |||
| <td>height</td> | |||
| <td>String</td> | |||
| <td>none</td> | |||
| <td>The height of the timeline in pixels or as a percentage. | |||
| When height is undefined or null, the height of the timeline is automatically | |||
| adjusted to fit the contents. | |||
| It is possible to set a maximum height using option <code>maxHeight</code> | |||
| to prevent the timeline from getting too high in case of automatically | |||
| calculated height. | |||
| </td> | |||
| </tr> | |||
| <tr> | |||
| <td>margin.axis</td> | |||
| <td>Number</td> | |||
| <td>20</td> | |||
| <td>The minimal margin in pixels between items and the time axis.</td> | |||
| </tr> | |||
| <tr> | |||
| <td>margin.item</td> | |||
| <td>Number</td> | |||
| <td>10</td> | |||
| <td>The minimal margin in pixels between items.</td> | |||
| </tr> | |||
| <tr> | |||
| <td>max</td> | |||
| <td>Date</td> | |||
| <td>none</td> | |||
| <td>Set a maximum Date for the visible range. | |||
| It will not be possible to move beyond this maximum. | |||
| </td> | |||
| </tr> | |||
| <tr> | |||
| <td>maxHeight</td> | |||
| <td>Number</td> | |||
| <td>none</td> | |||
| <td>Specifies a maximum height for the Timeline in pixels. | |||
| </td> | |||
| </tr> | |||
| <tr> | |||
| <td>min</td> | |||
| <td>Date</td> | |||
| <td>none</td> | |||
| <td>Set a minimum Date for the visible range. | |||
| It will not be possible to move beyond this minimum. | |||
| </td> | |||
| </tr> | |||
| <tr> | |||
| <td>order</td> | |||
| <td>function</td> | |||
| <td>none</td> | |||
| <td>Provide a custom sort function to order the items. The order of the | |||
| items is determining the way they are stacked. The function | |||
| order is called with two parameters, both of type | |||
| `vis.components.items.Item`. | |||
| </td> | |||
| </tr> | |||
| <tr> | |||
| <td>orientation</td> | |||
| <td>String</td> | |||
| <td>'bottom'</td> | |||
| <td>Orientation of the timeline: 'top' or 'bottom' (default). | |||
| If orientation is 'bottom', the time axis is drawn at the bottom, | |||
| and if 'top', the axis is drawn on top.</td> | |||
| </tr> | |||
| <tr> | |||
| <td>padding</td> | |||
| <td>Number</td> | |||
| <td>5</td> | |||
| <td>The padding of items, needed to correctly calculate the size | |||
| of item ranges. Must correspond with the css of item ranges.</td> | |||
| </tr> | |||
| <tr> | |||
| <td>showMajorLabels</td> | |||
| <td>boolean</td> | |||
| <td>true</td> | |||
| <td>By default, the timeline shows both minor and major date labels on the | |||
| time axis. | |||
| For example the minor labels show minutes and the major labels show hours. | |||
| When <code>showMajorLabels</code> is <code>false</code>, no major labels | |||
| are shown.</td> | |||
| </tr> | |||
| <tr> | |||
| <td>showMinorLabels</td> | |||
| <td>boolean</td> | |||
| <td>true</td> | |||
| <td>By default, the timeline shows both minor and major date labels on the | |||
| time axis. | |||
| For example the minor labels show minutes and the major labels show hours. | |||
| When <code>showMinorLabels</code> is <code>false</code>, no minor labels | |||
| are shown. When both <code>showMajorLabels</code> and | |||
| <code>showMinorLabels</code> are false, no horizontal axis will be | |||
| visible.</td> | |||
| </tr> | |||
| <tr> | |||
| <td>start</td> | |||
| <td>Date</td> | |||
| <td>none</td> | |||
| <td>The initial start date for the axis of the timeline. | |||
| If not provided, the earliest date present in the events is taken as start date.</td> | |||
| </tr> | |||
| <tr> | |||
| <td>style</td> | |||
| <td>String</td> | |||
| <td>'box'</td> | |||
| <td>Specifies the style for the timeline items. Choose from 'dot' or 'box'. | |||
| Note that the content of the items can override this global style, | |||
| and can contain additional html formatting. | |||
| </td> | |||
| </tr> | |||
| <tr> | |||
| <td>width</td> | |||
| <td>String</td> | |||
| <td>'100%'</td> | |||
| <td>The width of the timeline in pixels or as a percentage.</td> | |||
| </tr> | |||
| <tr> | |||
| <td>zoomMax</td> | |||
| <td>Number</td> | |||
| <td>315360000000000</td> | |||
| <td>Set a maximum zoom interval for the visible range in milliseconds. | |||
| It will not be possible to zoom out further than this maximum. | |||
| Default value equals about 10000 years. | |||
| </td> | |||
| </tr> | |||
| <tr> | |||
| <td>zoomMin</td> | |||
| <td>Number</td> | |||
| <td>10</td> | |||
| <td>Set a minimum zoom interval for the visible range in milliseconds. | |||
| It will not be possible to zoom in further than this minimum. | |||
| </td> | |||
| </tr> | |||
| </table> | |||
| <h2 id="Methods">Methods</h2> | |||
| <p> | |||
| The Timeline supports the following methods. | |||
| </p> | |||
| <table> | |||
| <tr> | |||
| <th>Method</th> | |||
| <th>Return Type</th> | |||
| <th>Description</th> | |||
| </tr> | |||
| <tr> | |||
| <td>setGroups(groups)</td> | |||
| <td>none</td> | |||
| <td>Set a data set with groups for the Timeline. | |||
| <code>groups</code> can be an Array with Objects, | |||
| a DataSet, or a DataView. | |||
| </td> | |||
| </tr> | |||
| <tr> | |||
| <td>setItems(items)</td> | |||
| <td>none</td> | |||
| <td>Set a data set with items for the Timeline. | |||
| <code>items</code> can be an Array with Objects, | |||
| a DataSet, or a DataView. | |||
| </td> | |||
| </tr> | |||
| <tr> | |||
| <td>setOptions(options)</td> | |||
| <td>none</td> | |||
| <td>Set or update options. It is possible to change any option | |||
| of the timeline at any time. You can for example switch orientation | |||
| on the fly. | |||
| </td> | |||
| </tr> | |||
| </table> | |||
| <h2 id="Styles">Styles</h2> | |||
| <p> | |||
| All parts of the Timeline have a class name and a default css style. | |||
| The styles can be overwritten, which enables full customization of the layout | |||
| of the Timeline. | |||
| </p> | |||
| <p>For example, to change the border and background color of all items, include the | |||
| following code inside the head of your html code or in a separate stylesheet.</p> | |||
| <pre class="prettyprint lang-html"><style> | |||
| .graph .item { | |||
| border-color: orange; | |||
| background-color: yellow; | |||
| } | |||
| </style> | |||
| </pre> | |||
| <h2 id="Data_Policy">Data Policy</h2> | |||
| <p> | |||
| All code and data are processed and rendered in the browser. No data is sent to any server. | |||
| </p> | |||
| </div> | |||
| </body> | |||
| </html> | |||