-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrenderer.ts
More file actions
41 lines (35 loc) · 1.3 KB
/
renderer.ts
File metadata and controls
41 lines (35 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import { Eimer, EimerBrowserTransport } from 'eimer';
// Create eimer node and connect to "preload" via BrowserTransport
const eimer = new Eimer('renderer');
eimer.connect(new EimerBrowserTransport(window));
// Initialize UI and set up event handlers
// counter value
const counterElement = document.getElementById('counter') as HTMLDivElement;
if (counterElement) {
eimer.callRpc<number>('counter.get').then((value: number) => { counterElement.textContent = value.toString() });
eimer.subscribe('counter.change', (value: any) => {
counterElement.textContent = value.toString();
});
}
// "+" Button
const incrementButton = document.getElementById('increment') as HTMLButtonElement;
if (incrementButton) {
incrementButton.addEventListener('click', async () => {
try {
await eimer.callRpc('counter.increment');
} catch (error) {
console.error('Failed to increment counter:', error);
}
});
}
// "-" Button
const decrementButton = document.getElementById('decrement') as HTMLButtonElement;
if (decrementButton) {
decrementButton.addEventListener('click', async () => {
try {
await eimer.callRpc('counter.decrement');
} catch (error) {
console.error('Failed to decrement counter:', error);
}
});
}