@everymatrix/casino-header-controller 0.0.221 → 0.0.225

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/index.html CHANGED
@@ -33,6 +33,7 @@
33
33
  bannermatrix="https://bannermatrix-stage.everymatrix.com"
34
34
  operatorid="2095"
35
35
  pagetag="casino-page"
36
+ actionevent="HeaderMenuItemClicked"
36
37
  positiontag="center-main-slider">
37
38
  </casino-header-controller>
38
39
  </div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@everymatrix/casino-header-controller",
3
- "version": "0.0.221",
3
+ "version": "0.0.225",
4
4
  "main": "dist/casino-header-controller.js",
5
5
  "svelte": "src/index.ts",
6
6
  "scripts": {
@@ -38,5 +38,5 @@
38
38
  "publishConfig": {
39
39
  "access": "public"
40
40
  },
41
- "gitHead": "015e13b1638624ecac8f0cc2a0f210cbbac4910e"
41
+ "gitHead": "f58cef61f569c3d9b496becafc3ab9e93cb5eca7"
42
42
  }
@@ -19,19 +19,24 @@
19
19
  export let cmsenv:string = 'stage';
20
20
  export let lang:string = '';
21
21
  export let languageslist:string = 'en,ro';
22
- export let identity:string = '';
22
+ export let activecategory:string = '';
23
23
 
24
24
  export let operatorid:string = '';
25
25
  export let pagetag:string = '';
26
26
  export let positiontag:string = '';
27
27
 
28
+ export let actionevent:string = '';
29
+
30
+ let activeIndex:number = 0;
31
+ let identity:string = "HeaderMenu";
32
+
28
33
  setupI18n({ withLocale: 'en', translations: {}});
29
34
 
30
35
  Object.keys(CasinoHeaderController).forEach((item:any) => {
31
36
  addNewMessages(item, CasinoHeaderController[item]);
32
37
  });
33
38
 
34
- const genericIcon = `<svg version="1.1" fill="#fff" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="width: 30px; color: #fff;" x="0px" y="0px"
39
+ const genericIcon:string = `<svg version="1.1" fill="#fff" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="width: 30px; color: #fff;" x="0px" y="0px"
35
40
  viewBox="0 0 384.971 384.971" style="enable-background:new 0 0 384.971 384.971;" xml:space="preserve">
36
41
  <path style="color: #fff" d="M180.455,360.91H24.061V24.061h156.394c6.641,0,12.03-5.39,12.03-12.03s-5.39-12.03-12.03-12.03H12.03
37
42
  C5.39,0.001,0,5.39,0,12.031V372.94c0,6.641,5.39,12.03,12.03,12.03h168.424c6.641,0,12.03-5.39,12.03-12.03
@@ -41,29 +46,29 @@
41
46
  c4.704,4.752,12.319,4.752,17.011,0l82.997-84.2C386.113,196.588,386.161,188.756,381.481,184.088z"/>
