mirror of
https://github.com/chaoticbackup/chaoticbackup.github.io.git
synced 2026-08-21 08:04:18 -05:00
search by set
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -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();
|
||||
|
||||
@@ -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 />
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user