This repository has been archived on 2024-07-22. You can view files and clone it, but cannot push or open issues or pull requests.
Doric/doric-demo/src/NavigatorDemo.ts

131 lines
4.5 KiB
TypeScript
Raw Normal View History

import { Panel, scroller, vlayout, text, layoutConfig, LayoutSpec, Color, gravity, Group, navigator, modal, notification } from "doric";
2019-12-04 14:07:14 +08:00
import { colors, label } from "./utils";
@Entry
class NaivgatorDemo extends Panel {
build(root: Group) {
2019-12-09 20:34:28 +08:00
if (this.getInitData()) {
modal(context).alert(`Init Data :${JSON.stringify(this.getInitData())}`)
}
2019-12-04 14:07:14 +08:00
scroller(vlayout([
text({
text: "Navigator Demo",
2019-12-14 16:32:04 +08:00
layoutConfig: layoutConfig().configWidth(LayoutSpec.MOST),
2019-12-04 14:07:14 +08:00
textSize: 30,
textColor: Color.WHITE,
backgroundColor: colors[1],
textAlignment: gravity().center(),
height: 50,
}),
...[
2021-04-16 14:34:16 +08:00
'AnimatorDemo',
2021-04-16 19:37:10 +08:00
'Gobang',
2021-04-30 16:47:11 +08:00
'NotificationDemo',
2021-04-16 19:37:10 +08:00
'SwitchDemo',
'SliderDemo',
2021-04-16 14:34:16 +08:00
'NavbarDemo',
"DraggableDemo",
2021-04-14 17:46:58 +08:00
"RefreshableDemo",
2021-04-16 14:34:16 +08:00
'Counter',
'EffectsDemo',
'ImageDemo',
'LayoutDemo',
'ListDemo',
'ModalDemo',
'NavigatorDemo',
'NetworkDemo',
'ScrollerDemo',
'Snake',
'StorageDemo',
'PopoverDemo'].map(e =>
2019-12-04 14:07:14 +08:00
label(e).apply({
height: 50,
backgroundColor: colors[0],
textSize: 30,
textColor: Color.WHITE,
2019-12-14 16:32:04 +08:00
layoutConfig: layoutConfig().just().configWidth(LayoutSpec.MOST),
2019-12-04 14:07:14 +08:00
onClick: () => {
navigator(context).push(`assets://src/${e}.js`, {
2019-12-09 20:34:28 +08:00
alias: `${e}.js`,
extra: {
from: "navigatorDemo"
},
})
2019-12-04 14:07:14 +08:00
},
})
2019-12-04 14:07:14 +08:00
),
label('POP').apply({
width: 200,
height: 50,
backgroundColor: colors[0],
textSize: 30,
textColor: Color.WHITE,
2019-12-14 16:32:04 +08:00
layoutConfig: layoutConfig().just(),
2019-12-04 14:07:14 +08:00
onClick: () => {
navigator(context).pop()
},
}),
label('Register Pop Self').apply({
width: 200,
height: 50,
backgroundColor: colors[0],
textSize: 30,
textColor: Color.WHITE,
layoutConfig: layoutConfig().just(),
onClick: () => {
notification(context).subscribe({
name: "PopSelf",
callback: () => {
navigator(context).popSelf()
}
})
},
}),
label('Send Pop Self').apply({
width: 200,
height: 50,
backgroundColor: colors[0],
textSize: 30,
textColor: Color.WHITE,
layoutConfig: layoutConfig().just(),
onClick: () => {
notification(context).publish({
name: "PopSelf"
})
},
}),
label('Back to Root').apply({
width: 200,
height: 50,
backgroundColor: colors[0],
textSize: 30,
textColor: Color.WHITE,
layoutConfig: layoutConfig().just(),
onClick: () => {
navigator(context).popToRoot()
},
}),
2020-04-01 15:19:37 +08:00
label('OpenURL').apply({
width: 200,
height: 50,
backgroundColor: colors[0],
textSize: 30,
textColor: Color.WHITE,
layoutConfig: layoutConfig().just(),
onClick: () => {
navigator(context).openUrl("https://doric.pub")
},
}),
2019-12-04 14:07:14 +08:00
]).apply({
2020-09-18 16:27:45 +08:00
layoutConfig: {
widthSpec: LayoutSpec.MOST,
heightSpec: LayoutSpec.FIT
},
2020-05-06 15:19:08 +08:00
width: Environment.screenWidth,
2019-12-04 14:07:14 +08:00
gravity: gravity().center(),
space: 10,
})).apply({
2019-12-14 16:32:04 +08:00
layoutConfig: layoutConfig().most(),
2019-12-04 14:07:14 +08:00
}).in(root)
}
}