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;