mirror of
https://gitlab.com/Deukhoofd/BattleSim.git
synced 2025-10-27 18:00:03 +00:00
Added sort by tier and filter to current tier
This commit is contained in:
@@ -21,6 +21,9 @@ $pokemon-list-height = 50px
|
||||
margin-bottom 0!important
|
||||
width 100%
|
||||
|
||||
.filter-tier-box
|
||||
width 25px
|
||||
|
||||
.teambuilder .meta-info
|
||||
max-width 1368px
|
||||
|
||||
|
||||
@@ -26,9 +26,11 @@ class @PokemonEditView extends Backbone.View
|
||||
speciesTemplate: JST['teambuilder/species']
|
||||
nonStatsTemplate: JST['teambuilder/non_stats']
|
||||
movesTemplate: JST['teambuilder/moves']
|
||||
tierFilterBool: true
|
||||
|
||||
events:
|
||||
'change .sortSpecies': 'changeSort'
|
||||
'change .filter-tier': 'filterTier'
|
||||
'change .species_list': 'changeSpecies'
|
||||
'change .selected_nickname': 'changeNickname'
|
||||
'click .selected_shininess': 'changeShiny'
|
||||
@@ -61,10 +63,41 @@ class @PokemonEditView extends Backbone.View
|
||||
@setGeneration(format.generation)
|
||||
# TODO: Set PBV limit based on conditions
|
||||
|
||||
filterTier:(e) =>
|
||||
thistier = @pokemon.getTeam().getTier().tierRank
|
||||
{SpeciesData, FormeData} = @generation
|
||||
if e.target.checked
|
||||
arr = @objectToArr(SpeciesData)
|
||||
console.log(thistier)
|
||||
for obj in arr
|
||||
obj.tier = window.PokeBattle.Tier.Tiers[FormeData[obj.pokename].default.tier[0]].tierRank
|
||||
console.log(arr)
|
||||
arr = _.filter arr, (thing) -> thing.tier is thistier
|
||||
obj = @arrToObject(arr)
|
||||
@speciesList = (species for species, data of obj)
|
||||
@render()
|
||||
else
|
||||
@speciesList = (species for species, data of SpeciesData)
|
||||
@render()
|
||||
|
||||
|
||||
objectToArr: (data) =>
|
||||
arr = []
|
||||
for key, val of data
|
||||
val.pokename = key
|
||||
arr.push(val)
|
||||
return arr
|
||||
|
||||
arrToObject: (arr) =>
|
||||
obj = {}
|
||||
for thing in arr
|
||||
obj[thing.pokename] = thing
|
||||
return obj
|
||||
|
||||
changeSort:(e) =>
|
||||
sort = $(e.currentTarget).val()
|
||||
if sort =="Default Sort"
|
||||
@sortSpecieslist("Default")
|
||||
if sort == "Sort"
|
||||
@sortSpecieslist("tier", false)
|
||||
else if sort == "Sort by Dexnumber"
|
||||
@sortSpecieslist("id", false)
|
||||
else if sort == "Invert by Dexnumber"
|
||||
@@ -73,7 +106,10 @@ class @PokemonEditView extends Backbone.View
|
||||
@sortSpecieslist("pokename", false)
|
||||
else if sort == "Invert Alphabetically"
|
||||
@sortSpecieslist("pokename", true)
|
||||
|
||||
else if sort == "Sort by Tier"
|
||||
@sortSpecieslist("tier", false)
|
||||
else if sort == "Invert by Tier"
|
||||
@sortSpecieslist("tier", true)
|
||||
|
||||
sortSpecieslist: (option, reverse) =>
|
||||
{MoveData, SpeciesData, ItemData} = @generation
|
||||
@@ -85,17 +121,18 @@ class @PokemonEditView extends Backbone.View
|
||||
@render()
|
||||
|
||||
sortObject: (data, option, reverse) ->
|
||||
arr = []
|
||||
for key, val of data
|
||||
val.pokename = key
|
||||
arr.push(val)
|
||||
arr = _.sortBy(arr, option)
|
||||
arr = @objectToArr(data)
|
||||
if option != 'tier'
|
||||
arr = _.sortBy(arr, option)
|
||||
else
|
||||
{FormeData} = @generation
|
||||
for obj in arr
|
||||
obj.tier = window.PokeBattle.Tier.Tiers[FormeData[obj.pokename].default.tier[0]].tierRank
|
||||
arr = _.sortBy(arr, 'tier')
|
||||
if reverse == true
|
||||
arr.reverse()
|
||||
newobj = {}
|
||||
for thing in arr
|
||||
newobj[thing.pokename] = thing
|
||||
finished = newobj
|
||||
obj = @arrToObject(arr)
|
||||
finished = obj
|
||||
|
||||
setGeneration: (generation) =>
|
||||
@generation = window.Generations[generation.toUpperCase()]
|
||||
@@ -387,6 +424,13 @@ class @PokemonEditView extends Backbone.View
|
||||
return "<div class='clearfix'>#{item.text}<div class='tier'>#{tier.humanName}</div></div>"
|
||||
)
|
||||
attachSelectize(@$el.find(".selected_item"))
|
||||
filtertierbox = @$el.find(".filter-tier-box")[0]
|
||||
if @tierFilterBool is false
|
||||
filtertierbox.checked = true
|
||||
@tierFilterBool = true
|
||||
else if @tierFilterBool is true
|
||||
filtertierbox.checked = false
|
||||
@tierFilterBool = false
|
||||
return this
|
||||
|
||||
renderPokemon: =>
|
||||
|
||||
@@ -14,12 +14,17 @@ mixin printStat(statName, keyName)
|
||||
.meta-info.clearfix
|
||||
.left-side
|
||||
.species
|
||||
label.filter-tier
|
||||
input.filter-tier-box(type='checkbox')
|
||||
| Filter to Current Tier
|
||||
select.sortSpecies
|
||||
option=""
|
||||
option="Sort"
|
||||
option="Sort by Dexnumber"
|
||||
option="Invert by Dexnumber"
|
||||
option="Sort Alphabetically"
|
||||
option="Invert Alphabetically"
|
||||
option="Sort by Tier"
|
||||
option="Invert by Tier"
|
||||
select.species_list
|
||||
option
|
||||
each species in speciesList
|
||||
|
||||
Reference in New Issue
Block a user