MujicaUI

Projects · #379

TimeTracker 浅色主题渲染快照
浅色 · 渲染快照
TimeTracker 深色主题渲染快照
深色 · 渲染快照

379 TimeTracker · 工时计时

用途

工时计时用于项目管理界面。

最小示例

var state project.TimeTrackerState
view := func(c *ui.Context) {
	core.Use(c, core.Settings{})
	if project.TimeTracker(c, &state, project.TimeTrackerOptions{}).Changed() {
		log.Println("tracked", state.Total(c.Now()))
	}
}
ui.Render(view, 1000, 700, 1)

参数

state *TimeTrackerState;Now 固定时钟供测试;Disabled 禁用操作;Label 为读数名称。

状态

业务状态由调用方持有;主题、密度与文本缩放遵循窗口设置。交互控件提供焦点、悬停和禁用状态;展示组件保留语义名称。

事件

Changed() 表示开始、停止或手动修正;Entries 和 Adjust 由调用方持有。

键盘操作

Tab 移动;Enter/Space 开始停止;停止后打开修正,编辑时长,Apply 提交。

限制

只有最后一项可处于运行态;时段按顺序且互不重叠;累计时长非负。隐藏时保留计时状态。