# -*- 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