Skip to content

Commit 9efd6d3

Browse files
author
Emmanouil Konstantinidis
committed
Update url if another modal
1 parent 6807387 commit 9efd6d3

File tree

4 files changed

+56
-8
lines changed

4 files changed

+56
-8
lines changed

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

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

1010
getInitialState: function() {
1111
return {
12+
endpoint: this.props.endpoint,
1213
response: null
1314
};
1415
},
1516

17+
componentWillReceiveProps: function(nextProps) {
18+
this.setState({
19+
endpoint: nextProps.endpoint
20+
});
21+
},
22+
1623
getData: function () {
1724
var method = this.refs.request.state.method;
1825
return RequestUtils.shouldAddData(method) ? null : (
@@ -38,13 +45,12 @@ var LiveAPIEndpoints = React.createClass({
3845
},
3946

4047
render: function () {
41-
4248
return (
4349
<form className="form-horizontal" onSubmit={this.makeRequest}>
4450
<div className="modal-body">
4551
<div className="row">
4652
<div className="col-md-6 request">
47-
<Request endpoint={this.props.endpoint} ref='request' />
53+
<Request endpoint={this.state.endpoint} ref='request' />
4854
</div>
4955
<div className="col-md-6 response">
5056
<Response payload={this.state.response} />

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@ var Request = React.createClass({
1616
};
1717
},
1818

19+
componentWillReceiveProps: function(nextProps) {
20+
this.setState({
21+
urlEndpoint: nextProps.endpoint.path
22+
});
23+
},
24+
1925
setMethod: function (method) {
2026
this.setState({
2127
method: method
@@ -46,7 +52,7 @@ var Request = React.createClass({
4652
<Header title='API Endpoint' />
4753
<FieldUrl
4854
name='urlEndpoint'
49-
value={this.state.urlEndpoint}
55+
url={this.state.urlEndpoint}
5056
onChange={this.handleInputChange.bind(this, 'urlEndpoint')} />
5157

5258
<Header title='Method' />

rest_framework_docs/static/rest_framework_docs/js/components/request/field-url.js

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,18 @@ var Input = require('../helpers/input');
44

55
var FieldUrl = React.createClass({
66

7+
getInitialState: function() {
8+
return {
9+
value: this.props.url
10+
};
11+
},
12+
13+
componentWillReceiveProps: function(nextProps) {
14+
this.setState({
15+
url: nextProps.url
16+
});
17+
},
18+
719
handleChange: function (value) {
820
this.props.onChange(value);
921
},
@@ -12,7 +24,7 @@ var FieldUrl = React.createClass({
1224
return (
1325
<Input
1426
name='Url Endpoint'
15-
value={this.props.value}
27+
value={this.state.url}
1628
placeholder='Endpoint Url'
1729
onChange={this.handleChange} />
1830
);

rest_framework_docs/static/rest_framework_docs/js/dist.js

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30837,10 +30837,17 @@ var LiveAPIEndpoints = React.createClass({
3083730837

3083830838
getInitialState: function getInitialState() {
3083930839
return {
30840+
endpoint: this.props.endpoint,
3084030841
response: null
3084130842
};
3084230843
},
3084330844

30845+
componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
30846+
this.setState({
30847+
endpoint: nextProps.endpoint
30848+
});
30849+
},
30850+
3084430851
getData: function getData() {
3084530852
var method = this.refs.request.state.method;
3084630853
return RequestUtils.shouldAddData(method) ? null : this.refs.request.state.data;
@@ -30862,7 +30869,6 @@ var LiveAPIEndpoints = React.createClass({
3086230869
},
3086330870

3086430871
render: function render() {
30865-
3086630872
return React.createElement(
3086730873
'form',
3086830874
{ className: 'form-horizontal', onSubmit: this.makeRequest },
@@ -30875,7 +30881,7 @@ var LiveAPIEndpoints = React.createClass({
3087530881
React.createElement(
3087630882
'div',
3087730883
{ className: 'col-md-6 request' },
30878-
React.createElement(Request, { endpoint: this.props.endpoint, ref: 'request' })
30884+
React.createElement(Request, { endpoint: this.state.endpoint, ref: 'request' })
3087930885
),
3088030886
React.createElement(
3088130887
'div',
@@ -30926,6 +30932,12 @@ var Request = React.createClass({
3092630932
};
3092730933
},
3092830934

30935+
componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
30936+
this.setState({
30937+
urlEndpoint: nextProps.endpoint.path
30938+
});
30939+
},
30940+
3092930941
setMethod: function setMethod(method) {
3093030942
this.setState({
3093130943
method: method
@@ -30960,7 +30972,7 @@ var Request = React.createClass({
3096030972
React.createElement(Header, { title: 'API Endpoint' }),
3096130973
React.createElement(FieldUrl, {
3096230974
name: 'urlEndpoint',
30963-
value: this.state.urlEndpoint,
30975+
url: this.state.urlEndpoint,
3096430976
onChange: this.handleInputChange.bind(this, 'urlEndpoint') }),
3096530977
React.createElement(Header, { title: 'Method' }),
3096630978
React.createElement(Methods, { methods: endpoint.methods, active: this.state.method, setMethod: this.setMethod }),
@@ -31007,14 +31019,26 @@ var Input = require('../helpers/input');
3100731019
var FieldUrl = React.createClass({
3100831020
displayName: 'FieldUrl',
3100931021

31022+
getInitialState: function getInitialState() {
31023+
return {
31024+
value: this.props.url
31025+
};
31026+
},
31027+
31028+
componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
31029+
this.setState({
31030+
url: nextProps.url
31031+
});
31032+
},
31033+
3101031034
handleChange: function handleChange(value) {
3101131035
this.props.onChange(value);
3101231036
},
3101331037

3101431038
render: function render() {
3101531039
return React.createElement(Input, {
3101631040
name: 'Url Endpoint',
31017-
value: this.props.value,
31041+
value: this.state.url,
3101831042
placeholder: 'Endpoint Url',
3101931043
onChange: this.handleChange });
3102031044
}

0 commit comments

Comments
 (0)