fix changing json type

This commit is contained in:
Muhammad Eko Prasetyo 2022-05-04 05:54:06 +07:00
parent 36ec24f023
commit 96cf7c3f8b
2 changed files with 17 additions and 22 deletions

View File

@ -86,15 +86,10 @@ export default function Artifacts() {
}; };
const getPercent = (affix:IReliquaryAffix)=>{ const getPercent = (affix:IReliquaryAffix)=>{
try{ if (affix.propType.indexOf("PERCENT") !== -1 || affix.propType.indexOf("CRITICAL") !== -1 || affix.propType.indexOf("EFFICIENCY") !== -1 || affix.propType.indexOf("HURT") !== -1) {
if (affix.PropType.indexOf("PERCENT") !== -1 || affix.PropType.indexOf("CRITICAL") !== -1 || affix.PropType.indexOf("EFFICIENCY") !== -1 || affix.PropType.indexOf("HURT") !== -1) { return parseFloat(String(affix.propValue*100)).toPrecision(3) + "%";
return parseFloat(String(affix.PropValue*100)).toPrecision(3) + "%";
}
return parseInt(String(affix.PropValue));
}catch (e) {
console.log(e);
return parseInt(String(affix.PropValue));
} }
return parseInt(String(affix.propValue));
}; };
const handleGeneratedArtifact = () => { const handleGeneratedArtifact = () => {
@ -158,7 +153,7 @@ export default function Artifacts() {
aria-label="Artifact Main Stats" id="ArtifactMainStats" aria-label="Artifact Main Stats" id="ArtifactMainStats"
className="block w-full shadow-sm focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm border-gray-300 rounded-md" className="block w-full shadow-sm focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm border-gray-300 rounded-md"
options={reliquaryMains} options={reliquaryMains}
getOptionLabel={(option) => option.PropType} getOptionLabel={(option) => option.propType}
onChange={handleMainStatChange} onChange={handleMainStatChange}
renderInput={(params) => <TextField {...params} label="Main Stats" variant="outlined"/>} renderInput={(params) => <TextField {...params} label="Main Stats" variant="outlined"/>}
/> />
@ -175,9 +170,9 @@ export default function Artifacts() {
{reliquaryAffixes.map((affix, index) => { {reliquaryAffixes.map((affix, index) => {
return ( return (
<div key={index} className="flex"> <div key={index} className="flex">
<input type="checkbox" className="mr-4 ml-4 focus:ring-indigo-500 h-4 w-4 mt-1 text-indigo-600 border-gray-300 rounded" value={affix.Id} id={"select-"+affix.Id} onChange={(e)=>handleAffixSelected(e,false,0)}/> <input type="checkbox" className="mr-4 ml-4 focus:ring-indigo-500 h-4 w-4 mt-1 text-indigo-600 border-gray-300 rounded" value={affix.id} id={"select-"+affix.id} onChange={(e)=>handleAffixSelected(e,false,0)}/>
<label className="flex-grow" htmlFor={"select-"+affix.Id}>{affix.PropType +" - "+getPercent(affix)}</label> <label className="flex-grow" htmlFor={"select-"+affix.id}>{affix.propType +" - "+getPercent(affix)}</label>
<input type="number" defaultValue="1" min="1" className="flex-none block shadow-sm focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm border-gray-300 rounded-md" onChange={(e)=>handleAffixSelected(e,true, affix.Id)}/> <input type="number" defaultValue="1" min="1" className="flex-none block shadow-sm focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm border-gray-300 rounded-md" onChange={(e)=>handleAffixSelected(e,true, affix.id)}/>
</div> </div>
); );
})} })}

View File

@ -1,15 +1,15 @@
export interface IReliquaryMain { export interface IReliquaryMain {
Id: number; id: number;
PropDepotId: number; propDepotId: number;
PropType:string; propType:string;
AffixName:string; affixName:string;
} }
export interface IReliquaryAffix { export interface IReliquaryAffix {
Id: number; id: number;
DepotId: number; depotId: number;
GroupId: number; groupId: number;
PropType:string; propType:string;
PropValue:number; propValue:number;
} }
export default class ReliquaryDataProvider { export default class ReliquaryDataProvider {
private static reliquaryMains:IReliquaryMain[] = []; private static reliquaryMains:IReliquaryMain[] = [];
@ -25,7 +25,7 @@ export default class ReliquaryDataProvider {
let json:IReliquaryMain[] = await data.json(); let json:IReliquaryMain[] = await data.json();
this.reliquaryMains = []; this.reliquaryMains = [];
json.forEach(element => { json.forEach(element => {
if (this.reliquaryMains.filter(x => x.PropType === element.PropType).length === 0) if (this.reliquaryMains.filter(x => x.propType === element.propType).length === 0)
this.reliquaryMains.push(element) this.reliquaryMains.push(element)
}); });
} }