Python/agent/application/states/sidebar.py

55 lines
1.5 KiB
Python

# -*- coding: utf-8 -*-
"""
侧边栏状态
"""
import reflex as rx
from application.states.task import TaskState
class SidebarState(rx.State):
"""
侧边栏状态
"""
# 选中的导航按钮,默认为创建任务
nav_button: str = "create_task"
# 退出登录确认打开状态
is_logout_confirm_open: bool = False
@rx.event
async def set_nav_button(self, nav_button: str):
"""
将指定导航按钮设置为选中的导航按钮
"""
self.nav_button = nav_button
# 若选中创建任务导航按钮则将空设置为当前任务唯一标识
if nav_button == "create_task":
# 获取任务状态
task_state = await self.get_state(TaskState)
# 将空设置为当前任务唯一标识
task_state.set_task_id("")
@rx.event
async def set_task_id(self, task_id: str):
"""
将指定任务的唯一标识设置为当前选中任务的唯一标识
"""
self.nav_button = ""
# 获取任务状态
task_state = await self.get_state(TaskState)
# 将指定任务唯一标识设置为当前任务唯一标识
task_state.set_task_id(task_id)
@rx.event
def toggle_logout_confirm_open(self, is_open: bool) -> None:
"""
切换退出登录确认打开状态
:param is_open: 退出登录确认打开状态
:return: None
"""
self.is_logout_confirm_open = is_open