emitter.ts 498 B

123456789101112131415161718192021222324252627
  1. export const crudList: ClCrud.Ref[] = [];
  2. export const emitter: Emitter = {
  3. list: [],
  4. init(events) {
  5. for (const i in events) {
  6. this.on(i, events[i]);
  7. }
  8. },
  9. emit(name, data) {
  10. this.list.forEach((e: EmitterItem) => {
  11. const [_name] = e.name.split("-");
  12. if (name == _name) {
  13. e.callback(data, {
  14. crudList,
  15. refresh(params) {
  16. crudList.forEach((c) => c.refresh(params));
  17. }
  18. });
  19. }
  20. });
  21. },
  22. on(name, callback) {
  23. this.list.push({ name, callback });
  24. }
  25. };