more progress on the search tab
This commit is contained in:
+1
-1
@@ -391,7 +391,7 @@ local methods = {
|
||||
end,
|
||||
}
|
||||
|
||||
function CreateScrollingTable(parent)
|
||||
function public.CreateScrollingTable(parent)
|
||||
-- create the base frame
|
||||
ST_COUNT = ST_COUNT + 1
|
||||
local st = CreateFrame('Frame', 'TSMScrollingTable'..ST_COUNT, parent)
|
||||
|
||||
@@ -29,13 +29,13 @@ function m.to_string(money, pad, trim, color, no_color)
|
||||
if trim then
|
||||
local parts = {}
|
||||
if gold > 0 then
|
||||
tinsert(parts, private:format_number(gold, false, color)..gold_text)
|
||||
tinsert(parts, m.format_number(gold, false, color)..gold_text)
|
||||
end
|
||||
if silver > 0 then
|
||||
tinsert(parts, private:format_number(silver, pad, color)..silver_text)
|
||||
tinsert(parts, m.format_number(silver, pad, color)..silver_text)
|
||||
end
|
||||
if copper > 0 then
|
||||
tinsert(parts, private:format_number(copper, pad, color)..copper_text)
|
||||
tinsert(parts, m.format_number(copper, pad, color)..copper_text)
|
||||
end
|
||||
text = Aux.util.join(parts, ' ')
|
||||
else
|
||||
|
||||
+16
-4
@@ -177,6 +177,10 @@ function m.filter_to_string(filter)
|
||||
filter_term = filter_term == '' and part or filter_term..'/'..part
|
||||
end
|
||||
|
||||
if filter.exact then
|
||||
add('/exact')
|
||||
end
|
||||
|
||||
if filter.min_level then
|
||||
add(filter.min_level)
|
||||
end
|
||||
@@ -185,6 +189,10 @@ function m.filter_to_string(filter)
|
||||
add(filter.max_level)
|
||||
end
|
||||
|
||||
if filter.usable then
|
||||
add('/usable')
|
||||
end
|
||||
|
||||
if filter.class then
|
||||
local classes = { GetAuctionItemClasses() }
|
||||
add(classes[filter.class])
|
||||
@@ -201,12 +209,16 @@ function m.filter_to_string(filter)
|
||||
add(getglobal('ITEM_QUALITY'..filter.quality..'_DESC'))
|
||||
end
|
||||
|
||||
if filter.usable then
|
||||
add(filter_term)
|
||||
if filter.max_price then
|
||||
add(Aux.money.to_string(filter.max_price, nil, true, nil, true))
|
||||
end
|
||||
|
||||
if filter.exact then
|
||||
add(filter_term)
|
||||
if filter.max_percent then
|
||||
add(filter.max_percent..'%')
|
||||
end
|
||||
|
||||
if filter.discard then
|
||||
add('/discard')
|
||||
end
|
||||
|
||||
return filter_term
|
||||
|
||||
+61
-39
@@ -20,7 +20,7 @@ StaticPopupDialogs['AUX_SEARCH_SAVED_RENAME'] = {
|
||||
edit_box:HighlightText()
|
||||
edit_box:SetFocus()
|
||||
edit_box:SetScript('OnEscapePressed', function() StaticPopup_Hide('AUX_SEARCH_SAVED_RENAME') end)
|
||||
edit_box:SetScript('OnEnterPressed', function() this.button1:Click() end)
|
||||
edit_box:SetScript('OnEnterPressed', function() getglobal(this:GetParent():GetName()..'Button1'):Click() end)
|
||||
end,
|
||||
OnAccept = function()
|
||||
private.popup_info.rename.name = getglobal(this:GetParent():GetName()..'EditBox'):GetText()
|
||||
@@ -101,20 +101,36 @@ function private.add_filter()
|
||||
end
|
||||
|
||||
function private.clear_filter()
|
||||
|
||||
AuxFilterSearchFrameFilterNameInputBox:SetText('')
|
||||
AuxFilterSearchFrameFilterExactCheckButton:SetChecked(nil)
|
||||
AuxFilterSearchFrameFilterMinLevel:SetText('')
|
||||
AuxFilterSearchFrameFilterMaxLevel:SetText('')
|
||||
UIDropDownMenu_ClearAll(private.class_dropdown)
|
||||
UIDropDownMenu_ClearAll(private.subclass_dropdown)
|
||||
UIDropDownMenu_ClearAll(private.slot_dropdown)
|
||||
UIDropDownMenu_ClearAll(private.quality_dropdown)
|
||||
AuxFilterSearchFrameFilterUsableCheckButton:SetChecked(nil)
|
||||
AuxFilterSearchFrameFilterDiscardCheckButton:SetChecked(nil)
|
||||
private.max_buyout_price:SetText('')
|
||||
private.max_percent:SetText('')
|
||||
end
|
||||
|
||||
function private.get_form_filter()
|
||||
local exact = AuxFilterSearchFrameFilterExactCheckButton:GetChecked()
|
||||
local max_price = Aux.money.from_string(private.max_buyout_price:GetText())
|
||||
return {
|
||||
name = AuxFilterSearchFrameFilterNameInputBox:GetText(),
|
||||
min_level = tonumber(AuxFilterSearchFrameFilterMinLevel:GetText()),
|
||||
max_level = tonumber(AuxFilterSearchFrameFilterMaxLevel:GetText()),
|
||||
class = UIDropDownMenu_GetSelectedValue(private.class_dropdown),
|
||||
subclass = UIDropDownMenu_GetSelectedValue(private.subclass_dropdown),
|
||||
slot = UIDropDownMenu_GetSelectedValue(private.slot_dropdown),
|
||||
quality = UIDropDownMenu_GetSelectedValue(private.quality_dropdown),
|
||||
usable = AuxFilterSearchFrameFilterUsableCheckButton:GetChecked(),
|
||||
exact = AuxFilterSearchFrameFilterExactCheckButton:GetChecked(),
|
||||
min_level = not exact and tonumber(AuxFilterSearchFrameFilterMinLevel:GetText()),
|
||||
max_level = not exact and tonumber(AuxFilterSearchFrameFilterMaxLevel:GetText()),
|
||||
class = not exact and UIDropDownMenu_GetSelectedValue(private.class_dropdown),
|
||||
subclass = not exact and UIDropDownMenu_GetSelectedValue(private.subclass_dropdown),
|
||||
slot = not exact and UIDropDownMenu_GetSelectedValue(private.slot_dropdown),
|
||||
quality = not exact and UIDropDownMenu_GetSelectedValue(private.quality_dropdown),
|
||||
usable = not exact and AuxFilterSearchFrameFilterUsableCheckButton:GetChecked(),
|
||||
discard = AuxFilterSearchFrameFilterDiscardCheckButton:GetChecked(),
|
||||
max_price = max_price > 0 and max_price,
|
||||
max_percent = tonumber(private.max_percent:GetText()),
|
||||
}
|
||||
end
|
||||
|
||||
@@ -215,34 +231,6 @@ function public.on_load()
|
||||
btn:SetScript('OnClick', function() private.update_tab(FILTER) end)
|
||||
private.new_filter_button = btn
|
||||
end
|
||||
do
|
||||
local btn1 = Aux.gui.button(AuxFilterSearchFrameFilter, 16)
|
||||
btn1:SetPoint('TOPLEFT', private.status_bar, 'TOPRIGHT', 5, 0)
|
||||
btn1:SetWidth(80)
|
||||
btn1:SetHeight(24)
|
||||
btn1:SetText('Add Filter')
|
||||
btn1:SetScript('OnClick', private.add_filter)
|
||||
|
||||
local btn2 = Aux.gui.button(AuxFilterSearchFrameFilter, 16)
|
||||
btn2:SetPoint('LEFT', btn1, 'RIGHT', 5, 0)
|
||||
btn2:SetWidth(80)
|
||||
btn2:SetHeight(24)
|
||||
btn2:SetText('Search Filter')
|
||||
btn2:SetScript('OnClick', function()
|
||||
private.search_box:SetText('')
|
||||
private.add_filter()
|
||||
public.start_search()
|
||||
end)
|
||||
|
||||
local btn3 = Aux.gui.button(AuxFilterSearchFrameFilter, 16)
|
||||
btn3:SetPoint('LEFT', btn2, 'RIGHT', 5, 0)
|
||||
btn3:SetWidth(80)
|
||||
btn3:SetHeight(24)
|
||||
btn3:SetText('Clear Filter')
|
||||
btn3:SetScript('OnClick', function()
|
||||
private.clear_filter()
|
||||
end)
|
||||
end
|
||||
do
|
||||
local status_bar = Aux.gui.status_bar(AuxFilterSearchFrame)
|
||||
status_bar:SetWidth(265)
|
||||
@@ -270,10 +258,44 @@ function public.on_load()
|
||||
btn:Disable()
|
||||
private.bid_button = btn
|
||||
end
|
||||
do
|
||||
local btn1 = Aux.gui.button(AuxFilterSearchFrameFilter, 16)
|
||||
btn1:SetPoint('TOPLEFT', private.status_bar, 'TOPRIGHT', 5, 0)
|
||||
btn1:SetWidth(80)
|
||||
btn1:SetHeight(24)
|
||||
btn1:SetText('Search')
|
||||
btn1:SetScript('OnClick', function()
|
||||
private.search_box:SetText('')
|
||||
private.add_filter()
|
||||
public.start_search()
|
||||
end)
|
||||
|
||||
local btn2 = Aux.gui.button(AuxFilterSearchFrameFilter, 16)
|
||||
btn2:SetPoint('LEFT', btn1, 'RIGHT', 5, 0)
|
||||
btn2:SetWidth(80)
|
||||
btn2:SetHeight(24)
|
||||
btn2:SetText('Add')
|
||||
btn2:SetScript('OnClick', private.add_filter)
|
||||
|
||||
local btn3 = Aux.gui.button(AuxFilterSearchFrameFilter, 16)
|
||||
btn3:SetPoint('LEFT', btn2, 'RIGHT', 5, 0)
|
||||
btn3:SetWidth(80)
|
||||
btn3:SetHeight(24)
|
||||
btn3:SetText('Clear')
|
||||
btn3:SetScript('OnClick', function()
|
||||
private.clear_filter()
|
||||
end)
|
||||
end
|
||||
do
|
||||
local editbox = Aux.gui.editbox(AuxFilterSearchFrameFilter, '$parentNameInputBox')
|
||||
editbox.complete_item = Aux.test.complete_item
|
||||
editbox:SetPoint('TOPLEFT', 14, -20)
|
||||
editbox:SetWidth(300)
|
||||
editbox:SetScript('OnChar', function()
|
||||
if AuxFilterSearchFrameFilterExactCheckButton:GetChecked() then
|
||||
this:complete_item()
|
||||
end
|
||||
end)
|
||||
editbox:SetScript('OnTabPressed', function()
|
||||
if IsShiftKeyDown() then
|
||||
getglobal(this:GetParent():GetName()..'TooltipInputBox4'):SetFocus()
|
||||
@@ -664,7 +686,7 @@ end
|
||||
end
|
||||
}
|
||||
|
||||
private.recent_searches_listing = CreateScrollingTable(AuxFilterSearchFrameSavedRecent)
|
||||
private.recent_searches_listing = Aux.listing.CreateScrollingTable(AuxFilterSearchFrameSavedRecent)
|
||||
private.recent_searches_listing:SetColInfo({{name='Recent Searches', width=1}})
|
||||
private.recent_searches_listing:SetHandler('OnClick', handlers.OnClick)
|
||||
private.recent_searches_listing:SetHandler('OnEnter', handlers.OnEnter)
|
||||
@@ -672,7 +694,7 @@ end
|
||||
|
||||
Aux.gui.vertical_line(AuxFilterSearchFrameSaved, 379)
|
||||
|
||||
private.favorite_searches_listing = CreateScrollingTable(AuxFilterSearchFrameSavedFavorite)
|
||||
private.favorite_searches_listing = Aux.listing.CreateScrollingTable(AuxFilterSearchFrameSavedFavorite)
|
||||
private.favorite_searches_listing:SetColInfo({{name='Favorite Searches', width=1}})
|
||||
private.favorite_searches_listing:SetHandler('OnClick', handlers.OnClick)
|
||||
private.favorite_searches_listing:SetHandler('OnEnter', handlers.OnEnter)
|
||||
|
||||
@@ -109,6 +109,27 @@ function m:complete()
|
||||
end
|
||||
end
|
||||
|
||||
function m:complete_item()
|
||||
|
||||
local text = this:GetText()
|
||||
|
||||
local item_names = {}
|
||||
for key, value in Aux.static.auctionable_items do
|
||||
if type(key) == 'number' then
|
||||
tinsert(item_names, value.name)
|
||||
end
|
||||
end
|
||||
sort(item_names)
|
||||
|
||||
for _, item_name in ipairs(item_names) do
|
||||
if string.sub(strupper(item_name), 1, strlen(text)) == strupper(text) then
|
||||
this:SetText(item_name)
|
||||
this:HighlightText(strlen(text), -1)
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--StaticPopupDialogs["CANCEL_AUCTION"] = {
|
||||
-- text = TEXT(CANCEL_AUCTION_CONFIRMATION),
|
||||
-- button1 = TEXT(ACCEPT),
|
||||
|
||||
Reference in New Issue
Block a user