ngsplanner/src/skilltree/skillTreeSelector.js

24 lines
1.2 KiB
JavaScript
Raw Normal View History

2021-08-14 13:00:30 +09:00
import { useEffect, useState } from 'react'
function SkillTreeSelector(p) {
2021-08-14 14:18:08 +09:00
const [skillList,setSkillList] = useState([])
2021-08-14 13:00:30 +09:00
useEffect(()=>{
2021-08-14 14:18:08 +09:00
setSkillList(p.GetData("class_skill"))
},[p.cl])
2021-08-14 13:00:30 +09:00
2021-08-14 14:18:08 +09:00
return <>
<select onChange={(f)=>{p.callback(f.currentTarget.value,Number(p.x),Number(p.y))}} style={{position:"absolute",left:p.ADJUSTMENT[0]+(p.x*p.gridSizeX+p.padX+p.gridSizeX/2),top:p.ADJUSTMENT[1]+(p.y*p.gridSizeY+p.padY+p.gridSizeY/2)}} value={p.defaultValue}>
{[' ','─','│','□','┌','└','┐','┘','┬','┴','├','┤','┼'].map((ch)=>
<option value={ch}>{ch}</option>)
}
</select>
2021-08-14 16:38:33 +09:00
{p.defaultValue==='□'&&<select style={{width:"64px",position:"absolute",left:p.ADJUSTMENT[0]+(p.x*p.gridSizeX+p.padX+p.gridSizeX/2),top:p.ADJUSTMENT[1]+(p.y*p.gridSizeY+p.padY+p.gridSizeY/2)+28}} onChange={(f)=>{p.skillCallback(p.x,p.y,f.currentTarget.value)}} value={p.skill.split(",")[2]}>
{["",...Object.keys((skillList)).filter((skill)=>skillList[skill].class_id===p.cl)].map((skill)=><option value={(skillList[skill])?skillList[skill].id:""}>{(skillList[skill])?skillList[skill].name:""}</option>)}
2021-08-14 14:18:08 +09:00
</select>}
</>
2021-08-14 13:00:30 +09:00
}
export {SkillTreeSelector}