Initial solution

For optional confirmation dialogue box.
This commit is contained in:
Philip Abbey
2023-12-01 09:15:59 +00:00
parent 3fe48be756
commit 0ab9cb800a
41 changed files with 148 additions and 21 deletions

View File

@ -48,17 +48,26 @@ class HomeAssistantView extends WatchUi.Menu2 {
var items = definition.get("items") as Lang.Dictionary;
for(var i = 0; i < items.size(); i++) {
var type = items[i].get("type") as Lang.String or Null;
var name = items[i].get("name") as Lang.String or Null;
var entity = items[i].get("entity") as Lang.String or Null;
var service = items[i].get("service") as Lang.String or Null;
var type = items[i].get("type") as Lang.String or Null;
var name = items[i].get("name") as Lang.String or Null;
var entity = items[i].get("entity") as Lang.String or Null;
var tap_action = items[i].get("tap_action") as Lang.Dictionary or Null;
var service = items[i].get("service") as Lang.String or Null;
var confirm = false as Lang.Boolean;
if (tap_action != null) {
service = tap_action.get("service");
confirm = tap_action.get("confirm");
if (confirm == null) {
confirm = false;
}
}
if (type != null && name != null && entity != null) {
if (type.equals("toggle")) {
var item = HomeAssistantMenuItemFactory.create().toggle(name, entity);
addItem(item);
mListToggleItems.add(item);
} else if (type.equals("tap") && service != null) {
addItem( HomeAssistantMenuItemFactory.create().tap(name, entity, service));
addItem( HomeAssistantMenuItemFactory.create().tap(name, entity, service, confirm));
} else if (type.equals("group")) {
var item = HomeAssistantMenuItemFactory.create().group(items[i]);
addItem(item);