@everymatrix/cashier-method-details 1.43.1 → 1.43.3

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/cashier-method-details",
3
- "version": "1.43.1",
3
+ "version": "1.43.3",
4
4
  "main": "index.js",
5
5
  "svelte": "src/index.ts",
6
6
  "scripts": {
@@ -35,5 +35,5 @@
35
35
  "publishConfig": {
36
36
  "access": "public"
37
37
  },
38
- "gitHead": "e0be02e594f762ecb10851537d8690d5e66f4e5d"
38
+ "gitHead": "4723f5370b2d6fc913a8cf6770f9f492038e54e8"
39
39
  }
@@ -120,7 +120,8 @@
120
120
  enum ResponseCode {
121
121
  PlayerSessionIsNotValid = 'PlayerSessionIsNotValid',
122
122
  Success = 'Success',
123
- JwtTokenError = 'JwtTokenError'
123
+ JwtTokenError = 'JwtTokenError',
124
+ Maintenance = 'Maintenance'
124
125
  }
125
126
 
126
127
  const VISIBLE_FIELD_TYPES: string[] = 'Text,Number,Money,Boolean,Lookup,Date,Time,DateTime,Password,Label,Link,QRCode'.split(',');
@@ -218,13 +219,11 @@
218
219
  let selectedPaymentMethod: PaymentMethod = {} as PaymentMethod;
219
220
  let fields: PaymentMethodDetails[] = [];
220
221
  let prepareFields = {};
221
- let isLoading:boolean = false;
222
- let isMethodOpen:boolean = false;
223
- let displayNone:boolean = false;
224
- let customStylingContainer:HTMLElement;
222
+ let displayNone: boolean = false;
223
+ let customStylingContainer: HTMLElement;
225
224
  let prepareRequest;
226
- let showConfirmModal:boolean = false;
227
- let showReceiptPage:boolean = false;
225
+ let showConfirmModal: boolean = false;
226
+ let showReceiptPage: boolean = false;
228
227
  let redirectUrl: string;
229
228
  let windowRedirect: Window;
230
229
  let showRedirectNotification: boolean;
@@ -239,9 +238,7 @@
239
238
  let qrCodeScriptSrc: string = 'https://cdn.rawgit.com/davidshimjs/qrcodejs/gh-pages/qrcode.min.js';
240
239
  let blankPageTarget: string = '_blank';
241
240
  let externalLink: string = '';
242
- let mobileView:boolean = false;
243
- let userAgent:string = window.navigator.userAgent;
244
- let mediaQuery = window.matchMedia('(max-width: 750px)');
241
+ let mobileView: boolean = false;
245
242
  let innerWidth: number;
246
243
  let formatter = new Intl.NumberFormat(local, {minimumFractionDigits: 2 });
247
244
  let amountError = '';
@@ -254,7 +251,8 @@
254
251
  let isDisabled: boolean;
255
252
  let showErrorModal = false;
256
253
  let transactionId = '';
257
- let showSpinner: boolean = true;
254
+ let showSpinner: boolean = false;
255
+
258
256
  $: endpoint && session && selectedpaymentmethodname && currency && reinitMethod();
259
257
  $: clientstyling && customStylingContainer && setClientStyling();
260
258
  $: clientstylingurl && customStylingContainer && setClientStylingURL();
@@ -264,7 +262,6 @@
264
262
  $: fields.length && qrCodeContainer.length && generateQr();
265
263
  $: fields.length && flatpickrEl.length && createDatePicker();
266
264
 
267
-
268
265
  const reinitMethod = () => {
269
266
  if (flatpickrEl.length) {
270
267
  flatpickrEl.forEach(el => {
@@ -347,9 +344,11 @@
347
344
  })
348
345
  });
349
346
  }
347
+
350
348
  const setActiveLanguage = ():void => {
351
349
  setLocale(lang);
352
350
  }
351
+
353
352
  const setTranslationUrl = () => {
354
353
  let url:string = translationurl;
355
354
  if (url) {
@@ -370,6 +369,7 @@
370
369
  });
