mirror of
https://github.com/natankeddem/bale.git
synced 2026-04-23 06:50:41 +00:00
added default host selection
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
from nicegui import ui
|
||||
from bale import elements as el
|
||||
import bale.logo as logo
|
||||
from bale.tabs import Tab
|
||||
from bale.tabs.manage import Manage
|
||||
from bale.tabs.history import History
|
||||
from bale.tabs.automation import Automation
|
||||
@@ -43,6 +44,13 @@ class Content:
|
||||
self._tab_panels = (
|
||||
ui.tab_panels(self._tabs, value="Manage", on_change=lambda e: self._tab_changed(e), animated=False).classes("w-full h-full").bind_visibility_from(self._header)
|
||||
)
|
||||
ui.timer(0.1, self.select_default, once=True)
|
||||
|
||||
async def select_default(self):
|
||||
tab = Tab(spinner=None)
|
||||
default = tab.common.get("default", "")
|
||||
if default != "":
|
||||
await self.host_selected(default)
|
||||
|
||||
async def _tab_changed(self, e):
|
||||
if e.value == "Manage":
|
||||
|
||||
@@ -107,6 +107,9 @@ class Drawer(object):
|
||||
result = await host_dialog
|
||||
if result == "save":
|
||||
if name != "" and name != host_input.value:
|
||||
default = Tab(spinner=None).common.get("default", "")
|
||||
if default == name:
|
||||
Tab(spinner=None).common["default"] = ""
|
||||
for row in self._table.rows:
|
||||
if name == row["name"]:
|
||||
self._table.remove_rows(row)
|
||||
|
||||
@@ -13,6 +13,14 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
class Manage(Tab):
|
||||
def _build(self):
|
||||
def set_default(value) -> None:
|
||||
if value is True:
|
||||
self.common.update({"default": self.host})
|
||||
el.notify(f"Default host is now {self.host}.", type="info")
|
||||
else:
|
||||
self.common.update({"default": ""})
|
||||
el.notify("Default host is now unset.", type="info")
|
||||
|
||||
with el.WColumn() as col:
|
||||
col.tailwind.height("full")
|
||||
self._confirm = el.WRow()
|
||||
@@ -27,7 +35,8 @@ class Manage(Tab):
|
||||
el.SmButton(text="Browse", on_click=self._browse)
|
||||
el.SmButton(text="Find", on_click=self._find)
|
||||
with ui.row().classes("items-center"):
|
||||
self._auto = ui.checkbox("Auto", on_change=lambda e: self.common.update({"auto": e.value}))
|
||||
self._default = ui.checkbox("Default", value=True if self.common.get("default", "") == self.host else False, on_change=lambda e: set_default(e.value))
|
||||
self._default.props("left-label keep-color color=primary")
|
||||
self._auto.props("left-label keep-color color=primary")
|
||||
self._auto.tailwind.text_color("primary")
|
||||
self._auto.value = self.common.get("auto", False)
|
||||
|
||||
Reference in New Issue
Block a user