add arguments support
This commit is contained in:
@@ -15,6 +15,8 @@
|
|||||||
* `ui:showProgressBar(text, currentValue, maxValue)` - показывает прогресс бар;
|
* `ui:showProgressBar(text, currentValue, maxValue)` - показывает прогресс бар;
|
||||||
* `ui:showToast(string)` - показывает информационное сообщение в стиле Android;
|
* `ui:showToast(string)` - показывает информационное сообщение в стиле Android;
|
||||||
* `ui:showDialog(string, string, [string], [string])` - показать диалог; первый аргумент - заголовок, второй - текст, третий (опциональный) - имя первой кнопки, четвертый (опциональный) - имя второй кнопки;
|
* `ui:showDialog(string, string, [string], [string])` - показать диалог; первый аргумент - заголовок, второй - текст, третий (опциональный) - имя первой кнопки, четвертый (опциональный) - имя второй кнопки;
|
||||||
|
* `ui:getPrimaryTextColor()` - возвращает цвет текста темы в формате #XXXXXX;
|
||||||
|
* `ui:getSecondaryTextColor()` - возвращает цвет вторичного текста (обычно серый) в формате #XXXXXX;
|
||||||
|
|
||||||
При нажатии на любой элемент интерфейса будет выполнен колбек `onClick(number)`, где number - это порядковый номер элемента. Например, если вы используете `ui:showButtons` для показа трех кнопок, то при нажатии первой кнопки будет вызван `onClick` с аргументом 1, второй - с аргументов 2, и так далее. Если элемент на экране всего один - аргумент всегда будет равен единице и его можно будет опустить.
|
При нажатии на любой элемент интерфейса будет выполнен колбек `onClick(number)`, где number - это порядковый номер элемента. Например, если вы используете `ui:showButtons` для показа трех кнопок, то при нажатии первой кнопки будет вызван `onClick` с аргументом 1, второй - с аргументов 2, и так далее. Если элемент на экране всего один - аргумент всегда будет равен единице и его можно будет опустить.
|
||||||
|
|
||||||
@@ -43,6 +45,9 @@ First line<br/>Second line
|
|||||||
* `aio:addWidget(string)` - добавляет на экран встроенный виджет или виджет-скрипт;
|
* `aio:addWidget(string)` - добавляет на экран встроенный виджет или виджет-скрипт;
|
||||||
* `aio:removeWidget(string)` - удаляет с экрана встроенный виджет или виджет-скрипт (внимание: доп. виджеты тоже будут удалены);
|
* `aio:removeWidget(string)` - удаляет с экрана встроенный виджет или виджет-скрипт (внимание: доп. виджеты тоже будут удалены);
|
||||||
* `aio:isWidgetAdded(string)` - проверяет, добавлен ли виджет на экран;
|
* `aio:isWidgetAdded(string)` - проверяет, добавлен ли виджет на экран;
|
||||||
|
* `aio:getArgs()` - возвращает таблицу аргументов, которые пользователь указал нажав на иконку настроек в режиме редактирования виджета;
|
||||||
|
|
||||||
|
Если в метаданных виджета есть поле `argumentsArgs`, его значение будет выведено при редактировании аргументов виджета.
|
||||||
|
|
||||||
# Сетевые функции
|
# Сетевые функции
|
||||||
|
|
||||||
@@ -101,6 +106,7 @@ end
|
|||||||
```
|
```
|
||||||
-- name = "Covid info"
|
-- name = "Covid info"
|
||||||
-- description = "Cases of illness and death from covid (covid19api.com)"
|
-- description = "Cases of illness and death from covid (covid19api.com)"
|
||||||
|
-- argumentsHelp = "Specify the country code"
|
||||||
-- type = "widget"
|
-- type = "widget"
|
||||||
-- author = "Evgeny Zobnin (zobnin@gmail.com)"
|
-- author = "Evgeny Zobnin (zobnin@gmail.com)"
|
||||||
-- version = "1.0"
|
-- version = "1.0"
|
||||||
|
|||||||
10
args-test.lua
Normal file
10
args-test.lua
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
-- argumentsHelp = "The word recorded here will be displayed on the screen."
|
||||||
|
|
||||||
|
function onResume()
|
||||||
|
local args = aio:getArgs()
|
||||||
|
if args == nil then
|
||||||
|
ui:showText("args is empty")
|
||||||
|
else
|
||||||
|
ui:showText("arg1: "..args[1])
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
-- author = "Evgeny Zobnin (zobnin@gmail.com)"
|
-- author = "Evgeny Zobnin (zobnin@gmail.com)"
|
||||||
-- version = "1.0"
|
-- version = "1.0"
|
||||||
|
|
||||||
equals = "<font color=\"#9E9E9E\"> = </font>"
|
equals = "<font color=\""..ui:getSecondaryTextColor().."\"> = </font>"
|
||||||
|
|
||||||
function onAlarm()
|
function onAlarm()
|
||||||
net:getText("https://api.covid19api.com/summary")
|
net:getText("https://api.covid19api.com/summary")
|
||||||
|
|||||||
46
currencies-widget.lua
Normal file
46
currencies-widget.lua
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
-- name = "Курсы валют"
|
||||||
|
-- description = "Free Currency Rates API (https://github.com/fawazahmed0/currency-api#readme). Нажатие на дату загружает текущие курсы, на остальные строки - сдвигает дату на один день назад."
|
||||||
|
-- type = "widget"
|
||||||
|
-- author = "Andrey Gavrilov"
|
||||||
|
-- version = "1.0"
|
||||||
|
|
||||||
|
curs1 = {"usd", "eur", "eur", "gbp", "gbp", "chf", "aed", "btc"}
|
||||||
|
curs2 = {"rub", "rub", "usd", "rub", "usd", "usd", "usd", "usd"}
|
||||||
|
|
||||||
|
function onAlarm()
|
||||||
|
local locDate = "latest"
|
||||||
|
getRates(locDate)
|
||||||
|
end
|
||||||
|
|
||||||
|
function getRates(locDate)
|
||||||
|
net:getText("https://cdn.jsdelivr.net/gh/fawazahmed0/currency-api@1/"..locDate.."/currencies/usd.json")
|
||||||
|
end
|
||||||
|
|
||||||
|
function onNetworkResult(result)
|
||||||
|
dat = json:getValue(result, "object string:date")
|
||||||
|
tab = {}
|
||||||
|
table.insert(tab, "<u>"..dat.."</u>")
|
||||||
|
for idx = 1, #curs1, 1 do
|
||||||
|
local cur1 = curs1[idx]
|
||||||
|
local cur2 = curs2[idx]
|
||||||
|
local rate1 = json:getValue(result, "object object:usd double:"..cur1)
|
||||||
|
local rate2 = json:getValue(result, "object object:usd double:"..cur2)
|
||||||
|
local rate = rate2/rate1
|
||||||
|
table.insert(tab, "1 "..string.upper(cur1).." = "..rate.." "..string.upper(cur2))
|
||||||
|
end
|
||||||
|
ui:showLines(tab)
|
||||||
|
end
|
||||||
|
|
||||||
|
function onClick(idx)
|
||||||
|
if idx == 1 then
|
||||||
|
local locDat = "latest"
|
||||||
|
getRates(locDat)
|
||||||
|
else
|
||||||
|
local locYear = tonumber(string.sub(dat, 1, 4))
|
||||||
|
local locMonth = tonumber(string.sub(dat, 6,7))
|
||||||
|
local locDay = tonumber(string.sub(dat, 9, 10))
|
||||||
|
local locTime = os.time{year=locYear, month=locMonth, day=locDay} - (60*60*24)
|
||||||
|
local locDate = os.date("%Y-%m-%d", locTime)
|
||||||
|
getRates(locDate)
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user