aboutsummaryrefslogtreecommitdiff
path: root/src/hocs/with_list/with_list.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/hocs/with_list/with_list.js')
-rw-r--r--src/hocs/with_list/with_list.js40
1 files changed, 0 insertions, 40 deletions
diff --git a/src/hocs/with_list/with_list.js b/src/hocs/with_list/with_list.js
deleted file mode 100644
index 896f8fc8..00000000
--- a/src/hocs/with_list/with_list.js
+++ /dev/null
@@ -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