0.1.2.1
This commit is contained in:
@@ -3,6 +3,7 @@ import React from 'react';
|
||||
import {Classes} from './class/class_loader';
|
||||
import {Students_loader} from './class/students_loader';
|
||||
import { Student } from './ui/student';
|
||||
import { User } from './static/user';
|
||||
|
||||
export class Main extends React.Component{
|
||||
constructor(props){
|
||||
@@ -11,15 +12,19 @@ export class Main extends React.Component{
|
||||
classes :['1'],
|
||||
selected:"-",
|
||||
students:[],
|
||||
stud_html:[]
|
||||
stud_html:[],
|
||||
choose:1
|
||||
}
|
||||
|
||||
this.selCh = this.selCh.bind(this);
|
||||
this.changeChoosen = this.changeChoosen.bind(this);
|
||||
this.choose = this.choose.bind(this);
|
||||
|
||||
var me = this;
|
||||
Classes.load_Classes((data)=>{
|
||||
me.setState({classes:data.classes});
|
||||
});
|
||||
|
||||
}
|
||||
selCh(e){
|
||||
console.log(e.target.value);
|
||||
@@ -28,7 +33,9 @@ export class Main extends React.Component{
|
||||
if(v!=='-'){
|
||||
Students_loader.loadStudents(e.target.value,(data)=>{
|
||||
console.log(data)
|
||||
User.user_arr = [];
|
||||
me.setState({students:[],stud_html:[]});
|
||||
|
||||
var ht = [];
|
||||
data.user.map((cl,i)=>
|
||||
ht.push(<Student username={cl} cl={this.state.selected} i={i}></Student>)
|
||||
@@ -37,19 +44,47 @@ export class Main extends React.Component{
|
||||
me.setState({students:data.user,selected:v,stud_html:ht})
|
||||
})
|
||||
}else{
|
||||
User.user_arr = [];
|
||||
me.setState({students:[],selected:v,stud_html:[]})
|
||||
}
|
||||
}
|
||||
changeChoosen(e){
|
||||
this.setState({choose:e.target.value})
|
||||
}
|
||||
choose(){
|
||||
var me = this;
|
||||
var c = [];
|
||||
for(var i = 0;i<this.state.choose;i++){
|
||||
var y = -1;
|
||||
var nc = false;
|
||||
y = Math.floor(Math.random()*User.user_arr.length);
|
||||
if(c[0]==y){
|
||||
y = Math.floor(Math.random()*User.user_arr.length);
|
||||
}
|
||||
c.push(y);
|
||||
|
||||
User.user_arr[y].disappear();
|
||||
}
|
||||
console.log(c)
|
||||
}
|
||||
render(){
|
||||
return (
|
||||
<div>
|
||||
<div className="nav">
|
||||
<select onChange={this.selCh} value={this.state.selected}>
|
||||
<option value="-">-</option>
|
||||
{this.state.classes.map((cl,i)=>
|
||||
<option value={cl.toLowerCase()}>{cl.toUpperCase()}</option>
|
||||
)}
|
||||
</select>
|
||||
<div>
|
||||
<select onChange={this.selCh} value={this.state.selected}>
|
||||
<option value="-">-</option>
|
||||
{this.state.classes.map((cl,i)=>
|
||||
<option value={cl.toLowerCase()}>{cl.toUpperCase()}</option>
|
||||
)}
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<input type="number" min="1" value={this.state.choose} onChange={this.changeChoosen}/>
|
||||
</div>
|
||||
<div>
|
||||
<button onClick={this.choose}>Auswählen</button>
|
||||
</div>
|
||||
</div>
|
||||
<div className="studentList">
|
||||
{this.state.stud_html}
|
||||
|
||||
3
src/jsx/static/user.jsx
Normal file
3
src/jsx/static/user.jsx
Normal file
@@ -0,0 +1,3 @@
|
||||
export class User{
|
||||
static user_arr = [];
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
import React from 'react';
|
||||
|
||||
import {User} from './../static/user';
|
||||
|
||||
export class Student extends React.Component{
|
||||
constructor(props){
|
||||
super(props);
|
||||
@@ -8,10 +10,14 @@ export class Student extends React.Component{
|
||||
name:props.username,
|
||||
cl:props.cl,
|
||||
img_url:'/data/class/'+props.cl+'/'+props.username+'.svg',
|
||||
num:props.i
|
||||
num:props.i,
|
||||
dis:""
|
||||
}
|
||||
|
||||
this.onErr = this.onErr.bind(this);
|
||||
this.disappear = this.disappear.bind(this);
|
||||
|
||||
User.user_arr.push(this);
|
||||
}
|
||||
camelize(str) {
|
||||
var x = str.split('_');
|
||||
@@ -24,8 +30,11 @@ export class Student extends React.Component{
|
||||
var url = '/data/class/student.svg';
|
||||
this.setState({img_url:url});
|
||||
}
|
||||
disappear(){
|
||||
this.setState({dis:"disappear"});
|
||||
}
|
||||
render(){
|
||||
var c = "user chosen_"+this.state.num;
|
||||
var c = "user chosen_"+this.state.num+' '+this.state.dis;
|
||||
return (
|
||||
<div className={c}>
|
||||
<div className="user_img"><img src={this.state.img_url} onError={this.onErr} alt=""></img></div>
|
||||
|
||||
Reference in New Issue
Block a user