1
0
mirror of https://github.com/ascribe/onion.git synced 2024-06-28 08:37:59 +02:00
onion/js/components/ascribe_buttons/acl_button_list.js

58 lines
1.8 KiB
JavaScript
Raw Normal View History

2015-06-03 10:27:11 +02:00
import React from 'react';
import UserActions from '../../actions/user_actions';
import UserStore from '../../stores/user_store';
import AclButton from '../ascribe_buttons/acl_button';
let AclButtonList = React.createClass({
getInitialState() {
return UserStore.getState();
},
onChange(state) {
this.setState(state);
},
2015-06-03 11:49:39 +02:00
componentDidMount() {
2015-06-03 10:27:11 +02:00
UserStore.listen(this.onChange);
2015-06-03 11:49:39 +02:00
UserActions.fetchCurrentUser();
2015-06-03 10:27:11 +02:00
},
componentDidUnmount() {
UserStore.unlisten(this.onChange);
},
2015-06-03 11:49:39 +02:00
2015-06-03 10:27:11 +02:00
render() {
2015-06-03 11:49:39 +02:00
return (
<div className="text-center">
<AclButton
availableAcls={this.props.availableAcls}
action="transfer"
editions={this.props.editions}
currentUser={this.state.currentUser}
handleSuccess={this.props.handleSuccess} />
<AclButton
availableAcls={this.props.availableAcls}
action="consign"
editions={this.props.editions}
currentUser={this.state.currentUser}
handleSuccess={this.props.handleSuccess} />
<AclButton
availableAcls={this.props.availableAcls}
action="loan"
editions={this.props.editions}
currentUser={this.state.currentUser}
handleSuccess={this.props.handleSuccess} />
<AclButton
availableAcls={this.props.availableAcls}
action="share"
editions={this.props.editions}
currentUser={this.state.currentUser}
handleSuccess={this.props.handleSuccess} />
</div>
);
2015-06-03 10:27:11 +02:00
}
});
export default AclButtonList;