74 lines
1.5 KiB
Lua
74 lines
1.5 KiB
Lua
-- name = "Notes tests"
|
|
-- type = "drawer"
|
|
-- aio_version = "4.7.99"
|
|
-- author = "Evgeny Zobnin"
|
|
-- version = "1.0"
|
|
-- testing = "true"
|
|
|
|
local fmt = require "fmt"
|
|
local notes_list = {}
|
|
local test_note = {}
|
|
|
|
function on_drawer_open()
|
|
refresh()
|
|
end
|
|
|
|
function refresh()
|
|
notes:load()
|
|
end
|
|
|
|
function on_notes_loaded(new_notes)
|
|
notes_list = new_notes
|
|
local texts = map(notes_list, note_to_text)
|
|
table.insert(texts, fmt.italic("Show new note dialog"))
|
|
table.insert(texts, fmt.italic("Add test note"))
|
|
table.insert(texts, fmt.italic("Change test note"))
|
|
drawer:show_ext_list(texts)
|
|
end
|
|
|
|
function on_click(idx)
|
|
if idx == #notes_list+1 then
|
|
notes:show_editor()
|
|
drawer:close()
|
|
elseif idx == #notes_list+2 then
|
|
notes:add{text = "test note"}
|
|
refresh()
|
|
elseif idx == #notes_list+3 then
|
|
test_note.text = "test note (changed)"
|
|
test_note.color = 1
|
|
test_note.position = test_note.position-3
|
|
notes:save(test_note)
|
|
refresh()
|
|
else
|
|
notes:show_editor(notes_list[idx].id)
|
|
drawer:close()
|
|
end
|
|
end
|
|
|
|
function on_long_click(idx)
|
|
if idx <= #notes_list then
|
|
notes:remove(notes_list[idx].id)
|
|
refresh()
|
|
end
|
|
end
|
|
|
|
function note_to_text(it)
|
|
if it.text == "test note" then
|
|
test_note = it
|
|
end
|
|
|
|
if it.color ~= 6 then
|
|
return fmt.colored(it.text, notes:colors()[it.color])
|
|
else
|
|
return it.text
|
|
end
|
|
end
|
|
|
|
function map(tbl, f)
|
|
local ret = {}
|
|
for k,v in pairs(tbl) do
|
|
ret[k] = f(v)
|
|
end
|
|
return ret
|
|
end
|