yazi/yazi-plugin/preset/components/parent.lua

46 lines
815 B
Lua
Raw Normal View History

Parent = {
_id = "parent",
}
function Parent:new(area, tab)
return setmetatable({
_area = area,
_tab = tab,
_folder = tab.parent,
}, { __index = self })
end
function Parent:render()
if not self._folder then
return {}
end
local items = {}
for _, f in ipairs(self._folder.window) do
items[#items + 1] = ui.ListItem(Entity:render(f)):style(Entity:style(f))
end
return {
ui.List(self._area, items),
}
end
2024-06-03 09:31:55 +03:00
-- Mouse events
2024-06-03 09:31:55 +03:00
function Parent:click(event, up)
if up or not event.is_left then
return
end
local y = event.y - self._area.y + 1
local window = self._folder and self._folder.window or {}
if window[y] then
ya.manager_emit("reveal", { window[y].url })
2024-06-03 09:31:55 +03:00
else
ya.manager_emit("leave", {})
end
end
function Parent:scroll(event, step) end
function Parent:touch(event, step) end