trc-client-core
Version:
The core of the TRC Client
34 lines (31 loc) • 962 B
JSX
var React = require('react');
var {Link} = require('react-router');
var DefinitionType = React.createClass({
displayName: 'DefinitionType',
render: function () {
var data = this.props.data;
if(data.$ref) {
return this.renderRef();
}
else if (data.enum) {
return this.renderEnum();
}
return (
<span>{this.props.data.type} {this.renderFormat()}</span>
);
},
renderRef() {
var ref = this.props.data.$ref;
var definitionId = ref.substr(ref.lastIndexOf('/') + 1);
return <Link to={`/definition/${definitionId}`} className="link">{definitionId}</Link>;
},
renderEnum() {
return <span>{this.props.data.enum.join(' | ')}</span>;
},
renderFormat() {
if(this.props.data.format) {
return <span>({this.props.data.format})</span>;
}
}
});
module.exports = DefinitionType;