MessageBus_wev8.js 797 Bytes
Ext.namespace("Ext.ux.util");Ext.ux.util.MessageBus=function(){var e={};var c=function(k,l){if(!e[k]){return}var j=e[k];var g,m;for(var h=0,f=j.length;h<f;h++){g=j[h].callback;m=j[h].scope;g.call(m,k,l)}};var d=function(k,m,l){var g=-1;var j=e[k];for(var h=0,f=j.length;h<f;h++){if(j[h].callback==m&&j[h].scope==l){g=h;break}}return g};var b=function(f,h,g){if(!e[f]){e[f]=[]}if(d(f,h,g)!=-1){return false}e[f].push({callback:h,scope:g});return true};var a=function(g,i,h){var f=_findTransceiverForSubject(g,i,h);if(f==-1){return false}e[g].splice(f,1);return true};return{publish:function(f,g){c(f,g)},subscribe:function(f,i,g){var h=b(f,i,g);if(h&&g&&g.events&&g.events.destroy){g.on("destroy",function(){this.unsubscribe(f,i,g)},this)}return h},unsubscribe:function(f,h,g){return a(f,h,g)}}}();