Skip to content

Commit 9b464de

Browse files
committed
fix debounce
1 parent fbb589f commit 9b464de

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed

frontend/src/plugins/impl/vega/vega-component.tsx

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,23 @@ const LoadedVegaComponent = ({
119119
setValue({ ...value, ...newValue });
120120
});
121121

122+
const debouncedSignalHandler = useMemo(
123+
() =>
124+
debounce((signalName: string, signalValue: unknown) => {
125+
Logger.debug("[Vega signal]", signalName, signalValue);
126+
let result = Objects.mapValues(
127+
signalValue as object,
128+
convertDatetimeToEpochMilliseconds,
129+
);
130+
result = Objects.mapValues(result, convertSetToList);
131+
132+
handleUpdateValue({
133+
[signalName]: result,
134+
});
135+
}, 100),
136+
[handleUpdateValue],
137+
);
138+
122139
const namesMemo = useDeepCompareMemoize(names);
123140
const signalListeners = useMemo(
124141
() =>
@@ -128,28 +145,16 @@ const LoadedVegaComponent = ({
128145
return acc;
129146
}
130147

131-
// Debounce the signal listener, otherwise we may create expensive requests
132-
// TODO: These aren't triggered
133148
acc.push({
134149
signalName: name,
135150
handler: (signalName, signalValue) =>
136-
debounce(() => {
137-
Logger.debug("[Vega signal]", signalName, signalValue);
138-
let result = Objects.mapValues(
139-
signalValue as object,
140-
convertDatetimeToEpochMilliseconds,
141-
);
142-
result = Objects.mapValues(result, convertSetToList);
143-
144-
handleUpdateValue({
145-
[signalName]: result,
146-
});
147-
}, 100),
151+
// Debounce the signal listener, otherwise we may create expensive requests
152+
debouncedSignalHandler(signalName, signalValue),
148153
});
149154

150155
return acc;
151156
}, []),
152-
[namesMemo, handleUpdateValue],
157+
[namesMemo, debouncedSignalHandler],
153158
);
154159

155160
const handleError = useEvent((error) => {

0 commit comments

Comments
 (0)