|
|
@ -0,0 +1,99 @@ |
|
|
|
<!DOCTYPE HTML> |
|
|
|
<html> |
|
|
|
<head> |
|
|
|
<title>Timeline | Individual editable items</title> |
|
|
|
|
|
|
|
<style> |
|
|
|
body, html { |
|
|
|
font-family: arial, sans-serif; |
|
|
|
font-size: 11pt; |
|
|
|
} |
|
|
|
|
|
|
|
div.vis-editable, |
|
|
|
div.vis-editable.vis-selected { |
|
|
|
/* custom styling for editable items... */ |
|
|
|
} |
|
|
|
|
|
|
|
div.vis-readonly, |
|
|
|
div.vis-readonly.vis-selected { |
|
|
|
/* custom styling for readonly items... */ |
|
|
|
background-color: #ff4500; |
|
|
|
border-color: red; |
|
|
|
color: white; |
|
|
|
} |
|
|
|
</style> |
|
|
|
|
|
|
|
<script src="../../../dist/vis.js"></script> |
|
|
|
<link href="../../../dist/vis-timeline-graph2d.min.css" rel="stylesheet" type="text/css" /> |
|
|
|
<script src="../../googleAnalytics.js"></script> |
|
|
|
</head> |
|
|
|
<body> |
|
|
|
|
|
|
|
<p>Specify individual items to be editable or readonly. Toggle edit options and override behavior from timeline.editable</p> |
|
|
|
|
|
|
|
<div id="visualization"></div> |
|
|
|
<p> |
|
|
|
<form> |
|
|
|
Timeline.editable = {</br> |
|
|
|
<input name="add" type="checkbox" checked>add</input></br> |
|
|
|
<input name="remove" type="checkbox" checked>remove</input></br> |
|
|
|
<input name="updateGroup" type="checkbox">updateGroup</input></br> |
|
|
|
<input name="updateTime" type="checkbox" checked>updateTime</input><br> |
|
|
|
<input name="overrideItems" type="checkbox">overrideItems</input><br> |
|
|
|
} |
|
|
|
</form> |
|
|
|
</p> |
|
|
|
<script> |
|
|
|
// create a DataSet with items |
|
|
|
var items = new vis.DataSet([ |
|
|
|
{id: 1, content: 'Editable', editable: true, start: '2010-08-23', group: 1}, |
|
|
|
{id: 2, content: 'Editable', editable: true, start: '2010-08-23T23:00:00', group: 2}, |
|
|
|
{id: 3, content: 'Read-only', editable: false, start: '2010-08-24T16:00:00', group: 1}, |
|
|
|
{id: 4, content: 'Read-only', editable: false, start: '2010-08-26', end: '2010-09-02', group: 2}, |
|
|
|
{id: 5, content: 'Editable', editable: true, start: '2010-08-28', group: 1}, |
|
|
|
{id: 6, content: 'Read-only', editable: false, start: '2010-08-29', group: 2}, |
|
|
|
{id: 7, content: 'Editable', editable: true, start: '2010-08-31', end: '2010-09-03', group: 1}, |
|
|
|
{id: 8, content: 'Read-only', editable: false, start: '2010-09-04T12:00:00', group: 2}, |
|
|
|
{id: 9, content: 'Default', start: '2010-09-04', group: 1}, |
|
|
|
{id: 10, content: 'Default', start: '2010-08-24', group: 2} |
|
|
|
]); |
|
|
|
|
|
|
|
var groups = [ |
|
|
|
{ |
|
|
|
id: 1, |
|
|
|
content: 'group 1' |
|
|
|
}, |
|
|
|
{ |
|
|
|
id: 2, |
|
|
|
content: 'group 2' |
|
|
|
} |
|
|
|
] |
|
|
|
|
|
|
|
var container = document.getElementById('visualization'); |
|
|
|
var options = { |
|
|
|
editable: { |
|
|
|
add: true, |
|
|
|
remove: true, |
|
|
|
updateGroup: false, |
|
|
|
updateTime: true, |
|
|
|
overrideItems: false |
|
|
|
} // default for all items |
|
|
|
}; |
|
|
|
|
|
|
|
var timeline = new vis.Timeline(container, items, groups, options); |
|
|
|
|
|
|
|
var updateEditOptions = function(e){ |
|
|
|
var changedOption = e.target.name; |
|
|
|
var options = { editable: { } }; |
|
|
|
options.editable[changedOption] = e.target.checked; |
|
|
|
timeline.setOptions(options); |
|
|
|
}; |
|
|
|
|
|
|
|
var cbs = document.getElementsByTagName("input"); |
|
|
|
[].forEach.call(cbs, function(cb){ |
|
|
|
cb.onchange = updateEditOptions; |
|
|
|
}); |
|
|
|
|
|
|
|
</script> |
|
|
|
</body> |
|
|
|
</html> |