mc-init.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. window.mcInitializers = {};
  2. window.addMCInitializer = function(_name, _func, _container) {
  3. if(!!window.mcInitializers[_name]) {
  4. // console.warn('ALIX initializer ' + _name + ' exists. Will overwrite.');
  5. delete window.mcInitializers[_name];
  6. }
  7. window.mcInitializers[_name] = {
  8. func: _func,
  9. container: _container
  10. };
  11. };
  12. window.runMCInitializers = function(_target = null) {
  13. if(!!mcInitializers) {
  14. // console.log('ALIX -----------------');
  15. for(let initer in mcInitializers) {
  16. if(mcInitializers.hasOwnProperty(initer)) {
  17. try {
  18. let initerObj = mcInitializers[initer];
  19. if(!initerObj.container || $(initerObj.container).length) {
  20. // console.log("ALIX running MC initer", initer);
  21. initerObj.func(_target);
  22. }
  23. else {
  24. // console.warn("ALIX MC initer not in context. Removing ", initer);
  25. delete mcInitializers[initer];
  26. initerObj = null;
  27. }
  28. }
  29. catch(e) {
  30. console.warn('MC init error: ', e);
  31. console.warn('Initer: ', initer);
  32. }
  33. }
  34. }
  35. }
  36. };
  37. window.runMCInitializer = function(_initer) {
  38. if(!!mcInitializers && !!mcInitializers[_initer]) {
  39. try {
  40. let initerObj = mcInitializers[_initer];
  41. if(!initerObj.container || $(initerObj.container).length) {
  42. // console.log("ALIX running MC initer", initer);
  43. initerObj.func();
  44. }
  45. else {
  46. // console.warn("ALIX MC initer not in context. Removing ", initer);
  47. delete mcInitializers[_initer];
  48. initerObj = null;
  49. }
  50. }
  51. catch(e) {
  52. console.warn('MC init error: ', e);
  53. console.warn('Initer: ', _initer);
  54. }
  55. }
  56. };
  57. window.mcHooks = {};
  58. window.addMCHook = function(_name, _func) {
  59. if(!!window.mcHooks[_name]) {
  60. // console.warn('ALIX initializer ' + _name + ' exists. Will overwrite.');
  61. delete window.mcHooks[_name];
  62. }
  63. window.mcHooks[_name] = {
  64. func: _func
  65. };
  66. };
  67. window.hasMCHook = function(_initer) {
  68. return !!mcHooks && !!mcHooks[_initer];
  69. }
  70. window.runMCHook = function(_initer) {
  71. if(!!mcHooks && !!mcHooks[_initer]) {
  72. try {
  73. let initerObj = mcHooks[_initer];
  74. initerObj.func();
  75. }
  76. catch(e) {
  77. console.warn('MC hook error: ', e);
  78. console.warn('Hook: ', _initer);
  79. }
  80. }
  81. };