Differential D1703 Diff 11331 binaries/data/mods/public/gui/gamesetup/Pages/MapBrowserPage/Controls/MapFilter.js
Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/gui/gamesetup/Pages/MapBrowserPage/Controls/MapFilter.js
- This file was added.
MapBrowserPageControls.MapFilter = class extends MapBrowserFilter | |||||
{ | |||||
constructor(mapBrowserPage, gridBrowser, setupPage) | |||||
{ | |||||
super(); | |||||
this.mapBrowserPage = mapBrowserPage; | |||||
this.gridBrowser = gridBrowser; | |||||
this.mapFilters = mapBrowserPage.setupWindow.controls.mapFilters; | |||||
this.control = Engine.GetGUIObjectByName("mapBrowserMapFilterDropdown"); | |||||
this.control.onSelectionChange = this.onSelectionChange.bind(this); | |||||
this.label = Engine.GetGUIObjectByName("mapBrowserMapFilterLabel"); | |||||
this.resizeLabel(); | |||||
mapBrowserPage.registerOpenPageHandler(this.onOpenPage.bind(this)); | |||||
} | |||||
onOpenPage() | |||||
{ | |||||
this.updateMapFilter(g_GameAttributes.mapFilter); | |||||
} | |||||
onMapTypeUpdate() | |||||
{ | |||||
this.updateMapFilter(this.getSelected()); | |||||
this.gridBrowser.updateMapList(); | |||||
this.gridBrowser.goToPage(0); | |||||
} | |||||
onSelectionChange() | |||||
{ | |||||
this.gridBrowser.updateMapList(); | |||||
this.gridBrowser.goToPage(0); | |||||
} | |||||
updateMapFilter(selectedMapFilter) | |||||
{ | |||||
let filters = this.mapFilters.getAvailableMapFilters( | |||||
this.mapBrowserPage.controls.MapType.getSelected()); | |||||
this.control.list = filters.map(filter => filter.Title); | |||||
this.control.list_data = filters.map(filter => filter.Name); | |||||
this.control.selected = | |||||
this.control.list_data.indexOf(selectedMapFilter); | |||||
} | |||||
getSelected() | |||||
{ | |||||
return this.control.list_data[this.control.selected] || g_GameAttributes.mapFilter; | |||||
} | |||||
}; |
Wildfire Games · Phabricator