Skip to content
This repository was archived by the owner on Nov 8, 2024. It is now read-only.

Commit 57184ad

Browse files
authored
Merge branch 'test-docker' into footer
2 parents 4344c9b + bf6895a commit 57184ad

File tree

4 files changed

+29
-44
lines changed

4 files changed

+29
-44
lines changed

Dockerfile

Lines changed: 0 additions & 17 deletions
This file was deleted.

src/app/App.js

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,40 +6,42 @@ import './App.css';
66

77
class App extends Component {
88
constructor(props) {
9-
super(props);
10-
11-
console.log(this.props.frameworkImages);
12-
9+
super(props);
1310
this.state = {frameworks: this.props.frameworkImages,
14-
disableButton: false};
15-
11+
disableAllButton: false};
12+
this.loadingGif = "https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/0.16.1/images/loader-large.gif";
1613
this.click = this.click.bind(this);
1714
}
18-
1915

2016
click(f) {
21-
this.setState({framework:this.state.framework, disableButton:true})
22-
fetch('http://vault.acm.illinois.edu:5656/create_container', {
23-
method: 'POST',
24-
headers: {
25-
'Accept': 'application/json',
26-
'Content-Type': 'application/json',
27-
},
28-
body: JSON.stringify(f)
29-
}).then((resp) => resp.json()).then(function(res){
30-
window.location.replace(res['jupyter_url']);
31-
});
32-
console.log(f)
17+
var updatedFramework = this.state.frameworks
18+
var type = typeof updatedFramework;
19+
console.log(type);
20+
var index = updatedFramework.indexOf(f);
21+
updatedFramework[index].loading = true;
22+
this.setState({framework:updatedFramework, disableAllButton:true})
23+
24+
fetch('http://vault.acm.illinois.edu:5656/create_container', {
25+
method: 'POST',
26+
headers: {
27+
'Accept': 'application/json',
28+
'Content-Type': 'application/json',
29+
},
30+
body: JSON.stringify(f)
31+
}).then((resp) => resp.json()).then(function(res){
32+
window.location.replace(res['jupyter_url']);
33+
});
34+
console.log(f)
3335
}
3436

3537
render() {
36-
console.log(this.state.disableButton);
37-
return (
38+
console.log(this.state.disableAllButton);
39+
return (
3840
<div className="GPU-CLUSTER-FRONTEND">
3941
<Nav/>
40-
<Frameworks disabled={this.state.disableButton} frameworks={this.state.frameworks} handler={this.click} />
41-
<Footer/>
42-
</div>
42+
<Frameworks disabled={this.state.disableButton} frameworks={this.state.frameworks} handler={this.click} loadingGif={this.loadingGif} />
43+
<Footer/>
44+
</div>
4345
);
4446
}
4547
}

src/app/frameworks/Frameworks.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import Framework from './framework/Framework.js'
44

55
class Grid extends Component {
66
renderFramework(f, t, cl) {
7-
return <Framework disabled={this.props.disabled} framework={f} onClickHandler={this.props.handler}/>
7+
return <Framework disabled={this.props.disabled} framework={f} onClickHandler={this.props.handler} loadingGif={this.props.loadingGif}/>
88
}
99

1010
render() {

src/app/frameworks/framework/Framework.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ class Framework extends Component {
55
render() {
66
console.log(this.props.disabled);
77
return (
8-
<button className="Framework" onClick={() => this.props.onClickHandler(this.props.framework)} disabled={this.props.disabled}>
9-
<img className="logo" src={this.props.framework.img} alt=""/>
8+
<button className="Framework" onClick={() => this.props.onClickHandler(this.props.framework)} disabled={this.props.disabled || this.props.framework.disabled}>
9+
<img className="logo" src={this.props.framework.loading ? this.props.loadingGif : this.props.framework.img} alt=""/>
1010
<div className="label">
1111
<span className="name">{this.props.framework.name}</span>
1212
<span className="details">{this.props.framework.details}</span>

0 commit comments

Comments
 (0)