git ssb

0+

alanz / patchwork



forked from Matt McKegg / patchwork

Tree: f3c37859051f13d49ec24c5e4b2ddf4e200288aa

Files: f3c37859051f13d49ec24c5e4b2ddf4e200288aa / lib / expander-hook.js

710 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.clientHeight + 5 > element.clientHeight) {
23 needsExpand.set(true)
24 }
25 }
26}
27

Built with git-ssb-web