search by set

This commit is contained in:
Daniel
2017-11-18 04:33:39 -05:00
parent 8d4677767e
commit 08f4f425b4
4 changed files with 52 additions and 14 deletions

File diff suppressed because one or more lines are too long

View File

@@ -60,6 +60,26 @@ class API {
console.log('setting up database failed', err);
}
}
// For the conversion of shorthand in database
get sets() {
return {
"DOP": "Dawn of Perim",
"ZOTH": "Zenith of the Hive",
"SS": "Silent Sands",
"MI": "M'arrillian Invasion",
"ROTO": "Rise of the Oligarch",
"TOTT": "Turn of the Tide",
"FUN": "Forged Unity",
"AU": "Alliance Unraveled",
"FAS": "Fire and Stone",
"SAS": "Storm and Sea",
"BR": "Beyond Rare",
"LR": "League Rewards",
"OP1": "Organized Play 1"
};
}
}
export default API.getInstance();

View File

@@ -23,7 +23,7 @@ export default class Creature extends React.Component {
<div style={{verticalAlign: 'text-top', float: 'left', width: "50%"}}>
<img height="20" className="icon" src={"/src/img/icons/tribes/"+creature.gsx$tribe.toLowerCase()+".png"}></img>
<span>{creature.gsx$name}</span><br />
<span>{creature.gsx$rarity}</span><br />
<span>{API.sets[creature.gsx$set]} | {creature.gsx$rarity}</span><br />
<span>Creature - {creature.gsx$tribe} {creature.gsx$types}</span><br />
<span>{elements}</span><br />
<span>Energy: {creature.gsx$energy}</span><br />

View File

@@ -81,6 +81,7 @@ export default class CollectionHome extends React.Component {
let tribes = {};
let elements = {};
let rarity = {};
let sets = {};
// TODO advanced filters
let search = (e) => {
@@ -144,6 +145,16 @@ export default class CollectionHome extends React.Component {
baseResultset = baseResultset.find({'gsx$rarity': {'$or': rarityList} });
}
let setsList = [];
for (const key in sets) {
if (sets[key].checked) {
setsList.push({'$eq': key});
}
}
if (setsList.length > 0) {
baseResultset = baseResultset.find({'gsx$set': {'$or': setsList} });
}
// Sort data descending alphabetically
let results = baseResultset.simplesort('gsx$name').data();
if (results.length > 0) this.content = results;
@@ -151,6 +162,11 @@ export default class CollectionHome extends React.Component {
this.p = 1;
}
let setsInput = [];
for (const key in API.sets) {
setsInput.push(<label key={key}><input type="checkbox" ref={(input) => sets[key] = input} />{API.sets[key]}</label>);
}
return (
<div>
<form onSubmit={search}>
@@ -183,6 +199,8 @@ export default class CollectionHome extends React.Component {
<label><input type="checkbox" ref={(input) => rarity["Promo"] = input}/>Promo</label>
</div>
<br />
<div>{setsInput}</div>
<br />
<p>
Since not all data has been entered not all cards are listed,<br />
to see incomplete cards, click&nbsp;