From c59901b2dc32e514c50c6bea0a84f1d1fe76a50c Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 30 Aug 2021 14:22:42 +0300 Subject: [PATCH] add calendar api --- README_ru.md | 23 +++++++++++++++++++++++ samples/calendar-sample.lua | 17 +++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 samples/calendar-sample.lua diff --git a/README_ru.md b/README_ru.md index 4891d47..80da9ed 100644 --- a/README_ru.md +++ b/README_ru.md @@ -130,6 +130,29 @@ ui:prepare_context_menu({ Если в запросе был указан `id`, то функция вместо описанного выше колбека вызовет `on_network_result_$id(string, [code])`. То есть если id равен "server1", то колбек будет иметь вид `on_network_result_server1(string, [code])`. +# Календарь + +* `calendar:get_events([calendar_id])` - возвращает таблицу табдлиц событий всех календарей, опциональный аргумент - ID календаря; +* `calendar:get_calendars()` - возвращет таблицу таблиц календарей; +* `calendar:open_event(id)` - открывает событие в системном календаре. + +Формат таблицы события: + +* `id` - идентификатор события; +* `calendar_id` - идентификатор календаря; +* `title` - заголовок события; +* `description` - описание события; +* `location` - адрес события строкой; +* `begin` - время начала события (в секундах); +* `end` - время конца события (в секундах); +* `all_day` - булево значение, означающее, что событие длится весь день. + +Формат таблицы календаря: + +* `id` - идентификатор календаря; +* `name` - название календаря; +* `color` - цвет календаря в фолрмате #XXXXXX. + # Функции обработки данных * `ajson:get_value(string, string)` - получает указанное значение из JSON; первый аргумент - JSON-строка, второй - инструкция для получения значения. diff --git a/samples/calendar-sample.lua b/samples/calendar-sample.lua new file mode 100644 index 0000000..a655684 --- /dev/null +++ b/samples/calendar-sample.lua @@ -0,0 +1,17 @@ +events = {} + +function on_resume() + local ev_titles = {} + + events = slice(calendar:get_events(), 1, 10) + + for k,v in ipairs(events) do + ev_titles[k] = v.title + end + + ui:show_lines(ev_titles) +end + +function on_click(idx) + calendar:open_event(events[idx].id) +end