@everymatrix/casino-game-thumb-view 1.44.0 → 1.45.2

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.
Files changed (131) hide show
  1. package/dist/casino-game-thumb-view/casino-game-thumb-view.esm.js +1 -1
  2. package/dist/casino-game-thumb-view/p-2207062c.entry.js +1 -0
  3. package/dist/casino-game-thumb-view/p-39684b4a.entry.js +1 -0
  4. package/dist/casino-game-thumb-view/p-af0284b5.entry.js +1 -0
  5. package/dist/casino-game-thumb-view/p-b73b7a18.entry.js +1 -0
  6. package/dist/casino-game-thumb-view/p-bd016895.entry.js +7 -0
  7. package/dist/casino-game-thumb-view/p-d2580653.js +8 -0
  8. package/dist/casino-game-thumb-view/p-d48c3566.entry.js +1 -0
  9. package/dist/casino-game-thumb-view/p-e1255160.js +1 -0
  10. package/dist/casino-game-thumb-view/p-eef6f908.js +2 -0
  11. package/dist/cjs/app-globals-3a1e7e63.js +5 -0
  12. package/dist/cjs/casino-extrainfo-baccarat.cjs.entry.js +327 -322
  13. package/dist/cjs/casino-extrainfo-blackjack.cjs.entry.js +45 -45
  14. package/dist/cjs/casino-extrainfo-roulette.cjs.entry.js +35 -34
  15. package/dist/cjs/casino-game-thumb-view.cjs.js +17 -11
  16. package/dist/cjs/casino-game-thumb-view_2.cjs.entry.js +469 -519
  17. package/dist/cjs/casino-game-thumbnail-betlimit_2.cjs.entry.js +258 -251
  18. package/dist/cjs/casino-normal-game-thumbnail.cjs.entry.js +14 -12
  19. package/dist/cjs/game-thumbnail-5a34c727.js +78 -0
  20. package/dist/cjs/index-48d13981.js +1709 -0
  21. package/dist/cjs/loader.cjs.js +7 -13
  22. package/dist/cjs/locale.utils-53bf703a.js +132 -0
  23. package/dist/cjs/{utils-a0afc0a9.js → utils-c4ed3adc.js} +407 -404
  24. package/dist/collection/collection-manifest.json +10 -10
  25. package/dist/collection/components/casino-extrainfo-baccarat/casino-extrainfo-baccarat.js +251 -230
  26. package/dist/collection/components/casino-extrainfo-blackjack/casino-extrainfo-blackjack.js +136 -114
  27. package/dist/collection/components/casino-extrainfo-roulette/casino-extrainfo-roulette.js +126 -119
  28. package/dist/collection/components/casino-game-thumb-view/casino-game-thumb-view.css +1 -1
  29. package/dist/collection/components/casino-game-thumb-view/casino-game-thumb-view.js +1023 -1027
  30. package/dist/collection/components/casino-game-thumb-view/index.js +1 -0
  31. package/dist/collection/components/casino-game-thumbnail-betlimit/casino-game-thumbnail-betlimit.js +78 -80
  32. package/dist/collection/components/casino-game-thumbnail-extrainfo/casino-game-thumbnail-extrainfo.js +153 -150
  33. package/dist/collection/components/casino-game-thumbnail-overlay/casino-game-thumbnail-overlay.js +201 -206
  34. package/dist/collection/components/casino-normal-game-thumbnail/casino-normal-game-thumbnail.js +71 -58
  35. package/dist/collection/constants/game-thumbnail.js +66 -66
  36. package/dist/collection/models/casino-game-thumb-view.js +6 -6
  37. package/dist/collection/models/currency-symbols.js +170 -170
  38. package/dist/collection/utils/baccarat-board-svg.js +225 -225
  39. package/dist/collection/utils/locale.utils.js +122 -122
  40. package/dist/collection/utils/utils.js +41 -41
  41. package/dist/esm/app-globals-0f993ce5.js +3 -0
  42. package/dist/esm/casino-extrainfo-baccarat.entry.js +327 -322
  43. package/dist/esm/casino-extrainfo-blackjack.entry.js +45 -45
  44. package/dist/esm/casino-extrainfo-roulette.entry.js +35 -34
  45. package/dist/esm/casino-game-thumb-view.js +14 -11
  46. package/dist/esm/casino-game-thumb-view_2.entry.js +469 -519
  47. package/dist/esm/casino-game-thumbnail-betlimit_2.entry.js +258 -251
  48. package/dist/esm/casino-normal-game-thumbnail.entry.js +14 -12
  49. package/dist/esm/game-thumbnail-035e97e2.js +72 -0
  50. package/dist/esm/index-8c9a8030.js +1681 -0
  51. package/dist/esm/loader.js +7 -13
  52. package/dist/esm/locale.utils-0c514ca8.js +130 -0
  53. package/dist/{components/utils.js → esm/utils-090ac2e9.js} +407 -404
  54. package/dist/stencil.config.dev.js +17 -0
  55. package/dist/stencil.config.js +12 -35
  56. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-monorepo/packages/stencil/casino-game-thumb-view/.stencil/packages/stencil/casino-game-thumb-view/stencil.config.d.ts +2 -0
  57. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-monorepo/packages/stencil/casino-game-thumb-view/.stencil/packages/stencil/casino-game-thumb-view/stencil.config.dev.d.ts +2 -0
  58. package/dist/types/components/casino-extrainfo-baccarat/casino-extrainfo-baccarat.d.ts +36 -36
  59. package/dist/types/components/casino-extrainfo-blackjack/casino-extrainfo-blackjack.d.ts +33 -33
  60. package/dist/types/components/casino-extrainfo-roulette/casino-extrainfo-roulette.d.ts +18 -18
  61. package/dist/types/components/casino-game-thumb-view/casino-game-thumb-view.d.ts +213 -213
  62. package/dist/types/components/casino-game-thumb-view/index.d.ts +1 -0
  63. package/dist/types/components/casino-game-thumbnail-betlimit/casino-game-thumbnail-betlimit.d.ts +14 -14
  64. package/dist/types/components/casino-game-thumbnail-extrainfo/casino-game-thumbnail-extrainfo.d.ts +13 -13
  65. package/dist/types/components/casino-game-thumbnail-overlay/casino-game-thumbnail-overlay.d.ts +28 -28
  66. package/dist/types/components/casino-normal-game-thumbnail/casino-normal-game-thumbnail.d.ts +4 -4
  67. package/dist/types/components.d.ts +33 -2
  68. package/dist/types/constants/game-thumbnail.d.ts +66 -66
  69. package/dist/types/models/casino-game-thumb-view.d.ts +107 -107
  70. package/dist/types/models/currency-symbols.d.ts +170 -170
  71. package/dist/types/stencil-public-runtime.d.ts +142 -33
  72. package/dist/types/utils/baccarat-board-svg.d.ts +29 -29
  73. package/loader/cdn.js +1 -3
  74. package/loader/index.cjs.js +1 -3
  75. package/loader/index.d.ts +13 -1
  76. package/loader/index.es2017.js +1 -3
  77. package/loader/index.js +1 -3
  78. package/loader/package.json +1 -0
  79. package/package.json +8 -8
  80. package/dist/assets/baccarat.svg +0 -43
  81. package/dist/assets/fav.svg +0 -9
  82. package/dist/assets/favorite.svg +0 -12
  83. package/dist/assets/seat.svg +0 -6
  84. package/dist/assets/unfav.svg +0 -20
  85. package/dist/casino-game-thumb-view/p-1bbf4b70.entry.js +0 -1
  86. package/dist/casino-game-thumb-view/p-42bf2034.entry.js +0 -1
  87. package/dist/casino-game-thumb-view/p-46dbb1cb.js +0 -1
  88. package/dist/casino-game-thumb-view/p-6a6b2a78.js +0 -8
  89. package/dist/casino-game-thumb-view/p-7ae107ed.entry.js +0 -1
  90. package/dist/casino-game-thumb-view/p-9cbfffbc.entry.js +0 -1
  91. package/dist/casino-game-thumb-view/p-d961aec4.entry.js +0 -1
  92. package/dist/casino-game-thumb-view/p-db43bb56.entry.js +0 -7
  93. package/dist/cjs/game-thumbnail-31d518f0.js +0 -78
  94. package/dist/cjs/index-65a1d768.js +0 -1796
  95. package/dist/cjs/locale.utils-aa160787.js +0 -132
  96. package/dist/components/casino-extrainfo-baccarat.d.ts +0 -11
  97. package/dist/components/casino-extrainfo-baccarat.js +0 -400
  98. package/dist/components/casino-extrainfo-blackjack.d.ts +0 -11
  99. package/dist/components/casino-extrainfo-blackjack.js +0 -92
  100. package/dist/components/casino-extrainfo-roulette.d.ts +0 -11
  101. package/dist/components/casino-extrainfo-roulette.js +0 -78
  102. package/dist/components/casino-game-thumb-view.d.ts +0 -11
  103. package/dist/components/casino-game-thumb-view.js +0 -1625
  104. package/dist/components/casino-game-thumbnail-betlimit.d.ts +0 -11
  105. package/dist/components/casino-game-thumbnail-betlimit.js +0 -6
  106. package/dist/components/casino-game-thumbnail-betlimit2.js +0 -227
  107. package/dist/components/casino-game-thumbnail-extrainfo.d.ts +0 -11
  108. package/dist/components/casino-game-thumbnail-extrainfo.js +0 -6
  109. package/dist/components/casino-game-thumbnail-extrainfo2.js +0 -96
  110. package/dist/components/casino-game-thumbnail-overlay.d.ts +0 -11
  111. package/dist/components/casino-game-thumbnail-overlay.js +0 -6
  112. package/dist/components/casino-game-thumbnail-overlay2.js +0 -69
  113. package/dist/components/casino-normal-game-thumbnail.d.ts +0 -11
  114. package/dist/components/casino-normal-game-thumbnail.js +0 -52
  115. package/dist/components/game-thumbnail.js +0 -72
  116. package/dist/components/index.d.ts +0 -26
  117. package/dist/components/index.js +0 -1
  118. package/dist/components/locale.utils.js +0 -130
  119. package/dist/esm/game-thumbnail-0a56ee03.js +0 -72
  120. package/dist/esm/index-1e44dd9f.js +0 -1769
  121. package/dist/esm/locale.utils-e0cf897e.js +0 -130
  122. package/dist/esm/polyfills/core-js.js +0 -11
  123. package/dist/esm/polyfills/css-shim.js +0 -1
  124. package/dist/esm/polyfills/dom.js +0 -79
  125. package/dist/esm/polyfills/es5-html-element.js +0 -1
  126. package/dist/esm/polyfills/index.js +0 -34
  127. package/dist/esm/polyfills/system.js +0 -6
  128. package/dist/esm/utils-e9314132.js +0 -5739
  129. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-stencil/packages/casino-game-thumb-view/.stencil/packages/casino-game-thumb-view/stencil.config.d.ts +0 -2
  130. /package/dist/casino-game-thumb-view/{p-2d5f59fe.js → p-2d02adb1.js} +0 -0
  131. /package/dist/casino-game-thumb-view/{p-1e63a1ab.js → p-59ceeaaa.js} +0 -0
