trc-client-core
Version:
The core of the TRC Client
56 lines (53 loc) • 1.91 kB
JSX
var React = require('react');
var ModalManager = require('trc-client-core/src/Modal/ModalManager');
var ProductPathwayModal = require('./ProductPathwayModal');
var ProductPathwayButton = React.createClass({
displayName: 'ProductPathwayButton',
propTypes: {
course: React.PropTypes.object,
type: React.PropTypes.string,
vehicle: React.PropTypes.string,
candidate: React.PropTypes.string
},
onShowModal: function (){
var pathway = this.props.course.pathway;
var obj = this.props.type + "Course";
var coursePath = pathway[obj];
var infoMap = this.props.course.completionInfoMap;
var status = infoMap[pathway[obj].courseCode];
var props = ({
pathway : coursePath,
completion: status,
participantId: this.props.candidate,
courseType : this.props.type
});
ModalManager.showModal(ProductPathwayModal, props);
},
render: function () {
var pathway = this.props.course.pathway;
var obj = this.props.type + "Course";
var infoMap = this.props.course.completionInfoMap;
if(pathway[obj]){
var status = infoMap[pathway[obj].courseCode];
var buttonprocess;
if(status){
buttonprocess = status.process;
} else {
buttonprocess = " ";
}
var butttonClass = "w100 CourseButton " + " " + this.props.type.toUpperCase() + " " + buttonprocess;
return (
<div
className={butttonClass}
onClick={this.onShowModal}
>
</div>
);
} else {
return (
<div className="w100 Button Button-grey" disabled></div>
);
}
}
});
module.exports = ProductPathwayButton;