var parseJson = (elementId) => { var jsonElement = document.getElementById(elementId); return JSON.parse(jsonElement.innerHTML); }; var urlifyFunction = (options, context) => { var data = context.data; var identifier = options.replace(/ /g, ''); // while (data) { // data = data._parent // if (data && data.key !== undefined) { // identifier = data.key + "-" + identifier; // } // } return identifier; }; var copyTextToClipboard = (text) => { var textArea = document.createElement("textarea"); textArea.style.position = 'fixed'; textArea.style.top = 0; textArea.style.left = 0; textArea.style.width = '2em'; textArea.style.height = '2em'; textArea.style.padding = 0; textArea.style.border = 'none'; textArea.style.outline = 'none'; textArea.style.boxShadow = 'none'; textArea.style.background = 'transparent'; textArea.value = text; document.body.appendChild(textArea); textArea.select(); document.execCommand('copy'); document.body.removeChild(textArea); } var sidebarNavigate = (index) => { var subtreeSelector = "#index" + index + "-subtree"; if ((currentDocumentation == documentation[index]) && (document.querySelector(subtreeSelector).innerHTML != "")) { var subtreeSelector = "#index" + index + "-subtree"; document.querySelector(subtreeSelector).innerHTML = ""; return; } currentDocumentation = documentation[index]; var template = templates[currentDocumentation.identifier]; var html = template(currentDocumentation); document.getElementById('current-documentation-container').innerHTML = html; //empty existing subtreee document.querySelectorAll('.sidebar-subtree').forEach((e) => {e.innerHTML = ''}); //create current subtree var subTreeHTML = ""; for (var i = 0; i < currentDocumentation.data.length; ++i) { var entry = currentDocumentation.data[i]; var entryProp = "name"; if (!entry[entryProp]) { entryProp = "library"; if (!entry[entryProp]) { entryProp = "key"; } } var entryValue = entry[entryProp]; var entryURL = entryValue; switch (currentDocumentation.identifier) { case 'scripting': entryURL = "openspace" + (entryValue ? "." + entryValue : ""); entryValue = entryURL; break; default: entryURL = urlifyFunction(entryValue, entry); } subTreeHTML += "