@everymatrix/casino-tournaments-controller 0.0.193 → 0.0.197
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-controller",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.197",
|
|
4
4
|
"main": "dist/casino-tournaments-controller.js",
|
|
5
5
|
"svelte": "src/index.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
"typescript": "^3.9.3"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@everymatrix/casino-tournaments-details": "^0.0.
|
|
33
|
-
"@everymatrix/casino-tournaments-filter-controller": "^0.0.
|
|
34
|
-
"@everymatrix/casino-tournaments-list-controller": "^0.0.
|
|
35
|
-
"@everymatrix/casino-tournaments-page-controller": "^0.0.
|
|
36
|
-
"@everymatrix/casino-tournaments-thumbnail-controller": "^0.0.
|
|
32
|
+
"@everymatrix/casino-tournaments-details": "^0.0.197",
|
|
33
|
+
"@everymatrix/casino-tournaments-filter-controller": "^0.0.197",
|
|
34
|
+
"@everymatrix/casino-tournaments-list-controller": "^0.0.197",
|
|
35
|
+
"@everymatrix/casino-tournaments-page-controller": "^0.0.197",
|
|
36
|
+
"@everymatrix/casino-tournaments-thumbnail-controller": "^0.0.197",
|
|
37
37
|
"cross-env": "^7.0.3",
|
|
38
38
|
"sirv-cli": "^1.0.0",
|
|
39
39
|
"svelte": "^3.0.0"
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"publishConfig": {
|
|
42
42
|
"access": "public"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "89d693d3429e3dc0d6e642537452c8faa0ca008a"
|
|
45
45
|
}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { getDevice } from 'rvhelper';
|
|
6
6
|
import { _, addNewMessages, setLocale, setupI18n } from './i18n';
|
|
7
7
|
import { TournamentsControllerTranslations } from './translations';
|
|
8
|
+
import { EventSourcePolyfill } from 'event-source-polyfill';
|
|
8
9
|
|
|
9
10
|
import '@everymatrix/casino-tournaments-filter-controller';
|
|
10
11
|
import '@everymatrix/casino-tournaments-list-controller';
|
|
@@ -37,6 +38,7 @@
|
|
|
37
38
|
let userAgent:string = window.navigator.userAgent;
|
|
38
39
|
let isLoading:boolean = true;
|
|
39
40
|
let filtersLoaded:boolean = false;
|
|
41
|
+
let startingTournamentUpdater:boolean = false;
|
|
40
42
|
|
|
41
43
|
let filtersArray = 'All,Scheduled,Ongoing,Finished';
|
|
42
44
|
let tournamentsNumber:number = 0;
|
|
@@ -47,6 +49,8 @@
|
|
|
47
49
|
let activeFilters:Array<string> = [];
|
|
48
50
|
|
|
49
51
|
let lastMonthDate:any = new Date();
|
|
52
|
+
let tournamentsSearchParams:string;
|
|
53
|
+
let tournamentsUpdateEventSource:EventSourcePolyfill;
|
|
50
54
|
|
|
51
55
|
lastMonthDate.setMonth(lastMonthDate.getMonth() - 1);
|
|
52
56
|
lastMonthDate = lastMonthDate.toISOString().substring(0, 10);
|
|
@@ -97,6 +101,7 @@
|
|
|
97
101
|
tournamentsUrl.searchParams.append('sortOrder', 'desc');
|
|
98
102
|
tournamentsUrl.searchParams.append('language', lang);
|
|
99
103
|
|
|
104
|
+
|
|
100
105
|
if (activeFilters.length > 0 && activeFilters[0] != 'All') {
|
|
101
106
|
let state = activeFilters.map((item:any) => matchStatus(item)).join("|");
|
|
102
107
|
|
|
@@ -104,7 +109,6 @@
|
|
|
104
109
|
} else {
|
|
105
110
|
tournamentsUrl.searchParams.append('filter', `StartTimeAfter=${lastMonthDate}`);
|
|
106
111
|
}
|
|
107
|
-
|
|
108
112
|
reqHeaders.append('platform', getDevice(userAgent));
|
|
109
113
|
reqHeaders.append('sortType', sortByStatus);
|
|
110
114
|
|
|
@@ -122,6 +126,7 @@
|
|
|
122
126
|
.then((res:any) => res.json())
|
|
123
127
|
.then((res:any) => {
|
|
124
128
|
tournamentsNumber = 0;
|
|
129
|
+
tournamentsSearchParams = tournamentsUrl.searchParams.toString();
|
|
125
130
|
|
|
126
131
|
setTimeout(() => {
|
|
127
132
|
tournamentsNumber = res.total;
|
|
@@ -131,13 +136,55 @@
|
|
|
131
136
|
} else {
|
|
132
137
|
allTournamentsShown = false;
|
|
133
138
|
}
|
|
134
|
-
|
|
139
|
+
if(!startingTournamentUpdater){
|
|
140
|
+
startupTouramentDataChangeListener();
|
|
141
|
+
}
|
|
135
142
|
window.postMessage({ type: 'TournamentList', tournamentList: res.items }, window.location.href);
|
|
136
|
-
|
|
137
143
|
isLoading = false;
|
|
138
144
|
}, 50);
|
|
139
145
|
});
|
|
140
146
|
}
|
|
147
|
+
const tournamentsUpdateMessageHandler = (message: any)=>{
|
|
148
|
+
let messageData = message.data;
|
|
149
|
+
if(messageData){
|
|
150
|
+
try{
|
|
151
|
+
let updateTourData = JSON.parse(messageData);
|
|
152
|
+
if(!updateTourData || !updateTourData.Item){
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
let updateInfo = updateTourData.Item;
|
|
156
|
+
if(updateTourData.MessageType == "TournamentUpdate"){
|
|
157
|
+
window.postMessage({type: 'UpdateTournamentView', tournamentData: updateInfo}, window.location.href);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
if(updateTourData.MessageType == 'TournamentDelete'){
|
|
161
|
+
window.postMessage({type: 'UpdateTournamentListView', tournamentId: updateTourData.id}, window.location.href);
|
|
162
|
+
}
|
|
163
|
+
}catch(err){
|
|
164
|
+
console.error(err);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
const startupTouramentDataChangeListener = ()=>{
|
|
169
|
+
startingTournamentUpdater = true;
|
|
170
|
+
setTimeout(()=>{
|
|
171
|
+
startingTournamentUpdater = false;//to make sure only one eventsource work at the same time when query parameter changed
|
|
172
|
+
}, 1000)
|
|
173
|
+
if(tournamentsUpdateEventSource){
|
|
174
|
+
tournamentsUpdateEventSource.removeEventListener('message', tournamentsUpdateMessageHandler);
|
|
175
|
+
tournamentsUpdateEventSource.close();
|
|
176
|
+
}
|
|
177
|
+
let endpointURL:String = `${endpoint}/tournaments/updates?HeartBeat=false&${tournamentsSearchParams}`;
|
|
178
|
+
tournamentsUpdateEventSource = new EventSourcePolyfill(endpointURL, {
|
|
179
|
+
headers: {
|
|
180
|
+
'accept': 'text/event-stream',
|
|
181
|
+
'X-SessionID': session
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
if(typeof(tournamentsUpdateEventSource) != "undefined"){
|
|
185
|
+
tournamentsUpdateEventSource.addEventListener('message', tournamentsUpdateMessageHandler);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
141
188
|
|
|
142
189
|
const showMoreAction = () => {
|
|
143
190
|
tournamentsShownNumber += parseInt(showmorestep, 10);
|
|
@@ -201,9 +248,9 @@
|
|
|
201
248
|
|
|
202
249
|
onMount(() => {
|
|
203
250
|
window.addEventListener('message', messageHandler, false);
|
|
204
|
-
|
|
205
251
|
return () => {
|
|
206
252
|
window.removeEventListener('message', messageHandler);
|
|
253
|
+
tournamentsUpdateEventSource.removeEventListener('message', tournamentsUpdateMessageHandler);
|
|
207
254
|
}
|
|
208
255
|
});
|
|
209
256
|
|
|
@@ -275,6 +322,10 @@
|
|
|
275
322
|
@return $value * $multiplicator;
|
|
276
323
|
}
|
|
277
324
|
|
|
325
|
+
:host {
|
|
326
|
+
font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
|
|
327
|
+
}
|
|
328
|
+
|
|
278
329
|
*,
|
|
279
330
|
*::before,
|
|
280
331
|
*::after {
|
|
@@ -284,7 +335,6 @@
|
|
|
284
335
|
text-decoration: none;
|
|
285
336
|
outline: none;
|
|
286
337
|
box-sizing: border-box;
|
|
287
|
-
font-family: $font-stack;
|
|
288
338
|
}
|
|
289
339
|
|
|
290
340
|
.ShowMoreButton {
|