Skip to content

Commit 5a2d2f0

Browse files
author
Emmanouil Konstantinidis
committed
Restructure, Clean up, Init BooleanField
1 parent 7ad2689 commit 5a2d2f0

File tree

5 files changed

+33809
-43
lines changed

5 files changed

+33809
-43
lines changed

rest_framework_docs/static/rest_framework_docs/js/components/liveapi.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ var LiveAPIEndpoints = React.createClass({
1616

1717
getData: function () {
1818
var method = this.refs.request.state.selectedMethod;
19-
return RequestUtils.shouldAddData(method) ? null : (
19+
return RequestUtils.shouldIncludeData(method) ? (
2020
this.refs.request.state.data
21-
);
21+
) : null;
2222
},
2323

2424
makeRequest: function (event) {

rest_framework_docs/static/rest_framework_docs/js/components/request.js

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,10 @@ var _ = require('underscore');
22
var React = require('react');
33

44
var AddFieldsForm = require('./request/add-fields');
5-
var Header = require('./helpers/header');
65
var Headers = require('./request/headers');
76
var Data = require('./request/data');
87
var FieldUrl = require('./request/field-url');
98
var Methods = require('./request/methods');
10-
var RequestUtils = require('../utils/request');
119

1210
var Request = React.createClass({
1311
getInitialState: function () {
@@ -97,6 +95,7 @@ var Request = React.createClass({
9795

9896
render: function () {
9997
var endpoint = this.state.endpoint;
98+
10099
return (
101100
<div>
102101
<h3>Request</h3>
@@ -116,18 +115,15 @@ var Request = React.createClass({
116115
permissions={this.state.endpoint.permissions}
117116
handleHeaderChange={this.handleHeaderChange} />
118117

119-
{RequestUtils.shouldAddData(this.state.method) ? null : (
120-
<div>
121-
{this.state.endpoint.fields.length ? <Header title='Data' /> : null}
122-
<Data
123-
fields={endpoint.fields}
124-
data={this.state.data}
125-
removeCustomField={this.removeField}
126-
onChange={this.handleDataFieldChange} />
127-
128-
<AddFieldsForm onAdd={this.addField} />
129-
</div>
130-
)}
118+
<Data
119+
method={this.state.selectedMethod}
120+
fields={endpoint.fields}
121+
data={this.state.data}
122+
removeCustomField={this.removeField}
123+
onChange={this.handleDataFieldChange} />
124+
125+
<AddFieldsForm
126+
onAdd={this.addField} />
131127
</div>
132128
);
133129
}

rest_framework_docs/static/rest_framework_docs/js/components/request/data.js

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,10 @@
11
var React = require('react');
22

33
var FieldText = require('../fields/text');
4+
var Header = require('../helpers/header');
5+
var RequestUtils = require('../../utils/request');
46

57
var Data = React.createClass({
6-
getInitialState: function() {
7-
return {
8-
fields: this.props.fields
9-
};
10-
},
11-
12-
componentWillReceiveProps: function(nextProps) {
13-
this.setState({
14-
fields: nextProps.fields
15-
});
16-
},
17-
188
removeCustomField: function (fieldName) {
199
this.props.removeCustomField(fieldName);
2010
},
@@ -23,6 +13,10 @@ var Data = React.createClass({
2313
this.props.onChange(event.target.value, fieldName);
2414
},
2515

16+
_renderBooleanField: function (field, key) {
17+
console.log(field, key);
18+
},
19+
2620
_renderTextInput: function (field, key) {
2721
var value = this.props.data[field.name];
2822
var type = field.name == 'password' ? 'password' : 'text';
@@ -41,17 +35,31 @@ var Data = React.createClass({
4135
},
4236

4337
_renderFields: function () {
44-
return this.state.fields.map(function (field, key) {
38+
return this.props.fields.map(function (field, key) {
39+
4540
switch (field.type) {
41+
case ('BooleanField'):
42+
return this._renderBooleanField(field, key);
43+
4644
case ('CharField'):
45+
default:
4746
return this._renderTextInput(field, key);
47+
4848
}
4949
}, this);
5050
},
5151

5252
render: function () {
53+
if (!RequestUtils.shouldIncludeData(this.props.method)) {
54+
return null;
55+
}
56+
5357
return (
5458
<div>
59+
60+
{this.props.fields.length ? <Header title='Data' /> : null}
61+
62+
5563
{this._renderFields()}
5664
</div>
5765
);

rest_framework_docs/static/rest_framework_docs/js/dist.js

Lines changed: 33773 additions & 11 deletions
Large diffs are not rendered by default.

rest_framework_docs/static/rest_framework_docs/js/utils/request.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
module.exports = {
22

3-
shouldAddData: function (method) {
3+
shouldIncludeData: function (method) {
44
if (method === 'GET' || method === 'OPTIONS') {
5-
return true;
5+
return false;
66
}
7-
return false;
7+
return true;
88
},
99

1010
shouldAddHeader: function (permissions) {

0 commit comments

Comments
 (0)