small fixes
This commit is contained in:
@@ -44,7 +44,7 @@ First line<br/>Second line
|
|||||||
# Функции управления лаунчером
|
# Функции управления лаунчером
|
||||||
|
|
||||||
* `aio:doAction(string)` - выполняет действие AIO ([подробнее](https://aiolauncher.app/api.html));
|
* `aio:doAction(string)` - выполняет действие AIO ([подробнее](https://aiolauncher.app/api.html));
|
||||||
* `aio:addWidget(string)` - добавляет на экран встроенный виджет или виджет-скрипт;
|
* `aio:addWidget(string)` - добавляет на экран встроенный виджет, виджет-скрипт или клон существующего виджета;
|
||||||
* `aio:removeWidget(string)` - удаляет с экрана встроенный виджет или виджет-скрипт (внимание: доп. виджеты тоже будут удалены);
|
* `aio:removeWidget(string)` - удаляет с экрана встроенный виджет или виджет-скрипт (внимание: доп. виджеты тоже будут удалены);
|
||||||
* `aio:isWidgetAdded(string)` - проверяет, добавлен ли виджет на экран;
|
* `aio:isWidgetAdded(string)` - проверяет, добавлен ли виджет на экран;
|
||||||
* `aio:getArgs()` - возвращает таблицу аргументов, которые пользователь указал нажав на иконку настроек в режиме редактирования виджета;
|
* `aio:getArgs()` - возвращает таблицу аргументов, которые пользователь указал нажав на иконку настроек в режиме редактирования виджета;
|
||||||
|
|||||||
58
currencies-ru-widget.lua
Normal file
58
currencies-ru-widget.lua
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
-- name = "Курсы валют"
|
||||||
|
-- description = "Виджет курсов валют. Нажмите на дату чтобы изменить ее."
|
||||||
|
-- dataSource = "https://github.com/fawazahmed0/currency-api#readme"
|
||||||
|
-- type = "widget"
|
||||||
|
-- author = "Andrey Gavrilov"
|
||||||
|
-- version = "1.0"
|
||||||
|
-- argumentsHelp = "Введите список валютных пар в формате usd:rub btc:usd"
|
||||||
|
-- argumentsDefault = "usd:rub eur:rub"
|
||||||
|
|
||||||
|
stringx = require 'pl.stringx'
|
||||||
|
|
||||||
|
function onAlarm()
|
||||||
|
curs = aio:getArgs()
|
||||||
|
|
||||||
|
if curs == nil then
|
||||||
|
curs = {"usd:rub", "eur:rub"}
|
||||||
|
end
|
||||||
|
|
||||||
|
getRates("latest")
|
||||||
|
end
|
||||||
|
|
||||||
|
function getRates(locDate)
|
||||||
|
net:getText("https://cdn.jsdelivr.net/gh/fawazahmed0/currency-api@1/"..locDate.."/currencies/usd.json")
|
||||||
|
end
|
||||||
|
|
||||||
|
function onNetworkResult(result)
|
||||||
|
local dat = json:getValue(result, "object string:date")
|
||||||
|
local tab = {}
|
||||||
|
|
||||||
|
table.insert(tab, "<font color=\""..ui:getSecondaryTextColor().."\">"..dat.."</font>")
|
||||||
|
|
||||||
|
for idx = 1, #curs, 1 do
|
||||||
|
local equals = "<font color=\""..ui:getSecondaryTextColor().."\"> = </font>"
|
||||||
|
local cur = stringx.split(curs[idx], ":")
|
||||||
|
local cur1 = cur[1]
|
||||||
|
local cur2 = cur[2]
|
||||||
|
local rate1 = json:getValue(result, "object object:usd double:"..cur1)
|
||||||
|
local rate2 = json:getValue(result, "object object:usd double:"..cur2)
|
||||||
|
local rate = math.floor(rate2/rate1*10000+0.5)/10000
|
||||||
|
table.insert(tab, "1 "..string.upper(cur1)..equals..rate.." "..string.upper(cur2))
|
||||||
|
end
|
||||||
|
|
||||||
|
ui:showLines(tab)
|
||||||
|
end
|
||||||
|
|
||||||
|
function onClick(idx)
|
||||||
|
if idx == 1 then
|
||||||
|
ui:showEditDialog("Введите дату курсов", "Введите дату курсов в формате 2020-12-31. Пустое значение - текущая дата.")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function onDialogAction(text)
|
||||||
|
if text == "" then
|
||||||
|
text = "latest"
|
||||||
|
end
|
||||||
|
|
||||||
|
getRates(text)
|
||||||
|
end
|
||||||
9
open-search-widget.lua
Normal file
9
open-search-widget.lua
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
-- name = "Search"
|
||||||
|
|
||||||
|
function onResume()
|
||||||
|
ui:showText("Open search")
|
||||||
|
end
|
||||||
|
|
||||||
|
function onClick()
|
||||||
|
aio:doAction("search")
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user