aboutsummaryrefslogtreecommitdiff
path: root/src/hocs/with_subscription/with_subscription.js
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2019-04-10 21:48:42 +0300
committerHenry Jameson <me@hjkos.com>2019-04-10 21:48:42 +0300
commit262760d2586cac48da27cf7eb5389116d4023dfe (patch)
treea4c9393df0da43409fcce9b1b41b4611f33cccb6 /src/hocs/with_subscription/with_subscription.js
parent6471bec0d962a13b272c2c55807492c86b859256 (diff)
revert unnecessary changes
Diffstat (limited to 'src/hocs/with_subscription/with_subscription.js')
-rw-r--r--src/hocs/with_subscription/with_subscription.js68
1 files changed, 34 insertions, 34 deletions
diff --git a/src/hocs/with_subscription/with_subscription.js b/src/hocs/with_subscription/with_subscription.js
index 91fc4cca..679409cf 100644
--- a/src/hocs/with_subscription/with_subscription.js
+++ b/src/hocs/with_subscription/with_subscription.js
@@ -4,10 +4,10 @@ import { getComponentProps } from '../../services/component_utils/component_util
import './with_subscription.scss'
const withSubscription = ({
- fetch, // function to fetch entries and return a promise
- select, // function to select data from store
- childPropName = 'content', // name of the prop to be passed into the wrapped component
- additionalPropNames = [] // additional prop name list of the wrapper component
+ fetch, // function to fetch entries and return a promise
+ select, // function to select data from store
+ childPropName = 'content', // name of the prop to be passed into the wrapped component
+ additionalPropNames = [] // additional prop name list of the wrapper component
}) => (WrappedComponent) => {
const originalProps = Object.keys(getComponentProps(WrappedComponent))
const props = originalProps.filter(v => v !== childPropName).concat(additionalPropNames)
@@ -15,8 +15,37 @@ const withSubscription = ({
return Vue.component('withSubscription', {
props: [
...props,
- 'refresh' // boolean saying to force-fetch data whenever created
+ 'refresh' // boolean saying to force-fetch data whenever created
],
+ render (createElement) {
+ if (!this.error && !this.loading) {
+ const props = {
+ props: {
+ ...this.$props,
+ [childPropName]: this.fetchedData
+ },
+ on: this.$listeners,
+ scopedSlots: this.$scopedSlots
+ }
+ const children = Object.entries(this.$slots).map(([key, value]) => createElement('template', { slot: key }, value))
+ return (
+ <div class="with-subscription">
+ <WrappedComponent {...props}>
+ {children}
+ </WrappedComponent>
+ </div>
+ )
+ } else {
+ return (
+ <div class="with-subscription-loading">
+ {this.error
+ ? <a onClick={this.fetchData} class="alert error">{this.$t('general.generic_error')}</a>
+ : <i class="icon-spin3 animate-spin"/>
+ }
+ </div>
+ )
+ }
+ },
data () {
return {
loading: false,
@@ -48,35 +77,6 @@ const withSubscription = ({
})
}
}
- },
- render (createElement) {
- if (!this.error && !this.loading) {
- const props = {
- props: {
- ...this.$props,
- [childPropName]: this.fetchedData
- },
- on: this.$listeners,
- scopedSlots: this.$scopedSlots
- }
- const children = Object.entries(this.$slots).map(([key, value]) => createElement('template', { slot: key }, value))
- return (
- <div class="with-subscription">
- <WrappedComponent {...props}>
- {children}
- </WrappedComponent>
- </div>
- )
- } else {
- return (
- <div class="with-subscription-loading">
- {this.error
- ? <a onClick={this.fetchData} class="alert error">{this.$t('general.generic_error')}</a>
- : <i class="icon-spin3 animate-spin"/>
- }
- </div>
- )
- }
}
})
}