2018-01-21 16:07:11 -08:00
|
|
|
<div class="virtual-list-footer"
|
|
|
|
ref:node
|
2018-05-01 17:05:36 -07:00
|
|
|
style="transform: translateY({$heightWithoutFooter}px);" >
|
|
|
|
<svelte:component this={component} />
|
2018-01-21 16:07:11 -08:00
|
|
|
</div>
|
|
|
|
<style>
|
|
|
|
.virtual-list-footer {
|
|
|
|
position: absolute;
|
|
|
|
top: 0;
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
<script>
|
2018-01-25 08:23:14 -08:00
|
|
|
import { virtualListStore } from './virtualListStore'
|
2018-04-27 09:21:30 -07:00
|
|
|
import { mark, stop } from '../../_utils/marks'
|
2018-01-21 16:07:11 -08:00
|
|
|
|
|
|
|
export default {
|
2018-04-19 21:38:01 -07:00
|
|
|
oncreate () {
|
2018-04-27 09:21:30 -07:00
|
|
|
requestAnimationFrame(() => {
|
2018-08-21 07:06:53 -07:00
|
|
|
let node = this.refs.node
|
|
|
|
if (!node) {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2018-04-27 09:21:30 -07:00
|
|
|
mark('VirtualListFooter gBCR')
|
2018-08-21 07:06:53 -07:00
|
|
|
let rect = node.getBoundingClientRect()
|
2018-04-27 09:21:30 -07:00
|
|
|
stop('VirtualListFooter gBCR')
|
2018-08-29 21:42:57 -07:00
|
|
|
this.store.setForRealm({ footerHeight: rect.height })
|
2018-01-21 16:07:11 -08:00
|
|
|
})
|
|
|
|
},
|
2018-04-19 21:38:01 -07:00
|
|
|
store: () => virtualListStore
|
2018-01-21 16:07:11 -08:00
|
|
|
}
|
|
|
|
</script>
|