371
370
 
372
371
  const getPaymentDetails = () => {
372
+ showSpinner = true;
373
373
  const url:URL = new URL(`${endpoint}/v1/player/${customerid}/payment/GetPaymentMethod`);
374
374
  const headers = new Headers();
375
375
  headers.append("accept", "application/json");
@@ -390,18 +390,13 @@
390
390
  window.postMessage({type: 'ShowSessionError', error: data.error}, window.location.href)
391
391
  return;
392
392
  }
393
- if (data.ResponseCode === ResponseCode.PlayerSessionIsNotValid) {
394
- errorResponseCode = data.ResponseCode;
395
- setErrorResponseCode();
396
- return;
397
- }
398
-
399
- if (data.ResponseCode === ResponseCode.JwtTokenError) {
393
+ if (data.ResponseCode === ResponseCode.PlayerSessionIsNotValid
394
+ || data.ResponseCode === ResponseCode.Maintenance
395
+ || data.ResponseCode === ResponseCode.JwtTokenError) {
400
396
  errorResponseCode = data.ResponseCode;
401
397
  setErrorResponseCode();
402
398
  return;
403
399
  }
404
-
405
400
  if (data.ResponseCode !== ResponseCode.Success) {
406
401
  errorResponseCode = data.ResponseCode;
407
402
  return;
@@ -546,23 +541,17 @@
546
541
  postMessage({type: 'ShowSessionError', error: data.error}, window.location.href)
547
542
  return;
548
543
  }
549
- if (data.ResponseCode === ResponseCode.PlayerSessionIsNotValid) {
550
- errorResponseCode = data.ResponseCode
551
- setErrorResponseCode();
552
- return;
553
- }
554
-
555
- if (data.ResponseCode === ResponseCode.JwtTokenError) {
556
- errorResponseCode = data.ResponseCode
557
- setErrorResponseCode();
558
- return;
559
- }
560
-
561
544
  if (data.ResponseCode !== ResponseCode.Success) {
562
545
  errorResponseCode = data.ResponseCode
563
546
  isProcessingTxn = false;
564
547
  toggleDisableActionOnPage();
565
- showModal()
548
+ if (data.ResponseCode === ResponseCode.PlayerSessionIsNotValid
549
+ || data.ResponseCode === ResponseCode.Maintenance
550
+ || data.ResponseCode === ResponseCode.JwtTokenError) {
551
+ setErrorResponseCode();
552
+ } else {
553
+ showModal()
554
+ }
566
555
  return;
567
556
  }
568
557
  xPaymentSessionToken = data.XPaymentSessionToken;
@@ -577,16 +566,20 @@
577
566
  const setErrorResponseCode = () => {
578
567
  window.postMessage({type: 'ErrorResponseCode', errorResponseCode}, window.location.href);
579
568
  }
569
+
580
570
  const setConfirmModalInfo = () => {
581
571
  window.postMessage({type:'ShowConfirmModal', showConfirmModal, editedAmount, hideAmountField: selectedPaymentMethod.HideAmountField}, window.location.href);
582
572
  }
573
+
583
574
  const setRedirectInfo = () => {
584
575
  window.postMessage({type: 'RedirectInfo', redirectMode, redirectUrl}, window.location.href);
585
576
  }
577
+
586
578
  const showModal = () => {
587
579
  showErrorModal = true;
588
580
  window.postMessage({ type: 'ShowCashierModal', modalErrorMessage: errorResponseCode}, window.location.href)
589
581
  }
582
+
590
583
  const backToMethodList = () => {
591
584
  dispatchEvent(new CustomEvent('backToMethodList', {
592
585
  bubbles: true,
@@ -617,14 +610,17 @@
617
610
  composed: true
618
611
  }));
619
612
  }
613
+
620
614
  const closeIframe = () => {
621
615
  redirectUrl = null;
622
616
  showReceiptPage = true;
623
617
  setRedirectInfo();
624
618
  }
619
+
625
620
  const closeModal = () => {
626
621
  showConfirmModal = false;
627
622
  }
623
+
628
624
  const confirmTxn = () => {
629
625
  isProcessingTxn = true;
630
626
  const url:URL = new URL(`${endpoint}/v1/player/${customerid}/payment/GetPaymentConfirm`);
@@ -642,23 +638,17 @@
642
638
  })
