add listDataEvents.ts

This commit is contained in:
Timi
2026-09-22 01:29:34 +08:00
parent c4d71078b3
commit fd4146476b
22 changed files with 377 additions and 49 deletions
+34
View File
@@ -0,0 +1,34 @@
import { Events as EventsClass } from "timi-web";
import { getCurrentStoreId } from "@/utils/store";
export const listDataEventKeys = {
productChanged: "gao:list:product-changed",
productStockChanged: "gao:list:product-stock-changed",
salesOrderChanged: "gao:list:sales-order-changed"
} as const;
export type ListDataEventKey = typeof listDataEventKeys[keyof typeof listDataEventKeys];
export interface ListDataChangedPayload {
storeId?: string;
entityId?: string;
}
interface ListDataEventMap {
[listDataEventKeys.productChanged]: [payload: ListDataChangedPayload];
[listDataEventKeys.productStockChanged]: [payload: ListDataChangedPayload];
[listDataEventKeys.salesOrderChanged]: [payload: ListDataChangedPayload];
}
export const events = new EventsClass<ListDataEventMap>();
export function emitListDataChanged(key: ListDataEventKey, entityId?: string): void {
events.emit(key, {
storeId: getCurrentStoreId(),
entityId
});
}
export function isCurrentStoreEvent(payload?: ListDataChangedPayload): boolean {
return !payload?.storeId || payload.storeId === getCurrentStoreId();
}
+1 -1
View File
@@ -14,4 +14,4 @@ export { default as Cooker } from "../../../timi-web/src/utils/Cooker";
export { default as Storage } from "../../../timi-web/src/utils/Storage";
export { default as WebToolkit } from "../../../timi-web/src/utils/WebToolkit";
export { Text, Time, Toolkit } from "../../../timi-ts/src/index";
export { Events, Text, Time, Toolkit } from "../../../timi-ts/src/index";