@@ -1,1064 +1,1060 @@
1
- import { Component, h, Prop, State, Event, Watch, Listen, } from '@stencil/core';
2
- import { isMobile, convertGicBaccaratUpdateItem } from '../../utils/utils';
3
- import { WIDGETTYPE_GAMECATEGORY, GAME_CATEGORY, GAME_TYPE, } from '../../constants/game-thumbnail';
4
- import { EventSourcePolyfill } from 'event-source-polyfill';
5
- import Fav from '../../static/fav.svg';
6
- import UnFavSvg from '../../static/unfav.svg';
1
+ import { h, } from "@stencil/core";
2
+ import { isMobile, convertGicBaccaratUpdateItem } from "../../utils/utils";
3
+ import { WIDGETTYPE_GAMECATEGORY, GAME_CATEGORY, GAME_TYPE, } from "../../constants/game-thumbnail";
4
+ import { EventSourcePolyfill } from "event-source-polyfill";
5
+ import Fav from "../../static/fav.svg";
6
+ import UnFavSvg from "../../static/unfav.svg";
7
7
  export class CasinoGameThumbView {
8
- constructor() {
9
- /**
10
- * Widget Setting, Game language
11
- */
12
- this.language = 'en';
13
- /**
14
- * Widget Setting, Client custom styling via string
15
- */
16
- this.clientStyling = '';
17
- /**
18
- * Widget Setting, Client custom styling via url content
19
- */
20
- this.clientStylingUrl = '';
21
- /**
22
- * Widget Setting, show game in a frame when user clicked 'start'
23
- */
24
- this.integratedGameframeMobile = false;
25
- /**
26
- * Widget Setting, show game in a frame when user clicked 'start', Open game aframe,
27
- * gamepageModalurl value should be set
28
- */
29
- this.integratedGameframeDesktop = false;
30
- /**
31
- * Widget Setting, Load game details when set it as true, default value: false
32
- * When loadDetails is true and type=='live-casino-tables',
33
- * Load gameDetails by endpoint/vendor/gameId if livelobbyEndpoint is null
34
- */
35
- this.loadDetails = false;
36
- /**
37
- * Widget Setting, showRoundBoard, default value: false
38
- */
39
- this.showRoundBoard = false;
8
+ constructor() {
9
+ this.thumbnailLoaded = false;
10
+ this.containerClassWhenDetailChange = '';
11
+ this.isUserLoggedIn = false;
12
+ this.limitStylingAppends = false;
13
+ //customize style setting
14
+ this.setClientStyling = () => {
15
+ let sheet = document.createElement('style');
16
+ sheet.innerHTML = this.clientStyling;
17
+ this.stylingContainer.prepend(sheet);
18
+ };
19
+ //customize style setting
20
+ this.setClientStylingURL = () => {
21
+ let url = new URL(this.clientStylingUrl);
22
+ let cssFile = document.createElement('style');
23
+ fetch(url.href)
24
+ .then((res) => res.text())
25
+ .then((data) => {
26
+ cssFile.innerHTML = data;
27
+ setTimeout(() => {
28
+ this.stylingContainer.prepend(cssFile);
29
+ }, 1);
30
+ })
31
+ .catch((err) => {
32
+ console.error('error ', err);
33
+ });
34
+ };
35
+ this.getGameCategoryType = () => {
36
+ if (this.isLiveCasino &&
37
+ this.gameCategory &&
38
+ this.getWidgetTypeByGameCategory(this.gameCategory)) {
39
+ return `casino-extrainfo-${this.getWidgetTypeByGameCategory(this.gameCategory).toLowerCase()}`;
40
+ }
41
+ return `casino-normal-game-thumbnail`;
42
+ };
43
+ this.getGameContainerClass = () => {
44
+ let gameContainerClass = `GameContainer `;
45
+ if (this.gameInfo) {
46
+ if (this.gameInfo && this.gameInfo.details) {
47
+ gameContainerClass += ' ListGame ';
48
+ if (this.gameInfo.details.isOpen &&
49
+ this.gameInfo.details.currentRouletteNumbers) {
50
+ gameContainerClass += ' GameBackdrop ';
51
+ }
52
+ }
53
+ }
54
+ return gameContainerClass;
55
+ };
56
+ this.language = 'en';
57
+ this.endpoint = undefined;
58
+ this.userId = undefined;
59
+ this.showGameName = undefined;
60
+ this.session = undefined;
61
+ this.showFavoredCategory = undefined;
62
+ this.clientStyling = '';
63
+ this.clientStylingUrl = '';
64
+ this.integratedGameframeMobile = false;
65
+ this.gamepageModalurl = undefined;
66
+ this.integratedGameframeDesktop = false;
67
+ this.loadDetails = false;
68
+ this.showRoundBoard = false;
69
+ this.visibilityConnect = undefined;
70
+ this.connectLive = undefined;
71
+ this.gameCategory = '';
72
+ this.livelobbyEndpoint = undefined;
73
+ this.gameId = undefined;
74
+ this.gameName = undefined;
75
+ this.subVendor = undefined;
76
+ this.gameVendor = undefined;
77
+ this.hasFunMode = undefined;
78
+ this.hasAnonymousFunMode = undefined;
79
+ this.platform = 'PC';
80
+ this.thumbnail = undefined;
81
+ this.isFavorite = undefined;
82
+ this.isNew = undefined;
83
+ this.cellSize = undefined;
84
+ this.gameTag = undefined;
85
+ this.type = undefined;
86
+ this.gameInfo = undefined;
87
+ this.isTableFull = undefined;
88
+ this.hover = undefined;
89
+ }
90
+ onSessionChanged() {
91
+ this.isUserLoggedIn = !!(this.session && this.userId);
92
+ }
93
+ onTableFullChanged(newVal, oldVal) {
94
+ if (oldVal == undefined) {
95
+ return;
96
+ }
97
+ this.containerClassWhenDetailChange =
98
+ newVal && !oldVal ? 'PulsatingRedShadow' : 'PulsatingGreenShadow';
99
+ }
100
+ handleMouseOver(event) {
101
+ this.hover = event.type === 'mouseenter';
102
+ }
103
+ gameFavoritedHandler(event) {
104
+ let eventDetail = event.detail;
105
+ this.gameInfo.isFavorite = eventDetail[this.gameId];
106
+ this.gameInfo = Object.assign({}, this.gameInfo);
107
+ }
108
+ connectLiveHandler() {
109
+ this.toggleConnect();
110
+ }
111
+ visibilityConnectHandler() {
112
+ this.toggleVisibilityConnect();
113
+ }
114
+ gameDetailChangeHandler(e) {
115
+ var _a, _b;
116
+ let message = JSON.parse(e.data);
117
+ if (message.needReconnect && this.liveLobbyConnection) {
118
+ this.liveLobbyConnection.close();
119
+ this.liveLobbyConnection = null;
120
+ this.connectGameToLiveLobby();
121
+ return;
122
+ }
123
+ if (!(message && message.InternalTableId == this.gameId)) {
124
+ return;
125
+ }
126
+ let MessageType = message.MessageType;
127
+ switch (MessageType) {
128
+ case 'TableOpened':
129
+ case 'TableClosed':
130
+ this.gameInfo.details.isOpen = message.Open;
131
+ break;
132
+ case 'PlayersUpdated':
133
+ this.gameInfo.details.numberOfPlayers = message.Players;
134
+ break;
135
+ case 'RouletteResultsUpdated':
136
+ this.gameInfo.details.currentRouletteNumbers = message.Results;
137
+ break;
138
+ case 'DoubleBallRouletteResultsUpdated':
139
+ this.gameInfo.details.currentDoubleBallRouletteNumbers =
140
+ message.Results;
141
+ break;
142
+ case 'SeatsUpdated':
143
+ this.gameInfo.details.currentOccupiedSeats = message.Seats;
144
+ break;
145
+ case 'DealerChanged':
146
+ this.gameInfo.details.dealer = message.Dealer;
147
+ break;
148
+ case 'BaccaratResultsUpdated':
149
+ if (this.showRoundBoard) {
150
+ const Results = message.Results;
151
+ this.gameInfo.details.results = [];
152
+ Results.forEach((item) => {
153
+ this.gameInfo.details.results.push(convertGicBaccaratUpdateItem(item));
154
+ });
155
+ (_a = this.extraInfoRef) === null || _a === void 0 ? void 0 : _a.onBaccaratResultChanged(this.gameInfo.details.results);
156
+ }
157
+ break;
158
+ }
159
+ this.resetLiveProperties();
160
+ (_b = this.extraInfoRef) === null || _b === void 0 ? void 0 : _b.onGameDetailUpdated(this.gameInfo.details);
161
+ window.postMessage({ messageType: MessageType, value: e.data });
162
+ }
163
+ messageHandler(e) {
164
+ if (e.data.type === `AddFavoriteThumbnail_${this.gameId}` &&
165
+ !this.showFavoredCategory) {
166
+ this.gameInfo.isFavorite = true;
167
+ }
168
+ if (e.data.type === `RemoveFavoriteThumbnail_${this.gameId}` &&
169
+ !this.showFavoredCategory) {
170
+ this.gameInfo.isFavorite = false;
171
+ }
172
+ if (e.data.type === 'UserSessionID') {
173
+ this.isUserLoggedIn = true;
174
+ this.session = e.data.session;
175
+ this.userId = e.data.userID;
176
+ }
177
+ }
178
+ resetLiveProperties() {
179
+ var _a, _b;
180
+ const details = this.gameInfo.details;
181
+ if (this.isBlackJack(this.gameCategory.toLowerCase())) {
182
+ this.isTableFull =
183
+ details.totalSeats == ((_a = details.currentOccupiedSeats) === null || _a === void 0 ? void 0 : _a.length);
184
+ }
185
+ else if (this.isBaccarat(this.gameCategory.toLowerCase()) &&
186
+ ((_b = details.baccaratResults) === null || _b === void 0 ? void 0 : _b.length) > 0) {
187
+ this.gameInfo.details.results = [];
188
+ details.baccaratResults.forEach((item) => {
189
+ this.gameInfo.details.results.push(convertGicBaccaratUpdateItem(item));
190
+ });
191
+ delete details.baccaratResults;
192
+ }
193
+ }
194
+ isBlackJack(gameCategory) {
195
+ return gameCategory.toLowerCase() === GAME_CATEGORY.BLACKJACK;
196
+ }
197
+ isBaccarat(gameCategory) {
198
+ return gameCategory.toLowerCase() === GAME_CATEGORY.BACCARAT;
199
+ }
40
200
  /**
41
- * Game Property, default ''
201
+ * Calculate component properties by game info,
202
+ * eg: isLiveCasino, gameInfo, isTableFull
42
203
  */
43
- this.gameCategory = '';
204
+ initCtrlProperties() {
205
+ var _a;
206
+ if (this.isLiveCasino && ((_a = this.gameInfo) === null || _a === void 0 ? void 0 : _a.details)) {
207
+ this.resetLiveProperties();
208
+ }
209
+ this.gameInfo = Object.assign({}, this.gameInfo);
210
+ this.triggerExtraInfoLoad();
211
+ if (this.isLiveCasino && this.connectLive === 'connect') {
212
+ this.connectGameToLiveLobby();
213
+ }
214
+ }
44
215
  /**
45
- * Game Property, Game lunch platform
216
+ * Parse game info by game info api response
217
+ * @param data
46
218
  */
47
- this.platform = 'PC';
48
- this.thumbnailLoaded = false;
49
- this.containerClassWhenDetailChange = '';
50
- this.isUserLoggedIn = false;
51
- this.limitStylingAppends = false;
52
- //customize style setting
53
- this.setClientStyling = () => {
54
- let sheet = document.createElement('style');
55
- sheet.innerHTML = this.clientStyling;
56
- this.stylingContainer.prepend(sheet);
57
- };
58
- //customize style setting
59
- this.setClientStylingURL = () => {
60
- let url = new URL(this.clientStylingUrl);
61
- let cssFile = document.createElement('style');
62
- fetch(url.href)
63
- .then((res) => res.text())
64
- .then((data) => {
65
- cssFile.innerHTML = data;
66
- setTimeout(() => {
67
- this.stylingContainer.prepend(cssFile);
68
- }, 1);
69
- })
70
- .catch((err) => {
71
- console.error('error ', err);
72
- });
73
- };
74
- this.getGameCategoryType = () => {
75
- if (this.isLiveCasino &&
76
- this.gameCategory &&
77
- this.getWidgetTypeByGameCategory(this.gameCategory)) {
78
- return `casino-extrainfo-${this.getWidgetTypeByGameCategory(this.gameCategory).toLowerCase()}`;
79
- }
80
- return `casino-normal-game-thumbnail`;
81
- };
82
- this.getGameContainerClass = () => {
83
- let gameContainerClass = `GameContainer `;
84
- if (this.gameInfo) {
85
- if (this.gameInfo && this.gameInfo.details) {
86
- gameContainerClass += ' ListGame ';
87
- if (this.gameInfo.details.isOpen &&
88
- this.gameInfo.details.currentRouletteNumbers) {
89
- gameContainerClass += ' GameBackdrop ';
90
- }
219
+ parseGameResponse(data) {
220
+ if (data.length == 1) {
221
+ this.gameInfo = data[0];
222
+ if (this.isLiveCasino) {
223
+ if (!this.gameInfo.details) {
224
+ this.loadGameDetailInfo();
225
+ }
226
+ else {
227
+ this.parseGameDetailsResponse();
228
+ }
229
+ }
230
+ else {
231
+ this.initCtrlProperties();
232
+ }
91
233
  }
92
- }
93
- return gameContainerClass;
94
- };
95
- }
96
- onSessionChanged() {
97
- this.isUserLoggedIn = !!(this.session && this.userId);
98
- }
99
- onTableFullChanged(newVal, oldVal) {
100
- if (oldVal == undefined) {
101
- return;
102
234
  }
103
- this.containerClassWhenDetailChange =
104
- newVal && !oldVal ? 'PulsatingRedShadow' : 'PulsatingGreenShadow';
105
- }
106
- handleMouseOver(event) {
107
- this.hover = event.type === 'mouseenter';
108
- }
109
- gameFavoritedHandler(event) {
110
- let eventDetail = event.detail;
111
- this.gameInfo.isFavorite = eventDetail[this.gameId];
112
- this.gameInfo = Object.assign({}, this.gameInfo);
113
- }
114
- connectLiveHandler() {
115
- this.toggleConnect();
116
- }
117
- visibilityConnectHandler() {
118
- this.toggleVisibilityConnect();
119
- }
120
- gameDetailChangeHandler(e) {
121
- var _a, _b;
122
- let message = JSON.parse(e.data);
123
- if (message.needReconnect && this.liveLobbyConnection) {
124
- this.liveLobbyConnection.close();
125
- this.liveLobbyConnection = null;
126
- this.connectGameToLiveLobby();
127
- return;
128
- }
129
- if (!(message && message.InternalTableId == this.gameId)) {
130
- return;
235
+ /**
236
+ * Parse game detail info, set it to game info
237
+ */
238
+ parseGameDetailsResponse() {
239
+ this.initCtrlProperties();
131
240
  }
132
- let MessageType = message.MessageType;
133
- switch (MessageType) {
134
- case 'TableOpened':
135
- case 'TableClosed':
136
- this.gameInfo.details.isOpen = message.Open;
137
- break;
138
- case 'PlayersUpdated':
139
- this.gameInfo.details.numberOfPlayers = message.Players;
140
- break;
141
- case 'RouletteResultsUpdated':
142
- this.gameInfo.details.currentRouletteNumbers = message.Results;
143
- break;
144
- case 'DoubleBallRouletteResultsUpdated':
145
- this.gameInfo.details.currentDoubleBallRouletteNumbers =
146
- message.Results;
147
- break;
148
- case 'SeatsUpdated':
149
- this.gameInfo.details.currentOccupiedSeats = message.Seats;
150
- break;
151
- case 'DealerChanged':
152
- this.gameInfo.details.dealer = message.Dealer;
153
- break;
154
- case 'BaccaratResultsUpdated':
155
- if (this.showRoundBoard) {
156
- const Results = message.Results;
157
- this.gameInfo.details.results = [];
158
- Results.forEach((item) => {
159
- this.gameInfo.details.results.push(convertGicBaccaratUpdateItem(item));
160
- });
161
- (_a = this.extraInfoRef) === null || _a === void 0 ? void 0 : _a.onBaccaratResultChanged(this.gameInfo.details.results);
241
+ connectGameToLiveLobby() {
242
+ if (EventSource && !this.liveLobbyConnection) {
243
+ const updateUrl = `${this.endpoint}/v1/encoder/lobby/updates/${this.gameInfo.vendor.name}/${this.gameInfo.id}`;
244
+ this.liveLobbyConnection = new EventSourcePolyfill(updateUrl);
245
+ this.liveLobbyConnection.addEventListener('message', (evt) => {
246
+ this.gameDetailChangeHandler(evt);
247
+ });
162
248
  }
163
- break;
164
249
  }
165
- this.resetLiveProperties();
166
- (_b = this.extraInfoRef) === null || _b === void 0 ? void 0 : _b.onGameDetailUpdated(this.gameInfo.details);
167
- window.postMessage({ messageType: MessageType, value: e.data });
168
- }
169
- messageHandler(e) {
170
- if (e.data.type === `AddFavoriteThumbnail_${this.gameId}` &&
171
- !this.showFavoredCategory) {
172
- this.gameInfo.isFavorite = true;
173
- }
174
- if (e.data.type === `RemoveFavoriteThumbnail_${this.gameId}` &&
175
- !this.showFavoredCategory) {
176
- this.gameInfo.isFavorite = false;
250
+ disconnectGameFromLiveLobby() {
251
+ if (this.liveLobbyConnection) {
252
+ this.liveLobbyConnection.removeEventListener('message');
253
+ this.liveLobbyConnection.close();
254
+ this.liveLobbyConnection = undefined;
255
+ }
177
256
  }
178
- if (e.data.type === 'UserSessionID') {
179
- this.isUserLoggedIn = true;
180
- this.session = e.data.session;
181
- this.userId = e.data.userID;
257
+ toggleConnect() {
258
+ if (!this.isLiveCasino) {
259
+ return;
260
+ }
261
+ if (this.connectLive === 'disconnect') {
262
+ this.disconnectGameFromLiveLobby();
263
+ }
264
+ else if (this.connectLive === 'connect') {
265
+ this.connectGameToLiveLobby();
266
+ }
182
267
  }
183
- }
184
- resetLiveProperties() {
185
- var _a, _b;
186
- const details = this.gameInfo.details;
187
- if (this.isBlackJack(this.gameCategory.toLowerCase())) {
188
- this.isTableFull =
189
- details.totalSeats == ((_a = details.currentOccupiedSeats) === null || _a === void 0 ? void 0 : _a.length);
268
+ toggleVisibilityConnect() {
269
+ if (!this.isLiveCasino) {
270
+ return;
271
+ }
272
+ if (this.visibilityConnect === 'disconnect') {
273
+ this.disconnectGameFromLiveLobby();
274
+ }
275
+ else if (this.visibilityConnect === 'connect' &&
276
+ this.connectLive === 'connect') {
277
+ this.connectGameToLiveLobby();
278
+ }
190
279
  }
191
- else if (this.isBaccarat(this.gameCategory.toLowerCase()) &&
192
- ((_b = details.baccaratResults) === null || _b === void 0 ? void 0 : _b.length) > 0) {
193
- this.gameInfo.details.results = [];
194
- details.baccaratResults.forEach((item) => {
195
- this.gameInfo.details.results.push(convertGicBaccaratUpdateItem(item));
196
- });
197
- delete details.baccaratResults;
280
+ /**
281
+ * Get game base info from game api(casino/games/{id})
282
+ * @private
283
+ */
284
+ loadGameById() {
285
+ let url = `${this.endpoint}/v1/casino/games/${this.gameId}?expand=vendor&platform=${this.platform}&language=${this.language}`;
286
+ fetch(url)
287
+ .then((res) => res.json())
288
+ .then((data) => this.parseGameResponse(data))
289
+ .catch((err) => {
290
+ console.error(err);
291
+ });
198
292
  }
199
- }
200
- isBlackJack(gameCategory) {
201
- return gameCategory.toLowerCase() === GAME_CATEGORY.BLACKJACK;
202
- }
203
- isBaccarat(gameCategory) {
204
- return gameCategory.toLowerCase() === GAME_CATEGORY.BACCARAT;
205
- }
206
- /**
207
- * Calculate component properties by game info,
208
- * eg: isLiveCasino, gameInfo, isTableFull
209
- */
210
- initCtrlProperties() {
211
- var _a;
212
- if (this.isLiveCasino && ((_a = this.gameInfo) === null || _a === void 0 ? void 0 : _a.details)) {
213
- this.resetLiveProperties();
293
+ /*
294
+ * Load game info when widget property 'livelobbyEndpoint' set
295
+ * @private
296
+ */
297
+ loadGameInfoByLobbyEndpoint() {
298
+ let url = new URL(`${this.livelobbyEndpoint.split('?')[0]}`);
299
+ url.searchParams.append('expand', 'vendor');
300
+ url.searchParams.append('platform', this.platform);
301
+ url.searchParams.append('language', this.language);
302
+ fetch(url.toString())
303
+ .then((res) => res.json())
304
+ .then((data) => this.parseGameResponse(data))
305
+ .catch((error) => console.error(error));
214
306
  }
215
- this.gameInfo = Object.assign({}, this.gameInfo);
216
- this.triggerExtraInfoLoad();
217
- if (this.isLiveCasino && this.connectLive === 'connect') {
218
- this.connectGameToLiveLobby();
307
+ /*
308
+ * load game info when widget property 'livelobbyEndpoint' setted
309
+ * @private
310
+ */
311
+ loadGameDetailInfo() {
312
+ let url = new URL(`${this.endpoint}/v1/lobby/tables/${this.gameId}`);
313
+ url.searchParams.append('platform', this.platform);
314
+ url.searchParams.append('language', this.language);
315
+ fetch(url.toString())
316
+ .then((res) => res.json())
317
+ .then((data) => {
318
+ if (!(data === null || data === void 0 ? void 0 : data.category)) {
319
+ return;
320
+ }
321
+ this.gameInfo.details = data;
322
+ this.parseGameDetailsResponse();
323
+ })
324
+ .catch((err) => {
325
+ console.error(err);
326
+ setTimeout(() => this.loadGameDetailInfo(), 1000);
327
+ });
219
328
  }
220
- }
221
- /**
222
- * Parse game info by game info api response
223
- * @param data
224
- */
225
- parseGameResponse(data) {
226
- if (data.length == 1) {
227
- this.gameInfo = data[0];
228
- if (this.isLiveCasino) {
229
- if (!this.gameInfo.details) {
230
- this.loadGameDetailInfo();
329
+ /**
330
+ * Toggle game favorite property
331
+ * @param gameId
332
+ * @private
333
+ */
334
+ toggleFavoriteGame(gameId) {
335
+ let triggerFactor = 'thumbnail';
336
+ if (this.gameInfo.isFavorite) {
337
+ window.postMessage({ type: 'SetUnfavoredGame', gameId, triggerFactor }, window.location.href);
231
338
  }
232
339
  else {
233
- this.parseGameDetailsResponse();
340
+ window.postMessage({ type: 'SetFavoredGame', gameId, triggerFactor }, window.location.href);
234
341
  }
235
- }
236
- else {
237
- this.initCtrlProperties();
238
- }
239
- }
240
- }
241
- /**
242
- * Parse game detail info, set it to game info
243
- */
244
- parseGameDetailsResponse() {
245
- this.initCtrlProperties();
246
- }
247
- connectGameToLiveLobby() {
248
- if (EventSource && !this.liveLobbyConnection) {
249
- const updateUrl = `${this.endpoint}/v1/encoder/lobby/updates/${this.gameInfo.vendor.name}/${this.gameInfo.id}`;
250
- this.liveLobbyConnection = new EventSourcePolyfill(updateUrl);
251
- this.liveLobbyConnection.addEventListener('message', (evt) => {
252
- this.gameDetailChangeHandler(evt);
253
- });
342
+ this.toggleFavoriteCasinoGameEvent.emit(gameId);
254
343
  }
255
- }
256
- disconnectGameFromLiveLobby() {
257
- if (this.liveLobbyConnection) {
258
- this.liveLobbyConnection.removeEventListener('message');
259
- this.liveLobbyConnection.close();
260
- this.liveLobbyConnection = undefined;
261
- }
262
- }
263
- toggleConnect() {
264
- if (!this.isLiveCasino) {
265
- return;
344
+ /**
345
+ * Generate gameInfo obj by props
346
+ * @private
347
+ */
348
+ generateGameInfoByProps() {
349
+ return {
350
+ id: this.gameId,
351
+ name: this.gameName,
352
+ subVendor: this.subVendor,
353
+ hasFunMode: this.hasFunMode,
354
+ hasAnonymousFunMode: this.hasAnonymousFunMode,
355
+ thumbnail: this.thumbnail,
356
+ cellSize: this.cellSize,
357
+ gameTag: this.gameTag,
358
+ vendor: { href: '', name: this.gameVendor },
359
+ isFavorite: this.isFavorite,
360
+ isNew: this.isNew,
361
+ type: this.type,
362
+ liveCasinoCategory: this.gameCategory || '',
363
+ };
266
364
  }
267
- if (this.connectLive === 'disconnect') {
268
- this.disconnectGameFromLiveLobby();
365
+ triggerExtraInfoLoad() {
366
+ var _a, _b;
367
+ //Init this.extraInfoRef, prepare for data loader, this.gameInfo did not inited might
368
+ this.extraInfoRef =
369
+ this.extraInfoRef ||
370
+ ((_a = this.extraInfoSlotRef) === null || _a === void 0 ? void 0 : _a.querySelector(this.getGameCategoryType()));
371
+ (_b = this.extraInfoRef) === null || _b === void 0 ? void 0 : _b.onGameLoaded(this.gameInfo);
372
+ window.postMessage({
373
+ type: 'casinoGameLoaded',
374
+ gameInfo: this.gameInfo,
375
+ });
269
376
  }
270
- else if (this.connectLive === 'connect') {
271
- this.connectGameToLiveLobby();
377
+ componentDidRender() {
378
+ // start custom styling area
379
+ if (!this.limitStylingAppends && this.stylingContainer) {
380
+ if (this.clientStyling)
381
+ this.setClientStyling();
382
+ if (this.clientStylingUrl)
383
+ this.setClientStylingURL();
384
+ this.limitStylingAppends = true;
385
+ }
386
+ // end custom styling area 500)
387
+ if (this.gameInfo) {
388
+ this.triggerExtraInfoLoad();
389
+ }
272
390
  }
273
- }
274
- toggleVisibilityConnect() {
275
- if (!this.isLiveCasino) {
276
- return;
391
+ componentDidLoad() {
392
+ window.addEventListener('message', this.messageHandler);
277
393
  }
278
- if (this.visibilityConnect === 'disconnect') {
279
- this.disconnectGameFromLiveLobby();
394
+ componentWillLoad() {
395
+ this.isLiveCasino = this.type == GAME_TYPE.LIVE_CASINO;
396
+ this.extraInfoWidget = this.getGameCategoryType();
397
+ this.isUserLoggedIn = !!(this.session && this.userId);
398
+ if (this.isLiveCasino && this.livelobbyEndpoint) {
399
+ this.loadGameInfoByLobbyEndpoint();
400
+ return;
401
+ }
402
+ //generate gameInfo obj by props
403
+ if (this.thumbnail) {
404
+ this.gameInfo = this.generateGameInfoByProps();
405
+ // loadLiveDetails if game is live casino
406
+ if (this.isLiveCasino &&
407
+ this.endpoint &&
408
+ this.loadDetails &&
409
+ this.gameId) {
410
+ this.loadGameDetailInfo();
411
+ }
412
+ return;
413
+ }
414
+ //fetch data from api if no game properties set except gameId
415
+ if (this.gameId && this.endpoint) {
416
+ this.loadGameById();
417
+ }
280
418
  }
281
- else if (this.visibilityConnect === 'connect' &&
282
- this.connectLive === 'connect') {
283
- this.connectGameToLiveLobby();
419
+ disconnectedCallback() {
420
+ if (this.liveLobbyConnection) {
421
+ this.liveLobbyConnection.removeEventListener('message', this.gameDetailChangeHandler);
422
+ }
423
+ window.removeEventListener('message', this.messageHandler);
284
424
  }
285
- }
286
- /**
287
- * Get game base info from game api(casino/games/{id})
288
- * @private
289
- */
290
- loadGameById() {
291
- let url = `${this.endpoint}/v1/casino/games/${this.gameId}?expand=vendor&platform=${this.platform}&language=${this.language}`;
292
- fetch(url)
293
- .then((res) => res.json())
294
- .then((data) => this.parseGameResponse(data))
295
- .catch((err) => {
296
- console.error(err);
297
- });
298
- }
299
- /*
300
- * Load game info when widget property 'livelobbyEndpoint' set
301
- * @private
302
- */
303
- loadGameInfoByLobbyEndpoint() {
304
- let url = new URL(`${this.livelobbyEndpoint.split('?')[0]}`);
305
- url.searchParams.append('expand', 'vendor');
306
- url.searchParams.append('platform', this.platform);
307
- url.searchParams.append('language', this.language);
308
- fetch(url.toString())
309
- .then((res) => res.json())
310
- .then((data) => this.parseGameResponse(data))
311
- .catch((error) => console.error(error));
312
- }
313
- /*
314
- * load game info when widget property 'livelobbyEndpoint' setted
315
- * @private
316
- */
317
- loadGameDetailInfo() {
318
- let url = new URL(`${this.endpoint}/v1/lobby/tables/${this.gameId}`);
319
- url.searchParams.append('platform', this.platform);
320
- url.searchParams.append('language', this.language);
321
- fetch(url.toString())
322
- .then((res) => res.json())
323
- .then((data) => {
324
- if (!(data === null || data === void 0 ? void 0 : data.category)) {
325
- return;
326
- }
327
- this.gameInfo.details = data;
328
- this.parseGameDetailsResponse();
329
- })
330
- .catch((err) => {
331
- console.error(err);
332
- setTimeout(() => this.loadGameDetailInfo(), 1000);
333
- });
334
- }
335
- /**
336
- * Toggle game favorite property
337
- * @param gameId
338
- * @private
339
- */
340
- toggleFavoriteGame(gameId) {
341
- let triggerFactor = 'thumbnail';
342
- if (this.gameInfo.isFavorite) {
343
- window.postMessage({ type: 'SetUnfavoredGame', gameId, triggerFactor }, window.location.href);
425
+ // end custom styling area
426
+ getWidgetTypeByGameCategory(gameCategory) {
427
+ return WIDGETTYPE_GAMECATEGORY[gameCategory.toLowerCase()];
344
428
  }
345
- else {
346
- window.postMessage({ type: 'SetFavoredGame', gameId, triggerFactor }, window.location.href);
429
+ getGameOverlayProps() {
430
+ var _a, _b;
431
+ return {
432
+ gameName: this.gameInfo.name,
433
+ gameId: this.gameInfo.gameId,
434
+ gameVendor: this.gameVendor || ((_b = (_a = this.gameInfo) === null || _a === void 0 ? void 0 : _a.vendor) === null || _b === void 0 ? void 0 : _b.name),
435
+ hasFunMode: this.gameInfo.hasFunMode,
436
+ language: this.language,
437
+ integratedGameframeMobile: this.integratedGameframeMobile,
438
+ integratedGameframeDesktop: this.integratedGameframeDesktop,
439
+ gamepageModalurl: this.gamepageModalurl,
440
+ };
347
441
  }
348
- this.toggleFavoriteCasinoGameEvent.emit(gameId);
349
- }
350
- /**
351
- * Generate gameInfo obj by props
352
- * @private
353
- */
354
- generateGameInfoByProps() {
355
- return {
356
- id: this.gameId,
357
- name: this.gameName,
358
- subVendor: this.subVendor,
359
- hasFunMode: this.hasFunMode,
360
- hasAnonymousFunMode: this.hasAnonymousFunMode,
361
- thumbnail: this.thumbnail,
362
- cellSize: this.cellSize,
363
- gameTag: this.gameTag,
364
- vendor: { href: '', name: this.gameVendor },
365
- isFavorite: this.isFavorite,
366
- isNew: this.isNew,
367
- type: this.type,
368
- liveCasinoCategory: this.gameCategory || '',
369
- };
370
- }
371
- triggerExtraInfoLoad() {
372
- var _a, _b;
373
- //Init this.extraInfoRef, prepare for data loader, this.gameInfo did not inited might
374
- this.extraInfoRef =
375
- this.extraInfoRef ||
376
- ((_a = this.extraInfoSlotRef) === null || _a === void 0 ? void 0 : _a.querySelector(this.getGameCategoryType()));
377
- (_b = this.extraInfoRef) === null || _b === void 0 ? void 0 : _b.onGameLoaded(this.gameInfo);
378
- window.postMessage({
379
- type: 'casinoGameLoaded',
380
- gameInfo: this.gameInfo,
381
- });
382
- }
383
- componentDidRender() {
384
- // start custom styling area
385
- if (!this.limitStylingAppends && this.stylingContainer) {
386
- if (this.clientStyling)
387
- this.setClientStyling();
388
- if (this.clientStylingUrl)
389
- this.setClientStylingURL();
390
- this.limitStylingAppends = true;
442
+ render() {
443
+ var _a, _b;
444
+ if (!this.gameInfo) {
445
+ return (h("div", { class: "GameInnerContainer", part: "GameInnerContainer", slot: "Game-Inner" }, h("img", { src: this.thumbnail, alt: "", loading: "lazy", part: "GameContainer", class: "GameContainer", onLoad: () => (this.thumbnailLoaded = true) })));
446
+ }
447
+ const gameOverlayProps = this.getGameOverlayProps();
448
+ const gameThumbnail = ((_a = this.gameInfo) === null || _a === void 0 ? void 0 : _a.thumbnail) || ((_b = this.gameInfo) === null || _b === void 0 ? void 0 : _b.defaultThumbnail);
449
+ const gameContainerClass = this.getGameContainerClass();
450
+ const gameThumbnailClass = `GameBg ${this.cellSize ? 'GameBg-' + this.cellSize : ''}
451
+ ${this.hover ? ' GameContainerHovered' : ''} ${this.thumbnailLoaded ? ' Loaded' : ''}`;
452
+ return (h("div", { class: `${gameContainerClass} ${this.containerClassWhenDetailChange}`, part: `${gameContainerClass} ${this.containerClassWhenDetailChange}`, ref: (el) => (this.stylingContainer = el), "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrl }, h("div", { class: `GameInnerContainer ${this.hover ? 'Hovered' : ''}`, part: `GameInnerContainer ${this.hover ? 'Hovered' : ''}` }, h("img", { src: gameThumbnail, alt: "Game Thumbnail ", loading: "lazy", part: gameThumbnailClass, class: gameThumbnailClass, onLoad: () => (this.thumbnailLoaded = true) }), this.isUserLoggedIn && (h("div", { class: `FavIconContainer ${this.gameInfo.isFavorite ? 'Favorited' : ''}`, part: `FavIconContainer ${this.gameInfo.isFavorite ? 'Favorited' : ''}`, onClick: () => this.toggleFavoriteGame(this.gameId) }, this.gameInfo.isFavorite ? (h("slot", { name: "fav-icon" }, h("span", { class: "FavoredIcon", part: "FavoredIcon", innerHTML: Fav }))) : (h("slot", { name: "UnFavIcon" }, !isMobile(window.navigator.userAgent) && (h("span", { class: "UnfavoredIcon", part: "UnfavoredIcon", innerHTML: UnFavSvg })))))), h("slot", { name: "game-overlay" }, h("casino-game-thumbnail-overlay", Object.assign({ language: this.language }, gameOverlayProps))), h("slot", { name: "extra-info", ref: (el) => (this.extraInfoSlotRef = el) }, h(this.extraInfoWidget, { language: this.language, "show-round-board": this.showRoundBoard })), h("slot", { name: "game-property-slot" })), this.showGameName && (h("slot", { name: "game-name" }, h("p", { class: "GameNameBelow", part: "GameNameBelow", title: gameOverlayProps.gameName }, gameOverlayProps.gameName)))));
391
453
  }
392
- // end custom styling area 500)
393
- if (this.gameInfo) {
394
- this.triggerExtraInfoLoad();
454
+ static get is() { return "casino-game-thumb-view"; }
455
+ static get encapsulation() { return "shadow"; }
456
+ static get originalStyleUrls() {
457
+ return {
458
+ "$": ["casino-game-thumb-view.scss"]
459
+ };
395
460
  }
396
- }
397
- componentDidLoad() {
398
- window.addEventListener('message', this.messageHandler);
399
- }
400
- componentWillLoad() {
401
- this.isLiveCasino = this.type == GAME_TYPE.LIVE_CASINO;
402
- this.extraInfoWidget = this.getGameCategoryType();
403
- this.isUserLoggedIn = !!(this.session && this.userId);
404
- if (this.isLiveCasino && this.livelobbyEndpoint) {
405
- this.loadGameInfoByLobbyEndpoint();
406
- return;
461
+ static get styleUrls() {
462
+ return {
463
+ "$": ["casino-game-thumb-view.css"]
464
+ };
407
465
  }
408
- //generate gameInfo obj by props
409
- if (this.thumbnail) {
410
- this.gameInfo = this.generateGameInfoByProps();
411
- // loadLiveDetails if game is live casino
412
- if (this.isLiveCasino &&
413
- this.endpoint &&
414
- this.loadDetails &&
415
- this.gameId) {
416
- this.loadGameDetailInfo();
417
- }
418
- return;
466
+ static get assetsDirs() { return ["static"]; }
467
+ static get properties() {
468
+ return {
469
+ "language": {
470
+ "type": "string",
471
+ "mutable": false,
472
+ "complexType": {
473
+ "original": "string",
474
+ "resolved": "string",
475
+ "references": {}
476
+ },
477
+ "required": false,
478
+ "optional": false,
479
+ "docs": {
480
+ "tags": [],
481
+ "text": "Widget Setting, Game language"
482
+ },
483
+ "attribute": "language",
484
+ "reflect": false,
485
+ "defaultValue": "'en'"
486
+ },
487
+ "endpoint": {
488
+ "type": "string",
489
+ "mutable": false,
490
+ "complexType": {
491
+ "original": "string",
492
+ "resolved": "string",
493
+ "references": {}
494
+ },
495
+ "required": false,
496
+ "optional": false,
497
+ "docs": {
498
+ "tags": [],
499
+ "text": "Widget Setting, Api endpoint for loading game details"
500
+ },
501
+ "attribute": "endpoint",
502
+ "reflect": false
503
+ },
504
+ "userId": {
505
+ "type": "any",
506
+ "mutable": false,
507
+ "complexType": {
508
+ "original": "string | number",
509
+ "resolved": "number | string",
510
+ "references": {}
511
+ },
512
+ "required": false,
513
+ "optional": false,
514
+ "docs": {
515
+ "tags": [],
516
+ "text": "Widget Setting, User id"
517
+ },
518
+ "attribute": "user-id",
519
+ "reflect": false
520
+ },
521
+ "showGameName": {
522
+ "type": "boolean",
523
+ "mutable": false,
524
+ "complexType": {
525
+ "original": "boolean",
526
+ "resolved": "boolean",
527
+ "references": {}
528
+ },
529
+ "required": false,
530
+ "optional": false,
531
+ "docs": {
532
+ "tags": [],
533
+ "text": "Widget Setting, Show game name if set it as true"
534
+ },
535
+ "attribute": "show-game-name",
536
+ "reflect": false
537
+ },
538
+ "session": {
539
+ "type": "string",
540
+ "mutable": false,
541
+ "complexType": {
542
+ "original": "string",
543
+ "resolved": "string",
544
+ "references": {}
545
+ },
546
+ "required": false,
547
+ "optional": false,
548
+ "docs": {
549
+ "tags": [],
550
+ "text": "Widget Setting, User session"
551
+ },
552
+ "attribute": "session",
553
+ "reflect": false
554
+ },
555
+ "showFavoredCategory": {
556
+ "type": "boolean",
557
+ "mutable": false,
558
+ "complexType": {
559
+ "original": "boolean",
560
+ "resolved": "boolean",
561
+ "references": {}
562
+ },
563
+ "required": false,
564
+ "optional": false,
565
+ "docs": {
566
+ "tags": [],
567
+ "text": "Widget Setting, game showed in favorited category"
568
+ },
569
+ "attribute": "show-favored-category",
570
+ "reflect": false
571
+ },
572
+ "clientStyling": {
573
+ "type": "string",
574
+ "mutable": false,
575
+ "complexType": {
576
+ "original": "string",
577
+ "resolved": "string",
578
+ "references": {}
579
+ },
580
+ "required": false,
581
+ "optional": false,
582
+ "docs": {
583
+ "tags": [],
584
+ "text": "Widget Setting, Client custom styling via string"
585
+ },
586
+ "attribute": "client-styling",
587
+ "reflect": false,
588
+ "defaultValue": "''"
589
+ },
590
+ "clientStylingUrl": {
591
+ "type": "string",
592
+ "mutable": false,
593
+ "complexType": {
594
+ "original": "string",
595
+ "resolved": "string",
596
+ "references": {}
597
+ },
598
+ "required": false,
599
+ "optional": false,
600
+ "docs": {
601
+ "tags": [],
602
+ "text": "Widget Setting, Client custom styling via url content"
603
+ },
604
+ "attribute": "client-styling-url",
605
+ "reflect": false,
606
+ "defaultValue": "''"
607
+ },
608
+ "integratedGameframeMobile": {
609
+ "type": "boolean",
610
+ "mutable": false,
611
+ "complexType": {
612
+ "original": "boolean",
613
+ "resolved": "boolean",
614
+ "references": {}
615
+ },
616
+ "required": false,
617
+ "optional": false,
618
+ "docs": {
619
+ "tags": [],
620
+ "text": "Widget Setting, show game in a frame when user clicked 'start'"
621
+ },
622
+ "attribute": "integrated-gameframe-mobile",
623
+ "reflect": false,
624
+ "defaultValue": "false"
625
+ },
626
+ "gamepageModalurl": {
627
+ "type": "string",
628
+ "mutable": false,
629
+ "complexType": {
630
+ "original": "string",
631
+ "resolved": "string",
632
+ "references": {}
633
+ },
634
+ "required": false,
635
+ "optional": false,
636
+ "docs": {
637
+ "tags": [],
638
+ "text": "Widget Setting, show game in a frame when user clicked 'start'\nthe frame url when integratedGameframeDesktop is true"
639
+ },
640
+ "attribute": "gamepage-modalurl",
641
+ "reflect": false
642
+ },
643
+ "integratedGameframeDesktop": {
644
+ "type": "boolean",
645
+ "mutable": false,
646
+ "complexType": {
647
+ "original": "boolean",
648
+ "resolved": "boolean",
649
+ "references": {}
650
+ },
651
+ "required": false,
652
+ "optional": false,
653
+ "docs": {
654
+ "tags": [],
655
+ "text": "Widget Setting, show game in a frame when user clicked 'start', Open game aframe,\ngamepageModalurl value should be set"
656
+ },
657
+ "attribute": "integrated-gameframe-desktop",
658
+ "reflect": false,
659
+ "defaultValue": "false"
660
+ },
661
+ "loadDetails": {
662
+ "type": "boolean",
663
+ "mutable": false,
664
+ "complexType": {
665
+ "original": "boolean",
666
+ "resolved": "boolean",
667
+ "references": {}
668
+ },
669
+ "required": false,
670
+ "optional": false,
671
+ "docs": {
672
+ "tags": [],
673
+ "text": "Widget Setting, Load game details when set it as true, default value: false\nWhen loadDetails is true and type=='live-casino-tables',\nLoad gameDetails by endpoint/vendor/gameId if livelobbyEndpoint is null"
674
+ },
675
+ "attribute": "load-details",
676
+ "reflect": false,
677
+ "defaultValue": "false"
678
+ },
679
+ "showRoundBoard": {
680
+ "type": "boolean",
681
+ "mutable": false,
682
+ "complexType": {
683
+ "original": "boolean",
684
+ "resolved": "boolean",
685
+ "references": {}
686
+ },
687
+ "required": false,
688
+ "optional": false,
689
+ "docs": {
690
+ "tags": [],
691
+ "text": "Widget Setting, showRoundBoard, default value: false"
692
+ },
693
+ "attribute": "show-round-board",
694
+ "reflect": false,
695
+ "defaultValue": "false"
696
+ },
697
+ "visibilityConnect": {
698
+ "type": "string",
699
+ "mutable": false,
700
+ "complexType": {
701
+ "original": "string",
702
+ "resolved": "string",
703
+ "references": {}
704
+ },
705
+ "required": false,
706
+ "optional": false,
707
+ "docs": {
708
+ "tags": [],
709
+ "text": "Widget Setting\nValid value: 'disconnect'/'connect'\nFlag to start a updater when a live game show in visible area\nwhen visibilityConnect='connect' && connectLive = 'connect'"
710
+ },
711
+ "attribute": "visibility-connect",
712
+ "reflect": false
713
+ },
714
+ "connectLive": {
715
+ "type": "string",
716
+ "mutable": false,
717
+ "complexType": {
718
+ "original": "string",
719
+ "resolved": "string",
720
+ "references": {}
721
+ },
722
+ "required": false,
723
+ "optional": false,
724
+ "docs": {
725
+ "tags": [],
726
+ "text": "Widget Setting, flag to start a updater when a live game show in visible area\nValid value: 'disconnect'/'connect'\nFlag to start a updater when a live game show in visible area\nwhen 'connectLive'= 'connect'"
727
+ },
728
+ "attribute": "connect-live",
729
+ "reflect": false
730
+ },
731
+ "gameCategory": {
732
+ "type": "string",
733
+ "mutable": false,
734
+ "complexType": {
735
+ "original": "string",
736
+ "resolved": "string",
737
+ "references": {}
738
+ },
739
+ "required": false,
740
+ "optional": false,
741
+ "docs": {
742
+ "tags": [],
743
+ "text": "Game Property, default ''"
744
+ },
745
+ "attribute": "game-category",
746
+ "reflect": false,
747
+ "defaultValue": "''"
748
+ },
749
+ "livelobbyEndpoint": {
750
+ "type": "string",
751
+ "mutable": false,
752
+ "complexType": {
753
+ "original": "string",
754
+ "resolved": "string",
755
+ "references": {}
756
+ },
757
+ "required": false,
758
+ "optional": false,
759
+ "docs": {
760
+ "tags": [],
761
+ "text": "Widget Setting, Live lobby endpoint, use to start a game\nLoad game info by this url if type=='live-casino-tables'"
762
+ },
763
+ "attribute": "livelobby-endpoint",
764
+ "reflect": false
765
+ },
766
+ "gameId": {
767
+ "type": "any",
768
+ "mutable": false,
769
+ "complexType": {
770
+ "original": "number | string",
771
+ "resolved": "number | string",
772
+ "references": {}
773
+ },
774
+ "required": false,
775
+ "optional": false,
776
+ "docs": {
777
+ "tags": [],
778
+ "text": "Game Property, GameId"
779
+ },
780
+ "attribute": "game-id",
781
+ "reflect": false
782
+ },
783
+ "gameName": {
784
+ "type": "string",
785
+ "mutable": false,
786
+ "complexType": {
787
+ "original": "string",
788
+ "resolved": "string",
789
+ "references": {}
790
+ },
791
+ "required": false,
792
+ "optional": false,
793
+ "docs": {
794
+ "tags": [],
795
+ "text": "Game Property, Game Name"
796
+ },
797
+ "attribute": "game-name",
798
+ "reflect": false
799
+ },
800
+ "subVendor": {
801
+ "type": "string",
802
+ "mutable": false,
803
+ "complexType": {
804
+ "original": "string",
805
+ "resolved": "string",
806
+ "references": {}
807
+ },
808
+ "required": false,
809
+ "optional": false,
810
+ "docs": {
811
+ "tags": [],
812
+ "text": "Game Property, Game SubVendor"
813
+ },
814
+ "attribute": "sub-vendor",
815
+ "reflect": false
816
+ },
817
+ "gameVendor": {
818
+ "type": "string",
819
+ "mutable": false,
820
+ "complexType": {
821
+ "original": "string",
822
+ "resolved": "string",
823
+ "references": {}
824
+ },
825
+ "required": false,
826
+ "optional": false,
827
+ "docs": {
828
+ "tags": [],
829
+ "text": "Game Property, Game vendor"
830
+ },
831
+ "attribute": "game-vendor",
832
+ "reflect": false
833
+ },
834
+ "hasFunMode": {
835
+ "type": "boolean",
836
+ "mutable": false,
837
+ "complexType": {
838
+ "original": "boolean",
839
+ "resolved": "boolean",
840
+ "references": {}
841
+ },
842
+ "required": false,
843
+ "optional": false,
844
+ "docs": {
845
+ "tags": [],
846
+ "text": "Game Property, Game funMode"
847
+ },
848
+ "attribute": "has-fun-mode",
849
+ "reflect": false
850
+ },
851
+ "hasAnonymousFunMode": {
852
+ "type": "boolean",
853
+ "mutable": false,
854
+ "complexType": {
855
+ "original": "boolean",
856
+ "resolved": "boolean",
857
+ "references": {}
858
+ },
859
+ "required": false,
860
+ "optional": false,
861
+ "docs": {
862
+ "tags": [],
863
+ "text": "Game Property, hasAnonymousFunMode"
864
+ },
865
+ "attribute": "has-anonymous-fun-mode",
866
+ "reflect": false
867
+ },
868
+ "platform": {
869
+ "type": "string",
870
+ "mutable": false,
871
+ "complexType": {
872
+ "original": "string",
873
+ "resolved": "string",
874
+ "references": {}
875
+ },
876
+ "required": false,
877
+ "optional": false,
878
+ "docs": {
879
+ "tags": [],
880
+ "text": "Game Property, Game lunch platform"
881
+ },
882
+ "attribute": "platform",
883
+ "reflect": false,
884
+ "defaultValue": "'PC'"
885
+ },
886
+ "thumbnail": {
887
+ "type": "string",
888
+ "mutable": false,
889
+ "complexType": {
890
+ "original": "string",
891
+ "resolved": "string",
892
+ "references": {}
893
+ },
894
+ "required": false,
895
+ "optional": false,
896
+ "docs": {
897
+ "tags": [],
898
+ "text": "Game Property, Game thumbnail"
899
+ },
900
+ "attribute": "thumbnail",
901
+ "reflect": false
902
+ },
903
+ "isFavorite": {
904
+ "type": "boolean",
905
+ "mutable": false,
906
+ "complexType": {
907
+ "original": "boolean",
908
+ "resolved": "boolean",
909
+ "references": {}
910
+ },
911
+ "required": false,
912
+ "optional": false,
913
+ "docs": {
914
+ "tags": [],
915
+ "text": "Game Property, is Game Favorited"
916
+ },
917
+ "attribute": "is-favorite",
918
+ "reflect": false
919
+ },
920
+ "isNew": {
921
+ "type": "boolean",
922
+ "mutable": false,
923
+ "complexType": {
924
+ "original": "boolean",
925
+ "resolved": "boolean",
926
+ "references": {}
927
+ },
928
+ "required": false,
929
+ "optional": false,
930
+ "docs": {
931
+ "tags": [],
932
+ "text": "Game Property, is Game new"
933
+ },
934
+ "attribute": "is-new",
935
+ "reflect": false
936
+ },
937
+ "cellSize": {
938
+ "type": "string",
939
+ "mutable": false,
940
+ "complexType": {
941
+ "original": "string",
942
+ "resolved": "string",
943
+ "references": {}
944
+ },
945
+ "required": false,
946
+ "optional": false,
947
+ "docs": {
948
+ "tags": [],
949
+ "text": "Game Property, Customize game cell size"
950
+ },
951
+ "attribute": "cell-size",
952
+ "reflect": false
953
+ },
954
+ "gameTag": {
955
+ "type": "string",
956
+ "mutable": false,
957
+ "complexType": {
958
+ "original": "string",
959
+ "resolved": "string",
960
+ "references": {}
961
+ },
962
+ "required": false,
963
+ "optional": false,
964
+ "docs": {
965
+ "tags": [],
966
+ "text": "Game Property, gameTag"
967
+ },
968
+ "attribute": "game-tag",
969
+ "reflect": false
970
+ },
971
+ "type": {
972
+ "type": "string",
973
+ "mutable": false,
974
+ "complexType": {
975
+ "original": "string",
976
+ "resolved": "string",
977
+ "references": {}
978
+ },
979
+ "required": true,
980
+ "optional": false,
981
+ "docs": {
982
+ "tags": [],
983
+ "text": "Game Property, type, isLiveCasino when type == 'live-casino-tables'"
984
+ },
985
+ "attribute": "type",
986
+ "reflect": false
987
+ }
988
+ };
419
989
  }
420
- //fetch data from api if no game properties set except gameId
421
- if (this.gameId && this.endpoint) {
422
- this.loadGameById();
990
+ static get states() {
991
+ return {
992
+ "gameInfo": {},
993
+ "isTableFull": {},
994
+ "hover": {}
995
+ };
423
996
  }
424
- }
425
- disconnectedCallback() {
426
- if (this.liveLobbyConnection) {
427
- this.liveLobbyConnection.removeEventListener('message', this.gameDetailChangeHandler);
997
+ static get events() {
998
+ return [{
999
+ "method": "toggleFavoriteCasinoGameEvent",
1000
+ "name": "toggleCasinoGameFavorite",
1001
+ "bubbles": true,
1002
+ "cancelable": true,
1003
+ "composed": true,
1004
+ "docs": {
1005
+ "tags": [],
1006
+ "text": ""
1007
+ },
1008
+ "complexType": {
1009
+ "original": "number | string",
1010
+ "resolved": "number | string",
1011
+ "references": {}
1012
+ }
1013
+ }];
428
1014
  }
429
- window.removeEventListener('message', this.messageHandler);
430
- }
431
- // end custom styling area
432
- getWidgetTypeByGameCategory(gameCategory) {
433
- return WIDGETTYPE_GAMECATEGORY[gameCategory.toLowerCase()];
434
- }
435
- getGameOverlayProps() {
436
- var _a, _b;
437
- return {
438
- gameName: this.gameInfo.name,
439
- gameId: this.gameInfo.gameId,
440
- gameVendor: this.gameVendor || ((_b = (_a = this.gameInfo) === null || _a === void 0 ? void 0 : _a.vendor) === null || _b === void 0 ? void 0 : _b.name),
441
- hasFunMode: this.gameInfo.hasFunMode,
442
- language: this.language,
443
- integratedGameframeMobile: this.integratedGameframeMobile,
444
- integratedGameframeDesktop: this.integratedGameframeDesktop,
445
- gamepageModalurl: this.gamepageModalurl,
446
- };
447
- }
448
- render() {
449
- var _a, _b;
450
- if (!this.gameInfo) {
451
- return (h("div", { class: "GameInnerContainer", part: "GameInnerContainer", slot: "Game-Inner" },
452
- h("img", { src: this.thumbnail, alt: "", loading: "lazy", part: "GameContainer", class: "GameContainer", onLoad: () => (this.thumbnailLoaded = true) })));
1015
+ static get watchers() {
1016
+ return [{
1017
+ "propName": "session",
1018
+ "methodName": "onSessionChanged"
1019
+ }, {
1020
+ "propName": "userId",
1021
+ "methodName": "onSessionChanged"
1022
+ }, {
1023
+ "propName": "isTableFull",
1024
+ "methodName": "onTableFullChanged"
1025
+ }, {
1026
+ "propName": "connectLive",
1027
+ "methodName": "connectLiveHandler"
1028
+ }, {
1029
+ "propName": "visibilityConnect",
1030
+ "methodName": "visibilityConnectHandler"
1031
+ }];
453
1032
  }
454
- const gameOverlayProps = this.getGameOverlayProps();
455
- const gameThumbnail = ((_a = this.gameInfo) === null || _a === void 0 ? void 0 : _a.thumbnail) || ((_b = this.gameInfo) === null || _b === void 0 ? void 0 : _b.defaultThumbnail);
456
- const gameContainerClass = this.getGameContainerClass();
457
- const gameThumbnailClass = `GameBg ${this.cellSize ? 'GameBg-' + this.cellSize : ''}
458
- ${this.hover ? ' GameContainerHovered' : ''} ${this.thumbnailLoaded ? ' Loaded' : ''}`;
459
- return (h("div", { class: `${gameContainerClass} ${this.containerClassWhenDetailChange}`, part: `${gameContainerClass} ${this.containerClassWhenDetailChange}`, ref: (el) => (this.stylingContainer = el), "client-styling": this.clientStyling, "client-styling-url-content": this.clientStylingUrl },
460
- h("div", { class: `GameInnerContainer ${this.hover ? 'Hovered' : ''}`, part: `GameInnerContainer ${this.hover ? 'Hovered' : ''}` },
461
- h("img", { src: gameThumbnail, alt: "Game Thumbnail ", loading: "lazy", part: gameThumbnailClass, class: gameThumbnailClass, onLoad: () => (this.thumbnailLoaded = true) }),
462
- this.isUserLoggedIn && (h("div", { class: `FavIconContainer ${this.gameInfo.isFavorite ? 'Favorited' : ''}`, part: `FavIconContainer ${this.gameInfo.isFavorite ? 'Favorited' : ''}`, onClick: () => this.toggleFavoriteGame(this.gameId) }, this.gameInfo.isFavorite ? (h("slot", { name: "fav-icon" },
463
- h("span", { class: "FavoredIcon", part: "FavoredIcon", innerHTML: Fav }))) : (h("slot", { name: "UnFavIcon" }, !isMobile(window.navigator.userAgent) && (h("span", { class: "UnfavoredIcon", part: "UnfavoredIcon", innerHTML: UnFavSvg })))))),
464
- h("slot", { name: "game-overlay" },
465
- h("casino-game-thumbnail-overlay", Object.assign({ language: this.language }, gameOverlayProps))),
466
- h("slot", { name: "extra-info", ref: (el) => (this.extraInfoSlotRef = el) },
467
- h(this.extraInfoWidget, { language: this.language, "show-round-board": this.showRoundBoard })),
468
- h("slot", { name: "game-property-slot" })),
469
- this.showGameName && (h("slot", { name: "game-name" },
470
- h("p", { class: "GameNameBelow", part: "GameNameBelow", title: gameOverlayProps.gameName }, gameOverlayProps.gameName)))));
471
- }
472
- static get is() { return "casino-game-thumb-view"; }
473
- static get encapsulation() { return "shadow"; }
474
- static get originalStyleUrls() { return {
475
- "$": ["casino-game-thumb-view.scss"]
476
- }; }
477
- static get styleUrls() { return {
478
- "$": ["casino-game-thumb-view.css"]
479
- }; }
480
- static get assetsDirs() { return ["static"]; }
481
- static get properties() { return {
482
- "language": {
483
- "type": "string",
484
- "mutable": false,
485
- "complexType": {
486
- "original": "string",
487
- "resolved": "string",
488
- "references": {}
489
- },
490
- "required": false,
491
- "optional": false,
492
- "docs": {
493
- "tags": [],
494
- "text": "Widget Setting, Game language"
495
- },
496
- "attribute": "language",
497
- "reflect": false,
498
- "defaultValue": "'en'"
499
- },
500
- "endpoint": {
501
- "type": "string",
502
- "mutable": false,
503
- "complexType": {
504
- "original": "string",
505
- "resolved": "string",
506
- "references": {}
507
- },
508
- "required": false,
509
- "optional": false,
510
- "docs": {
511
- "tags": [],
512
- "text": "Widget Setting, Api endpoint for loading game details"
513
- },
514
- "attribute": "endpoint",
515
- "reflect": false
516
- },
517
- "userId": {
518
- "type": "any",
519
- "mutable": false,
520
- "complexType": {
521
- "original": "string | number",
522
- "resolved": "number | string",
523
- "references": {}
524
- },
525
- "required": false,
526
- "optional": false,
527
- "docs": {
528
- "tags": [],
529
- "text": "Widget Setting, User id"
530
- },
531
- "attribute": "user-id",
532
- "reflect": false
533
- },
534
- "showGameName": {
535
- "type": "boolean",
536
- "mutable": false,
537
- "complexType": {
538
- "original": "boolean",
539
- "resolved": "boolean",
540
- "references": {}
541
- },
542
- "required": false,
543
- "optional": false,
544
- "docs": {
545
- "tags": [],
546
- "text": "Widget Setting, Show game name if set it as true"
547
- },
548
- "attribute": "show-game-name",
549
- "reflect": false
550
- },
551
- "session": {
552
- "type": "string",
553
- "mutable": false,
554
- "complexType": {
555
- "original": "string",
556
- "resolved": "string",
557
- "references": {}
558
- },
559
- "required": false,
560
- "optional": false,
561
- "docs": {
562
- "tags": [],
563
- "text": "Widget Setting, User session"
564
- },
565
- "attribute": "session",
566
- "reflect": false
567
- },
568
- "showFavoredCategory": {
569
- "type": "boolean",
570
- "mutable": false,
571
- "complexType": {
572
- "original": "boolean",
573
- "resolved": "boolean",
574
- "references": {}
575
- },
576
- "required": false,
577
- "optional": false,
578
- "docs": {
579
- "tags": [],
580
- "text": "Widget Setting, game showed in favorited category"
581
- },
582
- "attribute": "show-favored-category",
583
- "reflect": false
584
- },
585
- "clientStyling": {
586
- "type": "string",
587
- "mutable": false,
588
- "complexType": {
589
- "original": "string",
590
- "resolved": "string",
591
- "references": {}
592
- },
593
- "required": false,
594
- "optional": false,
595
- "docs": {
596
- "tags": [],
597
- "text": "Widget Setting, Client custom styling via string"
598
- },
599
- "attribute": "client-styling",
600
- "reflect": false,
601
- "defaultValue": "''"
602
- },
603
- "clientStylingUrl": {
604
- "type": "string",
605
- "mutable": false,
606
- "complexType": {
607
- "original": "string",
608
- "resolved": "string",
609
- "references": {}
610
- },
611
- "required": false,
612
- "optional": false,
613
- "docs": {
614
- "tags": [],
615
- "text": "Widget Setting, Client custom styling via url content"
616
- },
617
- "attribute": "client-styling-url",
618
- "reflect": false,
619
- "defaultValue": "''"
620
- },
621
- "integratedGameframeMobile": {
622
- "type": "boolean",
623
- "mutable": false,
624
- "complexType": {
625
- "original": "boolean",
626
- "resolved": "boolean",
627
- "references": {}
628
- },
629
- "required": false,
630
- "optional": false,
631
- "docs": {
632
- "tags": [],
633
- "text": "Widget Setting, show game in a frame when user clicked 'start'"
634
- },
635
- "attribute": "integrated-gameframe-mobile",
636
- "reflect": false,
637
- "defaultValue": "false"
638
- },
639
- "gamepageModalurl": {
640
- "type": "string",
641
- "mutable": false,
642
- "complexType": {
643
- "original": "string",
644
- "resolved": "string",
645
- "references": {}
646
- },
647
- "required": false,
648
- "optional": false,
649
- "docs": {
650
- "tags": [],
651
- "text": "Widget Setting, show game in a frame when user clicked 'start'\nthe frame url when integratedGameframeDesktop is true"
652
- },
653
- "attribute": "gamepage-modalurl",
654
- "reflect": false
655
- },
656
- "integratedGameframeDesktop": {
657
- "type": "boolean",
658
- "mutable": false,
659
- "complexType": {
660
- "original": "boolean",
661
- "resolved": "boolean",
662
- "references": {}
663
- },
664
- "required": false,
665
- "optional": false,
666
- "docs": {
667
- "tags": [],
668
- "text": "Widget Setting, show game in a frame when user clicked 'start', Open game aframe,\ngamepageModalurl value should be set"
669
- },
670
- "attribute": "integrated-gameframe-desktop",
671
- "reflect": false,
672
- "defaultValue": "false"
673
- },
674
- "loadDetails": {
675
- "type": "boolean",
676
- "mutable": false,
677
- "complexType": {
678
- "original": "boolean",
679
- "resolved": "boolean",
680
- "references": {}
681
- },
682
- "required": false,
683
- "optional": false,
684
- "docs": {
685
- "tags": [],
686
- "text": "Widget Setting, Load game details when set it as true, default value: false\nWhen loadDetails is true and type=='live-casino-tables',\nLoad gameDetails by endpoint/vendor/gameId if livelobbyEndpoint is null"
687
- },
688
- "attribute": "load-details",
689
- "reflect": false,
690
- "defaultValue": "false"
691
- },
692
- "showRoundBoard": {
693
- "type": "boolean",
694
- "mutable": false,
695
- "complexType": {
696
- "original": "boolean",
697
- "resolved": "boolean",
698
- "references": {}
699
- },
700
- "required": false,
701
- "optional": false,
702
- "docs": {
703
- "tags": [],
704
- "text": "Widget Setting, showRoundBoard, default value: false"
705
- },
706
- "attribute": "show-round-board",
707
- "reflect": false,
708
- "defaultValue": "false"
709
- },
710
- "visibilityConnect": {
711
- "type": "string",
712
- "mutable": false,
713
- "complexType": {
714
- "original": "string",
715
- "resolved": "string",
716
- "references": {}
717
- },
718
- "required": false,
719
- "optional": false,
720
- "docs": {
721
- "tags": [],
722
- "text": "Widget Setting\nValid value: 'disconnect'/'connect'\nFlag to start a updater when a live game show in visible area\nwhen visibilityConnect='connect' && connectLive = 'connect'"
723
- },
724
- "attribute": "visibility-connect",
725
- "reflect": false
726
- },
727
- "connectLive": {
728
- "type": "string",
729
- "mutable": false,
730
- "complexType": {
731
- "original": "string",
732
- "resolved": "string",
733
- "references": {}
734
- },
735
- "required": false,
736
- "optional": false,
737
- "docs": {
738
- "tags": [],
739
- "text": "Widget Setting, flag to start a updater when a live game show in visible area\nValid value: 'disconnect'/'connect'\nFlag to start a updater when a live game show in visible area\nwhen 'connectLive'= 'connect'"
740
- },
741
- "attribute": "connect-live",
742
- "reflect": false
743
- },
744
- "gameCategory": {
745
- "type": "string",
746
- "mutable": false,
747
- "complexType": {
748
- "original": "string",
749
- "resolved": "string",
750
- "references": {}
751
- },
752
- "required": false,
753
- "optional": false,
754
- "docs": {
755
- "tags": [],
756
- "text": "Game Property, default ''"
757
- },
758
- "attribute": "game-category",
759
- "reflect": false,
760
- "defaultValue": "''"
761
- },
762
- "livelobbyEndpoint": {
763
- "type": "string",
764
- "mutable": false,
765
- "complexType": {
766
- "original": "string",
767
- "resolved": "string",
768
- "references": {}
769
- },
770
- "required": false,
771
- "optional": false,
772
- "docs": {
773
- "tags": [],
774
- "text": "Widget Setting, Live lobby endpoint, use to start a game\nLoad game info by this url if type=='live-casino-tables'"
775
- },
776
- "attribute": "livelobby-endpoint",
777
- "reflect": false
778
- },
779
- "gameId": {
780
- "type": "any",
781
- "mutable": false,
782
- "complexType": {
783
- "original": "number | string",
784
- "resolved": "number | string",
785
- "references": {}
786
- },
787
- "required": false,
788
- "optional": false,
789
- "docs": {
790
- "tags": [],
791
- "text": "Game Property, GameId"
792
- },
793
- "attribute": "game-id",
794
- "reflect": false
795
- },
796
- "gameName": {
797
- "type": "string",
798
- "mutable": false,
799
- "complexType": {
800
- "original": "string",
801
- "resolved": "string",
802
- "references": {}
803
- },
804
- "required": false,
805
- "optional": false,
806
- "docs": {
807
- "tags": [],
808
- "text": "Game Property, Game Name"
809
- },
810
- "attribute": "game-name",
811
- "reflect": false
812
- },
813
- "subVendor": {
814
- "type": "string",
815
- "mutable": false,
816
- "complexType": {
817
- "original": "string",
818
- "resolved": "string",
819
- "references": {}
820
- },
821
- "required": false,
822
- "optional": false,
823
- "docs": {
824
- "tags": [],
825
- "text": "Game Property, Game SubVendor"
826
- },
827
- "attribute": "sub-vendor",
828
- "reflect": false
829
- },
830
- "gameVendor": {
831
- "type": "string",
832
- "mutable": false,
833
- "complexType": {
834
- "original": "string",
835
- "resolved": "string",
836
- "references": {}
837
- },
838
- "required": false,
839
- "optional": false,
840
- "docs": {
841
- "tags": [],
842
- "text": "Game Property, Game vendor"
843
- },
844
- "attribute": "game-vendor",
845
- "reflect": false
846
- },
847
- "hasFunMode": {
848
- "type": "boolean",
849
- "mutable": false,
850
- "complexType": {
851
- "original": "boolean",
852
- "resolved": "boolean",
853
- "references": {}
854
- },
855
- "required": false,
856
- "optional": false,
857
- "docs": {
858
- "tags": [],
859
- "text": "Game Property, Game funMode"
860
- },
861
- "attribute": "has-fun-mode",
862
- "reflect": false
863
- },
864
- "hasAnonymousFunMode": {
865
- "type": "boolean",
866
- "mutable": false,
867
- "complexType": {
868
- "original": "boolean",
869
- "resolved": "boolean",
870
- "references": {}
871
- },
872
- "required": false,
873
- "optional": false,
874
- "docs": {
875
- "tags": [],
876
- "text": "Game Property, hasAnonymousFunMode"
877
- },
878
- "attribute": "has-anonymous-fun-mode",
879
- "reflect": false
880
- },
881
- "platform": {
882
- "type": "string",
883
- "mutable": false,
884
- "complexType": {
885
- "original": "string",
886
- "resolved": "string",
887
- "references": {}
888
- },
889
- "required": false,
890
- "optional": false,
891
- "docs": {
892
- "tags": [],
893
- "text": "Game Property, Game lunch platform"
894
- },
895
- "attribute": "platform",
896
- "reflect": false,
897
- "defaultValue": "'PC'"
898
- },
899
- "thumbnail": {
900
- "type": "string",
901
- "mutable": false,
902
- "complexType": {
903
- "original": "string",
904
- "resolved": "string",
905
- "references": {}
906
- },
907
- "required": false,
908
- "optional": false,
909
- "docs": {
910
- "tags": [],
911
- "text": "Game Property, Game thumbnail"
912
- },
913
- "attribute": "thumbnail",
914
- "reflect": false
915
- },
916
- "isFavorite": {
917
- "type": "boolean",
918
- "mutable": false,
919
- "complexType": {
920
- "original": "boolean",
921
- "resolved": "boolean",
922
- "references": {}
923
- },
924
- "required": false,
925
- "optional": false,
926
- "docs": {
927
- "tags": [],
928
- "text": "Game Property, is Game Favorited"
929
- },
930
- "attribute": "is-favorite",
931
- "reflect": false
932
- },
933
- "isNew": {
934
- "type": "boolean",
935
- "mutable": false,
936
- "complexType": {
937
- "original": "boolean",
938
- "resolved": "boolean",
939
- "references": {}
940
- },
941
- "required": false,
942
- "optional": false,
943
- "docs": {
944
- "tags": [],
945
- "text": "Game Property, is Game new"
946
- },
947
- "attribute": "is-new",
948
- "reflect": false
949
- },
950
- "cellSize": {
951
- "type": "string",
952
- "mutable": false,
953
- "complexType": {
954
- "original": "string",
955
- "resolved": "string",
956
- "references": {}
957
- },
958
- "required": false,
959
- "optional": false,
960
- "docs": {
961
- "tags": [],
962
- "text": "Game Property, Customize game cell size"
963
- },
964
- "attribute": "cell-size",
965
- "reflect": false
966
- },
967
- "gameTag": {
968
- "type": "string",
969
- "mutable": false,
970
- "complexType": {
971
- "original": "string",
972
- "resolved": "string",
973
- "references": {}
974
- },
975
- "required": false,
976
- "optional": false,
977
- "docs": {
978
- "tags": [],
979
- "text": "Game Property, gameTag"
980
- },
981
- "attribute": "game-tag",
982
- "reflect": false
983
- },
984
- "type": {
985
- "type": "string",
986
- "mutable": false,
987
- "complexType": {
988
- "original": "string",
989
- "resolved": "string",
990
- "references": {}
991
- },
992
- "required": true,
993
- "optional": false,
994
- "docs": {
995
- "tags": [],
996
- "text": "Game Property, type, isLiveCasino when type == 'live-casino-tables'"
997
- },
998
- "attribute": "type",
999
- "reflect": false
1033
+ static get listeners() {
1034
+ return [{
1035
+ "name": "mouseenter",
1036
+ "method": "handleMouseOver",
1037
+ "target": undefined,
1038
+ "capture": false,
1039
+ "passive": true
1040
+ }, {
1041
+ "name": "mouseleave",
1042
+ "method": "handleMouseOver",
1043
+ "target": undefined,
1044
+ "capture": false,
1045
+ "passive": true
1046
+ }, {
1047
+ "name": "gameFavorited",
1048
+ "method": "gameFavoritedHandler",
1049
+ "target": "document",
1050
+ "capture": false,
1051
+ "passive": false
1052
+ }, {
1053
+ "name": "gameDetailChange",
1054
+ "method": "gameDetailChangeHandler",
1055
+ "target": undefined,
1056
+ "capture": false,
1057
+ "passive": false
1058
+ }];
1000
1059
  }
1001
- }; }
1002
- static get states() { return {
1003
- "gameInfo": {},
1004
- "isTableFull": {},
1005
- "hover": {}
1006
- }; }
1007
- static get events() { return [{
1008
- "method": "toggleFavoriteCasinoGameEvent",
1009
- "name": "toggleCasinoGameFavorite",
1010
- "bubbles": true,
1011
- "cancelable": true,
1012
- "composed": true,
1013
- "docs": {
1014
- "tags": [],
1015
- "text": ""
1016
- },
1017
- "complexType": {
1018
- "original": "number | string",
1019
- "resolved": "number | string",
1020
- "references": {}
1021
- }
1022
- }]; }
1023
- static get watchers() { return [{
1024
- "propName": "session",
1025
- "methodName": "onSessionChanged"
1026
- }, {
1027
- "propName": "userId",
1028
- "methodName": "onSessionChanged"
1029
- }, {
1030
- "propName": "isTableFull",
1031
- "methodName": "onTableFullChanged"
1032
- }, {
1033
- "propName": "connectLive",
1034
- "methodName": "connectLiveHandler"
1035
- }, {
1036
- "propName": "visibilityConnect",
1037
- "methodName": "visibilityConnectHandler"
1038
- }]; }
1039
- static get listeners() { return [{
1040
- "name": "mouseenter",
1041
- "method": "handleMouseOver",
1042
- "target": undefined,
1043
- "capture": false,
1044
- "passive": true
1045
- }, {
1046
- "name": "mouseleave",
1047
- "method": "handleMouseOver",
1048
- "target": undefined,
1049
- "capture": false,
1050
- "passive": true
1051
- }, {
1052
- "name": "gameFavorited",
1053
- "method": "gameFavoritedHandler",
1054
- "target": "document",
1055
- "capture": false,
1056
- "passive": false
1057
- }, {
1058
- "name": "gameDetailChange",
1059
- "method": "gameDetailChangeHandler",
1060
- "target": undefined,
1061
- "capture": false,
1062
- "passive": false
1063
- }]; }
1064
1060
  }