42
47
  </svg>`;
43
48
 
44
- let mainMenuArray = [];
45
- let secondaryMenuArray = [];
46
- let selectedLanguage = '';
47
- let hamburgerURL: any;
48
- let headerURL: any;
49
- let isLoading: boolean = true;
50
-
51
- let mobileView: boolean = false;
52
- let userAgent: string = window.navigator.userAgent;
53
- let isLoggedIn: boolean = false;
54
- let playerID: string = '';
55
- let sessionID: string = '';
56
- let loginActive: boolean = true;
57
- let language: string = '';
58
- let languagesArray: Array<string> = [];
49
+ let mainMenuArray:Array<any> = [];
50
+ let secondaryMenuArray:Array<any> = [];
51
+ let selectedLanguage:string = '';
52
+ let hamburgerURL:URL;
53
+ let headerURL:URL;
54
+ let isLoading:boolean = true;
55
+
56
+ let mobileView:boolean = false;
57
+ let userAgent:string = window.navigator.userAgent;
58
+ let isLoggedIn:boolean = false;
59
+ let playerID:string = '';
60
+ let sessionID:string = '';
61
+ let loginActive:boolean = true;
62
+ let language:string = '';
63
+ let languagesArray:Array<string> = [];
59
64
  // use for medium devices styling, if necessary
60
65
  // const mediaQuery = window.matchMedia('(min-width: 768px)');
61
- let hamburgerMenuActive: boolean = false;
66
+ let hamburgerMenuActive:boolean = false;
62
67
 
63
- let totalBalance: string = '';
64
- let cashBalance: string = '';
65
- let bonusBalance: string = '';
66
- let currency: string = '';
68
+ let totalBalance:string = '';
69
+ let cashBalance:string = '';
70
+ let bonusBalance:string = '';
71
+ let currency:string = '';
67
72
 
68
73
  const menuAction = (data: any) => {
69
74
  switch (data) {
@@ -92,10 +97,6 @@
92
97
  case 'language':
93
98
  window.postMessage({type: 'LanguageChanged', selectedLanguage}, window.location.href);
94
99
  break;
95
-
96
- default:
97
- // do nothing
98
- break;
99
100
  }
100
101
  }
101
102
 
@@ -107,7 +108,6 @@
107
108
  const messageHandler = (e: any) => {
108
109
  if (e.data) {
109
110
  switch (e.data.type) {
110
-
111
111
  case 'UserSessionID':
112
112
  playerID = e.data.userid;
113
113
  sessionID = e.data.session;
@@ -128,10 +128,6 @@
128
128
  createCMSUrls();
129
129
  getHeaderMenusData(headerURL);
130
130
  break;
131
-
132
- default:
133
- // do nothing
134
- break;
135
131
  }
136
132
  }
137
133
  }
@@ -156,9 +152,11 @@
156
152
  hamburgerURL.searchParams.append('platform', 'dk');
157
153
  }
158
154
 
159
- const initialLoad = () => {
155
+ const setActiveLanguage = ():void => {
160
156
  setLocale(lang);
157
+ }
161
158
 
159
+ const initialLoad = ():void => {
162
160
  // split operator provided languages string into string array
163
161
  languagesArray = languageslist.split(',');
164
162
  languagesArray.forEach((languageItem:string, index:number) => {
@@ -172,7 +170,15 @@
172
170
  getHeaderMenusData(headerURL);
173
171
  }
174
172
 
175
- const getHeaderMenusData = (url: any) => {
173
+ const setActiveIndex = ():void => {
174
+ activeIndex = mainMenuArray.map((item) => item.path).indexOf(activecategory);
175
+ }
176
+
177
+ const sendSliderData = (sliderData:any):void => {
178
+ window.postMessage({ type: 'SliderData', identity, data: mainMenuArray }, window.location.href);
179
+ }
180
+
181
+ const getHeaderMenusData = (url:any):Promise<any> => {
176
182
  isLoading = true;
177
183
 
178
184
  return new Promise((resolve, reject) => {
@@ -204,8 +210,10 @@
204
210
  }
205
211
  });
206
212
 
213
+ $: activecategory && !isLoading && setActiveIndex();
207
214
  $: session && setSession();
208
- $: cmsendpoint && lang && initialLoad();
215
+ $: lang && setActiveLanguage();
216
+ $: cmsendpoint && lang && languageslist && initialLoad();
209
217
  </script>
210
218
 
211
219
  {#if isLoggedIn}
@@ -266,8 +274,7 @@
266
274
 
267
275
  <nav class="HeaderMainNav">
268
276
  {#if !isLoading}
269
- <casino-slider class="HeaderItemsMenu" sliderdata={mainMenuArray} {identity} onclickeventname=""
270
- location="headerMain"/>
277
+ <casino-slider class="HeaderItemsMenu" {identity} use:sendSliderData {actionevent} activeindex={activeIndex} location="headerMain"/>
271
278
  {/if}
272
279
  </nav>
273
280
  <div class="HeaderTopActions">
@@ -347,14 +354,13 @@
347
354
 
348
355
  <nav class="HeaderMainNav">
349
356
  {#if !isLoading}
350
- <casino-slider class="HeaderItemsMenu" sliderdata={mainMenuArray} {identity} onclickeventname=""
351
- location="headerMain"/>
357
+ <casino-slider class="HeaderItemsMenu" {identity} use:sendSliderData {actionevent} activeindex={activeIndex} location="headerMain"/>
352
358
  {/if}
353
359
  </nav>
354
360
  <div class="HeaderTopActions">
355
361
  <div class="HeaderItemsMenu">
356
- <div class="Item ItemLogin" on:click={()=>menuAction('login')}>{$_('headerItem.login')}</div>
357
- <div class="Item ItemRegister" on:click={()=>menuAction('register')}>{$_('headerItem.register')}</div>
362
+ <div class="Item ItemLogin" tabindex="0" on:click={()=>menuAction('login')}>{$_('headerItem.login')}</div>
363
+ <div class="Item ItemRegister" tabindex="0" on:click={()=>menuAction('register')}>{$_('headerItem.register')}</div>
358
364
  <select bind:value={selectedLanguage} class="Item ItemLanguage" on:change={()=>menuAction('language')}>
359
365
  {#each languagesArray as operatorLanguage}
360
366
  <option value={operatorLanguage}>{operatorLanguage}</option>