Mercurial > wow > lfg-premade-filter
comparison LFGFilter.lua @ 45:82db5d724aa5
get rid of patched Blizzard's copypasta - it breaks entire serach every time Blizzard changes something; use more robust wrapper instead
author | rowaasr13 |
---|---|
date | Sat, 17 Jun 2017 05:08:18 +0300 |
parents | 324bcc47f37a |
children |
comparison
equal
deleted
inserted
replaced
44:2852020ba2fc | 45:82db5d724aa5 |
---|---|
73 { "iron_maidens", "im", "maidens" }, | 73 { "iron_maidens", "im", "maidens" }, |
74 { "blackhand" }, | 74 { "blackhand" }, |
75 } | 75 } |
76 } | 76 } |
77 | 77 |
78 -- Don't forget to update it when according to Blizzard code | 78 local prev_LFGListSearchPanel_DoSearch = LFGListSearchPanel_DoSearch |
79 function LFGListSearchPanel_DoSearch(self) | 79 function LFGListSearchPanel_DoSearch(self, ...) |
80 local searchText = self.SearchBox:GetText(); | 80 local searchText = self.SearchBox:GetText(); |
81 local real_search, filter_expression = searchText:match("^([^=]-)=(.+)$") | 81 local real_search, filter_expression = searchText:match("^([^=]-)=(.+)$") |
82 if filter_expression then | 82 if filter_expression then |
83 filter_expression = filter_expression:lower() | 83 filter_expression = filter_expression:lower() |
84 self.filter_func = filter_expression_functions[filter_expression] | 84 self.filter_func = filter_expression_functions[filter_expression] |
85 end | 85 end |
86 self.filter_expression = filter_expression | 86 self.filter_expression = filter_expression |
87 | 87 |
88 local languages = C_LFGList.GetLanguageSearchFilter(); | 88 local need_unwrapping = real_search and real_search ~= searchText |
89 C_LFGList.Search(self.categoryID, real_search or searchText, self.filters, self.preferredFilters, languages); | 89 if need_unwrapping then |
90 self.searching = true; | 90 self.SearchBox:SetText(real_search) |
91 self.searchFailed = false; | 91 end |
92 self.selectedResult = nil; | 92 |
93 LFGListSearchPanel_UpdateResultList(self); | 93 prev_LFGListSearchPanel_DoSearch(self, ...) |
94 LFGListSearchPanel_UpdateResults(self); | 94 |
95 if need_unwrapping then | |
96 self.SearchBox:SetText(searchText) | |
97 end | |
95 end | 98 end |
96 | 99 |
97 local localized_encounter_name_to_idx = {} | 100 local localized_encounter_name_to_idx = {} |
98 | 101 |
99 local dead = true | 102 local dead = true |