fix nested callout folding
This commit is contained in:
parent
58c7a9b6f4
commit
d256e359b8
@ -4,7 +4,6 @@ draft: true
|
|||||||
|
|
||||||
## todo
|
## todo
|
||||||
|
|
||||||
- blockquote with link in first child broken
|
|
||||||
- 404 using base url
|
- 404 using base url
|
||||||
- back button with anchors / popovers + spa is broken
|
- back button with anchors / popovers + spa is broken
|
||||||
- search should be fast for large repos
|
- search should be fast for large repos
|
||||||
|
@ -4,6 +4,22 @@ function toggleCallout(this: HTMLElement) {
|
|||||||
const collapsed = outerBlock.classList.contains(`is-collapsed`)
|
const collapsed = outerBlock.classList.contains(`is-collapsed`)
|
||||||
const height = collapsed ? this.scrollHeight : outerBlock.scrollHeight
|
const height = collapsed ? this.scrollHeight : outerBlock.scrollHeight
|
||||||
outerBlock.style.maxHeight = height + `px`
|
outerBlock.style.maxHeight = height + `px`
|
||||||
|
|
||||||
|
// walk and adjust height of all parents
|
||||||
|
let current = outerBlock
|
||||||
|
let parent = outerBlock.parentElement
|
||||||
|
while (parent) {
|
||||||
|
if (!parent.classList.contains(`callout`)) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
const collapsed = parent.classList.contains(`is-collapsed`)
|
||||||
|
const height = collapsed ? parent.scrollHeight : parent.scrollHeight + current.scrollHeight
|
||||||
|
parent.style.maxHeight = height + `px`
|
||||||
|
|
||||||
|
current = parent
|
||||||
|
parent = parent.parentElement
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setupCallout() {
|
function setupCallout() {
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
padding: 0 1rem;
|
padding: 0 1rem;
|
||||||
overflow-y: hidden;
|
overflow-y: hidden;
|
||||||
transition: max-height 0.3s ease;
|
transition: max-height 0.3s ease;
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
& > *:nth-child(2) {
|
& > *:nth-child(2) {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user