43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
侧边栏状态
|
|
"""
|
|
import reflex as rx
|
|
|
|
from application.states.task import TaskState
|
|
|
|
|
|
class SidebarState(rx.State):
|
|
"""
|
|
侧边栏状态
|
|
"""
|
|
|
|
# 选中的导航按钮,默认为创建任务
|
|
nav_button: str = "create_task"
|
|
|
|
@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)
|