31 lines
680 B
Lua
31 lines
680 B
Lua
|
require("common.class")
|
||
|
local Field = require("components.pager.field")
|
||
|
|
||
|
---@class LinkField: Field
|
||
|
---@field link Page
|
||
|
local LinkField = {}
|
||
|
|
||
|
---Create a new Field instance
|
||
|
---@param o table
|
||
|
---@return LinkField
|
||
|
function LinkField:new(o)
|
||
|
o = Inherit(self, Field, o)
|
||
|
|
||
|
o.link = o.link or nil
|
||
|
|
||
|
return o
|
||
|
end
|
||
|
|
||
|
function LinkField:handleButtonInput(button)
|
||
|
if button == game.BUTTON_STA then
|
||
|
if self.parent and self.parent.viewHandler then
|
||
|
self.parent.viewHandler:navigate(self.link)
|
||
|
else
|
||
|
game.Log("LinkField can't access PageView instance to navigate", game.LOGGER_ERROR)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
return false
|
||
|
end
|
||
|
|
||
|
return LinkField
|