Use hoc definitions to be factor of factory

This commit is contained in:
taehoon 2019-02-13 22:52:57 -05:00
parent 8f608e060c
commit f81b82b471
4 changed files with 22 additions and 24 deletions

View file

@ -4,8 +4,8 @@ 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', {
const withList = ({ getEntryProps = defaultEntryPropsGetter, getKey = defaultKeyGetter }) => (ItemComponent) => (
Vue.component('withList', {
render (createElement) {
return (
<div class="with-list">
@ -18,13 +18,13 @@ const withList = (Component, getEntryProps = defaultEntryPropsGetter, getKey = d
},
on: this.$props.entryListeners
}
return <Component {...props} />
return <ItemComponent {...props} />
})}
</div>
)
},
props: ['entries', 'entryProps', 'entryListeners']
})
}
)
export default withList