<commit_before><!DOCTYPE html>
<head>
  <meta charset="UTF-8">
  <title>Grid Components | newforms-bootstrap</title>
  <script src="http://fb.me/react-with-addons-0.12.2.js"></script>
  <script src="http://fb.me/JSXTransformer-0.12.2.js"></script>
  <script src="../../newforms/build/newforms.js"></script>
  <script src="../dist/newforms-bootstrap.js"></script>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap-theme.min.css">
</head>
<body>
<script type="text/jsx;harmony=true">void function() {
'use strict'

var {Col, Container, Row, Field} = BootstrapForm

var ProductForm = forms.Form.extend({
  productName: forms.CharField(),
  tags: forms.CharField(),
  vendor: forms.ChoiceField({choices: ['Vendor 1', 'Vendor 2']}),
  productType: forms.ChoiceField({choices: ['Product 1', 'Product 2']}),
  productDescription: forms.CharField({widget: forms.Textarea}),
  sku: forms.CharField(),
  initialStockLevel: forms.IntegerField({minValue: 0}),
  costPrice: forms.DecimalField({minValue: 0, decimalPlaces: 2}),
  wholesalePrice: forms.DecimalField({minValue: 0, decimalPlaces: 2}),
  retailPrice: forms.DecimalField({minValue: 0, decimalPlaces: 2})<commit_msg>Add a source of non-field errors to grid demo<commit_after><!DOCTYPE html>
<head>
  <meta charset="UTF-8">
  <title>Grid Components | newforms-bootstrap</title>
  <script src="http://fb.me/react-with-addons-0.12.2.js"></script>
  <script src="http://fb.me/JSXTransformer-0.12.2.js"></script>
  <script src="../../newforms/build/newforms.js"></script>
  <script src="../dist/newforms-bootstrap.js"></script>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap-theme.min.css">
</head>
<body>
<script type="text/jsx;harmony=true">void function() {
'use strict'

var {Col, Container, Row, Field} = BootstrapForm

var ProductForm = forms.Form.extend({
  productName: forms.CharField(),
  tags: forms.CharField(),
  vendor: forms.ChoiceField({choices: ['Vendor 1', 'Vendor 2']}),
  productType: forms.ChoiceField({choices: ['Product 1', 'Product 2']}),
  productDescription: forms.CharField({widget: forms.Textarea}),
  sku: forms.CharField(),
  initialStockLevel: forms.IntegerField({minValue: 0}),
  costPrice: forms.DecimalField({minValue: 0, decimalPlaces: 2}),
  wholesalePrice: forms.DecimalField({minValue: 0, decimalPlaces: 2}),
  retailPrice: forms.DecimalField({minValue: 0, decimalPlaces: 2}),

  clean() {
    var {productDescription} = this.cleanedData
    if (productDescription && productDescription.toLowerCase().indexOf('clowns') != -1) {
      throw forms.ValidationError('No clowns!')
    }
  }
{'fraction_non_alphanumeric': 0.18706293706293706, 'fraction_numerical': 0.01853146853146853, 'mean_word_length': 5.329646017699115, 'pattern_counts': {'":': 0, '<': 39, '<?xml version=': 0, '>': 39, 'https://': 4, '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': '1623216', 'n_tokens_mistral': 991, 'n_tokens_neox': 950, 'n_words': 172}