{
document.querySelector('div#form-tree').innerHTML = '';
const t = new DependenTree('div#form-tree', sharedOptions);
t.addEntities(clone(testData.royals));
const entityList = t.getEntityList()
const entitySelect = document.getElementById('list');
const upOrDownSelect = document.getElementById('upOrDown');
const filterSelect = document.getElementById('filter');
const populateEntitySelect = entityList => {
entityList.forEach(name => {
const option = document.createElement('option');
option.value = name;
const text = document.createTextNode(name);
option.appendChild(text);
entitySelect.appendChild(option);
});
}
const allEntities = t.getEntityList();
populateEntitySelect(allEntities);
filterSelect.addEventListener('change', e => {
entitySelect.innerHTML = '';
const value = e.target.value;
let filteredList;
if (value === '') {
filteredList = t.getEntityList();
} else {
filteredList = t.getEntityList('_shortTitle', value);
}
populateEntitySelect(filteredList);
setTimeout(() => {
t.setTree(entitySelect.value, direction);
}, 100);
});
entitySelect.addEventListener('change', e => {
if (e.target.value === '') return;
currentEntity = e.target.value;
t.setTree(currentEntity, direction);
});
upOrDownSelect.addEventListener('change', e => {
direction = e.target.value;
t.setTree(currentEntity, direction);
});
document.querySelector('button#form-expand').addEventListener('click', () => t.expandAll());
document.querySelector('button#form-collapse').addEventListener('click', () => t.collapseAll());
let currentEntity = 'Elizabeth II';
let direction = 'downstream';
t.setTree(currentEntity, direction);
}