var _loop_1 = function()

in scripts/docsite.js [26:84]


    var _loop_1 = function (jsonNode) {
        var expandable = jsonNode.subitems && jsonNode.subitems.length > 0;
        var liElement = document.createElement('li');
        var titleContainerElement = liElement;
        var currentPage = false;
        if (expandable) {
            liElement.innerHTML = '<svg class="navtree-expander"><use xlink:href="#icon-expander"></use></svg>';
        }
        else {
            liElement.innerHTML = '<svg class="navtree-expander"></svg>';
            if (jsonNode.url) {
                var linkElement = document.createElement('a');
                linkElement.href = jsonNode.url;
                liElement.appendChild(linkElement);
                titleContainerElement = linkElement;
                var jsonNodeUrl = getUrlForComparison(jsonNode.url);
                if (jsonNodeUrl === currentPageUrl) {
                    currentPage = true;
                    // expand all the parent nodes
                    for (var current = parentNode; current !== undefined; current = current.parentNode) {
                        current.expanded = true;
                    }
                }
            }
        }
        titleContainerElement.append(jsonNode.title);
        parentUlElement.appendChild(liElement);
        var node = {
            parentNode: parentNode,
            childNodes: [],
            liElement: liElement,
            ulElement: undefined,
            expanded: false,
            currentPage: currentPage
        };
        nodes.push(node);
        if (expandable) {
            var ulElement = document.createElement('ul');
            node.ulElement = ulElement;
            parentUlElement.appendChild(ulElement);
            if (jsonNode.url) {
                // Our design doesn't allow a container to have a hyperlink; create a virtual child node
                var virtualNode = {
                    title: '(members)',
                    url: jsonNode.url,
                    subitems: []
                };
                renderNavNodes(node.childNodes, [virtualNode], ulElement, node, currentPageUrl);
            }
            renderNavNodes(node.childNodes, jsonNode.subitems, ulElement, node, currentPageUrl);
        }
        updateNavNode(node);
        if (expandable) {
            liElement.onclick = function () {
                node.expanded = !node.expanded;
                updateNavNode(node);
            };
        }
    };