Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4,842 changes: 4,622 additions & 220 deletions dist/newforms.js

Large diffs are not rendered by default.

9 changes: 5 additions & 4 deletions dist/newforms.min.js

Large diffs are not rendered by default.

86 changes: 43 additions & 43 deletions docs/_static/js/deps.js
Original file line number Diff line number Diff line change
Expand Up @@ -4190,17 +4190,17 @@ var FormRow = React.createClass({displayName: "FormRow",
}
// If content was given, use it
if (this.props.content) {
return React.createElement(this.props.component, React.__spread({}, attrs), this.props.content)
return React.createElement(this.props.component, Object.assign({}, attrs), this.props.content)
}
// Otherwise render a BoundField
var bf = this.props.bf
var isPending = bf.isPending()
return React.createElement(this.props.component, React.__spread({}, attrs),
bf.label && bf.labelTag(), " ", bf.render(),
isPending && ' ',
isPending && this.renderProgress(),
bf.errors().render(),
bf.helpText && ' ',
return React.createElement(this.props.component, Object.assign({}, attrs),
bf.label && bf.labelTag(), " ", bf.render(),
isPending && ' ',
isPending && this.renderProgress(),
bf.errors().render(),
bf.helpText && ' ',
bf.helpTextTag()
)
}
Expand Down Expand Up @@ -6252,31 +6252,31 @@ var RenderForm = React.createClass({displayName: "RenderForm",
return bf.render()
})

return React.createElement(props.component, React.__spread({}, attrs),
return React.createElement(props.component, Object.assign({}, attrs),
topErrors.isPopulated() && React.createElement(props.row, {
className: form.errorCssClass,
component: props.rowComponent,
content: topErrors.render(),
className: form.errorCssClass,
component: props.rowComponent,
content: topErrors.render(),
key: form.addPrefix(NON_FIELD_ERRORS)}
),
),
form.visibleFields().map(function(bf) {return React.createElement(props.row, {
bf: bf,
className: bf.cssClasses(),
component: props.rowComponent,
key: bf.htmlName,
bf: bf,
className: bf.cssClasses(),
component: props.rowComponent,
key: bf.htmlName,
progress: props.progress}
);}),
);}),
form.nonFieldPending() && React.createElement(props.row, {
className: form.pendingRowCssClass,
component: props.rowComponent,
content: this.renderProgress(),
className: form.pendingRowCssClass,
component: props.rowComponent,
content: this.renderProgress(),
key: form.addPrefix('__pending__')}
),
),
hiddenFields.length > 0 && React.createElement(props.row, {
className: form.hiddenFieldRowCssClass,
component: props.rowComponent,
content: hiddenFields,
hidden: true,
className: form.hiddenFieldRowCssClass,
component: props.rowComponent,
content: hiddenFields,
hidden: true,
key: form.addPrefix('__hidden__')}
)
)
Expand Down Expand Up @@ -6386,30 +6386,30 @@ var RenderFormSet = React.createClass({displayName: "RenderFormSet",
}
var topErrors = formset.nonFormErrors()

return React.createElement(props.component, React.__spread({}, attrs),
return React.createElement(props.component, Object.assign({}, attrs),
topErrors.isPopulated() && React.createElement(props.row, {
className: formset.errorCssClass,
content: topErrors.render(),
key: formset.addPrefix(NON_FIELD_ERRORS),
className: formset.errorCssClass,
content: topErrors.render(),
key: formset.addPrefix(NON_FIELD_ERRORS),
rowComponent: props.rowComponent}
),
),
formset.forms().map(function(form) {return React.createElement(RenderForm, {
form: form,
formComponent: props.formComponent,
progress: props.progress,
row: props.row,
form: form,
formComponent: props.formComponent,
progress: props.progress,
row: props.row,
rowComponent: props.rowComponent}
);}),
);}),
formset.nonFormPending() && React.createElement(props.row, {
className: formset.pendingRowCssClass,
content: this.renderProgress(),
key: formset.addPrefix('__pending__'),
className: formset.pendingRowCssClass,
content: this.renderProgress(),
key: formset.addPrefix('__pending__'),
rowComponent: props.rowComponent}
),
),
props.useManagementForm && React.createElement(RenderForm, {
form: formset.managementForm(),
formComponent: props.formComponent,
row: props.row,
form: formset.managementForm(),
formComponent: props.formComponent,
row: props.row,
rowComponent: props.rowComponent}
)
)
Expand Down Expand Up @@ -27839,7 +27839,7 @@ module.exports = performanceNow;
*
* @providesModule shallowEqual
* @typechecks
*
*
*/

