Skip to content

Commit f4e5bf6

Browse files
authored
Fix CI workflow step names and add event listener cleanup (#13)
1 parent 7fe4a20 commit f4e5bf6

File tree

3 files changed

+24
-10
lines changed

3 files changed

+24
-10
lines changed

.github/workflows/ci.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
- name: Checkout code
2424
uses: actions/checkout@v5
2525

26-
- name: Setup Node.js 22.x
26+
- name: Setup Node.js 24.x
2727
uses: actions/setup-node@v6
2828
with:
2929
node-version: 24.x
@@ -46,7 +46,7 @@ jobs:
4646
- name: Checkout code
4747
uses: actions/checkout@v5
4848

49-
- name: Setup Node.js 22.x
49+
- name: Setup Node.js 24.x
5050
uses: actions/setup-node@v6
5151
with:
5252
node-version: 24.x
@@ -66,7 +66,7 @@ jobs:
6666
- name: Checkout code
6767
uses: actions/checkout@v5
6868

69-
- name: Setup Node.js 22.x
69+
- name: Setup Node.js 24.x
7070
uses: actions/setup-node@v6
7171
with:
7272
node-version: 24.x
@@ -92,7 +92,7 @@ jobs:
9292
- name: Checkout code
9393
uses: actions/checkout@v5
9494

95-
- name: Setup Node.js 22.x
95+
- name: Setup Node.js 24.x
9696
uses: actions/setup-node@v6
9797
with:
9898
node-version: 24.x
@@ -115,7 +115,7 @@ jobs:
115115
- name: Checkout code
116116
uses: actions/checkout@v5
117117

118-
- name: Setup Node.js 22.x
118+
- name: Setup Node.js 24.x
119119
uses: actions/setup-node@v6
120120
with:
121121
node-version: 24.x
@@ -135,7 +135,7 @@ jobs:
135135
- name: Checkout code
136136
uses: actions/checkout@v5
137137

138-
- name: Setup Node.js 22.x
138+
- name: Setup Node.js 24.x
139139
uses: actions/setup-node@v6
140140
with:
141141
node-version: 24.x

examples/src/examples/animation/blend-trees-2d-cartesian.controls.mjs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,17 +124,26 @@ export const controls = ({ React, jsx, fragment }) => {
124124
componentDidMount() {
125125
const { canvas, app } = this;
126126
// console.log("componentDidMount()", { canvas, app });
127-
canvas.addEventListener('mousemove', this.mouseEvent.bind(this));
128-
canvas.addEventListener('mousedown', this.mouseEvent.bind(this));
129-
canvas.addEventListener('touchmove', this.mouseEvent.bind(this));
130-
canvas.addEventListener('touchstart', this.mouseEvent.bind(this));
127+
this.boundMouseEvent = this.mouseEvent.bind(this);
128+
canvas.addEventListener('mousemove', this.boundMouseEvent);
129+
canvas.addEventListener('mousedown', this.boundMouseEvent);
130+
canvas.addEventListener('touchmove', this.boundMouseEvent);
131+
canvas.addEventListener('touchstart', this.boundMouseEvent);
131132
if (!app) {
132133
console.warn('no app');
133134
return;
134135
}
135136
this.onAppStart();
136137
}
137138

139+
componentWillUnmount() {
140+
const { canvas } = this;
141+
canvas.removeEventListener('mousemove', this.boundMouseEvent);
142+
canvas.removeEventListener('mousedown', this.boundMouseEvent);
143+
canvas.removeEventListener('touchmove', this.boundMouseEvent);
144+
canvas.removeEventListener('touchstart', this.boundMouseEvent);
145+
}
146+
138147
render() {
139148
return fragment(jsx('canvas', { ref: this.refCanvas }));
140149
}

examples/src/examples/animation/blend-trees-2d-directional.controls.mjs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,11 @@ export const controls = ({ React, jsx, fragment }) => {
7878
};
7979
canvas.addEventListener('mousemove', mouseEvent);
8080
canvas.addEventListener('mousedown', mouseEvent);
81+
82+
return () => {
83+
canvas.removeEventListener('mousemove', mouseEvent);
84+
canvas.removeEventListener('mousedown', mouseEvent);
85+
};
8186
});
8287
return fragment(jsx('canvas', { ref: canvasRef }));
8388
};

0 commit comments

Comments
 (0)