643
639
  }
644
640
  fetch(url, requestParams).then((res) => res.json()).then(data => {
645
- if(data.ResponseCode === ResponseCode.PlayerSessionIsNotValid) {
646
- errorResponseCode = data.ResponseCode
647
- setErrorResponseCode();
648
- return;
649
- }
650
-
651
- if(data.ResponseCode === ResponseCode.JwtTokenError) {
652
- errorResponseCode = data.ResponseCode
653
- setErrorResponseCode();
654
- return;
655
- }
656
-
657
641
  if (data.ResponseCode !== ResponseCode.Success) {
658
- errorResponseCode = data.ResponseCode;
642
+ errorResponseCode = data.ResponseCode
659
643
  isProcessingTxn = false;
660
644
  toggleDisableActionOnPage();
661
- showModal();
645
+ if (data.ResponseCode === ResponseCode.PlayerSessionIsNotValid
646
+ || data.ResponseCode === ResponseCode.Maintenance
647
+ || data.ResponseCode === ResponseCode.JwtTokenError) {
648
+ setErrorResponseCode();
649
+ } else {
650
+ showModal()
651
+ }
662
652
  return;
663
653
  }
664
654
  xPaymentSessionToken = data.XPaymentSessionToken;
@@ -1048,7 +1038,7 @@
1048
1038
  hidebuttons="{`${!mobileView}`}"
1049
1039
  errorcode={errorResponseCode}
1050
1040
  >
1051
- <div slot="button" class="ModalButton" on:click={backToMethodList}>{$_('backToMethodList')}</div>
1041
+ <button slot="button" class="CashierErrorButton" on:click={backToMethodList}>{$_('backToMethodList')}</button>
1052
1042
  </cashier-error>
1053
1043
  {/if}
1054
1044
  </div>
@@ -1333,6 +1323,27 @@
1333
1323
  background: var(--mmw--color-main-button-hover, #71B11B);
1334
1324
  }
1335
1325
  }
1326
+ .CashierErrorButton {
1327
+ width: 100%;
1328
+ height: 36px;
1329
+ color: var(--emw--color-white, #FFF);
1330
+ text-align: center;
1331
+ cursor: pointer;
1332
+ font-size: var(--emw--font-size-x-small, 12px);
1333
+ font-style: normal;
1334
+ font-weight: var(--emw--font-weight-semibold, 500);
1335
+ font-family: inherit;
1336
+ line-height: 36px;
1337
+ border: none;
1338
+ border-radius: var(--emw--border-radius-medium, 4px);
1339
+ background: var(--emw--color-primary, #7EC51E);
1340
+ &:hover {
1341
+ background: var(--mmw--color-main-button-hover, #71B11B);
1342
+ }
1343
+ &:active {
1344
+ background: var(--mmw--color-main-button-active, #5C950F);
1345
+ }
1346
+ }
1336
1347
  .QRCode {
1337
1348
  width: 250px;
1338
1349
  margin: auto;
@@ -1393,7 +1404,7 @@
1393
1404
  display: block;
1394
1405
  }
1395
1406
  }
1396
- }
1407
+ }
1397
1408
  .DateInput {
1398
1409
  position: relative;
1399
1410
  .MobileDateInput {
@@ -1449,7 +1460,7 @@
1449
1460
  position: absolute;
1450
1461
  left: 0;
1451
1462
  right: 0;
1452
- z-index: 99;
1463
+ z-index: 3;
1453
1464
  background-color: var(--emw--color-white, #fff);
1454
1465
  border: 1px solid var(--mmw--color-grey-105, #E8E9EB);
1455
1466
  border-radius: var(--emw--border-radius-medium, 4px);