* fix: download now change state immediately Signed-off-by: James <james@jan.ai> * fix: add back last message Signed-off-by: James <james@jan.ai> * update send button status Signed-off-by: James <james@jan.ai> --------- Signed-off-by: James <james@jan.ai> Co-authored-by: James <james@jan.ai>
76 lines
2.0 KiB
TypeScript
76 lines
2.0 KiB
TypeScript
/**
|
|
* The `EventName` enumeration contains the names of all the available events in the Jan platform.
|
|
*/
|
|
export enum EventName {
|
|
OnNewConversation = "onNewConversation",
|
|
OnNewMessageRequest = "onNewMessageRequest",
|
|
OnNewMessageResponse = "onNewMessageResponse",
|
|
OnMessageResponseUpdate = "onMessageResponseUpdate",
|
|
OnMessageResponseFinished = "OnMessageResponseFinished",
|
|
OnDownloadUpdate = "onDownloadUpdate",
|
|
OnDownloadSuccess = "onDownloadSuccess",
|
|
OnDownloadError = "onDownloadError",
|
|
}
|
|
|
|
/**
|
|
* The `NewMessageRequest` type defines the shape of a new message request object.
|
|
*/
|
|
export type NewMessageRequest = {
|
|
_id?: string;
|
|
conversationId?: string;
|
|
user?: string;
|
|
avatar?: string;
|
|
message?: string;
|
|
createdAt?: string;
|
|
updatedAt?: string;
|
|
};
|
|
|
|
/**
|
|
* The `NewMessageRequest` type defines the shape of a new message request object.
|
|
*/
|
|
export type NewMessageResponse = {
|
|
_id?: string;
|
|
conversationId?: string;
|
|
user?: string;
|
|
avatar?: string;
|
|
message?: string;
|
|
createdAt?: string;
|
|
updatedAt?: string;
|
|
};
|
|
|
|
/**
|
|
* Adds an observer for an event.
|
|
*
|
|
* @param eventName The name of the event to observe.
|
|
* @param handler The handler function to call when the event is observed.
|
|
*/
|
|
const on: (eventName: string, handler: Function) => void = (eventName, handler) => {
|
|
window.corePlugin?.events?.on(eventName, handler);
|
|
};
|
|
|
|
/**
|
|
* Removes an observer for an event.
|
|
*
|
|
* @param eventName The name of the event to stop observing.
|
|
* @param handler The handler function to call when the event is observed.
|
|
*/
|
|
const off: (eventName: string, handler: Function) => void = (eventName, handler) => {
|
|
window.corePlugin?.events?.off(eventName, handler);
|
|
};
|
|
|
|
/**
|
|
* Emits an event.
|
|
*
|
|
* @param eventName The name of the event to emit.
|
|
* @param object The object to pass to the event callback.
|
|
*/
|
|
const emit: (eventName: string, object: any) => void = (eventName, object) => {
|
|
window.corePlugin?.events?.emit(eventName, object);
|
|
};
|
|
|
|
export const events = {
|
|
on,
|
|
off,
|
|
emit,
|
|
};
|