more progress on modes
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
Aux.buy = {}
|
Aux.buy = {}
|
||||||
|
|
||||||
local process_auction, set_message, report, show_dialog, find_auction, hide_sheet, show_sheet, alpha_setter
|
local process_auction, set_message, report, show_dialog, find_auction, hide_sheet, update_sheet, auction_alpha_setter, group_alpha_setter
|
||||||
local auctions
|
local auctions
|
||||||
local selectedAuctions = {}
|
local selectedAuctions = {}
|
||||||
local search_query
|
local search_query
|
||||||
@@ -8,8 +8,12 @@ local tooltip_patterns = {}
|
|||||||
local current_page
|
local current_page
|
||||||
local refresh
|
local refresh
|
||||||
|
|
||||||
local function alpha_setter(cell, datum)
|
function auction_alpha_setter(cell, auction)
|
||||||
cell:SetAlpha(datum.gone and 0.4 or 1)
|
cell:SetAlpha(auction.gone and 0.4 or 1)
|
||||||
|
end
|
||||||
|
|
||||||
|
function group_alpha_setter(cell, group)
|
||||||
|
cell:SetAlpha(Aux.util.all(group, function(auction) return auction.gone end) and 0.4 or 1)
|
||||||
end
|
end
|
||||||
|
|
||||||
local BUYOUT, BID, FULL = 1, 2, 3
|
local BUYOUT, BID, FULL = 1, 2, 3
|
||||||
@@ -37,7 +41,7 @@ Aux.buy.modes = {
|
|||||||
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
||||||
cell_setter = function(cell, group)
|
cell_setter = function(cell, group)
|
||||||
cell.text:SetText(group[1].stack_size)
|
cell.text:SetText(group[1].stack_size)
|
||||||
-- alpha_setter(cell, group)
|
group_alpha_setter(cell, group)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -85,7 +89,7 @@ Aux.buy.modes = {
|
|||||||
cell.text:SetText('['..group[1].tooltip[1][1].text..']')
|
cell.text:SetText('['..group[1].tooltip[1][1].text..']')
|
||||||
local color = ITEM_QUALITY_COLORS[group[1].quality]
|
local color = ITEM_QUALITY_COLORS[group[1].quality]
|
||||||
cell.text:SetTextColor(color.r, color.g, color.b)
|
cell.text:SetTextColor(color.r, color.g, color.b)
|
||||||
-- alpha_setter(cell, group)
|
group_alpha_setter(cell, group)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -102,17 +106,17 @@ Aux.buy.modes = {
|
|||||||
text = level
|
text = level
|
||||||
end
|
end
|
||||||
cell.text:SetText(text)
|
cell.text:SetText(text)
|
||||||
-- alpha_setter(cell, datum)
|
group_alpha_setter(cell, group)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title = 'Auctions',
|
title = 'Auctions',
|
||||||
width = 83,
|
width = 83,
|
||||||
comparator = function(group1, group2) return Aux.util.compare(getn(group1), getn(group2), Aux.util.LT) end,
|
comparator = function(group1, group2) return Aux.util.compare(getn(Aux.util.filter(group1, function(auction) return not auction.gone end)), getn(Aux.util.filter(group2, function(auction) return not auction.gone end)), Aux.util.LT) end,
|
||||||
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
||||||
cell_setter = function(cell, group)
|
cell_setter = function(cell, group)
|
||||||
cell.text:SetText(getn(group))
|
cell.text:SetText(getn(Aux.util.filter(group, function(auction) return not auction.gone end)))
|
||||||
-- alpha_setter(cell, group)
|
group_alpha_setter(cell, group)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -122,7 +126,7 @@ Aux.buy.modes = {
|
|||||||
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
||||||
cell_setter = function(cell, group)
|
cell_setter = function(cell, group)
|
||||||
cell.text:SetText(Aux.util.money_string(group[1].buyout_price_per_unit))
|
cell.text:SetText(Aux.util.money_string(group[1].buyout_price_per_unit))
|
||||||
-- alpha_setter(cell, group)
|
group_alpha_setter(cell, group)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -132,7 +136,7 @@ Aux.buy.modes = {
|
|||||||
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
||||||
cell_setter = function(cell, group)
|
cell_setter = function(cell, group)
|
||||||
cell.text:SetText(Aux.util.money_string(group[1].buyout_price))
|
cell.text:SetText(Aux.util.money_string(group[1].buyout_price))
|
||||||
-- alpha_setter(cell, group)
|
group_alpha_setter(cell, group)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -159,7 +163,7 @@ Aux.buy.modes = {
|
|||||||
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
||||||
cell_setter = function(cell, datum)
|
cell_setter = function(cell, datum)
|
||||||
cell.text:SetText(datum.stack_size)
|
cell.text:SetText(datum.stack_size)
|
||||||
alpha_setter(cell, datum)
|
auction_alpha_setter(cell, datum)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -207,7 +211,7 @@ Aux.buy.modes = {
|
|||||||
cell.text:SetText('['..datum.tooltip[1][1].text..']')
|
cell.text:SetText('['..datum.tooltip[1][1].text..']')
|
||||||
local color = ITEM_QUALITY_COLORS[datum.quality]
|
local color = ITEM_QUALITY_COLORS[datum.quality]
|
||||||
cell.text:SetTextColor(color.r, color.g, color.b)
|
cell.text:SetTextColor(color.r, color.g, color.b)
|
||||||
alpha_setter(cell, datum)
|
auction_alpha_setter(cell, datum)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -224,7 +228,17 @@ Aux.buy.modes = {
|
|||||||
text = level
|
text = level
|
||||||
end
|
end
|
||||||
cell.text:SetText(text)
|
cell.text:SetText(text)
|
||||||
alpha_setter(cell, datum)
|
auction_alpha_setter(cell, datum)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title = '#',
|
||||||
|
width = 23,
|
||||||
|
comparator = function(row1, row2) return Aux.util.compare(row1.page, row2.page, Aux.util.LT) end,
|
||||||
|
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
||||||
|
cell_setter = function(cell, datum)
|
||||||
|
cell.text:SetText(datum.page)
|
||||||
|
auction_alpha_setter(cell, datum)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -244,7 +258,7 @@ Aux.buy.modes = {
|
|||||||
text = '24h'
|
text = '24h'
|
||||||
end
|
end
|
||||||
cell.text:SetText(text)
|
cell.text:SetText(text)
|
||||||
alpha_setter(cell, datum)
|
auction_alpha_setter(cell, datum)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -254,7 +268,7 @@ Aux.buy.modes = {
|
|||||||
cell_initializer = Aux.sheet.default_cell_initializer('LEFT'),
|
cell_initializer = Aux.sheet.default_cell_initializer('LEFT'),
|
||||||
cell_setter = function(cell, datum)
|
cell_setter = function(cell, datum)
|
||||||
cell.text:SetText(datum.owner)
|
cell.text:SetText(datum.owner)
|
||||||
alpha_setter(cell, datum)
|
auction_alpha_setter(cell, datum)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -264,7 +278,7 @@ Aux.buy.modes = {
|
|||||||
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
||||||
cell_setter = function(cell, datum)
|
cell_setter = function(cell, datum)
|
||||||
cell.text:SetText(Aux.util.money_string(datum.bid_per_unit))
|
cell.text:SetText(Aux.util.money_string(datum.bid_per_unit))
|
||||||
alpha_setter(cell, datum)
|
auction_alpha_setter(cell, datum)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -274,7 +288,7 @@ Aux.buy.modes = {
|
|||||||
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
||||||
cell_setter = function(cell, datum)
|
cell_setter = function(cell, datum)
|
||||||
cell.text:SetText(Aux.util.money_string(datum.bid))
|
cell.text:SetText(Aux.util.money_string(datum.bid))
|
||||||
alpha_setter(cell, datum)
|
auction_alpha_setter(cell, datum)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -301,7 +315,7 @@ Aux.buy.modes = {
|
|||||||
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
||||||
cell_setter = function(cell, datum)
|
cell_setter = function(cell, datum)
|
||||||
cell.text:SetText(datum.stack_size)
|
cell.text:SetText(datum.stack_size)
|
||||||
alpha_setter(cell, datum)
|
auction_alpha_setter(cell, datum)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -349,7 +363,7 @@ Aux.buy.modes = {
|
|||||||
cell.text:SetText('['..datum.tooltip[1][1].text..']')
|
cell.text:SetText('['..datum.tooltip[1][1].text..']')
|
||||||
local color = ITEM_QUALITY_COLORS[datum.quality]
|
local color = ITEM_QUALITY_COLORS[datum.quality]
|
||||||
cell.text:SetTextColor(color.r, color.g, color.b)
|
cell.text:SetTextColor(color.r, color.g, color.b)
|
||||||
alpha_setter(cell, datum)
|
auction_alpha_setter(cell, datum)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -366,7 +380,7 @@ Aux.buy.modes = {
|
|||||||
text = level
|
text = level
|
||||||
end
|
end
|
||||||
cell.text:SetText(text)
|
cell.text:SetText(text)
|
||||||
alpha_setter(cell, datum)
|
auction_alpha_setter(cell, datum)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -386,7 +400,7 @@ Aux.buy.modes = {
|
|||||||
text = '24h'
|
text = '24h'
|
||||||
end
|
end
|
||||||
cell.text:SetText(text)
|
cell.text:SetText(text)
|
||||||
alpha_setter(cell, datum)
|
auction_alpha_setter(cell, datum)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -396,7 +410,7 @@ Aux.buy.modes = {
|
|||||||
cell_initializer = Aux.sheet.default_cell_initializer('LEFT'),
|
cell_initializer = Aux.sheet.default_cell_initializer('LEFT'),
|
||||||
cell_setter = function(cell, datum)
|
cell_setter = function(cell, datum)
|
||||||
cell.text:SetText(datum.owner)
|
cell.text:SetText(datum.owner)
|
||||||
alpha_setter(cell, datum)
|
auction_alpha_setter(cell, datum)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -406,7 +420,7 @@ Aux.buy.modes = {
|
|||||||
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
||||||
cell_setter = function(cell, datum)
|
cell_setter = function(cell, datum)
|
||||||
cell.text:SetText(Aux.util.money_string(datum.bid_per_unit))
|
cell.text:SetText(Aux.util.money_string(datum.bid_per_unit))
|
||||||
alpha_setter(cell, datum)
|
auction_alpha_setter(cell, datum)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -416,7 +430,7 @@ Aux.buy.modes = {
|
|||||||
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
||||||
cell_setter = function(cell, datum)
|
cell_setter = function(cell, datum)
|
||||||
cell.text:SetText(Aux.util.money_string(datum.buyout_price_per_unit))
|
cell.text:SetText(Aux.util.money_string(datum.buyout_price_per_unit))
|
||||||
alpha_setter(cell, datum)
|
auction_alpha_setter(cell, datum)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -426,7 +440,7 @@ Aux.buy.modes = {
|
|||||||
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
||||||
cell_setter = function(cell, datum)
|
cell_setter = function(cell, datum)
|
||||||
cell.text:SetText(Aux.util.money_string(datum.bid))
|
cell.text:SetText(Aux.util.money_string(datum.bid))
|
||||||
alpha_setter(cell, datum)
|
auction_alpha_setter(cell, datum)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -436,7 +450,7 @@ Aux.buy.modes = {
|
|||||||
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
|
||||||
cell_setter = function(cell, datum)
|
cell_setter = function(cell, datum)
|
||||||
cell.text:SetText(Aux.util.money_string(datum.buyout_price))
|
cell.text:SetText(Aux.util.money_string(datum.buyout_price))
|
||||||
alpha_setter(cell, datum)
|
auction_alpha_setter(cell, datum)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -449,7 +463,7 @@ function Aux.buy.exit()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function Aux.buy.on_open()
|
function Aux.buy.on_open()
|
||||||
show_sheet()
|
update_sheet()
|
||||||
end
|
end
|
||||||
|
|
||||||
function Aux_AuctionFrameBid_Update()
|
function Aux_AuctionFrameBid_Update()
|
||||||
@@ -459,22 +473,18 @@ function Aux_AuctionFrameBid_Update()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-----------------------------------------
|
|
||||||
|
|
||||||
function Aux.buy.dialog_cancel()
|
function Aux.buy.dialog_cancel()
|
||||||
Aux.scan.abort()
|
Aux.scan.abort()
|
||||||
AuxBuyConfirmation:Hide()
|
AuxBuyConfirmation:Hide()
|
||||||
show_sheet()
|
update_sheet()
|
||||||
AuxBuySearchButton:Enable()
|
AuxBuySearchButton:Enable()
|
||||||
end
|
end
|
||||||
|
|
||||||
-----------------------------------------
|
|
||||||
|
|
||||||
function Aux.buy.StopButton_onclick()
|
function Aux.buy.StopButton_onclick()
|
||||||
Aux.scan.abort()
|
Aux.scan.abort()
|
||||||
end
|
end
|
||||||
|
|
||||||
function show_sheet()
|
function update_sheet()
|
||||||
AuxBuyBuyList:Hide()
|
AuxBuyBuyList:Hide()
|
||||||
AuxBuyBidList:Hide()
|
AuxBuyBidList:Hide()
|
||||||
AuxBuyFullList:Hide()
|
AuxBuyFullList:Hide()
|
||||||
@@ -487,6 +497,17 @@ function show_sheet()
|
|||||||
elseif mode == FULL then
|
elseif mode == FULL then
|
||||||
AuxBuyFullList:Show()
|
AuxBuyFullList:Show()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local mode = UIDropDownMenu_GetSelectedValue(AuxBuyModeDropDown)
|
||||||
|
if mode == BUYOUT then
|
||||||
|
local buyout_auctions = auctions and Aux.util.filter(auctions, function(auction) return auction.name ~= UnitName('player') and auction.buyout_price > 0 end) or {}
|
||||||
|
Aux.list.populate(AuxBuyBuyList.sheet, auctions and Aux.util.group_by(buyout_auctions, function(a1, a2) return a1.hyperlink == a2.hyperlink and a1.stack_size == a2.stack_size and a1.buyout_price = a2.buyout_price end) or {})
|
||||||
|
elseif mode == BID then
|
||||||
|
local bid_auctions = auctions and Aux.util.filter(auctions, function(auction) return auction.name ~= UnitName('player') end) or {}
|
||||||
|
Aux.list.populate(AuxBuyBidList.sheet, bid_auctions)
|
||||||
|
elseif mode == FULL then
|
||||||
|
Aux.list.populate(AuxBuyFullList.sheet, auctions or {})
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function hide_sheet()
|
function hide_sheet()
|
||||||
@@ -575,14 +596,10 @@ function Aux.buy.SearchButton_onclick()
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
-----------------------------------------
|
|
||||||
|
|
||||||
function set_message(msg)
|
function set_message(msg)
|
||||||
Aux.log(msg)
|
Aux.log(msg)
|
||||||
end
|
end
|
||||||
|
|
||||||
-----------------------------------------
|
|
||||||
|
|
||||||
function show_dialog(buyout_mode, entry, amount)
|
function show_dialog(buyout_mode, entry, amount)
|
||||||
AuxBuyConfirmation.tooltip = entry.tooltip
|
AuxBuyConfirmation.tooltip = entry.tooltip
|
||||||
AuxBuyConfirmation.EnhTooltip_info = entry.EnhTooltip_info
|
AuxBuyConfirmation.EnhTooltip_info = entry.EnhTooltip_info
|
||||||
@@ -699,7 +716,7 @@ function find_auction(entry, buyout_mode, express_mode)
|
|||||||
Aux.scan.abort()
|
Aux.scan.abort()
|
||||||
AuxBuySearchButton:Enable()
|
AuxBuySearchButton:Enable()
|
||||||
AuxBuyConfirmation:Hide()
|
AuxBuyConfirmation:Hide()
|
||||||
show_sheet()
|
update_sheet()
|
||||||
end
|
end
|
||||||
AuxBuyConfirmationActionButton:Enable()
|
AuxBuyConfirmationActionButton:Enable()
|
||||||
end
|
end
|
||||||
@@ -742,8 +759,6 @@ function AuxBuyEntry_OnClick(entry_index)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-----------------------------------------
|
|
||||||
|
|
||||||
function process_auction(auction_item, current_page)
|
function process_auction(auction_item, current_page)
|
||||||
auctions = auctions or {}
|
auctions = auctions or {}
|
||||||
|
|
||||||
@@ -777,30 +792,13 @@ function process_auction(auction_item, current_page)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-----------------------------------------
|
|
||||||
|
|
||||||
function Aux.buy.onupdate()
|
function Aux.buy.onupdate()
|
||||||
if refresh then
|
if refresh then
|
||||||
refresh = false
|
refresh = false
|
||||||
Aux_Buy_ScrollbarUpdate()
|
update_sheet()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-----------------------------------------
|
|
||||||
|
|
||||||
function Aux_Buy_ScrollbarUpdate()
|
|
||||||
local mode = UIDropDownMenu_GetSelectedValue(AuxBuyModeDropDown)
|
|
||||||
if mode == BUYOUT then
|
|
||||||
Aux.list.populate(AuxBuyBuyList.sheet, auctions and Aux.util.group_by(auctions, function(a1, a2) return a1.hyperlink == a2.hyperlink and a1.stack_size == a2.stack_size and a1.buyout_price = a2.buyout_price end) or {})
|
|
||||||
elseif mode == BID then
|
|
||||||
Aux.list.populate(AuxBuyBidList.sheet, auctions or {})
|
|
||||||
elseif mode == FULL then
|
|
||||||
Aux.list.populate(AuxBuyFullList.sheet, auctions or {})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-----------------------------------------
|
|
||||||
|
|
||||||
function AuxBuyCategoryDropDown_Initialize(arg1)
|
function AuxBuyCategoryDropDown_Initialize(arg1)
|
||||||
local level = arg1 or 1
|
local level = arg1 or 1
|
||||||
|
|
||||||
@@ -923,7 +921,7 @@ function AuxBuyModeDropDown_Initialize()
|
|||||||
value = i,
|
value = i,
|
||||||
func = function()
|
func = function()
|
||||||
UIDropDownMenu_SetSelectedValue(AuxBuyModeDropDown, this.value)
|
UIDropDownMenu_SetSelectedValue(AuxBuyModeDropDown, this.value)
|
||||||
show_sheet()
|
update_sheet()
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user