1(function(_1){ 2if((typeof _1.OT.wem.messaging!=="undefined")){ 3return; 4} 5OT.wem.messaging={MESSAGING_CONTEXT_KEY:"wemMessagingContextKey",MESSAGING_CONTEXT_OLD_VALUE:"wemMessagingContextOldValue",MESSAGING_CONTEXT_NEW_VALUE:"wemMessagingContextNewValue",IS_WEM_MESSAGING_TYPE:"isWEMMessagingType",MESSAGE_EVENT:"message",post:function(_2,_3,_4){ 6_4=_4||this.internal.getWindowUrl(); 7if(_1.postMessage){ 8var _5=JSON.stringify(this.internal.createMessage(_2,_3)); 9_4=OT.wem.query.isArray(_4)?_4:[_4]; 10for(var i=0;i<_4.length;i++){ 11_1.postMessage(_5,_4[i]); 12} 13}else{ 14var _7=OT.wem.messaging.Event(); 15_7.eventType=_2; 16_7.data=_3; 17OT.wem.query(_1).trigger(OT.wem.messaging.MESSAGE_EVENT,_7); 18} 19},listen:function(_8,_9,_a,_b,_c){ 20_a=_a||this.internal.getWindowUrl(); 21if(_c&&this.internal.getListener(_8,_c)){ 22return; 23} 24var _d=this.internal.createListener(_8,_9,_a,_b,_c); 25if(_d){ 26OT.wem.query(_1).on(OT.wem.messaging.MESSAGE_EVENT,_d); 27} 28},removeListener:function(_e,_f){ 29if(typeof _f==="function"){ 30if(_f.wemMessagingWrapperFn){ 31OT.wem.messaging.event.unsubscribe(_e,_f.wemMessagingWrapperFn); 32} 33}else{ 34var _10=this.internal.getListener(_e,_f); 35OT.wem.messaging.event.unsubscribe(_e,_10); 36} 37},addContext:function(key,_12){ 38if(key&&_12&&!OT.wem.messaging.context.exists(key)){ 39OT.wem.messaging.context.set(key,_12); 40var _13={}; 41_13[OT.wem.messaging.MESSAGING_CONTEXT_KEY]=key; 42_13[OT.wem.messaging.MESSAGING_CONTEXT_NEW_VALUE]=_12; 43OT.wem.messaging.post(OT.wem.messaging.event.CONTEXT_ADD,_13); 44OT.wem.messaging.post(OT.wem.messaging.event.CONTEXT_CHANGE,_13); 45} 46},removeContext:function(key){ 47if(key&&OT.wem.messaging.context.exists(key)){ 48var _15=OT.wem.messaging.context.get(key); 49OT.wem.messaging.context.remove(key); 50var _16={}; 51_16[OT.wem.messaging.MESSAGING_CONTEXT_KEY]=key; 52_16[OT.wem.messaging.MESSAGING_CONTEXT_OLD_VALUE]=_15; 53OT.wem.messaging.post(OT.wem.messaging.event.CONTEXT_REMOVE); 54OT.wem.messaging.post(OT.wem.messaging.event.CONTEXT_CHANGE,_16); 55} 56},toggleContext:function(key,_18){ 57if(key&&_18){ 58var _19={}; 59_19[OT.wem.messaging.MESSAGING_CONTEXT_KEY]=key; 60if(OT.wem.messaging.context.exists(key)){ 61var _1a=OT.wem.messaging.context.get(key); 62OT.wem.messaging.context.set(key,_18); 63_19[OT.wem.messaging.MESSAGING_CONTEXT_NEW_VALUE]=_18; 64_19[OT.wem.messaging.MESSAGING_CONTEXT_OLD_VALUE]=_1a; 65OT.wem.messaging.post(OT.wem.messaging.event.CONTEXT_UPDATE,_19); 66}else{ 67OT.wem.messaging.context.set(key,_18); 68_19[OT.wem.messaging.MESSAGING_CONTEXT_NEW_VALUE]=_18; 69OT.wem.messaging.post(OT.wem.messaging.event.CONTEXT_ADD,_19); 70} 71OT.wem.messaging.post(OT.wem.messaging.event.CONTEXT_CHANGE,_19); 72} 73},existsContext:function(key){ 74return OT.wem.messaging.context.exists(key); 75},internal:{getWindowUrl:function(_1c){ 76_1c=_1c||_1; 77var _1d=_1c.location; 78return _1d.protocol+"//"+_1d.hostname+(_1d.port?":"+_1d.port:""); 79},createMessage:function(_1e,_1f){ 80return {isWEMMessagingType:true,eventType:_1e,data:_1f||{}}; 81},getListener:function(_20,_21){ 82var _22; 83if(OT.wem.query._data(_1,"events")&&OT.wem.query._data(_1,"events")[OT.wem.messaging.event.TOPIC+"/"+_20]){ 84var _23=OT.wem.query._data(_1,"events")[OT.wem.messaging.event.TOPIC+"/"+_20]; 85for(var i=0;i<_23.length;i++){ 86if(_23[i].handler&&_23[i].handler.wemListenerId===_21){ 87_22=_23[i].handler; 88break; 89} 90} 91} 92return _22; 93},getMessageWrapper:function(_25){ 94var _26; 95if(OT.wem.query._data(_1,"events")&&OT.wem.query._data(_1,"events")[OT.wem.messaging.MESSAGE_EVENT]){ 96var _27=OT.wem.query._data(_1,"events")[OT.wem.messaging.MESSAGE_EVENT]; 97for(var i=0;i<_27.length;i++){ 98if(_27[i].handler&&_27[i].handler.wemEventType===_25){ 99_26=_27[i].handler; 100break; 101} 102} 103} 104return _26; 105},createListener:function(_29,_2a,_2b,_2c,_2d){ 106var _2e=OT.wem.query.isArray(_2b)?_2b:[_2b]; 107var _2f=function(_30,_31){ 108_2a.wemMessagingWrapperFn=_2f; 109if(_2c){ 110OT.wem.messaging.event.unsubscribe(_31.eventType,_2f); 111} 112_2a(_31); 113}; 114_2f.wemListenerId=_2d; 115OT.wem.messaging.event.subscribe(_29,_2f); 116var _32=this.getMessageWrapper(_29); 117if(!_32){ 118var _33=function(_34,_35){ 119var _36,_37,_38,_39; 120if(_34.type===OT.wem.messaging.MESSAGE_EVENT){
121var _3a=OT.wem.messaging.internal.getWindowUrl(_34.source); 122if(OT.wem.query.inArray(_3a,_2e)===-1){ 123return; 124} 125var _3b=JSON.parse(_34.originalEvent.data); 126if(!_3b[OT.wem.messaging.IS_WEM_MESSAGING_TYPE]){ 127return; 128} 129_37=_3b.eventType; 130_36=_3b.data; 131_38=_34.origin; 132_39=_34.source; 133}else{ 134_37=_35.eventType; 135_36=_35.data; 136} 137if(_37!==_29){ 138return; 139} 140var _3c=new OT.wem.messaging.Event(); 141_3c.eventType=_37; 142_3c.data=_36; 143_3c.source=_39; 144_3c.origin=_38; 145_3c.originalEvent=_34; 146_3c.context=OT.wem.messaging.context.getContext(); 147if(_36[OT.wem.messaging.MESSAGING_CONTEXT_KEY]){ 148_3c.contextKey=_36[OT.wem.messaging.MESSAGING_CONTEXT_KEY]; 149} 150if(_36[OT.wem.messaging.MESSAGING_CONTEXT_OLD_VALUE]){ 151_3c.contextOldValue=_36[OT.wem.messaging.MESSAGING_CONTEXT_OLD_VALUE]; 152} 153if(_36[OT.wem.messaging.MESSAGING_CONTEXT_NEW_VALUE]){ 154_3c.contextNewValue=_36[OT.wem.messaging.MESSAGING_CONTEXT_NEW_VALUE]; 155} 156OT.wem.messaging.event.publish(_37,_3c); 157}; 158_33.wemEventType=_29; 159return _33; 160}else{ 161return undefined; 162} 163}}}; 164OT.wem.messaging.context={getContext:function(){ 165var ctx={}; 166ctx=OT.wem.combine(ctx,this.internal.context); 167return ctx; 168},get:function(key){ 169if(key&&OT.wem.messaging.context.exists(key)){ 170return this.internal.context[key]; 171}else{ 172return undefined; 173} 174},set:function(key,_40){ 175if(key&&_40){ 176this.internal.context[key]=_40; 177return true; 178}else{ 179return false; 180} 181},remove:function(key){ 182if(key&&this.internal.context[key]){ 183delete this.internal.context[key]; 184return true; 185}else{ 186return false; 187} 188},exists:function(key){ 189return this.internal.context.hasOwnProperty(key); 190},internal:{context:{}}}; 191OT.wem.messaging.event={TOPIC:"/ot/wem/messaging/event",RELOAD_COMPONENT:"RELOAD_COMPONENT",RELOAD_PAGE:"RELOAD_PAGE",CONTEXT_ADD:"CONTEXT_ADD",CONTEXT_REMOVE:"CONTEXT_REMOVE",CONTEXT_UPDATE:"CONTEXT_UPDATE",CONTEXT_CHANGE:"CONTEXT_CHANGE",subscribe:function(_43,_44){ 192OT.wem.query(_1).on(OT.wem.messaging.event.TOPIC+"/"+_43,_44); 193},unsubscribe:function(_45,_46){ 194OT.wem.query(_1).off(OT.wem.messaging.event.TOPIC+"/"+_45,_46); 195},clearSubscriptions:function(_47){ 196OT.wem.query(_1).off(OT.wem.messaging.event.TOPIC+"/"+_47); 197},publish:function(_48,_49){ 198var _4a=OT.wem.query.Event(OT.wem.messaging.event.TOPIC+"/"+_48); 199_4a.preventDefault(); 200OT.wem.query(_1).trigger(_4a,_49); 201}}; 202OT.wem.messaging.Event=function(){ 203if((arguments.length==1)&&(typeof arguments[0]=="object")){ 204OT.wem.combine(this,arguments[0]); 205} 206}; 207OT.wem.extend(OT.wem.messaging.Event,{eventType:"",data:{},origin:"",source:null,contextKey:"",contextValue:"",originalEvent:null,ports:[]}); 208})(window); 209
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.