Add withList hoc and remove UserList component

This commit is contained in:
taehoon 2019-02-13 14:30:12 -05:00
parent a817cc7cb4
commit 94e6de11b7
4 changed files with 30 additions and 22 deletions

View file

@ -0,0 +1,27 @@
import Vue from 'vue'
import map from 'lodash/map'
const defaultEntryPropsGetter = entry => ({ entry })
const defaultKeyGetter = entry => entry.id
const withList = (Component, getEntryProps = defaultEntryPropsGetter, getKey = defaultKeyGetter) => {
return Vue.component('withList', {
render (createElement) {
return (
<div class="with-list">
{map(this.entries, (entry, index) => {
const props = {
key: getKey(entry, index),
...this.$props.entryProps,
...getEntryProps(entry, index)
}
return <Component {...{ attrs: props }} />
})}
</div>
)
},
props: ['entries', 'entryProps']
})
}
export default withList