ESO Lua File v100010

ingame/mail/mailinbox_shared.lua

[◄ back to folders ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
MAIL_ENTRY_SORT_KEYS =
{
    ["secsSinceReceived"]  = { numeric = true },
    ["priority"] = { numeric = true, tiebreaker = "secsSinceReceived" }
}
MAIL_ENTRY_FIRST_SORT_KEY = "priority"
local function GetFormattedSubject(self)
    if not self.formattedSubject then
        self.formattedSubject = MAIL_INBOX:FormatSubject(self.subject, self.returned)
    end
    return self.formattedSubject
end
local function GetExpiresText(self)
    if not self.expiresText then
        if self.expiresInDays > 0  then
            self.expiresText = zo_strformat(SI_MAIL_READ_EXPIRES_LABEL, self.expiresInDays)
        else
            self.expiresText = GetString(SI_MAIL_READ_EXPIRES_LESS_THAN_ONE_DAY)
        end
    end
    return self.expiresText
end
local function GetReceivedText(self)
    if not self.receivedText then
        self.receivedText = ZO_FormatDurationAgo(self.secsSinceReceived)
    end
    return self.receivedText
end
function ZO_MailInboxShared_PopulateMailData(dataTable, mailId)
    local senderDisplayName, senderCharacterName, subject, icon, unread, fromSystem, fromCS, returned, numAttachments, attachedMoney, codAmount, expiresInDays, secsSinceReceived = GetMailItemInfo(mailId)
    dataTable.mailId = mailId
    dataTable.subject = subject
    dataTable.returned = returned
    dataTable.senderDisplayName = senderDisplayName
    dataTable.senderCharacterName = senderCharacterName
    dataTable.expiresInDays = expiresInDays
    dataTable.unread = unread
    dataTable.numAttachments = numAttachments
    dataTable.attachedMoney = attachedMoney
    dataTable.codAmount = codAmount
    dataTable.secsSinceReceived = secsSinceReceived
    dataTable.fromSystem = fromSystem
    dataTable.fromCS = fromCS
    dataTable.priority = fromCS and 1 or 2
    dataTable.GetExpiresText = GetExpiresText
    dataTable.GetReceivedText = GetReceivedText
end
function ZO_GetNextMailIdIter(state, var1)
    return GetNextMailId(var1)
end
function ZO_MailInboxShared_TakeAll(mailId)
     local numAttachments = GetMailAttachmentInfo(mailId)
     if numAttachments then
          TakeMailAttachedItems(mailId)
     end
    TakeMailAttachedMoney(mailId)
end
function ZO_MailInboxShared_UpdateInbox(mailData, fromControl, subjectControl, expiresControl, recievedControl, bodyControl)
    local body = ReadMail(mailData.mailId)
    if body == "" then
        body = GetString(SI_MAIL_READ_NO_BODY)
    end
    -- Header and Body.
    fromControl:SetText(mailData.senderDisplayName)
    if(mailData.fromCS or mailData.fromSystem) then
        fromControl:SetColor(ZO_GAME_REPRESENTATIVE_TEXT:UnpackRGBA())
    else
        fromControl:SetColor(ZO_SELECTED_TEXT:UnpackRGBA())
    end
    subjectControl:SetText(mailData:GetFormattedSubject())
    if expiresControl then
        expiresControl:SetText(mailData:GetExpiresText())
    end
    if recievedControl then
        recievedControl:SetText(mailData:GetReceivedText())
    end
    bodyControl:SetText(body)
end