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