25 lines
1.1 KiB
Plaintext
25 lines
1.1 KiB
Plaintext
class Actions {
|
|
owner: Object
|
|
state: Object
|
|
function complete(self: Actions): Unit { self.state.increment() }
|
|
function schedule(self: Actions, event: Event): Unit {
|
|
ui.after(self.owner, "load", 1500, self.complete)
|
|
}
|
|
}
|
|
state = ui.state(0)
|
|
hidden = TextBlock("这个 Block 没有挂载,也能拥有任务")
|
|
page = Page()
|
|
page.title = "任务生命周期"
|
|
pageActions = Actions(page, state)
|
|
blockActions = Actions(hidden, state)
|
|
appActions = Actions(ui, state)
|
|
pageButton = Button("Page 任务:关闭 Tab 会取消")
|
|
blockButton = Button("隐藏 Block 任务:关闭 Tab 仍继续")
|
|
appButton = Button("应用任务:关闭 Tab 仍继续")
|
|
pageConnection = pageButton.on("click", pageActions.schedule)
|
|
blockConnection = blockButton.on("click", blockActions.schedule)
|
|
appConnection = appButton.on("click", appActions.schedule)
|
|
page.render(Column(24, 16, TextBlock("1.5 秒后更新同一个状态对象;重复点击只保留最新任务"), ui.textOf(state, "value"), pageButton, blockButton, appButton))
|
|
initial = ui.after(ui, "initial", 500, appActions.complete)
|
|
ui.window().setTitle("Owned Tasks")
|