|
|
@@ -135,17 +135,18 @@ function renderAnalysis(nodes: AnalysisNode[]): HTMLElement {
|
|
|
}
|
|
|
|
|
|
function renderAnalysisNode(node: AnalysisNode, level = 0): HTMLElement {
|
|
|
+ let el;
|
|
|
if (node.children.length === 0) {
|
|
|
- const div = element('div', {textContent: node.text, className: 'analysis-node'});
|
|
|
- return div;
|
|
|
+ el = element('div', {textContent: node.text, className: 'analysis-node'});
|
|
|
+ } else {
|
|
|
+ el = element('details', {className: 'analysis-node', open: true});
|
|
|
+ el.append(element('summary', {textContent: node.text}));
|
|
|
+ for (const child of node.children)
|
|
|
+ el.append(renderAnalysisNode(child, level + 1));
|
|
|
}
|
|
|
- const details = element('details', {className: 'analysis-node'});
|
|
|
- details.open = true;
|
|
|
- const summary = element('summary', {textContent: node.text});
|
|
|
- details.append(summary);
|
|
|
- for (const child of node.children)
|
|
|
- details.append(renderAnalysisNode(child, level + 1));
|
|
|
- return details;
|
|
|
+ if (level === 0)
|
|
|
+ el.classList.add('root');
|
|
|
+ return el;
|
|
|
}
|
|
|
|
|
|
function renderProduction(expertiseGroups: Record<string, string[]>, production: Production,
|