Skip to content

Commit b7237fd

Browse files
committed
feat(BadgeNotification): Support for WASM
1 parent 02635ed commit b7237fd

File tree

3 files changed

+46
-0
lines changed

3 files changed

+46
-0
lines changed

src/Uno.UI/WasmScripts/Uno.UI.d.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1153,6 +1153,16 @@ declare namespace Windows.UI.Core {
11531153
private clearStack;
11541154
}
11551155
}
1156+
interface Navigator {
1157+
setAppBadge(value: number): void;
1158+
clearAppBadge(): void;
1159+
}
1160+
declare namespace Windows.UI.Notifications {
1161+
class BadgeUpdater {
1162+
static setNumber(value: number): void;
1163+
static clear(): void;
1164+
}
1165+
}
11561166
declare namespace Windows.UI.ViewManagement {
11571167
class ApplicationView {
11581168
static setFullScreenMode(turnOn: boolean): boolean;
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
interface Navigator {
2+
setAppBadge(value: number):void;
3+
clearAppBadge(): void;
4+
}
5+
6+
namespace Windows.UI.Notifications {
7+
8+
export class BadgeUpdater {
9+
10+
public static setNumber(value: number) {
11+
if (navigator.setAppBadge) {
12+
navigator.setAppBadge(value);
13+
}
14+
}
15+
16+
public static clear() {
17+
if (navigator.clearAppBadge) {
18+
navigator.clearAppBadge();
19+
}
20+
}
21+
22+
}
23+
24+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,23 @@
11
#nullable enable
22

3+
using Uno.Foundation;
4+
35
namespace Windows.UI.Notifications
46
{
57
public partial class BadgeUpdater
68
{
9+
private const string JsType = "Windows.UI.Notifications.BadgeUpdater";
10+
711
partial void SetBadge(string? value)
812
{
13+
if (value != null && int.TryParse(value, out var number))
14+
{
15+
WebAssemblyRuntime.InvokeJS($"{JsType}.setNumber({number})");
16+
}
17+
else
18+
{
19+
WebAssemblyRuntime.InvokeJS($"{JsType}.clear()");
20+
}
921
}
1022
}
1123
}

0 commit comments

Comments
 (0)