@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.258",
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": "29d9cee256c6fbdf17d95ed82bc3ebcc62241704"
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: EventSourcePolyfill;
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: any = message.data;
104
- let updateTableData: any = JSON.parse(messageData);
105
- if (!updateTableData || !updateTableData.Items) {
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.Items);
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
- endpointURL += searchParams.toString();
127
- tableUpdateEventSource = new EventSourcePolyfill(endpointURL, {
128
- headers: {
129
- 'accept': 'text/event-stream',
130
- 'X-SessionID': session
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
- reqHeaders.append('platform', getDevice(userAgent));
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
- startupTableDataChangeListener(tourID, url.searchParams);
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.removeEventListener('message', tableUpdateMessageHandler);
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