Files
aux-addon-ClassicAPI/tabs/search/core.lua
T
Manuel Simon Hirsig 62ef2683f5 module refactoring
2017-11-01 08:52:39 +01:00

90 lines
1.9 KiB
Lua

module 'aux.tabs.search'
include 'T'
include 'aux'
local info = require 'aux.util.info'
TAB 'Search'
StaticPopupDialogs.AUX_SEARCH_TABLE_FULL = {
text = 'Table full!\nFurther results from this search will still be processed but no longer displayed in the table.',
button1 = 'Ok',
showAlert = 1,
timeout = 0,
hideOnEscape = 1,
}
RESULTS = 1
SAVED = 2
FILTER = 3
function LOAD()
subtab = SAVED
end
function OPEN()
frame:Show()
update_search_listings()
update_filter_display()
end
function CLOSE()
current_search.table:SetSelectedRecord()
frame:Hide()
end
function CLICK_LINK(item_info)
filter = strlower(item_info.name) .. '/exact'
execute(nil, false)
end
function USE_ITEM(item_info)
filter = strlower(info.item(item_info.item_id).name) .. '/exact'
execute(nil, false)
end
function set.subtab(tab)
CloseDropDownMenus()
search_results_button:UnlockHighlight()
saved_searches_button:UnlockHighlight()
new_filter_button:UnlockHighlight()
frame.results:Hide()
frame.saved:Hide()
frame.filter:Hide()
if tab == RESULTS then
frame.results:Show()
search_results_button:LockHighlight()
elseif tab == SAVED then
frame.saved:Show()
saved_searches_button:LockHighlight()
elseif tab == FILTER then
frame.filter:Show()
new_filter_button:LockHighlight()
end
end
function M.set.filter(filter_string)
search_box:SetFocus()
search_box:SetText(filter_string)
end
function add_filter(filter_string)
local old_filter_string = search_box:GetText()
old_filter_string = trim(old_filter_string)
if old_filter_string ~= '' then
old_filter_string = old_filter_string .. ';'
end
filter = old_filter_string .. filter_string
end
function blizzard_page_index(str)
if tonumber(str) then
return max(0, tonumber(str) - 1)
end
end