<!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" />
							 | 
						|
								  
							 | 
						|
								</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>
							 |