summaryrefslogtreecommitdiff
path: root/public/js/extra.js
diff options
context:
space:
mode:
authorWu Cheng-Han2016-08-02 10:54:03 +0800
committerWu Cheng-Han2016-08-02 10:54:03 +0800
commitb6aa0459976165d4388095432c0f356e5f053513 (patch)
treedb662e352aed7af15415290347ab23cdb6a9de79 /public/js/extra.js
parent881e92b05ada0f95873be509e4e22487043dfe9b (diff)
Update to add expand and collapse toggle for TOC, keep showing second level TOC if there is only one first level TOC
Diffstat (limited to 'public/js/extra.js')
-rw-r--r--public/js/extra.js24
1 files changed, 23 insertions, 1 deletions
diff --git a/public/js/extra.js b/public/js/extra.js
index f20d59d8..40496967 100644
--- a/public/js/extra.js
+++ b/public/js/extra.js
@@ -568,6 +568,20 @@ function removeHash() {
history.pushState("", document.title, window.location.pathname + window.location.search);
}
+var tocExpand = false;
+
+function checkExpandToggle() {
+ var toc = $('.ui-toc-dropdown .toc');
+ var toggle = $('.expand-toggle');
+ if (!tocExpand) {
+ toc.removeClass('expand');
+ toggle.text('Expand all');
+ } else {
+ toc.addClass('expand');
+ toggle.text('Collapse all');
+ }
+}
+
//toc
function generateToc(id) {
var target = $('#' + id);
@@ -581,8 +595,16 @@ function generateToc(id) {
});
if (target.text() == 'undefined')
target.html('');
+ var toggle = $('<a class="expand-toggle" href="#">Expand all</a>');
var backtotop = $('<a class="back-to-top" href="#">Back to top</a>');
var gotobottom = $('<a class="go-to-bottom" href="#">Go to bottom</a>');
+ checkExpandToggle();
+ toggle.click(function (e) {
+ e.preventDefault();
+ e.stopPropagation();
+ tocExpand = !tocExpand;
+ checkExpandToggle();
+ });
backtotop.click(function (e) {
e.preventDefault();
e.stopPropagation();
@@ -597,7 +619,7 @@ function generateToc(id) {
scrollToBottom();
removeHash();
});
- target.append(backtotop).append(gotobottom);
+ target.append(toggle).append(backtotop).append(gotobottom);
}
//smooth all hash trigger scrolling