forked from AkkomaGang/akkoma-fe
remove withList hoc
This commit is contained in:
parent
738a3dc02d
commit
0bf451bb36
4 changed files with 0 additions and 50 deletions
|
@ -1,4 +1,3 @@
|
||||||
import { compose } from 'vue-compose'
|
|
||||||
import get from 'lodash/get'
|
import get from 'lodash/get'
|
||||||
import UserCard from '../user_card/user_card.vue'
|
import UserCard from '../user_card/user_card.vue'
|
||||||
import FollowCard from '../follow_card/follow_card.vue'
|
import FollowCard from '../follow_card/follow_card.vue'
|
||||||
|
@ -6,7 +5,6 @@ import Timeline from '../timeline/timeline.vue'
|
||||||
import ModerationTools from '../moderation_tools/moderation_tools.vue'
|
import ModerationTools from '../moderation_tools/moderation_tools.vue'
|
||||||
import List from '../list/list.vue'
|
import List from '../list/list.vue'
|
||||||
import withLoadMore from '../../hocs/with_load_more/with_load_more'
|
import withLoadMore from '../../hocs/with_load_more/with_load_more'
|
||||||
import withList from '../../hocs/with_list/with_list'
|
|
||||||
|
|
||||||
const FollowerList = withLoadMore({
|
const FollowerList = withLoadMore({
|
||||||
fetch: (props, $store) => $store.dispatch('fetchFollowers', props.userId),
|
fetch: (props, $store) => $store.dispatch('fetchFollowers', props.userId),
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
import { compose } from 'vue-compose'
|
|
||||||
import unescape from 'lodash/unescape'
|
import unescape from 'lodash/unescape'
|
||||||
import get from 'lodash/get'
|
import get from 'lodash/get'
|
||||||
import map from 'lodash/map'
|
import map from 'lodash/map'
|
||||||
|
@ -14,7 +13,6 @@ import List from '../list/list.vue'
|
||||||
import EmojiInput from '../emoji-input/emoji-input.vue'
|
import EmojiInput from '../emoji-input/emoji-input.vue'
|
||||||
import Autosuggest from '../autosuggest/autosuggest.vue'
|
import Autosuggest from '../autosuggest/autosuggest.vue'
|
||||||
import withSubscription from '../../hocs/with_subscription/with_subscription'
|
import withSubscription from '../../hocs/with_subscription/with_subscription'
|
||||||
import withList from '../../hocs/with_list/with_list'
|
|
||||||
import userSearchApi from '../../services/new_api/user_search.js'
|
import userSearchApi from '../../services/new_api/user_search.js'
|
||||||
|
|
||||||
const BlockList = withSubscription({
|
const BlockList = withSubscription({
|
||||||
|
|
|
@ -1,40 +0,0 @@
|
||||||
import Vue from 'vue'
|
|
||||||
import map from 'lodash/map'
|
|
||||||
import isEmpty from 'lodash/isEmpty'
|
|
||||||
import './with_list.scss'
|
|
||||||
|
|
||||||
const defaultEntryPropsGetter = entry => ({ entry })
|
|
||||||
const defaultKeyGetter = entry => entry.id
|
|
||||||
|
|
||||||
const withList = ({
|
|
||||||
getEntryProps = defaultEntryPropsGetter, // function to accept entry and index values and return props to be passed into the item component
|
|
||||||
getKey = defaultKeyGetter // funciton to accept entry and index values and return key prop value
|
|
||||||
}) => (ItemComponent) => (
|
|
||||||
Vue.component('withList', {
|
|
||||||
props: [
|
|
||||||
'entries', // array of entry
|
|
||||||
'entryProps', // additional props to be passed into each entry
|
|
||||||
'entryListeners' // additional event listeners to be passed into each entry
|
|
||||||
],
|
|
||||||
render (createElement) {
|
|
||||||
return (
|
|
||||||
<div class="with-list">
|
|
||||||
{map(this.entries, (entry, index) => {
|
|
||||||
const props = {
|
|
||||||
key: getKey(entry, index),
|
|
||||||
props: {
|
|
||||||
...this.$props.entryProps,
|
|
||||||
...getEntryProps(entry, index)
|
|
||||||
},
|
|
||||||
on: this.$props.entryListeners
|
|
||||||
}
|
|
||||||
return <ItemComponent {...props} />
|
|
||||||
})}
|
|
||||||
{isEmpty(this.entries) && this.$slots.empty && <div class="with-list-empty-content faint">{this.$slots.empty}</div>}
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
)
|
|
||||||
|
|
||||||
export default withList
|
|
|
@ -1,6 +0,0 @@
|
||||||
.with-list {
|
|
||||||
&-empty-content {
|
|
||||||
text-align: center;
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in a new issue