Add exclusion for Characters
Users should not be able to add multiple characters of the same name to multiple positions.
This commit is contained in:
parent
907d9f05e4
commit
9e0a1219d5
2 changed files with 15 additions and 3 deletions
|
|
@ -50,8 +50,17 @@ class SearchModal extends React.Component<Props, State> {
|
|||
}
|
||||
}
|
||||
|
||||
filterExclusions = (o: Character | Weapon | Summon) => {
|
||||
if (this.props.grid[this.props.fromPosition] &&
|
||||
o.granblue_id == this.props.grid[this.props.fromPosition].granblue_id) {
|
||||
return null
|
||||
} else return o
|
||||
}
|
||||
|
||||
fetchResults = (query: string) => {
|
||||
api.search(this.props.object, query)
|
||||
const excludes = Object.values(this.props.grid).filter(this.filterExclusions).map((o) => { return o.name.en }).join(',')
|
||||
|
||||
api.search(this.props.object, query, excludes)
|
||||
.then((response) => {
|
||||
const data = response.data
|
||||
const totalResults = data.length
|
||||
|
|
|
|||
|
|
@ -49,9 +49,12 @@ class Api {
|
|||
return axios.post(`${ process.env.REACT_APP_SIERO_OAUTH_URL || 'http://127.0.0.1:3000/oauth' }/token`, object)
|
||||
}
|
||||
|
||||
search(object: string, query: string) {
|
||||
search(object: string, query: string, excludes: string) {
|
||||
const resourceUrl = `${this.url}/${name}`
|
||||
return axios.get(`${resourceUrl}search/${object}?query=${query}`)
|
||||
const url = (excludes.length > 0) ?
|
||||
`${resourceUrl}search/${object}?query=${query}&excludes=${excludes}` :
|
||||
`${resourceUrl}search/${object}?query=${query}`
|
||||
return axios.get(url)
|
||||
}
|
||||
|
||||
check(resource: string, value: string) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue