Back to Home

ESO Lua File v100029

ingame/guildfinder/gamepad/guildbrowser_guildlist_gamepad.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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
------------------
-- Guild Finder --
------------------
ZO_GUILD_BROWSER_GUILD_LIST_GAMEPAD_ENTRY_HEIGHT = 240
ZO_GuildBrowser_GuildList_Gamepad = ZO_Object.MultiSubclass(ZO_GuildBrowser_GuildList_Shared, ZO_GuildFinder_Panel_GamepadBehavior, ZO_SortFilterList_Gamepad)
function ZO_GuildBrowser_GuildList_Gamepad:New(...)
    return ZO_GuildFinder_Panel_GamepadBehavior.New(self, ...)
end
function ZO_GuildBrowser_GuildList_Gamepad:Initialize(control)
    ZO_GuildBrowser_GuildList_Shared.Initialize(self, control)
    ZO_GuildFinder_Panel_GamepadBehavior.Initialize(self, control)
    ZO_SortFilterList_Gamepad.Initialize(self, control, "ZO_GamepadInteractiveSortFilterThickHighlight")
    ZO_ScrollList_AddDataType(self.list, ZO_GUILD_BROWSER_GUILD_LIST_ENTRY_TYPE, "ZO_GuildBrowser_GuildList_Row_Gamepad", ZO_GUILD_BROWSER_GUILD_LIST_GAMEPAD_ENTRY_HEIGHT, function(control, data) self:SetupRow(control, data) end)
end
function ZO_GuildBrowser_GuildList_Gamepad:InitializeKeybinds()
    ZO_GuildFinder_Panel_GamepadBehavior.InitializeKeybinds(self)
    table.insert(self.keybindStripDescriptor,
        -- select
        {
            name = GetString(SI_GUILD_BROWSER_GUILD_LIST_VIEW_GUILD_INFO_KEYBIND),
            keybind = "UI_SHORTCUT_PRIMARY",
            callback = function()
                local selectedData = self:GetSelectedData()
                if selectedData then
                    GUILD_BROWSER_GAMEPAD:ShowGuildInfo(selectedData.guildId)
                end
            end,
        }
    )
    table.insert(self.keybindStripDescriptor,
        -- filters dialog
        {
            name = GetString(SI_GAMEPAD_GUILD_BROWSER_FILTERS_KEYBIND),
            keybind = "UI_SHORTCUT_TERTIARY",
            callback = function()
                local dialogName = "GAMEPAD_GUILD_BROWSER_FILTERS"
                ZO_Dialogs_ShowGamepadDialog(dialogName)
            end,
        }
    )
    table.insert(self.keybindStripDescriptor,
        -- report
        {
            name = GetString(SI_GUILD_BROWSER_REPORT_GUILD_KEYBIND),
            keybind = "UI_SHORTCUT_RIGHT_STICK",
            callback = function()
                local selectedData = self:GetSelectedData()
                if selectedData then
                    local function ReportCallback()
                        GUILD_BROWSER_MANAGER:AddReportedGuild(selectedData.guildId)
                    end
                    self:Deactivate()
                    GUILD_BROWSER_GAMEPAD:OnReportingGuild()
                    ZO_HELP_GENERIC_TICKET_SUBMISSION_MANAGER:OpenReportGuildTicketScene(selectedData.guildName, CUSTOMER_SERVICE_ASK_FOR_HELP_REPORT_GUILD_SUBCATEGORY_INAPPROPRIATE_LISTING, ReportCallback)
                end
            end,
        }
    )
end
function ZO_GuildBrowser_GuildList_Gamepad:PopulateList()
    ZO_GuildBrowser_GuildList_Shared.PopulateList(self)
    if self.isActive then
        local scrollData = ZO_ScrollList_GetDataList(self.list)
        if #scrollData == 0 then
            --If the cursor is in the list, but the list is empty because of a filter, we need to force it out of the panel area
            self:EndSelection()
        else
            -- if we've lost our selection and the panelFocalArea is active, then we want to
            -- AutoSelect the next appropriate entry
            local selectedData = ZO_ScrollList_GetSelectedData(self.list)
            if not selectedData then
                local ANIMATE_INSTANTLY = true
                ZO_ScrollList_AutoSelectData(self.list, ANIMATE_INSTANTLY)
            end
        end
    end
end
function ZO_GuildBrowser_GuildList_Gamepad:SetupRow(control, data)
    ZO_GuildBrowser_GuildList_Shared.SetupRow(self, control, data)
    control.guildSizeHeaderLabel:SetText(GetString("SI_GUILDMETADATAATTRIBUTE", GUILD_META_DATA_ATTRIBUTE_SIZE))
    control.guildSizeLabel:SetText(data.size)
end
function ZO_GuildBrowser_GuildList_Gamepad:UpdateResultsLabel()
    ZO_GuildBrowser_GuildList_Shared.UpdateResultsLabel(self)
    if self.focusType == nil then
        self.resultsLabel:SetText(GetString(SI_GAMEPAD_GUILD_BROWSER_GUILD_LIST_START_SEARCHING))
        self.resultsLabel:SetHidden(false)
    end
end
function ZO_GuildBrowser_GuildList_Gamepad:RefreshList()
    ZO_GuildBrowser_GuildList_Shared.RefreshList(self)
    if self.isActive then
    end
end
function ZO_GuildBrowser_GuildList_Gamepad:SetupRowContextualInfo(control, data)
    local contextualInfoHeader, contextualInfoValue = self:GetRowContextualInfo(data)
    control.guildContextualInfoHeaderLabel:SetText(contextualInfoHeader)
    control.guildContextualInfoValueLabel:SetText(zo_strformat(SI_GAMEPAD_GUILD_BROWSER_GUILD_LIST_CONTEXTUAL_INFO_FORMATTER, contextualInfoValue))
end
function ZO_GuildBrowser_GuildList_Gamepad:SetFocusType(focusType)
    self.focusType = focusType
end
function ZO_GuildBrowser_GuildList_Gamepad:RefreshSearchFilters()
    GUILD_BROWSER_GAMEPAD:RefreshSearchFilters()
end
function ZO_GuildBrowser_GuildList_Gamepad:ResetFilters()
    GUILD_BROWSER_GAMEPAD:ResetFilters()
end
function ZO_GuildBrowser_GuildList_Gamepad:Activate()
    ZO_SortFilterList_Gamepad.Activate(self)
    ZO_GuildFinder_Panel_GamepadBehavior.Activate(self)
end
function ZO_GuildBrowser_GuildList_Gamepad:Deactivate()
    ZO_SortFilterList_Gamepad.Deactivate(self)
    ZO_GuildFinder_Panel_GamepadBehavior.Deactivate(self)
end
function ZO_GuildBrowser_GuildList_Gamepad:GetAllianceIcon(alliance)
    return GetLargeAllianceSymbolIcon(alliance)
end
function ZO_GuildBrowser_GuildList_Gamepad:OnShowing()
    ZO_GuildBrowser_GuildList_Shared.OnShowing(self)
    local scrollData = ZO_ScrollList_GetDataList(self.list)
    if self.focusType == nil or (#scrollData <= 0 and GUILD_BROWSER_MANAGER:HasCurrentFoundGuilds()) then
        self:RefreshList()
    end
end
function ZO_GuildBrowser_GuildList_Gamepad:OnHidden()
    ZO_GuildBrowser_GuildList_Shared.OnHidden(self)
end
-- XML Functions
-----------------
    GUILD_BROWSER_GUILD_LIST_GAMEPAD = ZO_GuildBrowser_GuildList_Gamepad:New(control)
end