big module refactoring

This commit is contained in:
Manuel Simon Hirsig
2016-08-18 17:28:38 +02:00
parent 54c45f8fdb
commit 337bc19578
17 changed files with 145 additions and 143 deletions
+32 -30
View File
@@ -1,5 +1,7 @@
aux.module 'auction_listing'
_G.aux_price_per_unit = false
local RT_COUNT = 1
local HEAD_HEIGHT = 27
local HEAD_SPACE = 2
@@ -162,24 +164,24 @@ public.search_config = {
end
local price
if record.high_bidder then
price = aux_price_per_unit and ceil(record.high_bid / record.aux_quantity) or record.high_bid
price = _G.aux_price_per_unit and ceil(record.high_bid / record.aux_quantity) or record.high_bid
else
price = aux_price_per_unit and ceil(record.unit_bid_price) or record.bid_price
price = _G.aux_price_per_unit and ceil(record.unit_bid_price) or record.bid_price
end
cell:SetText(aux.money.to_string(price, true, false, nil, color))
end,
cmp = function(record_a, record_b, desc)
local price_a
if record_a.high_bidder then
price_a = aux_price_per_unit and record_a.high_bid / record_a.aux_quantity or record_a.high_bid
price_a = _G.aux_price_per_unit and record_a.high_bid / record_a.aux_quantity or record_a.high_bid
else
price_a = aux_price_per_unit and record_a.unit_bid_price or record_a.bid_price
price_a = _G.aux_price_per_unit and record_a.unit_bid_price or record_a.bid_price
end
local price_b
if record_b.high_bidder then
price_b = aux_price_per_unit and record_b.high_bid / record_b.aux_quantity or record_b.high_bid
price_b = _G.aux_price_per_unit and record_b.high_bid / record_b.aux_quantity or record_b.high_bid
else
price_b = aux_price_per_unit and record_b.unit_bid_price or record_b.bid_price
price_b = _G.aux_price_per_unit and record_b.unit_bid_price or record_b.bid_price
end
return aux.sort.compare(price_a, price_b, desc)
end,
@@ -190,12 +192,12 @@ public.search_config = {
align = 'RIGHT',
isPrice = true,
set = function(cell, record)
local price = aux_price_per_unit and ceil(record.unit_buyout_price) or record.buyout_price
local price = _G.aux_price_per_unit and ceil(record.unit_buyout_price) or record.buyout_price
cell:SetText(price > 0 and aux.money.to_string(price, true, false) or '---')
end,
cmp = function(record_a, record_b, desc)
local price_a = aux_price_per_unit and record_a.unit_buyout_price or record_a.buyout_price
local price_b = aux_price_per_unit and record_b.unit_buyout_price or record_b.buyout_price
local price_a = _G.aux_price_per_unit and record_a.unit_buyout_price or record_a.buyout_price
local price_b = _G.aux_price_per_unit and record_b.unit_buyout_price or record_b.buyout_price
price_a = price_a > 0 and price_a or (desc and -aux.huge or aux.huge)
price_b = price_b > 0 and price_b or (desc and -aux.huge or aux.huge)
@@ -304,24 +306,24 @@ public.auctions_config = {
set = function(cell, record)
local price
if record.high_bidder then
price = aux_price_per_unit and ceil(record.high_bid / record.aux_quantity) or record.high_bid
price = _G.aux_price_per_unit and ceil(record.high_bid / record.aux_quantity) or record.high_bid
else
price = aux_price_per_unit and ceil(record.start_price / record.aux_quantity) or record.start_price
price = _G.aux_price_per_unit and ceil(record.start_price / record.aux_quantity) or record.start_price
end
cell:SetText(aux.money.to_string(price, true, false))
end,
cmp = function(record_a, record_b, desc)
local price_a
if record_a.high_bidder then
price_a = aux_price_per_unit and record_a.high_bid / record_a.aux_quantity or record_a.high_bid
price_a = _G.aux_price_per_unit and record_a.high_bid / record_a.aux_quantity or record_a.high_bid
else
price_a = aux_price_per_unit and record_a.start_price / record_b.aux_quantity or record_a.start_price
price_a = _G.aux_price_per_unit and record_a.start_price / record_b.aux_quantity or record_a.start_price
end
local price_b
if record_b.high_bidder then
price_b = aux_price_per_unit and record_b.high_bid / record_b.aux_quantity or record_b.high_bid
price_b = _G.aux_price_per_unit and record_b.high_bid / record_b.aux_quantity or record_b.high_bid
else
price_b = aux_price_per_unit and record_b.start_price / record_b.aux_quantity or record_b.start_price
price_b = _G.aux_price_per_unit and record_b.start_price / record_b.aux_quantity or record_b.start_price
end
return aux.sort.compare(price_a, price_b, desc)
end,
@@ -332,12 +334,12 @@ public.auctions_config = {
align = 'RIGHT',
isPrice = true,
set = function(cell, record)
local price = aux_price_per_unit and ceil(record.unit_buyout_price) or record.buyout_price
local price = _G.aux_price_per_unit and ceil(record.unit_buyout_price) or record.buyout_price
cell:SetText(price > 0 and aux.money.to_string(price, true, false) or '---')
end,
cmp = function(record_a, record_b, desc)
local price_a = aux_price_per_unit and record_a.unit_buyout_price or record_a.buyout_price
local price_b = aux_price_per_unit and record_b.unit_buyout_price or record_b.buyout_price
local price_a = _G.aux_price_per_unit and record_a.unit_buyout_price or record_a.buyout_price
local price_b = _G.aux_price_per_unit and record_b.unit_buyout_price or record_b.buyout_price
price_a = price_a > 0 and price_a or (desc and -aux.huge or aux.huge)
price_b = price_b > 0 and price_b or (desc and -aux.huge or aux.huge)
@@ -457,24 +459,24 @@ public.bids_config = {
set = function(cell, record)
local price
if record.high_bidder then
price = aux_price_per_unit and ceil(record.high_bid / record.aux_quantity) or record.high_bid
price = _G.aux_price_per_unit and ceil(record.high_bid / record.aux_quantity) or record.high_bid
else
price = aux_price_per_unit and ceil(record.unit_bid_price) or record.bid_price
price = _G.aux_price_per_unit and ceil(record.unit_bid_price) or record.bid_price
end
cell:SetText(aux.money.to_string(price))
end,
cmp = function(record_a, record_b, desc)
local price_a
if record_a.high_bidder then
price_a = aux_price_per_unit and record_a.high_bid / record_a.aux_quantity or record_a.high_bid
price_a = _G.aux_price_per_unit and record_a.high_bid / record_a.aux_quantity or record_a.high_bid
else
price_a = aux_price_per_unit and record_a.unit_bid_price or record_a.bid_price
price_a = _G.aux_price_per_unit and record_a.unit_bid_price or record_a.bid_price
end
local price_b
if record_b.high_bidder then
price_b = aux_price_per_unit and record_b.high_bid / record_b.aux_quantity or record_b.high_bid
price_b = _G.aux_price_per_unit and record_b.high_bid / record_b.aux_quantity or record_b.high_bid
else
price_b = aux_price_per_unit and record_b.unit_bid_price or record_b.bid_price
price_b = _G.aux_price_per_unit and record_b.unit_bid_price or record_b.bid_price
end
return aux.sort.compare(price_a, price_b, desc)
end,
@@ -485,12 +487,12 @@ public.bids_config = {
align = 'RIGHT',
isPrice = true,
set = function(cell, record)
local price = aux_price_per_unit and ceil(record.unit_buyout_price) or record.buyout_price
local price = _G.aux_price_per_unit and ceil(record.unit_buyout_price) or record.buyout_price
cell:SetText(price > 0 and aux.money.to_string(price, true, false) or '---')
end,
cmp = function(record_a, record_b, desc)
local price_a = aux_price_per_unit and record_a.unit_buyout_price or record_a.buyout_price
local price_b = aux_price_per_unit and record_b.unit_buyout_price or record_b.buyout_price
local price_a = _G.aux_price_per_unit and record_a.unit_buyout_price or record_a.buyout_price
local price_b = _G.aux_price_per_unit and record_b.unit_buyout_price or record_b.buyout_price
price_a = price_a > 0 and price_a or (desc and -aux.huge or aux.huge)
price_b = price_b > 0 and price_b or (desc and -aux.huge or aux.huge)
@@ -563,10 +565,10 @@ local methods = {
if rt.disabled then return end
if button == 'RightButton' and rt.headCells[this.columnIndex].info.isPrice then
aux_price_per_unit = not aux_price_per_unit
_G.aux_price_per_unit = not _G.aux_price_per_unit
for _, cell in rt.headCells do
if cell.info.isPrice then
cell:SetText(cell.info.title[aux_price_per_unit and 1 or 2])
cell:SetText(cell.info.title[_G.aux_price_per_unit and 1 or 2])
end
end
rt:SetSort()
@@ -1005,7 +1007,7 @@ function public.CreateAuctionResultsTable(parent, config)
rt:SetScript('OnShow', function()
for _, cell in this.headCells do
if cell.info.isPrice then
cell:SetText(cell.info.title[aux_price_per_unit and 1 or 2])
cell:SetText(cell.info.title[_G.aux_price_per_unit and 1 or 2])
end
end
end)