37 lines
910 B
Lua
37 lines
910 B
Lua
require("common.class")
|
|
local Field = require("components.pager.field")
|
|
|
|
---@class LinkField: Field
|
|
---@field link Page
|
|
local LinkField = {
|
|
__tostring = function () return "LinkField" end
|
|
}
|
|
|
|
---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
|
|
game.Log(self .. " navigate(" .. self.link .. ") called", game.LOGGER_INFO)
|
|
self.parent.viewHandler:navigate(self.link)
|
|
else
|
|
game.Log(self .. " can't access " ..
|
|
(self.parent and self.parent.viewHandler or "PageView") ..
|
|
" instance to navigate", game.LOGGER_ERROR)
|
|
end
|
|
end
|
|
|
|
return false
|
|
end
|
|
|
|
return LinkField
|