'use strict';
Expand Down
14 changes: 8 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name": "newforms",
"name": "newforms-ajb",
"description": "An isomorphic form-handling library for React",
"version": "0.13.2",
"author": "Jonny Buchanan <jonathan.buchanan@gmail.com>",
"version": "0.0.1-rc.1",
"author": "Adam Becker <ad@mbecker.cc>",
"keywords": [
"isomorphic",
"form-handling",
Expand All @@ -17,13 +17,14 @@
"main": "./lib/newforms.js",
"repository": {
"type": "git",
"url": "http://github.com/insin/newforms.git"
"url": "http://github.com/ajb/newforms.git"
},
"dependencies": {
"Concur": "^0.3.0",
"envify": "^3.4.0",
"get-form-data": "^1.2.2",
"isomorph": "^0.3.0",
"prop-types": "^15.5.10",
"validators": "^0.3.1"
},
"devDependencies": {
Expand All @@ -41,10 +42,11 @@
"gulp-streamify": "0.0.5",
"gulp-uglify": "^1.1.0",
"gulp-util": "^3.0.2",
"html-differ": "^1.3.4",
"jshint-stylish": "^1.0.0",
"qqunit": "^0.6.0",
"react": ">=0.14.0",
"react-dom": ">=0.14.0",
"react": ">=0.15.0",
"react-dom": ">=0.15.0",
"vinyl-source-stream": "^1.0.0"
},
"peerDependencies": {
Expand Down
16 changes: 9 additions & 7 deletions src/components/FormRow.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
'use strict';

var React = require('react')
var PropTypes = require('prop-types')
var createReactClass = require('create-react-class')

var BoundField = require('../BoundField')
var ProgressMixin = require('./ProgressMixin')
Expand All @@ -10,14 +12,14 @@ var ProgressMixin = require('./ProgressMixin')
* if a BoundField is given, it will be used to display a field's label, widget,
* error message(s), help text and async pending indicator.
*/
var FormRow = React.createClass({
var FormRow = createReactClass({
mixins: [ProgressMixin],
propTypes: {
bf: React.PropTypes.instanceOf(BoundField)
, className: React.PropTypes.string
, component: React.PropTypes.any
, content: React.PropTypes.any
, hidden: React.PropTypes.bool
bf: PropTypes.instanceOf(BoundField)
, className: PropTypes.string
, component: PropTypes.any
, content: PropTypes.any
, hidden: PropTypes.bool
, __all__(props) {
if (!props.bf && !props.content) {
return new Error(
Expand Down Expand Up @@ -66,4 +68,4 @@ var FormRow = React.createClass({
}
})

module.exports = FormRow
module.exports = FormRow
5 changes: 3 additions & 2 deletions src/components/ProgressMixin.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@

var is = require('isomorph/is')
var React = require('react')
var PropTypes = require('prop-types')

var ProgressMixin = {
propTypes: {
progress: React.PropTypes.any // Component or function to render async progress
progress: PropTypes.any // Component or function to render async progress
},

renderProgress() {
Expand All @@ -19,4 +20,4 @@ var ProgressMixin = {
}
}

module.exports = ProgressMixin
module.exports = ProgressMixin
46 changes: 24 additions & 22 deletions src/components/RenderForm.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

var object = require('isomorph/object')
var React = require('react')
var PropTypes = require('prop-types')
var createReactClass = require('create-react-class')

var ErrorObject = require('../ErrorObject')
var Form = require('../Form')
Expand All @@ -13,19 +15,19 @@ var {autoIdChecker, getProps} = require('../util')

var formProps = {
autoId: autoIdChecker
, controlled: React.PropTypes.bool
, data: React.PropTypes.object
, emptyPermitted: React.PropTypes.bool
, errorConstructor: React.PropTypes.func
, errors: React.PropTypes.instanceOf(ErrorObject)
, files: React.PropTypes.object
, initial: React.PropTypes.object
, labelSuffix: React.PropTypes.string
, onChange: React.PropTypes.func
, prefix: React.PropTypes.string
, validation: React.PropTypes.oneOfType([
React.PropTypes.string
, React.PropTypes.object
, controlled: PropTypes.bool
, data: PropTypes.object
, emptyPermitted: PropTypes.bool
, errorConstructor: PropTypes.func
, errors: PropTypes.instanceOf(ErrorObject)
, files: PropTypes.object
, initial: PropTypes.object
, labelSuffix: PropTypes.string
, onChange: PropTypes.func
, prefix: PropTypes.string
, validation: PropTypes.oneOfType([
PropTypes.string
, PropTypes.object
])
}

Expand All @@ -34,21 +36,21 @@ var formProps = {
* is given, an instance will be created when the component is mounted, and any
* additional props will be passed to the constructor as options.
*/
var RenderForm = React.createClass({
var RenderForm = createReactClass({
mixins: [ProgressMixin],
propTypes: object.extend({}, formProps, {
className: React.PropTypes.string // Class for the component wrapping all rows
, component: React.PropTypes.any // Component to wrap all rows
, form: React.PropTypes.oneOfType([ // Form instance or constructor
React.PropTypes.func,
React.PropTypes.instanceOf(Form)
className: PropTypes.string // Class for the component wrapping all rows
, component: PropTypes.any // Component to wrap all rows
, form: PropTypes.oneOfType([ // Form instance or constructor
PropTypes.func,
PropTypes.instanceOf(Form)
]).isRequired
, row: React.PropTypes.any // Component to render form rows
, rowComponent: React.PropTypes.any // Component to wrap each row
, row: PropTypes.any // Component to render form rows
, rowComponent: PropTypes.any // Component to wrap each row
}),

childContextTypes: {
form: React.PropTypes.instanceOf(Form)
form: PropTypes.instanceOf(Form)
},

getChildContext() {
Expand Down
60 changes: 31 additions & 29 deletions src/components/RenderFormSet.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

var object = require('isomorph/object')
var React = require('react')
var PropTypes = require('prop-types')
var createReactClass = require('create-react-class')

var FormRow = require('./FormRow')
var FormSet = require('../FormSet')
Expand All @@ -12,26 +14,26 @@ var {NON_FIELD_ERRORS} = require('../constants')
var {autoIdChecker, getProps} = require('../util')

var formsetProps = {
canDelete: React.PropTypes.bool
, canOrder: React.PropTypes.bool
, extra: React.PropTypes.number
, form: React.PropTypes.func
, maxNum: React.PropTypes.number
, minNum: React.PropTypes.number
, validateMax: React.PropTypes.bool
, validateMin: React.PropTypes.bool
canDelete: PropTypes.bool
, canOrder: PropTypes.bool
, extra: PropTypes.number
, form: PropTypes.func
, maxNum: PropTypes.number
, minNum: PropTypes.number
, validateMax: PropTypes.bool
, validateMin: PropTypes.bool

, autoId: autoIdChecker
, controlled: React.PropTypes.bool
, data: React.PropTypes.object
, errorConstructor: React.PropTypes.func
, files: React.PropTypes.object
, initial: React.PropTypes.object
, onChange: React.PropTypes.func
, prefix: React.PropTypes.string
, validation: React.PropTypes.oneOfType([
React.PropTypes.string
, React.PropTypes.object
, controlled: PropTypes.bool
, data: PropTypes.object
, errorConstructor: PropTypes.func
, files: PropTypes.object
, initial: PropTypes.object
, onChange: PropTypes.func
, prefix: PropTypes.string
, validation: PropTypes.oneOfType([
PropTypes.string
, PropTypes.object
])
}

Expand All @@ -41,19 +43,19 @@ var formsetProps = {
* mounted, and any additional props will be passed to the constructor as
* options.
*/
var RenderFormSet = React.createClass({
var RenderFormSet = createReactClass({
mixins: [ProgressMixin],
propTypes: object.extend({}, formsetProps, {
className: React.PropTypes.string // Class for the component wrapping all forms
, component: React.PropTypes.any // Component to wrap all forms
, formComponent: React.PropTypes.any // Component to wrap each form
, formset: React.PropTypes.oneOfType([ // Formset instance or constructor
React.PropTypes.func,
React.PropTypes.instanceOf(FormSet)
className: PropTypes.string // Class for the component wrapping all forms
, component: PropTypes.any // Component to wrap all forms
, formComponent: PropTypes.any // Component to wrap each form
, formset: PropTypes.oneOfType([ // Formset instance or constructor
PropTypes.func,
PropTypes.instanceOf(FormSet)
])
, row: React.PropTypes.any // Component to render form rows
, rowComponent: React.PropTypes.any // Component to wrap each form row
, useManagementForm: React.PropTypes.bool // Should ManagementForm hidden fields be rendered?
, row: PropTypes.any // Component to render form rows
, rowComponent: PropTypes.any // Component to wrap each form row
, useManagementForm: PropTypes.bool // Should ManagementForm hidden fields be rendered?
, __all__(props) {
if (!props.form && !props.formset) {
return new Error(
Expand Down Expand Up @@ -128,4 +130,4 @@ var RenderFormSet = React.createClass({
}
})

module.exports = RenderFormSet
module.exports = RenderFormSet
Loading