some filter subtab improvements
This commit is contained in:
+21
-30
@@ -24,10 +24,10 @@ blizzard_query = setmetatable(t, {
|
|||||||
return usable_checkbox:GetChecked()
|
return usable_checkbox:GetChecked()
|
||||||
elseif key == 'class' then
|
elseif key == 'class' then
|
||||||
local class_index = UIDropDownMenu_GetSelectedValue(class_dropdown)
|
local class_index = UIDropDownMenu_GetSelectedValue(class_dropdown)
|
||||||
return (class_index or 0) > 0 and class_index or nil
|
return class_index or 0
|
||||||
elseif key == 'subclass' then
|
elseif key == 'subclass' then
|
||||||
local subclass_index = UIDropDownMenu_GetSelectedValue(subclass_dropdown)
|
local subclass_index = UIDropDownMenu_GetSelectedValue(subclass_dropdown)
|
||||||
return (subclass_index or 0) > 0 and subclass_index or nil
|
return subclass_index or 0
|
||||||
elseif key == 'slot' then
|
elseif key == 'slot' then
|
||||||
local slot_index = UIDropDownMenu_GetSelectedValue(slot_dropdown)
|
local slot_index = UIDropDownMenu_GetSelectedValue(slot_dropdown)
|
||||||
return (slot_index or 0) > 0 and slot_index or nil
|
return (slot_index or 0) > 0 and slot_index or nil
|
||||||
@@ -64,13 +64,13 @@ blizzard_query = setmetatable(t, {
|
|||||||
})
|
})
|
||||||
|
|
||||||
function update_form()
|
function update_form()
|
||||||
if blizzard_query.class and GetAuctionItemSubClasses(blizzard_query.class) then
|
if GetAuctionItemSubClasses(blizzard_query.class) then
|
||||||
subclass_dropdown.button:Enable()
|
subclass_dropdown.button:Enable()
|
||||||
else
|
else
|
||||||
subclass_dropdown.button:Disable()
|
subclass_dropdown.button:Disable()
|
||||||
end
|
end
|
||||||
|
|
||||||
if blizzard_query.subclass and GetAuctionInvTypes(blizzard_query.class, blizzard_query.subclass) then
|
if blizzard_query.class == 2 then
|
||||||
slot_dropdown.button:Enable()
|
slot_dropdown.button:Enable()
|
||||||
else
|
else
|
||||||
slot_dropdown.button:Disable()
|
slot_dropdown.button:Disable()
|
||||||
@@ -125,17 +125,17 @@ function get_filter_builder_query()
|
|||||||
add(blizzard_query.max_level)
|
add(blizzard_query.max_level)
|
||||||
add(blizzard_query.usable and 'usable')
|
add(blizzard_query.usable and 'usable')
|
||||||
|
|
||||||
for class_index in present(blizzard_query.class) do
|
local classes = temp-A(GetAuctionItemClasses())
|
||||||
local classes = temp-A(GetAuctionItemClasses())
|
if blizzard_query.class > 0 then
|
||||||
add(strlower(classes[class_index]))
|
add(strlower(classes[blizzard_query.class]))
|
||||||
for subclass_index in present(blizzard_query.subclass) do
|
end
|
||||||
local subclasses = temp-A(GetAuctionItemSubClasses(class_index))
|
local subclasses = temp-A(GetAuctionItemSubClasses(blizzard_query.class))
|
||||||
add(strlower(subclasses[subclass_index]))
|
if blizzard_query.subclass > 0 then
|
||||||
for slot_index in present(blizzard_query.slot) do
|
add(strlower(subclasses[blizzard_query.subclass]))
|
||||||
local slots = temp-A(GetAuctionInvTypes(class_index, subclass_index))
|
end
|
||||||
add(strlower(_G[slots[slot_index]]))
|
for slot_index in present(blizzard_query.slot) do
|
||||||
end
|
local slots = temp-A(GetAuctionInvTypes(blizzard_query.class, blizzard_query.subclass))
|
||||||
end
|
add(strlower(_G[slots[slot_index]]))
|
||||||
end
|
end
|
||||||
|
|
||||||
local quality = blizzard_query.quality
|
local quality = blizzard_query.quality
|
||||||
@@ -363,17 +363,12 @@ function initialize_subclass_dropdown()
|
|||||||
local function on_click()
|
local function on_click()
|
||||||
if this.value ~= blizzard_query.subclass then
|
if this.value ~= blizzard_query.subclass then
|
||||||
UIDropDownMenu_SetSelectedValue(subclass_dropdown, this.value)
|
UIDropDownMenu_SetSelectedValue(subclass_dropdown, this.value)
|
||||||
UIDropDownMenu_ClearAll(slot_dropdown)
|
|
||||||
UIDropDownMenu_Initialize(slot_dropdown, initialize_slot_dropdown)
|
|
||||||
update_form()
|
update_form()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
local class_index = UIDropDownMenu_GetSelectedValue(class_dropdown)
|
UIDropDownMenu_AddButton(T('text', ALL, 'value', 0, 'func', on_click))
|
||||||
if class_index and GetAuctionItemSubClasses(class_index) then
|
for i, subclass in temp-A(GetAuctionItemSubClasses(blizzard_query.class)) do
|
||||||
UIDropDownMenu_AddButton(T('text', ALL, 'value', 0, 'func', on_click))
|
UIDropDownMenu_AddButton(T('text', subclass, 'value', i, 'func', on_click))
|
||||||
for i, subclass in temp-A(GetAuctionItemSubClasses(class_index)) do
|
|
||||||
UIDropDownMenu_AddButton(T('text', subclass, 'value', i, 'func', on_click))
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -382,13 +377,9 @@ function initialize_slot_dropdown()
|
|||||||
UIDropDownMenu_SetSelectedValue(slot_dropdown, this.value)
|
UIDropDownMenu_SetSelectedValue(slot_dropdown, this.value)
|
||||||
update_form()
|
update_form()
|
||||||
end
|
end
|
||||||
local class_index = UIDropDownMenu_GetSelectedValue(class_dropdown)
|
UIDropDownMenu_AddButton(T('text', ALL, 'value', '', 'func', on_click))
|
||||||
local subclass_index = UIDropDownMenu_GetSelectedValue(subclass_dropdown)
|
for i, slot in temp-A(GetAuctionInvTypes(blizzard_query.class == 2 and 2 or 0, blizzard_query.subclass)) do
|
||||||
if subclass_index and GetAuctionInvTypes(class_index, subclass_index) then
|
UIDropDownMenu_AddButton(T('text', _G[slot], 'value', i, 'func', on_click))
|
||||||
UIDropDownMenu_AddButton(T('text', ALL, 'value', '', 'func', on_click))
|
|
||||||
for i, slot in temp-A(GetAuctionInvTypes(class_index, subclass_index)) do
|
|
||||||
UIDropDownMenu_AddButton(T('text', _G[slot], 'value', i, 'func', on_click))
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -242,7 +242,7 @@ do
|
|||||||
for _, parser in temp-A(
|
for _, parser in temp-A(
|
||||||
temp-A('class', info.item_class_index),
|
temp-A('class', info.item_class_index),
|
||||||
temp-A('subclass', papply(info.item_subclass_index, index(self.class, 2) or 0)),
|
temp-A('subclass', papply(info.item_subclass_index, index(self.class, 2) or 0)),
|
||||||
temp-A('slot', papply(info.item_slot_index, index(self.class, 2) or 0, index(self.subclass, 2) or 0)),
|
temp-A('slot', papply(info.item_slot_index, index(self.class, 2) == 2 and 2 or 0, index(self.subclass, 2) or 0)),
|
||||||
temp-A('quality', info.item_quality_index)
|
temp-A('quality', info.item_quality_index)
|
||||||
) do
|
) do
|
||||||
if not self[parser[1]] then
|
if not self[parser[1]] then
|
||||||
@@ -403,7 +403,7 @@ function suggestions(filter)
|
|||||||
|
|
||||||
-- slots
|
-- slots
|
||||||
if not filter.blizzard.slot then
|
if not filter.blizzard.slot then
|
||||||
for _, invtype in temp-A(GetAuctionInvTypes(index(filter.blizzard.class, 2) or 0, index(filter.blizzard.subclass, 2) or 0)) do
|
for _, invtype in temp-A(GetAuctionInvTypes(index(filter.blizzard.class, 2) == 2 and 2 or 0, index(filter.blizzard.subclass, 2) or 0)) do
|
||||||
tinsert(suggestions, _G[invtype])
|
tinsert(suggestions, _G[invtype])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user