<commit_before>define(function (require) {

  var React = require('react/addons'),
    Backbone = require('backbone'),
    Checkbox = require('./Checkbox.react');

  return React.createClass({

    propTypes: {
      onResourceSelected: React.PropTypes.func.isRequired,
      onResourceDeselected: React.PropTypes.func.isRequired,
      onPreviewResource: React.PropTypes.func.isRequired,
      isActive: React.PropTypes.bool,
      isSelected: React.PropTypes.bool,
      children: React.PropTypes.node.isRequired,
      resource: React.PropTypes.instanceOf(Backbone.Model).isRequired
    },

    toggleCheckbox: function (e) {
      e.stopPropagation();
      if (!this.props.resource.id) return;

      if (this.props.isSelected) {
        this.props.onResourceDeselected(this.props.resource);
      } else {
        this.props.onResourceSelected(this.props.resource);
      }
    },

    previewResource: function (e) {
      if (this.props.onPreviewResource && this.props.resource.id) {
        this.props.onPreviewResource(this.props.resource);
      }
    },

    render: function () {
      var rowClassName = this.props.isActive ? "selected" : null;

      return (
        <tr className={"sm-row " + rowClassName} style={{cursor:"pointer"}}onClick={this.previewResource}>
          <td className="sm-cell hidden-sm hidden-xs" Click={this.toggleCheckbox}>
            <Checkbox isChecked={this.props.isSelected}/>
          </td>
          {this.props.children}
        </tr>
      );
    }

  });<commit_msg>Corrected attribute spacing within HTML element.<commit_after>define(function (require) {

  var React = require('react/addons'),
    Backbone = require('backbone'),
    Checkbox = require('./Checkbox.react');

  return React.createClass({

    propTypes: {
      onResourceSelected: React.PropTypes.func.isRequired,
      onResourceDeselected: React.PropTypes.func.isRequired,
      onPreviewResource: React.PropTypes.func.isRequired,
      isActive: React.PropTypes.bool,
      isSelected: React.PropTypes.bool,
      children: React.PropTypes.node.isRequired,
      resource: React.PropTypes.instanceOf(Backbone.Model).isRequired
    },

    toggleCheckbox: function (e) {
      e.stopPropagation();
      if (!this.props.resource.id) return;

      if (this.props.isSelected) {
        this.props.onResourceDeselected(this.props.resource);
      } else {
        this.props.onResourceSelected(this.props.resource);
      }
    },

    previewResource: function (e) {
      if (this.props.onPreviewResource && this.props.resource.id) {
        this.props.onPreviewResource(this.props.resource);
      }
    },

    render: function () {
      var rowClassName = this.props.isActive ? "selected" : null;

      return (
        <tr className={"sm-row " + rowClassName} style={{cursor:"pointer"}} onClick={this.previewResource}>
          <td className="sm-cell hidden-sm hidden-xs" Click={this.toggleCheckbox}>
            <Checkbox isChecked={this.props.isSelected}/>
          </td>
          {this.props.children}
        </tr>
      );
    }

  });
{'fraction_non_alphanumeric': 0.13313802083333334, 'fraction_numerical': 0.0, 'mean_word_length': 2.84125, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2019196', 'n_tokens_mistral': 914, 'n_tokens_neox': 897, 'n_words': 140}