Fix TOC link in rich text

pull/1/head
yflory 4 years ago
parent 511ad600ea
commit 7cbf44b419

@ -609,6 +609,12 @@ define([
}, 500); // 500ms to make sure it is sent after chainpad sync
};
var isVisible = function(el, $container) {
var size = $container.outerHeight();
var pos = el.getBoundingClientRect();
return (pos.bottom < size) && (pos.y > 0);
};
var updateTOC = function () {
var toc = [];
$inner.find('h1, h2, h3').each(function (i, el) {
@ -622,16 +628,17 @@ define([
toc.forEach(function (obj) {
// Only include level 2 headings
var level = obj.level;
var a = h('a.cp-md-toc-link', {
var a = h('a.cp-pad-toc-link', {
href: '#',
});
$(a).click(function (e) {
e.preventDefault();
e.stopPropagation();
$(obj.el).scrollIntoView();
if (!obj.el || isVisible(obj.el, $inner)) { return; }
obj.el.scrollIntoView();
});
a.innerHTML = obj.title;
content.push(h('p.cp-md-toc-'+level, ['• ', a]));
content.push(h('p.cp-pad-toc-'+level, ['• ', a]));
});
$toc.html('').append(content);
};

Loading…
Cancel
Save