feat(react): basic handling of note context aware

This commit is contained in:
Elian Doran
2025-08-20 23:53:13 +03:00
parent afe3904ea3
commit 59486cd55d
4 changed files with 55 additions and 5 deletions

View File

@@ -4,6 +4,7 @@ import froca from "../services/froca.js";
import { t } from "../services/i18n.js";
import toastService from "../services/toast.js";
import { renderReactWidget } from "./react/react_utils.jsx";
import { EventNames, EventData } from "../components/app_context.js";
export class TypedBasicWidget<T extends TypedComponent<any>> extends TypedComponent<T> {
protected attrs: Record<string, string>;
@@ -276,9 +277,10 @@ export function wrapReactWidgets<T extends TypedComponent<any>>(components: (T |
return wrappedResult;
}
class ReactWrappedWidget extends BasicWidget {
export class ReactWrappedWidget extends BasicWidget {
private el: VNode;
listeners: Record<string, (data: any) => void> = {};
constructor(el: VNode) {
super();
@@ -289,4 +291,10 @@ class ReactWrappedWidget extends BasicWidget {
this.$widget = renderReactWidget(this, this.el);
}
handleEvent<T extends EventNames>(name: T, data: EventData<T>): Promise<unknown[] | unknown> | null | undefined {
const listener = this.listeners[name];
console.log("Handle ", name, listener);
listener?.(data);
}
}