Libraryless. Click here for Pure Java version (3342L/20K).
// super-simple HTML tree with expandable/collapsible nodes sclass HTMLTree { S headStuff() { ret loadJQuery2() + hcss([[ .tree-toggler { display: inline-block; height: 1.3em; width: 0.7em; background: cornflowerblue; padding-left: 0.5em; padding-right: 0.5em; /*line-height: 50px; */ text-align: center; } .tree-toggler a { text-decoration: none; } ]]) + hjs([[ function tree_expandCollapse(id) { var children = $("#" + id); children.toggle(); var vis = children.is(':visible'); $("#" + id + "_toggle a").html(vis ? "–" : "+"); } ]]); } S root(S contents) { ret ul(contents); } S node(S nodeHTML, S... children) { S id = aGlobalID(); ret div( ahref_javascript( "tree_expandCollapse(" + jsQuote(id) + ");", "+"), class := "tree-toggler", id := id + "_toggle") + " " + nodeHTML + ul(asList(children), +id, style := "display: none"); } }
download show line numbers debug dex old transpilations
Travelled to 5 computer(s): bhatertpkbcr, ekrmjmnbrukm, mqqgnosmbjvj, pyentgdyhuwx, vouqrxazstgt
No comments. add comment
| Snippet ID: | #1030832 |
| Snippet name: | HTMLTree |
| Eternal ID of this version: | #1030832/2 |
| Text MD5: | 43f27219935356f599911c87b33374c0 |
| Transpilation MD5: | cd2b2e0d0e6aab43f7440777bcd066e9 |
| Author: | stefan |
| Category: | javax |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2021-04-01 16:06:49 |
| Source code size: | 1114 bytes / 43 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 449 / 692 |
| Version history: | 1 change(s) |
| Referenced in: | #1034167 - Standard Classes + Interfaces (LIVE, continuation of #1003674) |