@everymatrix/casino-tournaments-page-controller 0.0.258 → 0.0.261
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@everymatrix/casino-tournaments-page-controller",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.261",
|
|
4
4
|
"main": "dist/casino-tournaments-page-controller.js",
|
|
5
5
|
"svelte": "src/index.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -37,5 +37,5 @@
|
|
|
37
37
|
"publishConfig": {
|
|
38
38
|
"access": "public"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "a93c0ae8104c039af7d54949a0889c11bca83acb"
|
|
41
41
|
}
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
export let tablelimit: string = '30';
|
|
25
25
|
export let namemask: string = '';
|
|
26
26
|
export let mobiletablelimit:string = '15';
|
|
27
|
+
export let updatetableintime:string = 'true';
|
|
27
28
|
// Variables of topics for communication
|
|
28
29
|
let sessionTopic;
|
|
29
30
|
|
|
@@ -42,7 +43,7 @@
|
|
|
42
43
|
let firstRowData: any = {};
|
|
43
44
|
let firstRowAvailable: boolean = false;
|
|
44
45
|
|
|
45
|
-
let tableUpdateEventSource:
|
|
46
|
+
let tableUpdateEventSource: any;
|
|
46
47
|
|
|
47
48
|
let currentUserData:any = {};
|
|
48
49
|
let currentUserInPage:Boolean = false;
|
|
@@ -79,7 +80,7 @@
|
|
|
79
80
|
currentUserData = item;
|
|
80
81
|
currentUserInPage = true;
|
|
81
82
|
}
|
|
82
|
-
// added duplicated properties for mobile version, requirement more information for desktop version
|
|
83
|
+
// added duplicated properties for mobile version, requirement more information for desktop version
|
|
83
84
|
tableData.push({
|
|
84
85
|
Rank: item.rank,
|
|
85
86
|
Player: item.shortName,
|
|
@@ -99,13 +100,13 @@
|
|
|
99
100
|
if (!message.data) {
|
|
100
101
|
return;
|
|
101
102
|
}
|
|
102
|
-
try
|
|
103
|
-
let messageData:
|
|
104
|
-
let updateTableData:
|
|
105
|
-
if
|
|
103
|
+
try{
|
|
104
|
+
let messageData:any = message.data;
|
|
105
|
+
let updateTableData:any = JSON.parse(messageData);
|
|
106
|
+
if(!updateTableData || !updateTableData.items){
|
|
106
107
|
return;
|
|
107
108
|
}
|
|
108
|
-
let newTableData = transformTableData(updateTableData.
|
|
109
|
+
let newTableData = transformTableData(updateTableData.items);
|
|
109
110
|
if(updateTableData.item && !currentUserInPage){
|
|
110
111
|
firstRowAvailable = true;
|
|
111
112
|
firstRowData = transFormCurrentUserData(updateTableData.item);
|
|
@@ -122,16 +123,19 @@
|
|
|
122
123
|
}
|
|
123
124
|
},
|
|
124
125
|
startupTableDataChangeListener = (tournamentID: String, searchParams: any) => {
|
|
125
|
-
let endpointURL: String = `${endpoint}/tournaments/${tournamentID}/leaderboard/updates?HeartBeat=false
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
126
|
+
let endpointURL: String = `${endpoint}/tournaments/${tournamentID}/leaderboard/updates?HeartBeat=false&XSessionId=${session}`;
|
|
127
|
+
if(tableUpdateEventSource){
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
if(!EventSource){
|
|
131
|
+
tableUpdateEventSource = new EventSourcePolyfill(endpointURL,{headers: {'accept': 'text/event-stream'}});
|
|
132
|
+
}else{
|
|
133
|
+
tableUpdateEventSource = new EventSource(endpointURL);
|
|
134
|
+
}
|
|
133
135
|
if (typeof (tableUpdateEventSource) != "undefined") {
|
|
136
|
+
tableUpdateEventSource.addEventListener('open', tableUpdateMessageHandler);
|
|
134
137
|
tableUpdateEventSource.addEventListener('message', tableUpdateMessageHandler);
|
|
138
|
+
tableUpdateEventSource.addEventListener('error', tableUpdateMessageHandler);
|
|
135
139
|
}
|
|
136
140
|
};
|
|
137
141
|
|
|
@@ -141,8 +145,7 @@
|
|
|
141
145
|
|
|
142
146
|
url.searchParams.append('expand', 'games');
|
|
143
147
|
url.searchParams.append('language', lang);
|
|
144
|
-
|
|
145
|
-
reqHeaders.append('platform', getDevice(userAgent));
|
|
148
|
+
url.searchParams.append('platform', getDevice(userAgent));
|
|
146
149
|
|
|
147
150
|
let requestOptions = {
|
|
148
151
|
method: 'GET',
|
|
@@ -171,7 +174,8 @@
|
|
|
171
174
|
url.searchParams.append('pagination', `offset=0,limit=${limit}`);
|
|
172
175
|
reqHeaders.append('X-SessionID', session);
|
|
173
176
|
}
|
|
174
|
-
|
|
177
|
+
|
|
178
|
+
url.searchParams.append('platform', getDevice(userAgent));
|
|
175
179
|
|
|
176
180
|
let requestOptions = {
|
|
177
181
|
method: 'GET',
|
|
@@ -197,7 +201,9 @@
|
|
|
197
201
|
if (firstRowAvailable) {
|
|
198
202
|
window.postMessage({type: 'CasinoTableFirstRowData', tableData: firstRowData}, window.location.href);
|
|
199
203
|
}
|
|
200
|
-
|
|
204
|
+
if(updatetableintime === 'true'){
|
|
205
|
+
startupTableDataChangeListener(tourID, url.searchParams);
|
|
206
|
+
}
|
|
201
207
|
if (currentUserInPage){
|
|
202
208
|
window.postMessage({ type: 'CasinoTableCurrentUserData', tableData: currentUserData }, window.location.href);
|
|
203
209
|
}
|
|
@@ -261,7 +267,11 @@
|
|
|
261
267
|
|
|
262
268
|
return () => {
|
|
263
269
|
window.removeEventListener('message', messageHandler);
|
|
264
|
-
tableUpdateEventSource
|
|
270
|
+
if(tableUpdateEventSource){
|
|
271
|
+
tableUpdateEventSource.removeEventListener('open', tableUpdateMessageHandler);
|
|
272
|
+
tableUpdateEventSource.removeEventListener('message', tableUpdateMessageHandler);
|
|
273
|
+
tableUpdateEventSource.removeEventListener('error', tableUpdateMessageHandler);
|
|
274
|
+
}
|
|
265
275
|
}
|
|
266
276
|
});
|
|
267
277
|
|