Introduction
Introduction Statistics Contact Development Disclaimer Help
add treeview script - jscancer - Javascript crap (relatively small)
git clone git://git.codemadness.org/jscancer
Log
Files
Refs
README
LICENSE
---
commit 4257064f428d84cdc8366a8b61f3f4456ae0cc6d
parent d5b61ffaa35b294feed4cbba6edbdca3ff0349f5
Author: Hiltjo Posthuma <[email protected]>
Date: Sun, 4 Feb 2018 21:50:49 +0100
add treeview script
Diffstat:
A treeview/README | 21 +++++++++++++++++++++
A treeview/example.html | 69 ++++++++++++++++++++++++++++++
A treeview/treeview.css | 22 ++++++++++++++++++++++
A treeview/treeview.js | 22 ++++++++++++++++++++++
4 files changed, 134 insertions(+), 0 deletions(-)
---
diff --git a/treeview/README b/treeview/README
@@ -0,0 +1,21 @@
+treeview
+========
+
+small treeview script.
+
+
+FEATURES
+--------
+- Small
+ - Filesize: +- 1KB.
+ - Lines: +- 25 lines of Javascript and +- 25 lines of CSS.
+ - No dependencies on other libraries like jQuery.
+- Expand and collapse all child nodes with ctrl-click.
+- Graceful fallback if Javascript is disabled.
+- Officially supported browsers are:
+ - Firefox and Firefox ESR.
+
+
+License
+-------
+ISC
diff --git a/treeview/example.html b/treeview/example.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="treeview.css" />
+</head>
+<body>
+<ul class="tree">
+<li class="open">Root
+<ul>
+ <li>Item 1
+ <ul>
+ <li>item 1:1</li>
+ <li>item 1:2
+ <ul>
+ <li>item 1:2:1</li>
+ <li>item 1:2:2</li>
+ <li>item 1:2:3</li>
+ <li>item 1:2:4</li>
+ </ul>
+ </li>
+ <li>item 1:3</li>
+ <li>item 1:4</li>
+ <li>item 1:5</li>
+ </ul>
+ </li>
+ <li>Item 2
+ <ul>
+ <li>item 2:1</li>
+ <li>item 2:2
+ <ul>
+ <li>item 2:2:1</li>
+ <li>item 2:2:2</li>
+ <li>item 2:2:3</li>
+ <li>item 2:2:4</li>
+ </ul>
+ </li>
+ <li>item 2:3
+ <ul>
+ <li>item 2:3:1</li>
+ <li>item 2:3:2</li>
+ <li>item 2:3:3</li>
+ <li>item 2:3:4</li>
+ </ul>
+ </li>
+ <li>item 2:4
+ <ul>
+ <li>item 2:4:1</li>
+ <li>item 2:4:2</li>
+ <li>item 2:4:3</li>
+ <li>item 2:4:4</li>
+ </ul>
+ </li>
+ <li>item 2:5</li>
+ </ul>
+ </li>
+ <li>Item 3
+ <ul>
+ <li>item 3:1</li>
+ <li>item 3:2</li>
+ <li>item 3:3</li>
+ <li>item 3:4</li>
+ <li>item 3:5</li>
+ </ul>
+ </li>
+ </ul>
+</li>
+</ul>
+<script type="text/javascript" src="treeview.js"></script>
+</body>
+</html>
diff --git a/treeview/treeview.css b/treeview/treeview.css
@@ -0,0 +1,22 @@
+.tree.active li {
+ color: #000;
+ list-style-image: none;
+}
+.tree.active li.n {
+ color: #ff0000;
+ cursor: pointer;
+ list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA…
+ user-select: none;
+ -moz-user-select: none;
+}
+.tree.active li ul {
+ display: none;
+}
+.tree.active li.n.open {
+ color: green;
+ list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA…
+}
+.tree.active li.open > ul {
+ display: block;
+ cursor: initial;
+}
diff --git a/treeview/treeview.js b/treeview/treeview.js
@@ -0,0 +1,22 @@
+(function() {
+var tree_toggle = function(e, s) {
+ e.className = (" " + e.className + " ").replace(/ open /g, "") + s;
+}, tree_map_li = function(r, f, b) {
+ for (var i = 0, items = r.getElementsByTagName("li"); i < items.length…
+ f(items[i], b);
+}, trees = document.getElementsByClassName("tree");
+for (var i = 0; i < trees.length; ++i) {
+ trees[i].className += " active";
+ trees[i].addEventListener("click", function(e) {
+ var t = e.target, s = (" " + t.className + " ").indexOf(" open…
+ tree_toggle(t, s);
+ if (e.ctrlKey)
+ tree_map_li(t, tree_toggle, s);
+ return !!e.stopPropagation();
+ }, false);
+ tree_map_li(trees[i], function(e) {
+ if (e.children.length)
+ e.className += " n";
+ });
+};
+})();
You are viewing proxied material from codemadness.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.