<commit_before>import React, { Component } from 'react';
import classnames from 'classnames';
import { isUndefined } from 'lodash';
import { isPromise } from '../../utils';
import { Icon } from '../Icon';
import { Copyable } from '../Copyable';
import { Form, FormItem } from '../Form';
import { Button, ButtonGroup } from '../Button';

class TableCell extends Component {

  static propTypes = {
    bold: React.PropTypes.bool,
    center: React.PropTypes.bool,
    copyable: React.PropTypes.bool,
    icon: React.PropTypes.string,
    onSort: React.PropTypes.func,
    orderHandle: React.PropTypes.bool,
    right: React.PropTypes.bool,
    title: React.PropTypes.string,
    value: React.PropTypes.node,
    width: React.PropTypes.number,
    expander: React.PropTypes.bool,
    onEdit: React.PropTypes.func,
    datum: React.PropTypes.object,
    editable: React.PropTypes.string,
    onUpdateDatum: React.PropTypes.func,
    onValidate: React.PropTypes.func,
  };

  static defaultProps = {
    header: null,
    onEdit: null,
    editable: null,
    expander: false,
    datum: null,
    onUpdateDatum: null,
    onValidate: null,
  };

  constructor(props) {
    super(props);

    /**
     * Reference to the edit control input.
     */
    this.editControlRef = null;

    this.state = {
      sorted: false,

      // Specifies whether this cell is in edit mode
      editing: false,

      // This tracks the editing updates until commit
      editingValue: null,
<commit_msg>Use correct prop types for editable prop<commit_after>import React, { Component } from 'react';
import classnames from 'classnames';
import { isUndefined } from 'lodash';
import { isPromise } from '../../utils';
import { Icon } from '../Icon';
import { Copyable } from '../Copyable';
import { Form, FormItem } from '../Form';
import { Button, ButtonGroup } from '../Button';

class TableCell extends Component {

  static propTypes = {
    bold: React.PropTypes.bool,
    center: React.PropTypes.bool,
    copyable: React.PropTypes.bool,
    icon: React.PropTypes.string,
    onSort: React.PropTypes.func,
    orderHandle: React.PropTypes.bool,
    right: React.PropTypes.bool,
    title: React.PropTypes.string,
    value: React.PropTypes.node,
    width: React.PropTypes.number,
    expander: React.PropTypes.bool,
    onEdit: React.PropTypes.func,
    datum: React.PropTypes.object,
    editable: React.PropTypes.oneOfType([React.PropTypes.string, React.PropTypes.bool]),
    onUpdateDatum: React.PropTypes.func,
    onValidate: React.PropTypes.func,
  };

  static defaultProps = {
    header: null,
    onEdit: null,
    editable: false,
    expander: false,
    datum: null,
    onUpdateDatum: null,
    onValidate: null,
  };

  constructor(props) {
    super(props);

    /**
     * Reference to the edit control input.
     */
    this.editControlRef = null;

    this.state = {
      sorted: false,

      // Specifies whether this cell is in edit mode
      editing: false,

      // This tracks the editing updates until commit
      editingValue: null,

{'fraction_non_alphanumeric': 0.11955453652145431, 'fraction_numerical': 0.0, 'mean_word_length': 2.9973821989528795, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '4312352', 'n_tokens_mistral': 932, 'n_tokens_neox': 928, 'n_words': 249}