filter tab improvements
This commit is contained in:
+10
-8
@@ -182,6 +182,9 @@ function private.clear_form()
|
|||||||
UIDropDownMenu_ClearAll(m.subclass_dropdown)
|
UIDropDownMenu_ClearAll(m.subclass_dropdown)
|
||||||
UIDropDownMenu_ClearAll(m.slot_dropdown)
|
UIDropDownMenu_ClearAll(m.slot_dropdown)
|
||||||
UIDropDownMenu_ClearAll(m.quality_dropdown)
|
UIDropDownMenu_ClearAll(m.quality_dropdown)
|
||||||
|
m.filter_input:ClearFocus()
|
||||||
|
m.post_components = {}
|
||||||
|
m.update_filter_display()
|
||||||
end
|
end
|
||||||
|
|
||||||
function private.discard_continuation()
|
function private.discard_continuation()
|
||||||
@@ -797,12 +800,12 @@ function private.get_form()
|
|||||||
return query_string
|
return query_string
|
||||||
end
|
end
|
||||||
|
|
||||||
function private.set_form(filters)
|
function private.set_form(components)
|
||||||
m.clear_form()
|
m.clear_form()
|
||||||
|
|
||||||
local class_index, subclass_index
|
local class_index, subclass_index
|
||||||
|
|
||||||
for _, filter in filters do
|
for _, filter in components.blizzard do
|
||||||
if filter[1] == 'name' then
|
if filter[1] == 'name' then
|
||||||
m.name_input:SetText(filter[2])
|
m.name_input:SetText(filter[2])
|
||||||
elseif filter[1] == 'exact' then
|
elseif filter[1] == 'exact' then
|
||||||
@@ -829,14 +832,15 @@ function private.set_form(filters)
|
|||||||
UIDropDownMenu_SetSelectedValue(m.quality_dropdown, Aux.info.item_quality_index(filter[2]))
|
UIDropDownMenu_SetSelectedValue(m.quality_dropdown, Aux.info.item_quality_index(filter[2]))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
m.post_components = components.post
|
||||||
|
m.update_filter_display()
|
||||||
end
|
end
|
||||||
|
|
||||||
function private.import_query_string()
|
function private.import_query_string()
|
||||||
local components, error = Aux.filter.parse_query_string(m.search_box:GetText())
|
local components, error = Aux.filter.parse_query_string(m.search_box:GetText())
|
||||||
if components then
|
if components then
|
||||||
m.set_form(components.blizzard)
|
m.set_form(components)
|
||||||
m.post_components = components.post
|
|
||||||
m.update_filter_display()
|
|
||||||
else
|
else
|
||||||
Aux.log(error)
|
Aux.log(error)
|
||||||
end
|
end
|
||||||
@@ -846,9 +850,7 @@ function private.export_query_string()
|
|||||||
local components, error = Aux.filter.parse_query_string(m.get_form())
|
local components, error = Aux.filter.parse_query_string(m.get_form())
|
||||||
if components then
|
if components then
|
||||||
m.search_box:SetText(Aux.filter.query_string({blizzard=components.blizzard, post=m.post_components}))
|
m.search_box:SetText(Aux.filter.query_string({blizzard=components.blizzard, post=m.post_components}))
|
||||||
m.clear_form()
|
|
||||||
m.filter_input:ClearFocus()
|
m.filter_input:ClearFocus()
|
||||||
m.post_components = {}
|
|
||||||
m.update_filter_display()
|
m.update_filter_display()
|
||||||
else
|
else
|
||||||
Aux.log(error)
|
Aux.log(error)
|
||||||
@@ -894,7 +896,7 @@ function private.update_filter_display()
|
|||||||
local lines = getn(Aux.util.filter(m.post_components, function(component) return component[1] == 'operator' and component[2] ~= 'not' end))
|
local lines = getn(Aux.util.filter(m.post_components, function(component) return component[1] == 'operator' and component[2] ~= 'not' end))
|
||||||
local width_scale = max(200/m.filter_display:GetStringWidth())
|
local width_scale = max(200/m.filter_display:GetStringWidth())
|
||||||
local height_scale = min((200 / lines) / 18)
|
local height_scale = min((200 / lines) / 18)
|
||||||
m.filter_display_scale:SetScale(min(1, width_scale, height_scale))
|
m.filter_display.scale_frame:SetScale(min(1, width_scale, height_scale))
|
||||||
m.filter_display:SetText(Aux.filter.indented_post_query_string(m.post_components))
|
m.filter_display:SetText(Aux.filter.indented_post_query_string(m.post_components))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -361,6 +361,13 @@ Aux.search_tab.FRAMES(function(m, public, private)
|
|||||||
btn3:SetHeight(24)
|
btn3:SetHeight(24)
|
||||||
btn3:SetText('Import')
|
btn3:SetText('Import')
|
||||||
btn3:SetScript('OnClick', m.import_query_string)
|
btn3:SetScript('OnClick', m.import_query_string)
|
||||||
|
|
||||||
|
local btn4 = Aux.gui.button(m.frame.filter, 16)
|
||||||
|
btn4:SetPoint('LEFT', btn3, 'RIGHT', 5, 0)
|
||||||
|
btn4:SetWidth(80)
|
||||||
|
btn4:SetHeight(24)
|
||||||
|
btn4:SetText('Clear')
|
||||||
|
btn4:SetScript('OnClick', m.clear_form)
|
||||||
end
|
end
|
||||||
do
|
do
|
||||||
local editbox = Aux.gui.editbox(m.frame.filter)
|
local editbox = Aux.gui.editbox(m.frame.filter)
|
||||||
@@ -565,7 +572,7 @@ Aux.search_tab.FRAMES(function(m, public, private)
|
|||||||
display:SetAllPoints()
|
display:SetAllPoints()
|
||||||
display:SetJustifyH('LEFT')
|
display:SetJustifyH('LEFT')
|
||||||
display:SetJustifyV('TOP')
|
display:SetJustifyV('TOP')
|
||||||
private.filter_display_scale = scale_frame
|
display.scale_frame = scale_frame
|
||||||
private.filter_display = display
|
private.filter_display = display
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user