EventDispatcher.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. var eventArr = new Array();
  2. var _enum = {
  3. chainChanged_wallet : "chainChanged_wallet",
  4. message_wallet :"message_wallet",
  5. disconnect_wallet :"disconnect_wallet",
  6. connectt_wallet : "connectt_wallet",
  7. accountsChanged_wallet : "accountsChanged_wallet",
  8. buyCatNft_wallet:"buyCatNft_wallet",
  9. createSaleCatNft_wallet:"createSaleCatNft_wallet",
  10. saleSuccessful_wallet:"saleSuccessful_wallet",
  11. saleCancelled_wallet:"saleCancelled_wallet",
  12. tokenInvalid :"tokenInvalid",
  13. loginOut:"loginOut",
  14. }
  15. export default {
  16. Enum : _enum,
  17. Add(eventType, func) {
  18. if (eventArr[eventType] == null) {
  19. let events = new Array();
  20. events.push(func);
  21. eventArr[eventType] = events;
  22. } else {
  23. eventArr[eventType].push(func);
  24. }
  25. },
  26. Remove(eventType, func) {
  27. if (eventArr[eventType] == null)
  28. return;
  29. for (let index = 0; index < eventArr[eventType].length; index++) {
  30. const element = eventArr[eventType][index];
  31. if (element == func) {
  32. eventArr[eventType].splice(index);
  33. break;
  34. }
  35. }
  36. if (eventArr[eventType].length <= 0)
  37. eventArr[eventType] = null;
  38. },
  39. Dispatch(eventType, data = null) {
  40. if (eventArr[eventType] == null) {
  41. return;
  42. }
  43. for (let index = 0; index < eventArr[eventType].length; index++) {
  44. const fun = eventArr[eventType][index];
  45. if (fun != null) {
  46. if (data == null)
  47. fun()
  48. else
  49. fun(data);
  50. }
  51. }
  52. }
  53. }