-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTopluyoAPP.js
More file actions
38 lines (35 loc) · 1.22 KB
/
TopluyoAPP.js
File metadata and controls
38 lines (35 loc) · 1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
const TopluyoAPP = {}
TopluyoAPP._events = [];
TopluyoAPP.on = function(type,event){ TopluyoAPP._events.push({type,event}) }
window.addEventListener('message', (event)=>{
if (!event.origin.endsWith("topluyo.com")) return;
let datas = (event.data)
if(!Array.isArray(datas)){
datas = [datas]
}
for(let data of datas){
if(data.action){
TopluyoAPP._events.filter(e=>e.type==data.action).map(e=>e.event(data.parameters.data,data.parameters.source))
}
try{
TopluyoAPP._events.filter(e=>e.type=="*" ).map(e=>e.event({type:data.action,data:data.parameters.data,source:data.parameters.source}))
}catch(e){
console.warn(e)
}
}
})
TopluyoAPP.up = function(action,data){
let message = {action,parameters:data}
try{window.parent.postMessage(message,"https://topluyo.com") }catch(e){}
try{window.parent.postMessage(message,"https://alfa.topluyo.com") }catch(e){}
try{window.parent.postMessage(message,"https://app.topluyo.com") }catch(e){}
}
document.addEventListener("DOMContentLoaded",function(){
TopluyoAPP.up("<signal/join")
})
TopluyoAPP.on(">signal/user",function(data,source){
TopluyoAPP.user = data
})
TopluyoAPP.on(">signal/room",function(data,source){
TopluyoAPP.users = data
})