ih-portal
Version:
A project for connecting interaction hub services with catalyst-ui components
56 lines (43 loc) • 1.22 kB
JSX
import React, { Component, PropTypes } from 'react';
import { Checklist } from 'catalyst-ui';
const { func, object } = PropTypes;
export default class ChecklistProv extends Component {
constructor() {
super(...arguments);
this.fetch = this.fetch.bind(this);
this.invalidate = this.invalidate.bind(this);
}
componentDidMount() {
const { checklist } = this.props;
if (!checklist || (checklist.lastAction && checklist.lastAction.status === 'error') || !checklist.data) {
this.fetch();
}
}
fetch() {
const requestParams = {
url: __CHECKLIST_URL__,
auth: [__USERNAME__, __PASSWORD__],
};
this.props.fetch(requestParams);
}
invalidate() {
const requestParams = {
url: __CHECKLIST_URL__,
auth: [__USERNAME__, __PASSWORD__],
};
this.props.invalidate(requestParams);
}
render() {
const { checklist } = this.props;
return (
<div className="piglet">
<Checklist checklist={checklist} isFetching={checklist.isFetching} fetch={this.fetch} invalidate={this.invalidate} />
</div>
);
}
}
ChecklistProv.propTypes = {
checklist: object,
fetch: func.isRequired,
invalidate: func.isRequired,
};