git ssb

10+

Matt McKegg / patchwork



Tree: e66f956a704b5cc908e734c44d4eb6f082b5a141

Files: e66f956a704b5cc908e734c44d4eb6f082b5a141 / lib / expander-hook.js

739 bytesRaw
1module.exports = ExpanderHook
2
3function ExpanderHook (needsExpand) {
4 return expander.bind(null, needsExpand)
5}
6
7function expander (needsExpand, element) {
8 var handler = { handleEvent, needsExpand, element }
9 handleEvent.call(handler)
10
11 if (element.querySelector('img')) {
12 // just in case images are still loading
13 setTimeout(handleEvent.bind(handler), 200)
14 element.addEventListener('mouseover', handler)
15 return element.removeEventListener.bind(element, 'mouseover', handler)
16 }
17}
18
19function handleEvent (ev) {
20 var { needsExpand, element } = this
21 if (!needsExpand()) {
22 if (element.firstElementChild && element.firstElementChild.clientHeight + 5 > element.clientHeight) {
23 needsExpand.set(true)
24 }
25 }
26}
27

Built with git-ssb-web