Changeset 942 for js/human_3d_alignment/src
- Timestamp:
- 06/05/20 17:16:18 (5 years ago)
- Location:
- js/human_3d_alignment/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
js/human_3d_alignment/src/index.jsx
r918 r942 53 53 window.logger = new Module.LoggerToStdout(Module.LoggerBase.Enable); // While this object exists, all messages emitted by SDK loggers will be printf()'ed and consequently will appear in the JS console. 54 54 this.layout = [ 55 {name:'0,textviewer', x: 0, y: 0, w: 9, h: 1},55 {name:'0,textviewer', x: 0, y: 0, w: 12, h: 1}, 56 56 {name:'2,similviewer', x: 0, y: 1, w: 6, h: 4}, 57 57 {name:'3,fitviewer', x: 6, y: 1, w: 6, h: 2}, 58 58 {name:'4,sliderviewer', x: 6, y: 3, w: 6, h: 2}, 59 {name:'1,parmviewer', x: 9, y: 0, w: 3, h: 1}59 {name:'1,parmviewer', x: 9, y: 6, w: 12, h: 1} 60 60 ]; 61 61 … … 83 83 selectedGender: {value: "empty", label: " "}, 84 84 selectedYear: {value: "empty", label: " "}, 85 selectedSleepHours: {value: "empty", label: " "}, 86 selectedSleepHoursToday: {value: "empty", label: " "}, 87 selectedHand: {value: "empty", label: " "}, 88 selectedYearsGamePlaying: {value: "empty", label: " "}, 89 selectedHoursGamePlaying: {value: "empty", label: " "}, 90 selectedMusicalExperience: {value: "empty", label: " "}, 91 selectedMusicalDuration: {value: "empty", label: " "}, 92 selectedLanguages: {value: "empty", label: " "}, 93 selectedSportYears: {value: "empty", label: " "}, 94 selectedSportHours: {value: "empty", label: " "}, 95 selectedSportType: {value: "empty", label: " "}, 96 selectedCons: {value: "empty", label: " "}, 97 selectedCalculations: {value: "empty", label: " "}, 98 selectedNavigation: {value: "empty", label: " "}, 85 99 percent: 0, 86 100 sliderUpdated: true, … … 110 124 this.handleChangeIp = this.handleChangeIp.bind(this); 111 125 this.handleChangeGender = this.handleChangeGender.bind(this); 126 this.handleChangeHand = this.handleChangeHand.bind(this); 127 this.handleChangeYearsGamePlaying = this.handleChangeYearsGamePlaying.bind(this); 128 this.handleChangeHoursGamePlaying = this.handleChangeHoursGamePlaying.bind(this); 112 129 this.handleChangeYear = this.handleChangeYear.bind(this); 130 this.handleChangeSleepHours = this.handleChangeSleepHours.bind(this); 131 this.handleChangeSleepHoursToday = this.handleChangeSleepHoursToday.bind(this); 132 this.handleChangeMusicalExperience = this.handleChangeMusicalExperience.bind(this); 133 this.handleChangeMusicalDuration = this.handleChangeMusicalDuration.bind(this); 134 this.handleChangeLanguages = this.handleChangeLanguages.bind(this); 135 this.handleChangeSportYears = this.handleChangeSportYears.bind(this); 136 this.handleChangeSportHours = this.handleChangeSportHours.bind(this); 137 this.handleChangeSportType = this.handleChangeSportType.bind(this); 138 this.handleChangeCons = this.handleChangeCons.bind(this); 139 this.handleChangeCalculations = this.handleChangeCalculations.bind(this); 140 this.handleChangeNavigation = this.handleChangeNavigation.bind(this); 113 141 this.handleChangePercent = this.handleChangePercent.bind(this); 114 142 this.handleChangeStartTime = this.handleChangeStartTime.bind(this); … … 144 172 this.getIp(); //set user ip 145 173 this.genotypes = new Genotypes(this, "https://raw.githubusercontent.com/arturolejnik95/human_3d_alignment/master/walking.gen"); //load text from file to this.genotypes 146 let head = "'User ID'|'User IP'|'Gender'|'Year of born'|'Start time'|'Stop time'|'Position of 1st'|'Position of 2nd'|'Rotation of 1st'|'Rotation of 2nd'|'ID 1st'|'ID 2nd'|'Fit'|'Result'\n" 174 //or another URL... 175 let head = "'User ID'|'User IP'|'Gender'|'Year of birth'|'Handeness'|'Sleep hours'|'Sleep hours today'|'YearsGamePlaying'|'HoursGamePlaying'|'Musical experience'|'MusicalDuration'|'Languages'|'SportYears'|'SportHours'|'SportType'|'Cons'|'Calculations'|'Navigation'|'Start time'|'Stop time'|'Position of 1st'|'Position of 2nd'|'Rotation of 1st'|'Rotation of 2nd'|'ID 1st'|'ID 2nd'|'Fit'|'Result'\n" 147 176 this.handleChangeResult(head); 148 177 } … … 207 236 this.state.selectedGender.value + '|' + 208 237 this.state.selectedYear.value + '|' + 238 this.state.selectedHand.value + '|' + 239 this.state.selectedSleepHours.value + '|' + 240 this.state.selectedSleepHoursToday.value + '|' + 241 this.state.selectedYearsGamePlaying.value + '|' + 242 this.state.selectedHoursGamePlaying.value + '|' + 243 this.state.selectedMusicalExperience.value + '|' + 244 this.state.selectedMusicalDuration.value + '|' + 245 this.state.selectedLanguages.value + '|' + 246 this.state.selectedSportYears.value + '|' + 247 this.state.selectedSportHours.value + '|' + 248 this.state.selectedSportType.value + '|' + 249 this.state.selectedCons.value + '|' + 250 this.state.selectedCalculations.value + '|' + 251 this.state.selectedNavigation.value + '|' + 209 252 start + '|' + 210 253 stop + '|' + … … 243 286 }); 244 287 245 rawFile.open("POST", 'https://ptsv2.com/t/b7nhq-1578108725/post'); 288 rawFile.open("POST", 'https://ptsv2.com/t/b7nhq-1578108725/post'); //or another URL... 246 289 rawFile.setRequestHeader("Content-type", 'text/plain'); 247 290 rawFile.send(fit); … … 331 374 332 375 /** 333 * Check i s user ready to go to the next question by checking choosed gender, birth year and percent of similarity376 * Check if the user is ready to go to the next question by checking if all the answers are selected 334 377 */ 335 378 isReady() { 336 if (this.state.selected Gender.value != 'empty' && this.state.selectedYear.value != 'empty' && this.state.sliderUpdated) {379 if (this.state.selectedSportType.value != 'empty' && this.state.selectedYearsGamePlaying.value != 'empty' && this.state.selectedHoursGamePlaying.value != 'empty' && this.state.selectedMusicalDuration.value != 'empty' && this.state.selectedLanguages.value != 'empty' && this.state.selectedSportYears.value != 'empty' && this.state.selectedSportHours.value != 'empty' && this.state.selectedCons.value != 'empty' && this.state.selectedCalculations.value != 'empty' && this.state.selectedNavigation.value != 'empty' && this.state.selectedMusicalExperience.value != 'empty' && this.state.selectedGender.value != 'empty' && this.state.selectedSleepHoursToday.value != 'empty' && this.state.selectedSleepHours.value != 'empty' && this.state.selectedHand.value != 'empty' && this.state.selectedYear.value != 'empty' && this.state.sliderUpdated) { 337 380 this.setState({isDisable: false}, function() { 338 381 console.log(this.state.isDisable); … … 393 436 this.setState({ selectedGender: gen }, function() { 394 437 console.log(`Gender selected:`, this.state.selectedGender); 438 this.isReady(); 439 }); 440 }; 441 442 /** 443 * Allow to change sport type in state 444 * @param {string} sport type choosed sport type by user in listbox 445 */ 446 handleChangeSportType(sporttype) { 447 this.setState({ selectedSportType: sporttype }, function() { 448 console.log(`Sport type selected:`, this.state.selectedSportType); 449 this.isReady(); 450 }); 451 }; 452 453 /** 454 * Allow to years game playing type in state 455 * @param {string} gameyp type choosed years game playing by user in listbox 456 */ 457 handleChangeYearsGamePlaying(gameyp) { 458 this.setState({ selectedYearsGamePlaying: gameyp }, function() { 459 console.log(`Years game playing selected:`, this.state.selectedYearsGamePlaying); 460 this.isReady(); 461 }); 462 }; 463 464 /** 465 * Allow to hours game playing type in state 466 * @param {string} gamehp type choosed hours game playing by user in listbox 467 */ 468 handleChangeHoursGamePlaying(gamehp) { 469 this.setState({ selectedHoursGamePlaying: gamehp }, function() { 470 console.log(`Hours game playing selected:`, this.state.selectedHoursGamePlaying); 395 471 console.log(this.genotypes.id.length) 472 this.isReady(); 473 }); 474 }; 475 476 /** 477 * Allow to change musical expereince in state 478 * @param {string} musexp choosed musical expereince by user in listbox 479 */ 480 handleChangeMusicalExperience(musexp) { 481 this.setState({ selectedMusicalExperience: musexp }, function() { 482 console.log(`Musical experience selected:`, this.state.selectedMusicalExperience); 483 this.isReady(); 484 }); 485 }; 486 487 /** 488 * Allow to change hand in state 489 * @param {string} hand choosed hand by user in listbox 490 */ 491 handleChangeHand(hand) { 492 this.setState({ selectedHand: hand }, function() { 493 console.log(`Hand selected:`, this.state.selectedHand); 494 this.isReady(); 495 }); 496 }; 497 498 /** 499 * Allow to change musical duration in state 500 * @param {string} musdur choosed musical duration by user in listbox 501 */ 502 handleChangeMusicalDuration(musdur) { 503 this.setState({ selectedMusicalDuration: musdur }, function() { 504 console.log(`Musical hours selected:`, this.state.selectedMusicalDuration); 505 this.isReady(); 506 }); 507 }; 508 509 /** 510 * Allow to languages hand in state 511 * @param {string} languages choosed languages by user in listbox 512 */ 513 handleChangeLanguages(languages) { 514 this.setState({ selectedLanguages: languages }, function() { 515 console.log(`Languages selected:`, this.state.selectedLanguages); 516 this.isReady(); 517 }); 518 }; 519 520 /** 521 * Allow to change sport years hand in state 522 * @param {string} sportyr choosed sport years by user in listbox 523 */ 524 handleChangeSportYears(sportyr) { 525 this.setState({ selectedSportYears: sportyr }, function() { 526 console.log(`Sport years selected:`, this.state.selectedSportYears); 527 this.isReady(); 528 }); 529 }; 530 531 /** 532 * Allow to change sport hours in state 533 * @param {string} sporthr choosed sport hours by user in listbox 534 */ 535 handleChangeSportHours(sporthr) { 536 this.setState({ selectedSportHours: sporthr }, function() { 537 console.log(`Sport hours selected:`, this.state.selectedSportHours); 538 this.isReady(); 539 }); 540 }; 541 542 /** 543 * Allow to change conscientiousness in state 544 * @param {string} cons choosed hand by user in listbox 545 */ 546 handleChangeCons(cons) { 547 this.setState({ selectedCons: cons }, function() { 548 console.log(`Conscientiousness selected:`, this.state.selectedCons); 549 this.isReady(); 550 }); 551 }; 552 553 /** 554 * Allow to change calculations in state 555 * @param {string} calculations choosed calculations by user in listbox 556 */ 557 handleChangeCalculations(calculations) { 558 this.setState({ selectedCalculations: calculations }, function() { 559 console.log(`Calculations selected:`, this.state.selectedCalculations); 560 this.isReady(); 561 }); 562 }; 563 564 /** 565 * Allow to change navigation in state 566 * @param {string} navigation choosed navigation by user in listbox 567 */ 568 handleChangeNavigation(navigation) { 569 this.setState({ selectedNavigation: navigation }, function() { 570 console.log(`Navigation selected:`, this.state.selectedNavigation); 396 571 this.isReady(); 397 572 }); … … 435 610 this.setState({ selectedYear: year }, function() { 436 611 console.log(`Birth year selected:`, this.state.selectedYear); 612 this.isReady(); 613 }); 614 } 615 616 /** 617 * Allow to change birth year in state 618 * @param {number} year choosed birth year by user in listbox 619 */ 620 handleChangeSleepHours(hours) { 621 this.setState({ selectedSleepHours: hours }, function() { 622 console.log(`Birth year selected:`, this.state.selectedSleepHours); 623 this.isReady(); 624 }); 625 } 626 627 /** 628 * Allow to change birth year in state 629 * @param {number} year choosed birth year by user in listbox 630 */ 631 handleChangeSleepHoursToday(hours) { 632 this.setState({ selectedSleepHoursToday: hours }, function() { 633 console.log(`Birth year selected:`, this.state.selectedSleepHoursToday); 437 634 this.isReady(); 438 635 }); … … 666 863 case 'parmviewer': 667 864 items.push({content: <ParmViewer 668 handleChangeYear = {(year) => {this.handleChangeYear(year)}} 865 handleChangeYear = {(year) => {this.handleChangeYear(year)}} 866 handleChangeSleepHours = {(hours) => {this.handleChangeSleepHours(hours)}} 867 handleChangeSleepHoursToday = {(hours) => {this.handleChangeSleepHoursToday(hours)}} 669 868 handleChangeGender = {(gen) => {this.handleChangeGender(gen)}} 869 handleChangeSportType = {(gen) => {this.handleChangeSportType(gen)}} 870 handleChangeMusicalExperience = {(gen) => {this.handleChangeMusicalExperience(gen)}} 871 handleChangeHand = {(hand) => {this.handleChangeHand(hand)}} 872 handleChangeYearsGamePlaying = {(hand) => {this.handleChangeYearsGamePlaying(hand)}} 873 handleChangeHoursGamePlaying = {(hand) => {this.handleChangeHoursGamePlaying(hand)}} 874 handleChangeMusicalDuration = {(hand) => {this.handleChangeMusicalDuration(hand)}} 875 handleChangeLanguages = {(hand) => {this.handleChangeLanguages(hand)}} 876 handleChangeSportHours = {(hand) => {this.handleChangeSportHours(hand)}} 877 handleChangeSportYears = {(hand) => {this.handleChangeSportYears(hand)}} 878 handleChangeCons = {(hand) => {this.handleChangeCons(hand)}} 879 handleChangeCalculations = {(hand) => {this.handleChangeCalculations(hand)}} 880 handleChangeNavigation = {(hand) => {this.handleChangeNavigation(hand)}} 670 881 />, 671 882 i: "" + i + 'parmviewer', … … 718 929 <span> 719 930 <span style={{marginLeft: '20px', fontFamily: "'Fira Mono', Monaco, 'Andale Mono', 'Lucida Console', 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace"}}> 720 Ankieta931 Badanie 721 932 </span> 722 933 </span> -
js/human_3d_alignment/src/widgets/parmviewer.jsx
r911 r942 11 11 ]; 12 12 13 const hands = [ 14 { value: 'empty', label: ' ' }, 15 { value: 'left', label: 'Lewa' }, 16 { value: 'right', label: 'Prawa' }, 17 { value: 'both', label: 'Obie' } 18 ]; 19 13 20 const currentYear = new Date().getFullYear(); 14 21 … … 16 23 years.push({value: 'empty', label: ' '}) 17 24 18 for (let i = 0; i < 120; i += 1) {25 for (let i = 0; i < 50; i += 1) { 19 26 years.push({ value: currentYear - i, label: currentYear - i }); 20 27 } 28 29 const hours = []; 30 hours.push({value: 'empty', label: ' '}) 31 32 for (let i = 0; i < 16.5; i += 0.5) { 33 hours.push({ value: i, label: i }); 34 } 35 36 const hours_week = []; 37 hours_week.push({value: 'empty', label: ' '}) 38 39 for (let i = 0; i < 26; i += 1) { 40 hours_week.push({ value: i, label: i }); 41 } 42 43 const years_num = []; 44 years_num.push({value: 'empty', label: ' '}) 45 46 for (let i = 0; i < 31; i += 1) { 47 years_num.push({ value: i, label: i }); 48 } 49 50 const language_num = []; 51 language_num.push({value: 'empty', label: ' '}) 52 53 for (let i = 0; i < 11; i += 1) { 54 language_num.push({ value: i, label: i }); 55 } 56 57 const likert = []; 58 likert.push({value: 'empty', label: ' '}) 59 likert.push({value: 'definetely_not', label: 'zdecydowanie się nie zgadzam'}) 60 likert.push({value: 'rather_not', label: 'raczej się nie zgadzam'}) 61 likert.push({value: 'undecided', label: 'trudno powiedzieć'}) 62 likert.push({value: 'rather_yes', label: 'raczej się zgadzam'}) 63 likert.push({value: 'definetely_yes', label: 'zdecydowanie się zgadzam'}) 64 65 const yes_no = []; 66 yes_no.push({value: 'empty', label: ' '}); 67 yes_no.push({value: 'yes', label: 'tak'}); 68 yes_no.push({value: 'no', label: 'nie'}); 69 70 const musical_level = []; 71 musical_level.push({value: 'empty', label: ' '}); 72 musical_level.push({value: 'amateur', label: 'amatorsko'}); 73 musical_level.push({value: 'proffesional', label: 'profesjonalnie'}); 74 musical_level.push({value: 'none', label: 'wcale'}); 75 76 const sports = []; 77 sports.push({value: 'empty', label: ' '}); 78 sports.push({value: 'none', label: 'nie uprawiam sportu'}); 79 sports.push({value: 'cardio', label: 'wytrzymałościowy'}); 80 sports.push({value: 'strength', label: 'siłowy'}); 81 sports.push({value: 'intellectual', label: 'intelektualny'}); 82 sports.push({value: 'combination', label: 'jakaś kombinacja powyższych'}); 21 83 22 84 const styles = { … … 66 128 this.state = {}; 67 129 } 130 68 131 69 132 render() { … … 98 161 <div style={styles.ind}/> 99 162 </div> 163 <div className='hand' style={styles.row}> 164 <span htmlFor="hand" style={styles.desc}>Dominująca ręka</span> 165 <Select 166 options={hands} 167 onChange={this.props.handleChangeHand} 168 placeholder='Wybierz dominującą rękę' 169 display={'table-cell'} 170 height={'20px'} 171 styles={styles.select} 172 noValidate 173 /> 174 <div style={styles.ind}/> 175 </div> 176 <div className='sleep_hours' style={styles.row}> 177 <span htmlFor="sleep_hours" style={styles.desc}>Średnia liczba godzin snu</span> 178 <Select 179 options={hours} 180 onChange={this.props.handleChangeSleepHours} 181 placeholder={'Wybierz średnią liczbę godzin snu'} 182 display={'table-cell'} 183 height={'20px'} 184 styles={styles.select} 185 noValidate 186 /> 187 <div style={styles.ind}/> 188 </div> 189 <div className='sleep_hours_today' style={styles.row}> 190 <span htmlFor="sleep_hours_today" style={styles.desc}>Liczba godzin snu dzisiaj</span> 191 <Select 192 options={hours} 193 onChange={this.props.handleChangeSleepHoursToday} 194 placeholder={'Wybierz liczbę godzin snu dzisiejszej nocy'} 195 display={'table-cell'} 196 height={'20px'} 197 styles={styles.select} 198 noValidate 199 /> 200 <div style={styles.ind}/> 201 </div> 202 <div className='years_game_playing' style={styles.row}> 203 <span htmlFor="years_game_playing" style={styles.desc}>Liczba lat grania w gry komputerowe</span> 204 <Select 205 options={years_num} 206 onChange={this.props.handleChangeYearsGamePlaying} 207 placeholder={'Wybierz liczbę lat grania w gry komputerowe'} 208 display={'table-cell'} 209 height={'20px'} 210 styles={styles.select} 211 noValidate 212 /> 213 <div style={styles.ind}/> 214 </div> 215 <div className='hours_game_playing' style={styles.row}> 216 <span htmlFor="hours_game_playing" style={styles.desc}>Średnio godzin grania w gry komputerowe na dobę</span> 217 <Select 218 options={hours} 219 onChange={this.props.handleChangeHoursGamePlaying} 220 placeholder={'Wybierz średnią liczbę godzin grania w gry komputerowe na dobę'} 221 display={'table-cell'} 222 height={'20px'} 223 styles={styles.select} 224 noValidate 225 /> 226 <div style={styles.ind}/> 227 </div> 228 <div className='musical_experience' style={styles.row}> 229 <span htmlFor="musical_experience" style={styles.desc}>Gram na instrumencie lub śpiewam: poziom</span> 230 <Select 231 options={musical_level} 232 onChange={this.props.handleChangeMusicalExperience} 233 placeholder={'Wybierz na jakim poziomie grasz na instrumencie lub śpiewasz'} 234 display={'table-cell'} 235 height={'20px'} 236 styles={styles.select} 237 noValidate 238 /> 239 <div style={styles.ind}/> 240 </div> 241 <div className='musical_duration' style={styles.row}> 242 <span htmlFor="musical_duration" style={styles.desc}>Gram na instrumencie lub śpiewam: liczba lat</span> 243 <Select 244 options= {years_num} 245 onChange={this.props.handleChangeMusicalDuration} 246 placeholder={'Wybierz ile lat grasz na instrumencie lub śpiewasz'} 247 display={'table-cell'} 248 height={'20px'} 249 styles={styles.select} 250 noValidate 251 /> 252 <div style={styles.ind}/> 253 </div> 254 <div className='languages' style={styles.row}> 255 <span htmlFor="languages" style={styles.desc}>Liczba języków obcych</span> 256 <Select 257 options= {language_num} 258 onChange={this.props.handleChangeLanguages} 259 placeholder={'Wybierz ilu języków obcych się uczysz/uczyłeś/uczyłaś'} 260 display={'table-cell'} 261 height={'20px'} 262 styles={styles.select} 263 noValidate 264 /> 265 <div style={styles.ind}/> 266 </div> 267 <div className='sport_years' style={styles.row}> 268 <span htmlFor="sport_years" style={styles.desc}>Liczba lat treningu sportowego</span> 269 <Select 270 options= {years_num} 271 onChange={this.props.handleChangeSportYears} 272 placeholder={'Wybierz od ilu lat uprawiasz sport'} 273 display={'table-cell'} 274 height={'20px'} 275 styles={styles.select} 276 noValidate 277 /> 278 <div style={styles.ind}/> 279 </div> 280 <div className='sport_hours' style={styles.row}> 281 <span htmlFor="sport_hours" style={styles.desc}>Liczba godzin treningu sportowego tygodniowo</span> 282 <Select 283 options= {hours_week} 284 onChange={this.props.handleChangeSportHours} 285 placeholder={'Wybierz ile godzin tygodniowo uprawiasz sport'} 286 display={'table-cell'} 287 height={'20px'} 288 styles={styles.select} 289 noValidate 290 /> 291 <div style={styles.ind}/> 292 </div> 293 <div className='sport_type' style={styles.row}> 294 <span htmlFor="sport_type" style={styles.desc}>Typ aktywności sportowej</span> 295 <Select 296 options= {sports} 297 onChange={this.props.handleChangeSportType} 298 placeholder={'Wybierz typ aktywności sportowej'} 299 display={'table-cell'} 300 height={'20px'} 301 styles={styles.select} 302 noValidate 303 /> 304 <div style={styles.ind}/> 305 </div> 306 307 <div style={styles.interval}/> 308 <div className='cons' style={styles.row}> 309 <span htmlFor="cons" style={styles.desc}>Uważam się za osobę sumienną</span> 310 <Select 311 options= {likert} 312 onChange={this.props.handleChangeCons} 313 placeholder={'Wybierz na ile zgadzasz się ze zdaniem po lewej'} 314 display={'table-cell'} 315 height={'20px'} 316 styles={styles.select} 317 noValidate 318 /> 319 <div style={styles.ind}/> 320 </div> 321 <div className='calculations' style={styles.row}> 322 <span htmlFor="calculations" style={styles.desc}>Uważam, że sprawnie wykonuję obliczenia w pamięci</span> 323 <Select 324 options= {likert} 325 onChange={this.props.handleChangeCalculations} 326 placeholder={'Wybierz na ile zgadzasz się ze zdaniem po lewej'} 327 display={'table-cell'} 328 height={'20px'} 329 styles={styles.select} 330 noValidate 331 /> 332 <div style={styles.ind}/> 333 </div> 334 <div className='navigation' style={styles.row}> 335 <span htmlFor="navigation" style={styles.desc}>Uważam, że sprawnie posługuję się mapą/nawigacją i dobrze orientuję się w terenie</span> 336 <Select 337 options= {likert} 338 onChange={this.props.handleChangeNavigation} 339 placeholder={'Wybierz na ile zgadzasz się ze zdaniem po lewej'} 340 display={'table-cell'} 341 height={'20px'} 342 styles={styles.select} 343 noValidate 344 /> 345 <div style={styles.ind}/> 346 </div> 100 347 </div> 101 348 );
Note: See TracChangeset
for help on using the changeset viewer.