bugfix
This commit is contained in:
+106
-91
@@ -56,15 +56,117 @@ end
|
|||||||
|
|
||||||
private.RESULTS, private.SAVED, private.FILTER = 1, 2, 3
|
private.RESULTS, private.SAVED, private.FILTER = 1, 2, 3
|
||||||
|
|
||||||
|
do
|
||||||
|
local searches = {}
|
||||||
|
local search_index = 0
|
||||||
|
|
||||||
|
function private.current_search()
|
||||||
|
return searches[search_index]
|
||||||
|
end
|
||||||
|
|
||||||
|
function private.update_search(index)
|
||||||
|
searches[search_index].status_bar:Hide()
|
||||||
|
searches[search_index].table:Hide()
|
||||||
|
searches[search_index].table:SetSelectedRecord()
|
||||||
|
|
||||||
|
search_index = index
|
||||||
|
|
||||||
|
searches[search_index].status_bar:Show()
|
||||||
|
searches[search_index].table:Show()
|
||||||
|
|
||||||
|
m.search_box:SetText(searches[search_index].filter_string)
|
||||||
|
if search_index <= 1 then
|
||||||
|
m.previous_button:Disable()
|
||||||
|
else
|
||||||
|
m.previous_button:Enable()
|
||||||
|
end
|
||||||
|
if search_index == getn(searches) then
|
||||||
|
m.next_button:Hide()
|
||||||
|
m.search_box:SetPoint('LEFT', m.previous_button, 'RIGHT', 4, 0)
|
||||||
|
else
|
||||||
|
m.next_button:Show()
|
||||||
|
m.search_box:SetPoint('LEFT', m.next_button, 'RIGHT', 4, 0)
|
||||||
|
end
|
||||||
|
m.update_start_stop()
|
||||||
|
m.update_continuation()
|
||||||
|
end
|
||||||
|
|
||||||
|
function private.new_search(filter_string, prettified)
|
||||||
|
if prettified then
|
||||||
|
tinsert(aux_recent_searches, 1, {
|
||||||
|
filter_string = filter_string,
|
||||||
|
prettified = prettified,
|
||||||
|
})
|
||||||
|
while getn(aux_recent_searches) > 50 do
|
||||||
|
tremove(aux_recent_searches)
|
||||||
|
end
|
||||||
|
m.update_search_listings()
|
||||||
|
end
|
||||||
|
|
||||||
|
while getn(searches) > search_index do
|
||||||
|
tremove(searches)
|
||||||
|
end
|
||||||
|
local search = {
|
||||||
|
filter_string = filter_string,
|
||||||
|
records = {},
|
||||||
|
}
|
||||||
|
tinsert(searches, search)
|
||||||
|
if getn(searches) > 5 then
|
||||||
|
tremove(searches, 1)
|
||||||
|
tinsert(m.status_bars, tremove(m.status_bars, 1))
|
||||||
|
tinsert(m.tables, tremove(m.tables, 1))
|
||||||
|
search_index = 4
|
||||||
|
end
|
||||||
|
|
||||||
|
search.status_bar = m.status_bars[getn(searches)]
|
||||||
|
search.status_bar:update_status(100, 100)
|
||||||
|
search.status_bar:set_text('')
|
||||||
|
|
||||||
|
search.table = m.tables[getn(searches)]
|
||||||
|
search.table:SetSort(1,2,3,4,5,6,7,8,9)
|
||||||
|
search.table:Reset()
|
||||||
|
search.table:SetDatabase(search.records)
|
||||||
|
|
||||||
|
m.update_search(getn(searches))
|
||||||
|
end
|
||||||
|
|
||||||
|
function private.previous_search()
|
||||||
|
m.search_box:ClearFocus()
|
||||||
|
m.update_search(search_index - 1)
|
||||||
|
m.update_tab(m.RESULTS)
|
||||||
|
end
|
||||||
|
|
||||||
|
function private.next_search()
|
||||||
|
m.search_box:ClearFocus()
|
||||||
|
m.update_search(search_index + 1)
|
||||||
|
m.update_tab(m.RESULTS)
|
||||||
|
end
|
||||||
|
|
||||||
|
function private.initialize_search_state()
|
||||||
|
searches[0] = {
|
||||||
|
table = m.tables[1],
|
||||||
|
status_bar = m.status_bars[1],
|
||||||
|
records = {},
|
||||||
|
filter_string = ''
|
||||||
|
}
|
||||||
|
searches[0].table:SetDatabase(searches[0].records)
|
||||||
|
searches[0].status_bar:update_status(100, 100)
|
||||||
|
searches[0].status_bar:set_text('')
|
||||||
|
m.update_search(0)
|
||||||
|
searches[0].filter_string = nil
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
function public.FRAMES(f)
|
function public.FRAMES(f)
|
||||||
private.create_frames = f
|
private.create_frames = f
|
||||||
end
|
end
|
||||||
|
|
||||||
function m.LOAD()
|
function m.LOAD()
|
||||||
m.create_frames(m, public, private)
|
m.create_frames(m, public, private)
|
||||||
m.new_search('')
|
m.update_tab(m.SAVED)
|
||||||
m.update_tab(m.SAVED)
|
m.update_auto_buy_filter()
|
||||||
m.update_auto_buy_filter()
|
m.initialize_search_state()
|
||||||
end
|
end
|
||||||
|
|
||||||
function public.OPEN()
|
function public.OPEN()
|
||||||
@@ -535,93 +637,6 @@ function private.update_continuation()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
do
|
|
||||||
local searches = {}
|
|
||||||
local search_index = 1
|
|
||||||
|
|
||||||
function private.current_search()
|
|
||||||
return searches[search_index]
|
|
||||||
end
|
|
||||||
|
|
||||||
function private.update_search(index)
|
|
||||||
searches[search_index].status_bar:Hide()
|
|
||||||
searches[search_index].table:Hide()
|
|
||||||
searches[search_index].table:SetSelectedRecord()
|
|
||||||
|
|
||||||
search_index = index
|
|
||||||
|
|
||||||
searches[search_index].status_bar:Show()
|
|
||||||
searches[search_index].table:Show()
|
|
||||||
|
|
||||||
m.search_box:SetText(searches[search_index].filter_string)
|
|
||||||
if search_index == 1 then
|
|
||||||
m.previous_button:Disable()
|
|
||||||
else
|
|
||||||
m.previous_button:Enable()
|
|
||||||
end
|
|
||||||
if search_index == getn(searches) then
|
|
||||||
m.next_button:Hide()
|
|
||||||
m.search_box:SetPoint('LEFT', m.previous_button, 'RIGHT', 4, 0)
|
|
||||||
else
|
|
||||||
m.next_button:Show()
|
|
||||||
m.search_box:SetPoint('LEFT', m.next_button, 'RIGHT', 4, 0)
|
|
||||||
end
|
|
||||||
m.update_start_stop()
|
|
||||||
m.update_continuation()
|
|
||||||
end
|
|
||||||
|
|
||||||
function private.new_search(filter_string, prettified)
|
|
||||||
if prettified then
|
|
||||||
tinsert(aux_recent_searches, 1, {
|
|
||||||
filter_string = filter_string,
|
|
||||||
prettified = prettified,
|
|
||||||
})
|
|
||||||
while getn(aux_recent_searches) > 50 do
|
|
||||||
tremove(aux_recent_searches)
|
|
||||||
end
|
|
||||||
m.update_search_listings()
|
|
||||||
end
|
|
||||||
|
|
||||||
while getn(searches) > search_index do
|
|
||||||
tremove(searches)
|
|
||||||
end
|
|
||||||
local search = {
|
|
||||||
filter_string = filter_string,
|
|
||||||
records = {},
|
|
||||||
}
|
|
||||||
tinsert(searches, search)
|
|
||||||
if getn(searches) > 5 then
|
|
||||||
tremove(searches, 1)
|
|
||||||
tinsert(m.status_bars, tremove(m.status_bars, 1))
|
|
||||||
tinsert(m.tables, tremove(m.tables, 1))
|
|
||||||
search_index = 4
|
|
||||||
end
|
|
||||||
|
|
||||||
search.status_bar = m.status_bars[getn(searches)]
|
|
||||||
search.status_bar:update_status(100, 100)
|
|
||||||
search.status_bar:set_text('')
|
|
||||||
|
|
||||||
search.table = m.tables[getn(searches)]
|
|
||||||
search.table:SetSort(1,2,3,4,5,6,7,8,9)
|
|
||||||
search.table:Reset()
|
|
||||||
search.table:SetDatabase(search.records)
|
|
||||||
|
|
||||||
m.update_search(getn(searches))
|
|
||||||
end
|
|
||||||
|
|
||||||
function private.previous_search()
|
|
||||||
m.search_box:ClearFocus()
|
|
||||||
m.update_search(search_index - 1)
|
|
||||||
m.update_tab(m.RESULTS)
|
|
||||||
end
|
|
||||||
|
|
||||||
function private.next_search()
|
|
||||||
m.search_box:ClearFocus()
|
|
||||||
m.update_search(search_index + 1)
|
|
||||||
m.update_tab(m.RESULTS)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function private.initialize_class_dropdown()
|
function private.initialize_class_dropdown()
|
||||||
local function on_click()
|
local function on_click()
|
||||||
local old_value = UIDropDownMenu_GetSelectedValue(m.class_dropdown)
|
local old_value = UIDropDownMenu_GetSelectedValue(m.class_dropdown)
|
||||||
|
|||||||
Reference in New Issue
Block a user