Sha256: 01942c8aa3b4c24b31951848497c4d1b431a015b216fe47b988cd1c5319385b1

Contents?: true

Size: 1.18 KB

Versions: 2

Compression:

Stored size: 1.18 KB

Contents

/** @jsx React.DOM */

/**
 Renders a link to the resource with id given by this.props.data.

 Includes a slick little icon for the following kinds:
  TODO which kinds?
**/
var ResourceLink = React.createClass({
  render: function(){
    var resourceId = this.props.id || this.props.data.id || this.props.data;

    var tokens = resourceId.split(':');
    var kind = tokens[1];
    var id = tokens[tokens.length - 1];
    var text = this.props.text || id;

    var known_types=['user','group','layer','host','variable','policy'];
    var resource_is_known = _.contains(known_types, kind);

    // we shouldn't build links to for unsupported resources
    var href = "/ui/" + conjur.utils.pluralize(kind) + "/" + encodeURIComponent(id);
    var classes = [ 'resource-link' ];
    if( !this.props.noIcon ) {
        if (resource_is_known) {
    	    classes.push(kind);
        } else {
            classes.push('abstract');
            if (text==id) {
                text=[kind,text].join(":"); // prepend kind to id
            }
        }
    } else if (text==id) {
        text=[kind,text].join(":"); // prepend kind to id
    }

    return <a className={classes.join(' ')} href={href}>{text}</a>
  }
});

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
conjur-asset-ui-1.3.2 public/js/views/resource.js
conjur-asset-ui-1.3.0 public/js/views/resource.js