add Notification demo,and pass
This commit is contained in:
70
doric-demo/src/NotificationDemo.ts
Normal file
70
doric-demo/src/NotificationDemo.ts
Normal file
@@ -0,0 +1,70 @@
|
||||
import { Group, Panel, navbar, text, gravity, Color, Stack, LayoutSpec, list, NativeCall, listItem, log, vlayout, Gravity, hlayout, Text, scroller, layoutConfig, image, IView, IVLayout, ScaleType, modal, IText, network, navigator, notification } from "doric";
|
||||
import { title, label, colors } from "./utils";
|
||||
|
||||
@Entry
|
||||
class NotificationDemo extends Panel {
|
||||
subscribeId?: string
|
||||
build(rootView: Group): void {
|
||||
scroller(vlayout([
|
||||
title("Notification Demo"),
|
||||
label('Publish').apply({
|
||||
width: 200,
|
||||
height: 50,
|
||||
backgroundColor: colors[0],
|
||||
textSize: 30,
|
||||
textColor: Color.WHITE,
|
||||
layoutConfig: layoutConfig().just(),
|
||||
onClick: () => {
|
||||
notification(context).publish({
|
||||
biz: "Test",
|
||||
name: "Demo",
|
||||
data: {
|
||||
a: "1",
|
||||
b: "2",
|
||||
}
|
||||
})
|
||||
}
|
||||
} as IText),
|
||||
label('Subscribe').apply({
|
||||
width: 200,
|
||||
height: 50,
|
||||
backgroundColor: colors[0],
|
||||
textSize: 30,
|
||||
textColor: Color.WHITE,
|
||||
layoutConfig: layoutConfig().just(),
|
||||
onClick: () => {
|
||||
notification(context).subscribe({
|
||||
biz: "Test",
|
||||
name: "Demo",
|
||||
callback: (data) => {
|
||||
modal(context).alert(`Received notification,data is ${JSON.stringify(data)}`)
|
||||
}
|
||||
}).then(e => {
|
||||
this.subscribeId = e
|
||||
})
|
||||
}
|
||||
} as IText),
|
||||
label('Unsubscribe').apply({
|
||||
width: 200,
|
||||
height: 50,
|
||||
backgroundColor: colors[0],
|
||||
textSize: 30,
|
||||
textColor: Color.WHITE,
|
||||
layoutConfig: layoutConfig().just(),
|
||||
onClick: () => {
|
||||
if (this.subscribeId) {
|
||||
notification(context).unsubscribe(this.subscribeId).then(e => {
|
||||
this.subscribeId = undefined
|
||||
})
|
||||
}
|
||||
}
|
||||
} as IText),
|
||||
]).apply({
|
||||
layoutConfig: layoutConfig().most().configHeight(LayoutSpec.FIT),
|
||||
gravity: gravity().center(),
|
||||
space: 10,
|
||||
} as IVLayout)).apply({
|
||||
layoutConfig: layoutConfig().most(),
|
||||
}).in(rootView)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user