add Notification demo,and pass

This commit is contained in:
pengfei.zhou
2020-01-09 11:50:49 +08:00
committed by osborn
parent c5a3f205b4
commit 88d45c2967
7 changed files with 126 additions and 19 deletions

View 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)
}
}