epp-lib 0.0.4 → 0.0.6-snapshot
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/esm2022/lib/api-route.const.mjs +2 -2
- package/esm2022/lib/component/index.mjs +4 -0
- package/esm2022/lib/component/payment.mjs +142 -0
- package/esm2022/lib/component/rapyd/rapyd.component.mjs +222 -0
- package/esm2022/lib/component/vodds-loader/vodds-loader.component.mjs +19 -0
- package/esm2022/lib/model/broadcast/broadcast-event-type.mjs +5 -0
- package/esm2022/lib/model/broadcast/ibroadcast-event.mjs +2 -0
- package/esm2022/lib/model/count-down-time.mjs +56 -0
- package/esm2022/lib/model/domain.mjs +4 -2
- package/esm2022/lib/model/iframe-message-type.mjs +2 -1
- package/esm2022/lib/model/index.mjs +9 -0
- package/esm2022/lib/model/timer.mjs +1 -3
- package/esm2022/lib/pipe/index.mjs +2 -0
- package/esm2022/lib/pipe/transloco.pipe.mjs +22 -0
- package/esm2022/lib/service/common-util.mjs +7 -0
- package/esm2022/lib/service/event-emitter.service.mjs +23 -0
- package/esm2022/lib/service/iframe-message.service.mjs +28 -14
- package/esm2022/lib/service/index.mjs +5 -0
- package/esm2022/lib/service/vodds-http.service.mjs +7 -8
- package/esm2022/lib/translation/epp-lib-loader.mjs +23 -0
- package/esm2022/lib/translation/epp-lib-translation.service.mjs +23 -0
- package/esm2022/lib/translation/epp-lib.providers.mjs +25 -0
- package/esm2022/lib/translation/i18n/cs.json +6 -0
- package/esm2022/lib/translation/i18n/en.json +7 -0
- package/esm2022/lib/translation/i18n/es.json +6 -0
- package/esm2022/lib/translation/i18n/ru.json +6 -0
- package/esm2022/lib/translation/index.mjs +4 -0
- package/esm2022/public-api.mjs +6 -16
- package/fesm2022/epp-lib-cs-Cq7S0zUq.mjs +13 -0
- package/fesm2022/epp-lib-cs-Cq7S0zUq.mjs.map +1 -0
- package/fesm2022/epp-lib-en-Bt5VLnlu.mjs +15 -0
- package/fesm2022/epp-lib-en-Bt5VLnlu.mjs.map +1 -0
- package/fesm2022/epp-lib-es--n1OPBgV.mjs +13 -0
- package/fesm2022/epp-lib-es--n1OPBgV.mjs.map +1 -0
- package/fesm2022/epp-lib-ru-DCZzQ5FE.mjs +13 -0
- package/fesm2022/epp-lib-ru-DCZzQ5FE.mjs.map +1 -0
- package/fesm2022/epp-lib.mjs +538 -138
- package/fesm2022/epp-lib.mjs.map +1 -1
- package/lib/component/index.d.ts +3 -0
- package/lib/{service/payment.service.d.ts → component/payment.d.ts} +9 -4
- package/lib/component/rapyd/rapyd.component.d.ts +37 -0
- package/lib/component/vodds-loader/vodds-loader.component.d.ts +7 -0
- package/lib/model/broadcast/broadcast-event-type.d.ts +3 -0
- package/lib/model/broadcast/ibroadcast-event.d.ts +5 -0
- package/lib/model/count-down-time.d.ts +16 -0
- package/lib/model/domain.d.ts +2 -0
- package/lib/model/iframe-message-type.d.ts +2 -1
- package/lib/model/index.d.ts +8 -0
- package/lib/pipe/index.d.ts +1 -0
- package/lib/pipe/transloco.pipe.d.ts +9 -0
- package/lib/service/common-util.d.ts +3 -0
- package/lib/service/event-emitter.service.d.ts +10 -0
- package/lib/service/iframe-message.service.d.ts +7 -5
- package/lib/service/index.d.ts +4 -0
- package/lib/service/vodds-http.service.d.ts +1 -3
- package/lib/translation/epp-lib-loader.d.ts +31 -0
- package/lib/translation/epp-lib-translation.service.d.ts +8 -0
- package/lib/translation/epp-lib.providers.d.ts +6 -0
- package/lib/translation/index.d.ts +3 -0
- package/package.json +4 -2
- package/public-api.d.ts +5 -12
- package/src/lib/translation/i18n/cs.json +6 -0
- package/src/lib/translation/i18n/en.json +7 -0
- package/src/lib/translation/i18n/es.json +6 -0
- package/src/lib/translation/i18n/ru.json +6 -0
- package/esm2022/lib/model/base-form.mjs +0 -49
- package/esm2022/lib/model/callback-message.mjs +0 -7
- package/esm2022/lib/service/payment.service.mjs +0 -100
- package/lib/model/base-form.d.ts +0 -28
- package/lib/model/callback-message.d.ts +0 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export const ApiRoute = {
|
|
2
|
-
GET_DOMAIN: { url: "/getDomain", method: "get" }
|
|
2
|
+
GET_DOMAIN: { url: "/payment/getDomain", method: "get" }
|
|
3
3
|
};
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXJvdXRlLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZXBwLWxpYi9zcmMvbGliL2FwaS1yb3V0ZS5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUc7SUFDcEIsVUFBVSxFQUFFLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Q0FDM0QsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBBcGlSb3V0ZSA9IHtcclxuICAgIEdFVF9ET01BSU46IHsgdXJsOiBcIi9wYXltZW50L2dldERvbWFpblwiLCBtZXRob2Q6IFwiZ2V0XCIgfVxyXG59XHJcblxyXG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './payment';
|
|
2
|
+
export * from './rapyd/rapyd.component';
|
|
3
|
+
export * from './vodds-loader/vodds-loader.component';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcHAtbGliL3NyYy9saWIvY29tcG9uZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGF5bWVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmFweWQvcmFweWQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi92b2Rkcy1sb2FkZXIvdm9kZHMtbG9hZGVyLmNvbXBvbmVudCc7Il19
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { inject } from '@angular/core';
|
|
2
|
+
import { IframeMessageService } from '../service/iframe-message.service';
|
|
3
|
+
import { IframeMessageType } from '../model/iframe-message-type';
|
|
4
|
+
import { Checkout } from '../model/checkout';
|
|
5
|
+
import { Timer } from '../model/timer';
|
|
6
|
+
import { PaymentType } from '../model/payment-type';
|
|
7
|
+
import { RapydComponent } from './rapyd/rapyd.component';
|
|
8
|
+
export class Payment {
|
|
9
|
+
constructor(dialog) {
|
|
10
|
+
this.dialog = dialog;
|
|
11
|
+
this.cache = new Map();
|
|
12
|
+
this.timer = new Timer(500); // 0.5s
|
|
13
|
+
this.iframeMessageService = inject(IframeMessageService);
|
|
14
|
+
this.rapydScriptLoaded = false;
|
|
15
|
+
/**
|
|
16
|
+
* Listen OPEN_PAYMENT_FORM message to open 3th party page
|
|
17
|
+
*/
|
|
18
|
+
this.iframeMessageService.onMessages().subscribe(message => {
|
|
19
|
+
console.log('Received from iframe:', message);
|
|
20
|
+
if (IframeMessageType.OPEN_PAYMENT_FORM == message.type) {
|
|
21
|
+
const checkout = Object.assign(new Checkout(), message.payload);
|
|
22
|
+
if (!checkout || this.cache.get(checkout.requestId)) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
// if (this.cache.size > 0) {
|
|
26
|
+
// this.cache.clear();
|
|
27
|
+
// //TODO clear the current popup
|
|
28
|
+
// }
|
|
29
|
+
switch (checkout.paymentType) {
|
|
30
|
+
case PaymentType.JETON:
|
|
31
|
+
case PaymentType.ECOPAYZ:
|
|
32
|
+
this.openWindow(checkout);
|
|
33
|
+
break;
|
|
34
|
+
case PaymentType.RAPYD:
|
|
35
|
+
this.openVisaCheckout(checkout);
|
|
36
|
+
break;
|
|
37
|
+
default:
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (IframeMessageType.THIRD_PARTY_CALLBACK == message.type) {
|
|
41
|
+
let checkout = new Checkout();
|
|
42
|
+
checkout.setCallback(message.payload);
|
|
43
|
+
this.timer.stopWatcher();
|
|
44
|
+
this.sendMessageToIframe(checkout);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Open 3th party page on the popup windown or new tab
|
|
50
|
+
*/
|
|
51
|
+
openWindow(checkout) {
|
|
52
|
+
this.cache.set(checkout.requestId, checkout);
|
|
53
|
+
console.log("Open windown: ", this.cache);
|
|
54
|
+
const width = 470;
|
|
55
|
+
const height = 550;
|
|
56
|
+
var left = Math.max(0, (screen.width - width) / 2), top = Math.max(0, (screen.height - height) / 2);
|
|
57
|
+
// var popup = window.open(url, "VOdds", 'width=' + width + ',height=' + height + ',left=' + left + ',top=' + top + ',status=0,location=0,menubar=0,toolbar=0');
|
|
58
|
+
let popup = window.open(checkout.url, "VOdds", 'width=' + width + ',height=' + height + ',left=' + left + ',top=' + top + ',status=0,location=0,menubar=0,toolbar=0');
|
|
59
|
+
if (!popup) {
|
|
60
|
+
checkout.errorMessage = 'Your setting prevents popups. Please change your setting to allow it.';
|
|
61
|
+
this.sendMessageToIframe(checkout);
|
|
62
|
+
this.cache.delete(checkout.requestId);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
checkout.popup = popup;
|
|
66
|
+
popup.focus();
|
|
67
|
+
this.onThirdPartyMessage(checkout);
|
|
68
|
+
this.timer.oberserableTimer(checkout, () => this.sendMessageToIframe(checkout));
|
|
69
|
+
}
|
|
70
|
+
async openVisaCheckout(checkout) {
|
|
71
|
+
try {
|
|
72
|
+
await this.load();
|
|
73
|
+
this.dialog.open(RapydComponent, {
|
|
74
|
+
data: {
|
|
75
|
+
checkoutUrl: checkout.url,
|
|
76
|
+
expiration: checkout.expiration
|
|
77
|
+
},
|
|
78
|
+
width: '500px',
|
|
79
|
+
maxWidth: '90vw'
|
|
80
|
+
}).afterClosed().subscribe(checkoutFailureMessage => {
|
|
81
|
+
checkout.errorMessage = checkoutFailureMessage;
|
|
82
|
+
this.sendMessageToIframe(checkout);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
console.error(error);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
load() {
|
|
90
|
+
if (this.rapydScriptLoaded) {
|
|
91
|
+
return Promise.resolve();
|
|
92
|
+
}
|
|
93
|
+
return new Promise((resolve, reject) => {
|
|
94
|
+
const script = document.createElement('script');
|
|
95
|
+
script.src = 'https://sandboxcheckouttoolkit.rapyd.net';
|
|
96
|
+
script.async = true;
|
|
97
|
+
script.onload = () => {
|
|
98
|
+
this.rapydScriptLoaded = true;
|
|
99
|
+
resolve();
|
|
100
|
+
};
|
|
101
|
+
script.onerror = () => {
|
|
102
|
+
reject(new Error('Failed to load Rapyd Checkout Toolkit'));
|
|
103
|
+
};
|
|
104
|
+
document.head.appendChild(script);
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Listen message or action from 3th party on the popup
|
|
109
|
+
* Skip for RAPYD - It will process when the dialog close
|
|
110
|
+
*/
|
|
111
|
+
onThirdPartyMessage(checkout) {
|
|
112
|
+
this.iframeMessageService.onThirdPartyMessages().subscribe(event => {
|
|
113
|
+
if (this.iframeMessageService.isValidDomain(checkout.paymentType, event.origin)) {
|
|
114
|
+
switch (checkout.paymentType) {
|
|
115
|
+
case PaymentType.NA:
|
|
116
|
+
break;
|
|
117
|
+
case PaymentType.JETON:
|
|
118
|
+
case PaymentType.ECOPAYZ:
|
|
119
|
+
}
|
|
120
|
+
console.log('Received from 3th party:', event.data);
|
|
121
|
+
checkout.setCallback(event.data);
|
|
122
|
+
this.timer.stopWatcher();
|
|
123
|
+
this.sendMessageToIframe(checkout);
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* send the message from the parent to the iframe
|
|
129
|
+
*/
|
|
130
|
+
sendMessageToIframe(checkout) {
|
|
131
|
+
console.log("send message to iframe: ", checkout);
|
|
132
|
+
if (this.iframe == undefined)
|
|
133
|
+
return;
|
|
134
|
+
let message = {
|
|
135
|
+
type: IframeMessageType.PAYMENT_CALLBACK,
|
|
136
|
+
payload: checkout
|
|
137
|
+
};
|
|
138
|
+
this.iframeMessageService.sendMessageToIframe(this.iframe, message);
|
|
139
|
+
this.cache.delete(checkout.requestId);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VwcC1saWIvc3JjL2xpYi9jb21wb25lbnQvcGF5bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUd6RCxNQUFNLE9BQU8sT0FBTztJQVFoQixZQUFtQixNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBUHBDLFVBQUssR0FBMEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUV6QyxVQUFLLEdBQVUsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPO1FBRTlCLHlCQUFvQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3BELHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUc5Qjs7V0FFRztRQUNILElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDdkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM5QyxJQUFJLGlCQUFpQixDQUFDLGlCQUFpQixJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDdEQsTUFBTSxRQUFRLEdBQWEsTUFBTSxD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WUFBRSxPQUFPO1FBQ3JDLElBQUksT0FBTyxHQUFrQjtZQUN6QixJQUFJLEVBQUUsaUJBQWlCLENBQUMsZ0JBQWdCO1lBQ3hDLE9BQU8sRUFBRSxRQUFRO1NBQ3BCLENBQUE7UUFDRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUtKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElmcmFtZU1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9pZnJhbWUtbWVzc2FnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSWZyYW1lTWVzc2FnZVR5cGUgfSBmcm9tICcuLi9tb2RlbC9pZnJhbWUtbWVzc2FnZS10eXBlJztcclxuaW1wb3J0IHsgQ2hlY2tvdXQgfSBmcm9tICcuLi9tb2RlbC9jaGVja291dCc7XHJcbmltcG9ydCB7IElmcmFtZU1lc3NhZ2UgfSBmcm9tICcuLi9tb2RlbC9pZnJhbWUtbWVzc2FnZSc7XHJcbmltcG9ydCB7IFRpbWVyIH0gZnJvbSAnLi4vbW9kZWwvdGltZXInO1xyXG5pbXBvcnQgeyBQYXltZW50VHlwZSB9IGZyb20gJy4uL21vZGVsL3BheW1lbnQtdHlwZSc7XHJcbmltcG9ydCB7IFJhcHlkQ29tcG9uZW50IH0gZnJvbSAnLi9yYXB5ZC9yYXB5ZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFBheW1lbnQge1xyXG4gICAgY2FjaGU6IE1hcDxudW1iZXIsIENoZWNrb3V0PiA9IG5ldyBNYXAoKTtcclxuICAgIGlmcmFtZTogRWxlbWVudFJlZjxIVE1MSUZyYW1lRWxlbWVudD4gfCB1bmRlZmluZWQ7Ly9TZXQgZnJvbSB0aGUgY29tcG9uZW50XHJcbiAgICB0aW1lcjogVGltZXIgPSBuZXcgVGltZXIoNTAwKTsgLy8gMC41c1xyXG4gICAgcmVzdWx0OiBDaGVja291dCB8IHVuZGVmaW5lZDtcclxuICAgIHByaXZhdGUgaWZyYW1lTWVzc2FnZVNlcnZpY2UgPSBpbmplY3QoSWZyYW1lTWVzc2FnZVNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByYXB5ZFNjcmlwdExvYWRlZCA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZykge1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIExpc3RlbiBPUEVOX1BBWU1FTlRfRk9STSBtZXNzYWdlIHRvIG9wZW4gM3RoIHBhcnR5IHBhZ2VcclxuICAgICAgICAgKi9cclxuICAgICAgICB0aGlzLmlmcmFtZU1lc3NhZ2VTZXJ2aWNlLm9uTWVzc2FnZXMoKS5zdWJzY3JpYmUobWVzc2FnZSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdSZWNlaXZlZCBmcm9tIGlmcmFtZTonLCBtZXNzYWdlKTtcclxuICAgICAgICAgICAgaWYgKElmcmFtZU1lc3NhZ2VUeXBlLk9QRU5fUEFZTUVOVF9GT1JNID09IG1lc3NhZ2UudHlwZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY2hlY2tvdXQ6IENoZWNrb3V0ID0gT2JqZWN0LmFzc2lnbihuZXcgQ2hlY2tvdXQoKSwgbWVzc2FnZS5wYXlsb2FkKTtcclxuICAgICAgICAgICAgICAgIGlmICghY2hlY2tvdXQgfHwgdGhpcy5jYWNoZS5nZXQoY2hlY2tvdXQucmVxdWVzdElkKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIGlmICh0aGlzLmNhY2hlLnNpemUgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgdGhpcy5jYWNoZS5jbGVhcigpO1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIC8vVE9ETyBjbGVhciB0aGUgY3VycmVudCBwb3B1cFxyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgc3dpdGNoIChjaGVja291dC5wYXltZW50VHlwZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgUGF5bWVudFR5cGUuSkVUT046XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBQYXltZW50VHlwZS5FQ09QQVlaOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5XaW5kb3coY2hlY2tvdXQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIFBheW1lbnRUeXBlLlJBUFlEOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5WaXNhQ2hlY2tvdXQoY2hlY2tvdXQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChJZnJhbWVNZXNzYWdlVHlwZS5USElSRF9QQVJUWV9DQUxMQkFDSyA9PSBtZXNzYWdlLnR5cGUpIHtcclxuICAgICAgICAgICAgICAgIGxldCBjaGVja291dCA9IG5ldyBDaGVja291dCgpO1xyXG4gICAgICAgICAgICAgICAgY2hlY2tvdXQuc2V0Q2FsbGJhY2sobWVzc2FnZS5wYXlsb2FkKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudGltZXIuc3RvcFdhdGNoZXIoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2VUb0lmcmFtZShjaGVja291dCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9wZW4gM3RoIHBhcnR5IHBhZ2Ugb24gdGhlIHBvcHVwIHdpbmRvd24gb3IgbmV3IHRhYlxyXG4gICAgICovXHJcbiAgICBvcGVuV2luZG93KGNoZWNrb3V0OiBDaGVja291dCkge1xyXG4gICAgICAgIHRoaXMuY2FjaGUuc2V0KGNoZWNrb3V0LnJlcXVlc3RJZCwgY2hlY2tvdXQpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiT3BlbiB3aW5kb3duOiBcIiwgdGhpcy5jYWNoZSk7XHJcbiAgICAgICAgY29uc3Qgd2lkdGggPSA0NzA7XHJcbiAgICAgICAgY29uc3QgaGVpZ2h0ID0gNTUwO1xyXG4gICAgICAgIHZhciBsZWZ0ID0gTWF0aC5tYXgoMCwgKHNjcmVlbi53aWR0aCAtIHdpZHRoKSAvIDIpLFxyXG4gICAgICAgIHRvcCA9IE1hdGgubWF4KDAsIChzY3JlZW4uaGVpZ2h0IC0gaGVpZ2h0KSAvIDIpO1xyXG4gICAgICAgIC8vIHZhciBwb3B1cCA9IHdpbmRvdy5vcGVuKHVybCwgXCJWT2Rkc1wiLCAnd2lkdGg9JyArIHdpZHRoICsgJyxoZWlnaHQ9JyArIGhlaWdodCArICcsbGVmdD0nICsgbGVmdCArICcsdG9wPScgKyB0b3AgKyAnLHN0YXR1cz0wLGxvY2F0aW9uPTAsbWVudWJhcj0wLHRvb2xiYXI9MCcpO1xyXG4gICAgICAgIGxldCBwb3B1cCA9IHdpbmRvdy5vcGVuKGNoZWNrb3V0LnVybCwgXCJWT2Rkc1wiLCAnd2lkdGg9JyArIHdpZHRoICsgJyxoZWlnaHQ9JyArIGhlaWdodCArICcsbGVmdD0nICsgbGVmdCArICcsdG9wPScgKyB0b3AgKyAnLHN0YXR1cz0wLGxvY2F0aW9uPTAsbWVudWJhcj0wLHRvb2xiYXI9MCcpO1xyXG4gICAgICAgIGlmICghcG9wdXApIHtcclxuICAgICAgICAgICAgY2hlY2tvdXQuZXJyb3JNZXNzYWdlID0gJ1lvdXIgc2V0dGluZyBwcmV2ZW50cyBwb3B1cHMuIFBsZWFzZSBjaGFuZ2UgeW91ciBzZXR0aW5nIHRvIGFsbG93IGl0Lic7XHJcbiAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2VUb0lmcmFtZShjaGVja291dCk7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGUuZGVsZXRlKGNoZWNrb3V0LnJlcXVlc3RJZCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2hlY2tvdXQucG9wdXAgPSBwb3B1cDtcclxuICAgICAgICBwb3B1cC5mb2N1cygpO1xyXG4gICAgICAgIHRoaXMub25UaGlyZFBhcnR5TWVzc2FnZShjaGVja291dCk7XHJcbiAgICAgICAgdGhpcy50aW1lci5vYmVyc2VyYWJsZVRpbWVyKGNoZWNrb3V0LCAoKSA9PiB0aGlzLnNlbmRNZXNzYWdlVG9JZnJhbWUoY2hlY2tvdXQpKTtcclxuICAgIH1cclxuICAgIGFzeW5jIG9wZW5WaXNhQ2hlY2tvdXQoY2hlY2tvdXQ6IENoZWNrb3V0KSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2FkKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nLm9wZW4oUmFweWRDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgICAgICBjaGVja291dFVybDogY2hlY2tvdXQudXJsLFxyXG4gICAgICAgICAgICAgICAgICAgIGV4cGlyYXRpb246IGNoZWNrb3V0LmV4cGlyYXRpb25cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJzUwMHB4JyxcclxuICAgICAgICAgICAgICAgIG1heFdpZHRoOiAnOTB2dydcclxuICAgICAgICAgICAgfSkuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoY2hlY2tvdXRGYWlsdXJlTWVzc2FnZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjaGVja291dC5lcnJvck1lc3NhZ2UgPSBjaGVja291dEZhaWx1cmVNZXNzYWdlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZW5kTWVzc2FnZVRvSWZyYW1lKGNoZWNrb3V0KTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBsb2FkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmICh0aGlzLnJhcHlkU2NyaXB0TG9hZGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xyXG5cclxuICAgICAgICAgICAgc2NyaXB0LnNyYyA9ICdodHRwczovL3NhbmRib3hjaGVja291dHRvb2xraXQucmFweWQubmV0JztcclxuICAgICAgICAgICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIHNjcmlwdC5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJhcHlkU2NyaXB0TG9hZGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIHNjcmlwdC5vbmVycm9yID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcignRmFpbGVkIHRvIGxvYWQgUmFweWQgQ2hlY2tvdXQgVG9vbGtpdCcpKTtcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIExpc3RlbiBtZXNzYWdlIG9yIGFjdGlvbiBmcm9tIDN0aCBwYXJ0eSBvbiB0aGUgcG9wdXBcclxuICAgICAqIFNraXAgZm9yIFJBUFlEIC0gSXQgd2lsbCBwcm9jZXNzIHdoZW4gdGhlIGRpYWxvZyBjbG9zZVxyXG4gICAgICovXHJcbiAgICBvblRoaXJkUGFydHlNZXNzYWdlKGNoZWNrb3V0OiBDaGVja291dCkge1xyXG4gICAgICAgIHRoaXMuaWZyYW1lTWVzc2FnZVNlcnZpY2Uub25UaGlyZFBhcnR5TWVzc2FnZXMoKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5pZnJhbWVNZXNzYWdlU2VydmljZS5pc1ZhbGlkRG9tYWluKGNoZWNrb3V0LnBheW1lbnRUeXBlLCBldmVudC5vcmlnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGNoZWNrb3V0LnBheW1lbnRUeXBlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBQYXltZW50VHlwZS5OQTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBQYXltZW50VHlwZS5KRVRPTjpcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIFBheW1lbnRUeXBlLkVDT1BBWVo6XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1JlY2VpdmVkIGZyb20gM3RoIHBhcnR5OicsIGV2ZW50LmRhdGEpO1xyXG4gICAgICAgICAgICAgICAgY2hlY2tvdXQuc2V0Q2FsbGJhY2soZXZlbnQuZGF0YSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVyLnN0b3BXYXRjaGVyKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlVG9JZnJhbWUoY2hlY2tvdXQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBzZW5kIHRoZSBtZXNzYWdlIGZyb20gdGhlIHBhcmVudCB0byB0aGUgaWZyYW1lXHJcbiAgICAgKi9cclxuICAgIHNlbmRNZXNzYWdlVG9JZnJhbWUoY2hlY2tvdXQ6IENoZWNrb3V0KSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJzZW5kIG1lc3NhZ2UgdG8gaWZyYW1lOiBcIiwgY2hlY2tvdXQpO1xyXG4gICAgICAgIGlmICh0aGlzLmlmcmFtZSA9PSB1bmRlZmluZWQpIHJldHVybjtcclxuICAgICAgICBsZXQgbWVzc2FnZTogSWZyYW1lTWVzc2FnZSA9IHtcclxuICAgICAgICAgICAgdHlwZTogSWZyYW1lTWVzc2FnZVR5cGUuUEFZTUVOVF9DQUxMQkFDSyxcclxuICAgICAgICAgICAgcGF5bG9hZDogY2hlY2tvdXRcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pZnJhbWVNZXNzYWdlU2VydmljZS5zZW5kTWVzc2FnZVRvSWZyYW1lKHRoaXMuaWZyYW1lLCBtZXNzYWdlKTtcclxuICAgICAgICB0aGlzLmNhY2hlLmRlbGV0ZShjaGVja291dC5yZXF1ZXN0SWQpO1xyXG4gICAgfVxyXG4gICAgLy8gcmVtb3ZlUGF5bWVudElmcmFtZSgpIHtcclxuICAgIC8vICAgICAvL1RPRE9cclxuICAgIC8vICAgICB0aGlzLmlmcmFtZSA9IHVuZGVmaW5lZDtcclxuICAgIC8vIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { Component, Inject, Input } from '@angular/core';
|
|
2
|
+
import { VoddsLoaderComponent } from '../vodds-loader/vodds-loader.component';
|
|
3
|
+
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
4
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
5
|
+
import { TranslocoModule } from '@jsverse/transloco';
|
|
6
|
+
import { NgStyle } from '@angular/common';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/material/dialog";
|
|
9
|
+
import * as i2 from "@jsverse/transloco";
|
|
10
|
+
import * as i3 from "@angular/material/progress-spinner";
|
|
11
|
+
export class RapydComponent {
|
|
12
|
+
constructor(dialogRef, data, translocoService) {
|
|
13
|
+
this.dialogRef = dialogRef;
|
|
14
|
+
this.data = data;
|
|
15
|
+
this.translocoService = translocoService;
|
|
16
|
+
this.isOpen = false;
|
|
17
|
+
this.checkoutToolKit = undefined;
|
|
18
|
+
this.visaMasterTimeout = 300;
|
|
19
|
+
this.visaMasterCheckoutId = '';
|
|
20
|
+
this.displayTimer = "00:00";
|
|
21
|
+
this.isShow = false;
|
|
22
|
+
this.isLoading = true;
|
|
23
|
+
this.errorMessage = "";
|
|
24
|
+
this.defaultExpirationSec = 300; // 5mins
|
|
25
|
+
this.checkoutFailureMessage = '';
|
|
26
|
+
this.handleLoading = (event) => {
|
|
27
|
+
if (!event.detail.loading && this.isLoading) {
|
|
28
|
+
this.isShow = true;
|
|
29
|
+
this.isLoading = false;
|
|
30
|
+
this.startTimer();
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
this.handleCheckoutPaymentSuccess = (event) => {
|
|
34
|
+
this.closeDialog(false);
|
|
35
|
+
};
|
|
36
|
+
this.handleCheckoutPaymentFailure = (event) => {
|
|
37
|
+
this.stopTimer();
|
|
38
|
+
this.isShow = false;
|
|
39
|
+
this.checkoutFailureMessage = event.detail.message;
|
|
40
|
+
};
|
|
41
|
+
this.visaMasterTimeout = data.expiration ?? data.expiration;
|
|
42
|
+
this.visaMasterCheckoutId = data.checkoutUrl;
|
|
43
|
+
}
|
|
44
|
+
ngOnDestroy() {
|
|
45
|
+
this.stopTimer();
|
|
46
|
+
window.removeEventListener('onLoading', this.handleLoading);
|
|
47
|
+
window.removeEventListener('onCheckoutPaymentSuccess', this.handleCheckoutPaymentSuccess);
|
|
48
|
+
window.removeEventListener('onCheckoutPaymentFailure', this.handleCheckoutPaymentFailure);
|
|
49
|
+
}
|
|
50
|
+
ngAfterViewInit() {
|
|
51
|
+
if (this.checkout) {
|
|
52
|
+
this.visaMasterTimeout = this.checkout.expiration;
|
|
53
|
+
this.visaMasterCheckoutId = this.checkout.url;
|
|
54
|
+
}
|
|
55
|
+
this.translocoService.selectTranslate('mobile_payment_form_title').subscribe(buttonText => {
|
|
56
|
+
console.log('Async translations loaded:', buttonText);
|
|
57
|
+
this.checkoutToolKit = this.isMobile() ? this.createCheckoutToolKitOnMobile(buttonText) : this.createCheckoutToolKitOnDesktop(buttonText);
|
|
58
|
+
this.displayCheckout();
|
|
59
|
+
window.addEventListener('onLoading', this.handleLoading);
|
|
60
|
+
window.addEventListener('onCheckoutPaymentSuccess', this.handleCheckoutPaymentSuccess);
|
|
61
|
+
window.addEventListener('onCheckoutPaymentFailure', this.handleCheckoutPaymentFailure);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
createCheckoutToolKitOnDesktop(buttonText) {
|
|
65
|
+
return new RapydCheckoutToolkit({
|
|
66
|
+
pay_button_text: buttonText,
|
|
67
|
+
id: this.visaMasterCheckoutId,
|
|
68
|
+
wait_on_payment_redirect: true,
|
|
69
|
+
style: {
|
|
70
|
+
cardFields: {
|
|
71
|
+
title: {
|
|
72
|
+
color: '#80807F'
|
|
73
|
+
},
|
|
74
|
+
saveForFutureLabel: {
|
|
75
|
+
color: '#80807F'
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
input: {
|
|
79
|
+
base: {
|
|
80
|
+
fontWeight: "400",
|
|
81
|
+
borderRadius: "5px",
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
orderDetails: {
|
|
85
|
+
title: {
|
|
86
|
+
color: '#80807F'
|
|
87
|
+
},
|
|
88
|
+
totalLabel: {
|
|
89
|
+
color: '#80807F'
|
|
90
|
+
},
|
|
91
|
+
totalValue: {
|
|
92
|
+
color: '#80807F'
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
submit: {
|
|
96
|
+
base: {
|
|
97
|
+
backgroundColor: "#F48215",
|
|
98
|
+
color: "#FFFFFF",
|
|
99
|
+
fontWeight: "900",
|
|
100
|
+
borderRadius: "5px",
|
|
101
|
+
border: "none",
|
|
102
|
+
boxShadow: "0px 0px 20px 0px #28303A33",
|
|
103
|
+
height: "35px",
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
createCheckoutToolKitOnMobile(buttonText) {
|
|
110
|
+
return new RapydCheckoutToolkit({
|
|
111
|
+
pay_button_text: buttonText,
|
|
112
|
+
id: this.visaMasterCheckoutId,
|
|
113
|
+
wait_on_payment_redirect: true,
|
|
114
|
+
style: {
|
|
115
|
+
input: {
|
|
116
|
+
base: {
|
|
117
|
+
fontWeight: "400",
|
|
118
|
+
borderRadius: "5px",
|
|
119
|
+
fontSize: "12px"
|
|
120
|
+
},
|
|
121
|
+
placeholder: {
|
|
122
|
+
fontSize: "12px !important",
|
|
123
|
+
fontWeight: "700",
|
|
124
|
+
fontFamily: "Manrope",
|
|
125
|
+
color: '#8C8C8C',
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
cardFields: {
|
|
129
|
+
title: {
|
|
130
|
+
color: '#8C8C8C'
|
|
131
|
+
},
|
|
132
|
+
saveForFutureLabel: {
|
|
133
|
+
color: '#8C8C8C',
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
orderDetails: {
|
|
137
|
+
title: {
|
|
138
|
+
color: '#8C8C8C',
|
|
139
|
+
},
|
|
140
|
+
totalLabel: {
|
|
141
|
+
color: '#8C8C8C',
|
|
142
|
+
},
|
|
143
|
+
totalValue: {
|
|
144
|
+
color: '#8C8C8C',
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
submit: {
|
|
148
|
+
base: {
|
|
149
|
+
backgroundColor: "#28303A",
|
|
150
|
+
color: "#FFFFFF",
|
|
151
|
+
fontWeight: "900 !important",
|
|
152
|
+
borderRadius: "12px",
|
|
153
|
+
boxShadow: "0 0 8.57px #ff6b0066 !important",
|
|
154
|
+
height: "40px",
|
|
155
|
+
width: "100%",
|
|
156
|
+
fontSize: "12px !important",
|
|
157
|
+
border: "none"
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
closeDialog(isCloseCheckout = true) {
|
|
164
|
+
this.stopTimer();
|
|
165
|
+
if (this.checkoutToolKit && isCloseCheckout) {
|
|
166
|
+
try {
|
|
167
|
+
this.checkoutToolKit.closeCheckout();
|
|
168
|
+
}
|
|
169
|
+
catch (err) {
|
|
170
|
+
console.error("Error when closing checkout", err);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
this.checkoutToolKit = undefined;
|
|
174
|
+
this.isShow = false;
|
|
175
|
+
this.dialogRef.close(this.checkoutFailureMessage);
|
|
176
|
+
}
|
|
177
|
+
;
|
|
178
|
+
startTimer() {
|
|
179
|
+
if (this.visaMasterTimer)
|
|
180
|
+
this.stopTimer();
|
|
181
|
+
this.visaMasterTimer = setInterval(() => {
|
|
182
|
+
if (this.visaMasterTimeout <= 0) {
|
|
183
|
+
this.closeDialog();
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
this.visaMasterTimeout--;
|
|
187
|
+
this.displayTimer = `${this.pad(Math.floor(this.visaMasterTimeout / 60))}:${this.pad(this.visaMasterTimeout % 60)}`;
|
|
188
|
+
}, 1000);
|
|
189
|
+
}
|
|
190
|
+
stopTimer() {
|
|
191
|
+
clearInterval(this.visaMasterTimer);
|
|
192
|
+
}
|
|
193
|
+
pad(number) {
|
|
194
|
+
return `${number < 10 ? '0' : ''}${number}`;
|
|
195
|
+
}
|
|
196
|
+
displayCheckout() {
|
|
197
|
+
if (document.getElementById("rapyd-checkout")) {
|
|
198
|
+
this.checkoutToolKit.displayCheckout();
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
setTimeout(() => {
|
|
202
|
+
this.displayCheckout();
|
|
203
|
+
}, 10);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
isMobile() {
|
|
207
|
+
return true;
|
|
208
|
+
// return CommonUtil.isMobileTemplate();
|
|
209
|
+
}
|
|
210
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RapydComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
211
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: RapydComponent, isStandalone: true, selector: "v-rapyd", inputs: { checkout: "checkout" }, ngImport: i0, template: "@if(isMobile()) {\r\n <div class=\"v-dialog mobile\">\r\n <div class=\"v-flex-center-between header text-black-cs\">\r\n <div class=\"v-flex-center-none\">\r\n <span class=\"ml-8\">{{ 'mobile_payment_form_title' | transloco }}</span>\r\n </div>\r\n <div class=\"v-flex-center-between mr-8\">\r\n <div (click)=\"closeDialog()\">\r\n <svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M11.0121 12.3959L16.6455 18.0293C16.8333 18.2107 17.0849 18.3111 17.346 18.3088C17.6071 18.3065 17.8569 18.2018 18.0415 18.0172C18.2261 17.8325 18.3309 17.5828 18.3331 17.3217C18.3354 17.0606 18.235 16.809 18.0536 16.6212L12.4202 10.9878L18.0536 5.35431C18.235 5.16649 18.3354 4.91494 18.3331 4.65384C18.3309 4.39273 18.2261 4.14297 18.0415 3.95833C17.8569 3.77369 17.6071 3.66896 17.346 3.66669C17.0849 3.66443 16.8333 3.7648 16.6455 3.9462L11.0121 9.57964L5.37863 3.9462C5.18997 3.76928 4.93988 3.67271 4.68128 3.67691C4.42268 3.68111 4.17585 3.78575 3.99304 3.9687C3.81022 4.15165 3.70575 4.39854 3.70173 4.65715C3.69772 4.91575 3.79447 5.16577 3.97152 5.35431L9.60396 10.9878L3.97052 16.6212C3.87541 16.7131 3.79954 16.8229 3.74735 16.9444C3.69516 17.0659 3.66769 17.1966 3.66654 17.3288C3.66539 17.4611 3.69059 17.5922 3.74066 17.7146C3.79073 17.837 3.86468 17.9481 3.95818 18.0416C4.05168 18.1352 4.16287 18.2091 4.28525 18.2592C4.40764 18.3092 4.53877 18.3344 4.67099 18.3333C4.80322 18.3321 4.93389 18.3047 5.05539 18.2525C5.17688 18.2003 5.28677 18.1244 5.37863 18.0293L11.0121 12.3959Z\" />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n @if (isLoading) {\r\n <div class=\"v-spinner\">\r\n <mat-spinner diameter=\"50\" strokeWidth=\"4\"></mat-spinner>\r\n </div>\r\n }\r\n <div class=\"v-content\" id=\"deposit-id\">\r\n @if (!isLoading && !isShow) {\r\n <div class=\"visa-card-message\">\r\n {{ 'visaCardErrorMessage' | transloco }} <br> {{ 'visaCardErrorMessage2' | transloco }}\r\n </div>\r\n }\r\n <div class=\"vodds-checkout-deposit\">\r\n @if(!isLoading && isShow) {\r\n <div class=\"vodds-checkout-expiration\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M7 2.56067C9.76142 2.56067 12 4.79925 12 7.56067C12 10.3221 9.76142 12.5607 7 12.5607C4.23858 12.5607 2 10.3221 2 7.56067C2 4.79925 4.23858 2.56067 7 2.56067ZM6.25 4.06067V7.93567L6.5498 8.16028L8.5498 9.66028L9.4502 8.46106L7.75 7.18567V4.06067H6.25Z\"\r\n fill=\"#8C8C8C\" />\r\n <line x1=\"10.0303\" y1=\"0.530339\" x2=\"12.8588\" y2=\"3.35877\" stroke=\"#8C8C8C\" stroke-width=\"1.5\" />\r\n <line y1=\"-0.75\" x2=\"4\" y2=\"-0.75\" transform=\"matrix(-0.707107 0.707107 0.707107 0.707107 4.82843 1.06067)\"\r\n stroke=\"#8C8C8C\" stroke-width=\"1.5\" />\r\n </svg>\r\n <span>{{ 'visaCardTimeout' | transloco }} <span class=\"countdown-timer\">{{displayTimer}}</span></span>\r\n </div>\r\n }\r\n <div id=\"rapyd-checkout\" class=\"iframe-wrapper\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n} @else {\r\n <div id=\"visa-card\">\r\n <div class=\"top\">\r\n <h2>{{ 'payment_form_title' | transloco }}</h2>\r\n <svg class=\"clsbtn my-account\" (click)=\"closeDialog()\" width=\"11\" height=\"11\" viewBox=\"0 0 11 11\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M9.89214 0L5.5 4.39214L1.10786 0L0 1.10786L4.39214 5.5L0 9.89214L1.10786 11L5.5 6.60786L9.89214 11L11 9.89214L6.60786 5.5L11 1.10786L9.89214 0Z\"\r\n fill=\"white\" />\r\n </svg>\r\n </div>\r\n <div class=\"flex-center\">\r\n <vodds-loader [showAjaxLoader]=\"isLoading\"></vodds-loader>\r\n </div>\r\n @if (!isLoading && !isShow) {\r\n <div class=\"visa-card-message\">\r\n {{ 'visaCardErrorMessage' | transloco }} <br> {{ 'visaCardErrorMessage2' | transloco }}\r\n </div>\r\n }\r\n <div class=\"visa-card-form\" [style]=\"{display: isShow ? 'flex' : 'none'}\">\r\n <div class=\"timer\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M7 2.56067C9.76142 2.56067 12 4.79925 12 7.56067C12 10.3221 9.76142 12.5607 7 12.5607C4.23858 12.5607 2 10.3221 2 7.56067C2 4.79925 4.23858 2.56067 7 2.56067ZM6.25 4.06067V7.93567L6.5498 8.16028L8.5498 9.66028L9.4502 8.46106L7.75 7.18567V4.06067H6.25Z\"\r\n fill=\"#B5B5B5\" />\r\n <line x1=\"10.0303\" y1=\"0.530339\" x2=\"12.8588\" y2=\"3.35877\" stroke=\"#B5B5B5\" stroke-width=\"1.5\" />\r\n <line y1=\"-0.75\" x2=\"4\" y2=\"-0.75\"\r\n transform=\"matrix(-0.707107 0.707107 0.707107 0.707107 4.82861 1.06067)\" stroke=\"#B5B5B5\"\r\n stroke-width=\"1.5\" />\r\n </svg>\r\n <span class=\"label\"> {{ 'visaCardTimeout' | transloco }} </span> <span class=\"display-time\">\r\n {{displayTimer}}</span>\r\n </div>\r\n <div id=\"rapyd-checkout\"></div>\r\n </div>\r\n </div>\r\n}", styles: [".flex-center{display:flex;justify-content:center;align-items:center}#visa-card{height:auto;width:500px;top:0;left:710px;z-index:101}.top{width:100%;align-items:center;margin-bottom:8px;border-radius:0;background:#dd453c;position:relative;color:#fff;display:flex;justify-content:space-between}.top h2{padding-left:15px;text-align:left;font-size:16px;font-weight:800}.top svg{position:unset;padding-right:15px;width:18px;height:18px}.visa-card-form{display:flex;flex-direction:column;align-items:center;min-height:500px!important;width:100%}.visa-card-form .timer{display:flex;align-items:center}#rapyd-checkout{min-height:550px;max-height:550px;overflow-y:auto;scrollbar-width:none}#rapyd-checkout::-webkit-scrollbar{display:none}.ui-widget.ui-widget-content.vodds-visa-card-dialog{padding:0;border:none;border-radius:10px}.vodds-visa-card-dialog .ui-dialog-content{display:flex;align-items:center;flex-direction:column;padding:0;margin:0}.vodds-visa-card-dialog .ui-dialog-content .top{width:100%;display:flex;align-items:center;padding:6px 18px;margin-bottom:8px;border-radius:8px}.vodds-visa-card-dialog .ui-dialog-content .top h2{text-align:left;font-size:16px;font-weight:800}#trading-platform.dark .vodds-visa-card-dialog .label,.vodds-visa-card-dialog .label{color:#80807f!important}#trading-platform.dark .vodds-visa-card-dialog span{color:#000!important}#trading-platform.dark .vodds-visa-card-dialog{background:#fff!important}.mobile .header{font-weight:800;font-size:18px;line-height:18px;margin:0 7px;border-bottom:1px solid #96A2B3;padding:20px 0 15px}.mobile .header .dark{color:#fff}.mobile .header .light{color:#2c3644}.mobile .header svg{fill:#2c3644}.mobile .v-flex-center-between{display:flex;justify-content:space-between;align-items:center;padding-left:10px;padding-right:10px}.mobile .vodds-checkout-expiration{display:flex;justify-content:center;align-items:center;font-weight:700;gap:5px;color:#8c8c8c;font-size:12px}.mobile .countdown-timer{color:#000}.mobile .iframe-wrapper{position:relative;overflow:hidden}.mobile .v-dialog .v-content{padding:0!important;max-height:74vh}.mobile .vodds-checkout-deposit{overflow:auto;margin-top:10px}.mobile .v-dialog{background:#f3f2f9;color:#28303a}.mobile .v-spinner{display:flex;justify-content:center;width:100%}.mobile ::ng-deep .mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:#dd443c!important}.mobile .visa-card-message{margin:28px 20px;color:#dd453c;font-size:14px}.mobile .v-dialog .v-content{background-color:#f1f1f1}\n"], dependencies: [{ kind: "component", type: VoddsLoaderComponent, selector: "vodds-loader", inputs: ["message", "showAjaxLoader"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "pipe", type: i2.TranslocoPipe, name: "transloco" }] }); }
|
|
212
|
+
}
|
|
213
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RapydComponent, decorators: [{
|
|
214
|
+
type: Component,
|
|
215
|
+
args: [{ selector: 'v-rapyd', standalone: true, imports: [NgStyle, VoddsLoaderComponent, MatDialogModule, MatProgressSpinnerModule, TranslocoModule], template: "@if(isMobile()) {\r\n <div class=\"v-dialog mobile\">\r\n <div class=\"v-flex-center-between header text-black-cs\">\r\n <div class=\"v-flex-center-none\">\r\n <span class=\"ml-8\">{{ 'mobile_payment_form_title' | transloco }}</span>\r\n </div>\r\n <div class=\"v-flex-center-between mr-8\">\r\n <div (click)=\"closeDialog()\">\r\n <svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M11.0121 12.3959L16.6455 18.0293C16.8333 18.2107 17.0849 18.3111 17.346 18.3088C17.6071 18.3065 17.8569 18.2018 18.0415 18.0172C18.2261 17.8325 18.3309 17.5828 18.3331 17.3217C18.3354 17.0606 18.235 16.809 18.0536 16.6212L12.4202 10.9878L18.0536 5.35431C18.235 5.16649 18.3354 4.91494 18.3331 4.65384C18.3309 4.39273 18.2261 4.14297 18.0415 3.95833C17.8569 3.77369 17.6071 3.66896 17.346 3.66669C17.0849 3.66443 16.8333 3.7648 16.6455 3.9462L11.0121 9.57964L5.37863 3.9462C5.18997 3.76928 4.93988 3.67271 4.68128 3.67691C4.42268 3.68111 4.17585 3.78575 3.99304 3.9687C3.81022 4.15165 3.70575 4.39854 3.70173 4.65715C3.69772 4.91575 3.79447 5.16577 3.97152 5.35431L9.60396 10.9878L3.97052 16.6212C3.87541 16.7131 3.79954 16.8229 3.74735 16.9444C3.69516 17.0659 3.66769 17.1966 3.66654 17.3288C3.66539 17.4611 3.69059 17.5922 3.74066 17.7146C3.79073 17.837 3.86468 17.9481 3.95818 18.0416C4.05168 18.1352 4.16287 18.2091 4.28525 18.2592C4.40764 18.3092 4.53877 18.3344 4.67099 18.3333C4.80322 18.3321 4.93389 18.3047 5.05539 18.2525C5.17688 18.2003 5.28677 18.1244 5.37863 18.0293L11.0121 12.3959Z\" />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n @if (isLoading) {\r\n <div class=\"v-spinner\">\r\n <mat-spinner diameter=\"50\" strokeWidth=\"4\"></mat-spinner>\r\n </div>\r\n }\r\n <div class=\"v-content\" id=\"deposit-id\">\r\n @if (!isLoading && !isShow) {\r\n <div class=\"visa-card-message\">\r\n {{ 'visaCardErrorMessage' | transloco }} <br> {{ 'visaCardErrorMessage2' | transloco }}\r\n </div>\r\n }\r\n <div class=\"vodds-checkout-deposit\">\r\n @if(!isLoading && isShow) {\r\n <div class=\"vodds-checkout-expiration\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M7 2.56067C9.76142 2.56067 12 4.79925 12 7.56067C12 10.3221 9.76142 12.5607 7 12.5607C4.23858 12.5607 2 10.3221 2 7.56067C2 4.79925 4.23858 2.56067 7 2.56067ZM6.25 4.06067V7.93567L6.5498 8.16028L8.5498 9.66028L9.4502 8.46106L7.75 7.18567V4.06067H6.25Z\"\r\n fill=\"#8C8C8C\" />\r\n <line x1=\"10.0303\" y1=\"0.530339\" x2=\"12.8588\" y2=\"3.35877\" stroke=\"#8C8C8C\" stroke-width=\"1.5\" />\r\n <line y1=\"-0.75\" x2=\"4\" y2=\"-0.75\" transform=\"matrix(-0.707107 0.707107 0.707107 0.707107 4.82843 1.06067)\"\r\n stroke=\"#8C8C8C\" stroke-width=\"1.5\" />\r\n </svg>\r\n <span>{{ 'visaCardTimeout' | transloco }} <span class=\"countdown-timer\">{{displayTimer}}</span></span>\r\n </div>\r\n }\r\n <div id=\"rapyd-checkout\" class=\"iframe-wrapper\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n} @else {\r\n <div id=\"visa-card\">\r\n <div class=\"top\">\r\n <h2>{{ 'payment_form_title' | transloco }}</h2>\r\n <svg class=\"clsbtn my-account\" (click)=\"closeDialog()\" width=\"11\" height=\"11\" viewBox=\"0 0 11 11\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M9.89214 0L5.5 4.39214L1.10786 0L0 1.10786L4.39214 5.5L0 9.89214L1.10786 11L5.5 6.60786L9.89214 11L11 9.89214L6.60786 5.5L11 1.10786L9.89214 0Z\"\r\n fill=\"white\" />\r\n </svg>\r\n </div>\r\n <div class=\"flex-center\">\r\n <vodds-loader [showAjaxLoader]=\"isLoading\"></vodds-loader>\r\n </div>\r\n @if (!isLoading && !isShow) {\r\n <div class=\"visa-card-message\">\r\n {{ 'visaCardErrorMessage' | transloco }} <br> {{ 'visaCardErrorMessage2' | transloco }}\r\n </div>\r\n }\r\n <div class=\"visa-card-form\" [style]=\"{display: isShow ? 'flex' : 'none'}\">\r\n <div class=\"timer\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M7 2.56067C9.76142 2.56067 12 4.79925 12 7.56067C12 10.3221 9.76142 12.5607 7 12.5607C4.23858 12.5607 2 10.3221 2 7.56067C2 4.79925 4.23858 2.56067 7 2.56067ZM6.25 4.06067V7.93567L6.5498 8.16028L8.5498 9.66028L9.4502 8.46106L7.75 7.18567V4.06067H6.25Z\"\r\n fill=\"#B5B5B5\" />\r\n <line x1=\"10.0303\" y1=\"0.530339\" x2=\"12.8588\" y2=\"3.35877\" stroke=\"#B5B5B5\" stroke-width=\"1.5\" />\r\n <line y1=\"-0.75\" x2=\"4\" y2=\"-0.75\"\r\n transform=\"matrix(-0.707107 0.707107 0.707107 0.707107 4.82861 1.06067)\" stroke=\"#B5B5B5\"\r\n stroke-width=\"1.5\" />\r\n </svg>\r\n <span class=\"label\"> {{ 'visaCardTimeout' | transloco }} </span> <span class=\"display-time\">\r\n {{displayTimer}}</span>\r\n </div>\r\n <div id=\"rapyd-checkout\"></div>\r\n </div>\r\n </div>\r\n}", styles: [".flex-center{display:flex;justify-content:center;align-items:center}#visa-card{height:auto;width:500px;top:0;left:710px;z-index:101}.top{width:100%;align-items:center;margin-bottom:8px;border-radius:0;background:#dd453c;position:relative;color:#fff;display:flex;justify-content:space-between}.top h2{padding-left:15px;text-align:left;font-size:16px;font-weight:800}.top svg{position:unset;padding-right:15px;width:18px;height:18px}.visa-card-form{display:flex;flex-direction:column;align-items:center;min-height:500px!important;width:100%}.visa-card-form .timer{display:flex;align-items:center}#rapyd-checkout{min-height:550px;max-height:550px;overflow-y:auto;scrollbar-width:none}#rapyd-checkout::-webkit-scrollbar{display:none}.ui-widget.ui-widget-content.vodds-visa-card-dialog{padding:0;border:none;border-radius:10px}.vodds-visa-card-dialog .ui-dialog-content{display:flex;align-items:center;flex-direction:column;padding:0;margin:0}.vodds-visa-card-dialog .ui-dialog-content .top{width:100%;display:flex;align-items:center;padding:6px 18px;margin-bottom:8px;border-radius:8px}.vodds-visa-card-dialog .ui-dialog-content .top h2{text-align:left;font-size:16px;font-weight:800}#trading-platform.dark .vodds-visa-card-dialog .label,.vodds-visa-card-dialog .label{color:#80807f!important}#trading-platform.dark .vodds-visa-card-dialog span{color:#000!important}#trading-platform.dark .vodds-visa-card-dialog{background:#fff!important}.mobile .header{font-weight:800;font-size:18px;line-height:18px;margin:0 7px;border-bottom:1px solid #96A2B3;padding:20px 0 15px}.mobile .header .dark{color:#fff}.mobile .header .light{color:#2c3644}.mobile .header svg{fill:#2c3644}.mobile .v-flex-center-between{display:flex;justify-content:space-between;align-items:center;padding-left:10px;padding-right:10px}.mobile .vodds-checkout-expiration{display:flex;justify-content:center;align-items:center;font-weight:700;gap:5px;color:#8c8c8c;font-size:12px}.mobile .countdown-timer{color:#000}.mobile .iframe-wrapper{position:relative;overflow:hidden}.mobile .v-dialog .v-content{padding:0!important;max-height:74vh}.mobile .vodds-checkout-deposit{overflow:auto;margin-top:10px}.mobile .v-dialog{background:#f3f2f9;color:#28303a}.mobile .v-spinner{display:flex;justify-content:center;width:100%}.mobile ::ng-deep .mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:#dd443c!important}.mobile .visa-card-message{margin:28px 20px;color:#dd453c;font-size:14px}.mobile .v-dialog .v-content{background-color:#f1f1f1}\n"] }]
|
|
216
|
+
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
217
|
+
type: Inject,
|
|
218
|
+
args: [MAT_DIALOG_DATA]
|
|
219
|
+
}] }, { type: i2.TranslocoService }], propDecorators: { checkout: [{
|
|
220
|
+
type: Input
|
|
221
|
+
}] } });
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFweWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudC9yYXB5ZC9yYXB5ZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcHAtbGliL3NyYy9saWIvY29tcG9uZW50L3JhcHlkL3JhcHlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUU5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFvQixNQUFNLG9CQUFvQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFXMUMsTUFBTSxPQUFPLGNBQWM7SUFjdkIsWUFDVyxTQUE0QixFQUNILElBQVMsRUFDakMsZ0JBQWtDO1FBRm5DLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQ0gsU0FBSSxHQUFKLElBQUksQ0FBSztRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBZmpELFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDckIsb0JBQWUsR0FBUSxTQUFTLENBQUM7UUFDakMsc0JBQWlCLEdBQVcsR0FBRyxDQUFDO1FBQ2hDLHlCQUFvQixHQUFXLEVBQUUsQ0FBQztRQUVsQyxpQkFBWSxHQUFXLE9BQU8sQ0FBQztRQUMvQixXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3hCLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsaUJBQVksR0FBVyxF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QUFDO1lBQ0osVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDM0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1gsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUM7UUFDWix3Q0FBd0M7SUFDNUMsQ0FBQzsrR0FwTlEsY0FBYyw4Q0FnQlgsZUFBZTttR0FoQmxCLGNBQWMscUdDbEIzQiw4d0xBZ0ZDLDJoRkRsRXFCLG9CQUFvQiwrRkFBRSxlQUFlLDhCQUFFLHdCQUF3QixrT0FBRSxlQUFlOzs0RkFJekYsY0FBYztrQkFQMUIsU0FBUzsrQkFDRSxTQUFTLGNBQ1AsSUFBSSxXQUNQLENBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxlQUFlLENBQUU7OzBCQW9CL0YsTUFBTTsyQkFBQyxlQUFlO3dFQWZsQixRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFZvZGRzTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vdm9kZHMtbG9hZGVyL3ZvZGRzLWxvYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGVja291dCB9IGZyb20gJy4uLy4uL21vZGVsL2NoZWNrb3V0JztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dNb2R1bGUsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBUcmFuc2xvY29Nb2R1bGUsIFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xyXG5pbXBvcnQgeyBDb21tb25VdGlsIH0gZnJvbSAnLi4vLi4vc2VydmljZS9jb21tb24tdXRpbCc7XHJcbmltcG9ydCB7IE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuZGVjbGFyZSB2YXIgUmFweWRDaGVja291dFRvb2xraXQ6IGFueTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndi1yYXB5ZCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbIE5nU3R5bGUsIFZvZGRzTG9hZGVyQ29tcG9uZW50LCBNYXREaWFsb2dNb2R1bGUsIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSwgVHJhbnNsb2NvTW9kdWxlIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JhcHlkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcmFweWQuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYXB5ZENvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBjaGVja291dDogQ2hlY2tvdXQgfCB1bmRlZmluZWQ7XHJcblx0aXNPcGVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBjaGVja291dFRvb2xLaXQ6IGFueSA9IHVuZGVmaW5lZDtcclxuICAgIHZpc2FNYXN0ZXJUaW1lb3V0OiBudW1iZXIgPSAzMDA7XHJcbiAgICB2aXNhTWFzdGVyQ2hlY2tvdXRJZDogc3RyaW5nID0gJyc7XHJcbiAgICB2aXNhTWFzdGVyVGltZXI6IGFueTsgLy8gaW50ZXJ2YWxcclxuICAgIGRpc3BsYXlUaW1lcjogc3RyaW5nID0gXCIwMDowMFwiO1xyXG4gICAgaXNTaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBpc0xvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgZGVmYXVsdEV4cGlyYXRpb25TZWMgPSAzMDA7IC8vIDVtaW5zXHJcbiAgICBjaGVja291dEZhaWx1cmVNZXNzYWdlOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8YW55PixcclxuICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSxcclxuICAgICAgICBwcml2YXRlIHRyYW5zbG9jb1NlcnZpY2U6IFRyYW5zbG9jb1NlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMudmlzYU1hc3RlclRpbWVvdXQgPSBkYXRhLmV4cGlyYXRpb24gPz8gZGF0YS5leHBpcmF0aW9uO1xyXG4gICAgICAgIHRoaXMudmlzYU1hc3RlckNoZWNrb3V0SWQgPSBkYXRhLmNoZWNrb3V0VXJsO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuc3RvcFRpbWVyKCk7XHJcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ29uTG9hZGluZycsIHRoaXMuaGFuZGxlTG9hZGluZyk7XHJcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ29uQ2hlY2tvdXRQYXltZW50U3VjY2VzcycsIHRoaXMuaGFuZGxlQ2hlY2tvdXRQYXltZW50U3VjY2Vzcyk7XHJcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ29uQ2hlY2tvdXRQYXltZW50RmFpbHVyZScsIHRoaXMuaGFuZGxlQ2hlY2tvdXRQYXltZW50RmFpbHVyZSk7XHJcbiAgICB9XHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY2hlY2tvdXQpIHtcclxuICAgICAgICAgICAgdGhpcy52aXNhTWFzdGVyVGltZW91dCA9IHRoaXMuY2hlY2tvdXQuZXhwaXJhdGlvbjtcclxuICAgICAgICAgICAgdGhpcy52aXNhTWFzdGVyQ2hlY2tvdXRJZCA9IHRoaXMuY2hlY2tvdXQudXJsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy50cmFuc2xvY29TZXJ2aWNlLnNlbGVjdFRyYW5zbGF0ZSgnbW9iaWxlX3BheW1lbnRfZm9ybV90aXRsZScpLnN1YnNjcmliZShidXR0b25UZXh0ID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ0FzeW5jIHRyYW5zbGF0aW9ucyBsb2FkZWQ6JywgYnV0dG9uVGV4dCk7XHJcbiAgICAgICAgICAgIHRoaXMuY2hlY2tvdXRUb29sS2l0ID0gdGhpcy5pc01vYmlsZSgpID8gdGhpcy5jcmVhdGVDaGVja291dFRvb2xLaXRPbk1vYmlsZShidXR0b25UZXh0KSA6IHRoaXMuY3JlYXRlQ2hlY2tvdXRUb29sS2l0T25EZXNrdG9wKGJ1dHRvblRleHQpO1xyXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlDaGVja291dCgpO1xyXG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignb25Mb2FkaW5nJywgdGhpcy5oYW5kbGVMb2FkaW5nKTtcclxuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ29uQ2hlY2tvdXRQYXltZW50U3VjY2VzcycsIHRoaXMuaGFuZGxlQ2hlY2tvdXRQYXltZW50U3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvbkNoZWNrb3V0UGF5bWVudEZhaWx1cmUnLCB0aGlzLmhhbmRsZUNoZWNrb3V0UGF5bWVudEZhaWx1cmUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZUNoZWNrb3V0VG9vbEtpdE9uRGVza3RvcChidXR0b25UZXh0OiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gbmV3IFJhcHlkQ2hlY2tvdXRUb29sa2l0KHtcclxuICAgICAgICAgICAgcGF5X2J1dHRvbl90ZXh0OiBidXR0b25UZXh0LFxyXG4gICAgICAgICAgICBpZDogdGhpcy52aXNhTWFzdGVyQ2hlY2tvdXRJZCxcclxuICAgICAgICAgICAgd2FpdF9vbl9wYXltZW50X3JlZGlyZWN0OiB0cnVlLFxyXG5cclxuICAgICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgIGNhcmRGaWVsZHM6IHtcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM4MDgwN0YnXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICBzYXZlRm9yRnV0dXJlTGFiZWw6e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM4MDgwN0YnXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGlucHV0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFzZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIjQwMFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IFwiNXB4XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICBvcmRlckRldGFpbHM6IHtcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM4MDgwN0YnXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB0b3RhbExhYmVsOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzgwODA3RidcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsVmFsdWU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjODA4MDdGJ1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBzdWJtaXQ6IHtcclxuICAgICAgICAgICAgICAgICAgICBiYXNlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjRjQ4MjE1XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBcIiNGRkZGRkZcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCI5MDBcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjVweFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IFwibm9uZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3hTaGFkb3c6IFwiMHB4IDBweCAyMHB4IDBweCAjMjgzMDNBMzNcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBcIjM1cHhcIixcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVDaGVja291dFRvb2xLaXRPbk1vYmlsZShidXR0b25UZXh0OiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gbmV3IFJhcHlkQ2hlY2tvdXRUb29sa2l0KHtcclxuICAgICAgICAgICAgcGF5X2J1dHRvbl90ZXh0OiBidXR0b25UZXh0LFxyXG4gICAgICAgICAgICBpZDogdGhpcy52aXNhTWFzdGVyQ2hlY2tvdXRJZCxcclxuICAgICAgICAgICAgd2FpdF9vbl9wYXltZW50X3JlZGlyZWN0OiB0cnVlLFxyXG4gICAgICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgaW5wdXQ6IHtcclxuICAgICAgICAgICAgICAgICAgICBiYXNlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwiNDAwXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogXCI1cHhcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMTJweFwiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIxMnB4ICFpbXBvcnRhbnRcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCI3MDBcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJNYW5yb3BlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzhDOEM4QycsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBjYXJkRmllbGRzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjOEM4QzhDJ1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgc2F2ZUZvckZ1dHVyZUxhYmVsOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzhDOEM4QycsXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIG9yZGVyRGV0YWlsczoge1xyXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzhDOEM4QycsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB0b3RhbExhYmVsOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzhDOEM4QycsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB0b3RhbFZhbHVlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzhDOEM4QycsXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHN1Ym1pdDoge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhc2U6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcIiMyODMwM0FcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IFwiI0ZGRkZGRlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIjkwMCAhaW1wb3J0YW50XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogXCIxMnB4XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveFNoYWRvdzogXCIwIDAgOC41N3B4ICNmZjZiMDA2NiAhaW1wb3J0YW50XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogXCI0MHB4XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMTJweCAhaW1wb3J0YW50XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogXCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVMb2FkaW5nID0gKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoIWV2ZW50LmRldGFpbC5sb2FkaW5nICYmIHRoaXMuaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNTaG93ID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5zdGFydFRpbWVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZUNoZWNrb3V0UGF5bWVudFN1Y2Nlc3MgPSAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xvc2VEaWFsb2coZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZUNoZWNrb3V0UGF5bWVudEZhaWx1cmUgPSAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc3RvcFRpbWVyKCk7XHJcbiAgICAgICAgdGhpcy5pc1Nob3cgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNoZWNrb3V0RmFpbHVyZU1lc3NhZ2UgPSBldmVudC5kZXRhaWwubWVzc2FnZTtcclxuICAgIH1cclxuXHJcbiAgICBjbG9zZURpYWxvZyhpc0Nsb3NlQ2hlY2tvdXQgPSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5zdG9wVGltZXIoKTtcclxuICAgICAgICBpZih0aGlzLmNoZWNrb3V0VG9vbEtpdCAmJiBpc0Nsb3NlQ2hlY2tvdXQpIHtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tvdXRUb29sS2l0LmNsb3NlQ2hlY2tvdXQoKTtcclxuICAgICAgICAgICAgfSBjYXRjaChlcnIpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciB3aGVuIGNsb3NpbmcgY2hlY2tvdXRcIiwgZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNoZWNrb3V0VG9vbEtpdCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLmlzU2hvdyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuY2hlY2tvdXRGYWlsdXJlTWVzc2FnZSk7XHJcblx0fTtcclxuXHJcbiAgICBzdGFydFRpbWVyKCkge1xyXG4gICAgICAgIGlmKHRoaXMudmlzYU1hc3RlclRpbWVyKSB0aGlzLnN0b3BUaW1lcigpO1xyXG4gICAgICAgIHRoaXMudmlzYU1hc3RlclRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0aGlzLnZpc2FNYXN0ZXJUaW1lb3V0IDw9IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VEaWFsb2coKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnZpc2FNYXN0ZXJUaW1lb3V0LS07XHJcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheVRpbWVyID0gYCR7dGhpcy5wYWQoTWF0aC5mbG9vcih0aGlzLnZpc2FNYXN0ZXJUaW1lb3V0IC8gNjApKX06JHt0aGlzLnBhZCh0aGlzLnZpc2FNYXN0ZXJUaW1lb3V0ICUgNjApfWA7XHJcbiAgICAgICAgfSwgMTAwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RvcFRpbWVyKCkge1xyXG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy52aXNhTWFzdGVyVGltZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIHBhZChudW1iZXI6IG51bWJlcikge1xyXG4gICAgICAgIHJldHVybiBgJHtudW1iZXIgPCAxMCA/ICcwJyA6ICcnfSR7bnVtYmVyfWA7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheUNoZWNrb3V0KCkge1xyXG4gICAgICAgIGlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwicmFweWQtY2hlY2tvdXRcIikpIHtcclxuICAgICAgICAgICAgdGhpcy5jaGVja291dFRvb2xLaXQuZGlzcGxheUNoZWNrb3V0KCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlDaGVja291dCgpO1xyXG4gICAgICAgICAgICB9LCAxMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlzTW9iaWxlKCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIC8vIHJldHVybiBDb21tb25VdGlsLmlzTW9iaWxlVGVtcGxhdGUoKTtcclxuICAgIH1cclxufVxyXG4iLCJAaWYoaXNNb2JpbGUoKSkge1xyXG4gICAgPGRpdiBjbGFzcz1cInYtZGlhbG9nIG1vYmlsZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2LWZsZXgtY2VudGVyLWJldHdlZW4gaGVhZGVyIHRleHQtYmxhY2stY3NcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInYtZmxleC1jZW50ZXItbm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC04XCI+e3sgJ21vYmlsZV9wYXltZW50X2Zvcm1fdGl0bGUnIHwgdHJhbnNsb2NvIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInYtZmxleC1jZW50ZXItYmV0d2VlbiBtci04XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJjbG9zZURpYWxvZygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjIyXCIgaGVpZ2h0PVwiMjJcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEuMDEyMSAxMi4zOTU5TDE2LjY0NTUgMTguMDI5M0MxNi44MzMzIDE4LjIxMDcgMTcuMDg0OSAxOC4zMTExIDE3LjM0NiAxOC4zMDg4QzE3LjYwNzEgMTguMzA2NSAxNy44NTY5IDE4LjIwMTggMTguMDQxNSAxOC4wMTcyQzE4LjIyNjEgMTcuODMyNSAxOC4zMzA5IDE3LjU4MjggMTguMzMzMSAxNy4zMjE3QzE4LjMzNTQgMTcuMDYwNiAxOC4yMzUgMTYuODA5IDE4LjA1MzYgMTYuNjIxMkwxMi40MjAyIDEwLjk4NzhMMTguMDUzNiA1LjM1NDMxQzE4LjIzNSA1LjE2NjQ5IDE4LjMzNTQgNC45MTQ5NCAxOC4zMzMxIDQuNjUzODRDMTguMzMwOSA0LjM5MjczIDE4LjIyNjEgNC4xNDI5NyAxOC4wNDE1IDMuOTU4MzNDMTcuODU2OSAzLjc3MzY5IDE3LjYwNzEgMy42Njg5NiAxNy4zNDYgMy42NjY2OUMxNy4wODQ5IDMuNjY0NDMgMTYuODMzMyAzLjc2NDggMTYuNjQ1NSAzLjk0NjJMMTEuMDEyMSA5LjU3OTY0TDUuMzc4NjMgMy45NDYyQzUuMTg5OTcgMy43NjkyOCA0LjkzOTg4IDMuNjcyNzEgNC42ODEyOCAzLjY3NjkxQzQuNDIyNjggMy42ODExMSA0LjE3NTg1IDMuNzg1NzUgMy45OTMwNCAzLjk2ODdDMy44MTAyMiA0LjE1MTY1IDMuNzA1NzUgNC4zOTg1NCAzLjcwMTczIDQuNjU3MTVDMy42OTc3MiA0LjkxNTc1IDMuNzk0NDcgNS4xNjU3NyAzLjk3MTUyIDUuMzU0MzFMOS42MDM5NiAxMC45ODc4TDMuOTcwNTIgMTYuNjIxMkMzLjg3NTQxIDE2LjcxMzEgMy43OTk1NCAxNi44MjI5IDMuNzQ3MzUgMTYuOTQ0NEMzLjY5NTE2IDE3LjA2NTkgMy42Njc2OSAxNy4xOTY2IDMuNjY2NTQgMTcuMzI4OEMzLjY2NTM5IDE3LjQ2MTEgMy42OTA1OSAxNy41OTIyIDMuNzQwNjYgMTcuNzE0NkMzLjc5MDczIDE3LjgzNyAzLjg2NDY4IDE3Ljk0ODEgMy45NTgxOCAxOC4wNDE2QzQuMDUxNjggMTguMTM1MiA0LjE2Mjg3IDE4LjIwOTEgNC4yODUyNSAxOC4yNTkyQzQuNDA3NjQgMTguMzA5MiA0LjUzODc3IDE4LjMzNDQgNC42NzA5OSAxOC4zMzMzQzQuODAzMjIgMTguMzMyMSA0LjkzMzg5IDE4LjMwNDcgNS4wNTUzOSAxOC4yNTI1QzUuMTc2ODggMTguMjAwMyA1LjI4Njc3IDE4LjEyNDQgNS4zNzg2MyAxOC4wMjkzTDExLjAxMjEgMTIuMzk1OVpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIEBpZiAoaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInYtc3Bpbm5lclwiPlxyXG4gICAgICAgICAgICA8bWF0LXNwaW5uZXIgZGlhbWV0ZXI9XCI1MFwiIHN0cm9rZVdpZHRoPVwiNFwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2LWNvbnRlbnRcIiBpZD1cImRlcG9zaXQtaWRcIj5cclxuICAgICAgICAgICAgQGlmICghaXNMb2FkaW5nICYmICFpc1Nob3cpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZpc2EtY2FyZC1tZXNzYWdlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAndmlzYUNhcmRFcnJvck1lc3NhZ2UnIHwgdHJhbnNsb2NvIH19IDxicj4ge3sgJ3Zpc2FDYXJkRXJyb3JNZXNzYWdlMicgfCB0cmFuc2xvY28gfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZvZGRzLWNoZWNrb3V0LWRlcG9zaXRcIj5cclxuICAgICAgICAgICAgICAgIEBpZighaXNMb2FkaW5nICYmIGlzU2hvdykge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZvZGRzLWNoZWNrb3V0LWV4cGlyYXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMTQgMTVcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNyAyLjU2MDY3QzkuNzYxNDIgMi41NjA2NyAxMiA0Ljc5OTI1IDEyIDcuNTYwNjdDMTIgMTAuMzIyMSA5Ljc2MTQyIDEyLjU2MDcgNyAxMi41NjA3QzQuMjM4NTggMTIuNTYwNyAyIDEwLjMyMjEgMiA3LjU2MDY3QzIgNC43OTkyNSA0LjIzODU4IDIuNTYwNjcgNyAyLjU2MDY3Wk02LjI1IDQuMDYwNjdWNy45MzU2N0w2LjU0OTggOC4xNjAyOEw4LjU0OTggOS42NjAyOEw5LjQ1MDIgOC40NjEwNkw3Ljc1IDcuMTg1NjdWNC4wNjA2N0g2LjI1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzhDOEM4Q1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPVwiMTAuMDMwM1wiIHkxPVwiMC41MzAzMzlcIiB4Mj1cIjEyLjg1ODhcIiB5Mj1cIjMuMzU4NzdcIiBzdHJva2U9XCIjOEM4QzhDXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmUgeTE9XCItMC43NVwiIHgyPVwiNFwiIHkyPVwiLTAuNzVcIiB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuNzA3MTA3IDAuNzA3MTA3IDAuNzA3MTA3IDAuNzA3MTA3IDQuODI4NDMgMS4wNjA2NylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzhDOEM4Q1wiIHN0cm9rZS13aWR0aD1cIjEuNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ3Zpc2FDYXJkVGltZW91dCcgfCB0cmFuc2xvY28gfX0gPHNwYW4gY2xhc3M9XCJjb3VudGRvd24tdGltZXJcIj57e2Rpc3BsYXlUaW1lcn19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cInJhcHlkLWNoZWNrb3V0XCIgY2xhc3M9XCJpZnJhbWUtd3JhcHBlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG59IEBlbHNlIHtcclxuICAgIDxkaXYgaWQ9XCJ2aXNhLWNhcmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9wXCI+XHJcbiAgICAgICAgICAgIDxoMj57eyAncGF5bWVudF9mb3JtX3RpdGxlJyB8IHRyYW5zbG9jbyB9fTwvaDI+XHJcbiAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJjbHNidG4gbXktYWNjb3VudFwiIChjbGljayk9XCJjbG9zZURpYWxvZygpXCIgd2lkdGg9XCIxMVwiIGhlaWdodD1cIjExXCIgdmlld0JveD1cIjAgMCAxMSAxMVwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgZD1cIk05Ljg5MjE0IDBMNS41IDQuMzkyMTRMMS4xMDc4NiAwTDAgMS4xMDc4Nkw0LjM5MjE0IDUuNUwwIDkuODkyMTRMMS4xMDc4NiAxMUw1LjUgNi42MDc4Nkw5Ljg5MjE0IDExTDExIDkuODkyMTRMNi42MDc4NiA1LjVMMTEgMS4xMDc4Nkw5Ljg5MjE0IDBaXCJcclxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPHZvZGRzLWxvYWRlciBbc2hvd0FqYXhMb2FkZXJdPVwiaXNMb2FkaW5nXCI+PC92b2Rkcy1sb2FkZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgQGlmICghaXNMb2FkaW5nICYmICFpc1Nob3cpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwidmlzYS1jYXJkLW1lc3NhZ2VcIj5cclxuICAgICAgICAgICAge3sgJ3Zpc2FDYXJkRXJyb3JNZXNzYWdlJyB8IHRyYW5zbG9jbyB9fSA8YnI+IHt7ICd2aXNhQ2FyZEVycm9yTWVzc2FnZTInIHwgdHJhbnNsb2NvIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2aXNhLWNhcmQtZm9ybVwiIFtzdHlsZV09XCJ7ZGlzcGxheTogaXNTaG93ID8gJ2ZsZXgnIDogJ25vbmUnfVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxNCAxNFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcgMi41NjA2N0M5Ljc2MTQyIDIuNTYwNjcgMTIgNC43OTkyNSAxMiA3LjU2MDY3QzEyIDEwLjMyMjEgOS43NjE0MiAxMi41NjA3IDcgMTIuNTYwN0M0LjIzODU4IDEyLjU2MDcgMiAxMC4zMjIxIDIgNy41NjA2N0MyIDQuNzk5MjUgNC4yMzg1OCAyLjU2MDY3IDcgMi41NjA2N1pNNi4yNSA0LjA2MDY3VjcuOTM1NjdMNi41NDk4IDguMTYwMjhMOC41NDk4IDkuNjYwMjhMOS40NTAyIDguNDYxMDZMNy43NSA3LjE4NTY3VjQuMDYwNjdINi4yNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0I1QjVCNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9XCIxMC4wMzAzXCIgeTE9XCIwLjUzMDMzOVwiIHgyPVwiMTIuODU4OFwiIHkyPVwiMy4zNTg3N1wiIHN0cm9rZT1cIiNCNUI1QjVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaW5lIHkxPVwiLTAuNzVcIiB4Mj1cIjRcIiB5Mj1cIi0wLjc1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjcwNzEwNyAwLjcwNzEwNyAwLjcwNzEwNyAwLjcwNzEwNyA0LjgyODYxIDEuMDYwNjcpXCIgc3Ryb2tlPVwiI0I1QjVCNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuNVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj4mbmJzcDt7eyAndmlzYUNhcmRUaW1lb3V0JyB8IHRyYW5zbG9jbyB9fSZuYnNwOzwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJkaXNwbGF5LXRpbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2Rpc3BsYXlUaW1lcn19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBpZD1cInJhcHlkLWNoZWNrb3V0XCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxufSJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class VoddsLoaderComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.message = '';
|
|
6
|
+
this.showAjaxLoader = false;
|
|
7
|
+
}
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VoddsLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: VoddsLoaderComponent, isStandalone: true, selector: "vodds-loader", inputs: { message: "message", showAjaxLoader: "showAjaxLoader" }, ngImport: i0, template: "@if (showAjaxLoader) {\r\n <div class=\"load-indicator\">\r\n <img src=\"https://cdn.voddos.net/vodds/static/ajax-loader16.gif\">\r\n {{message != undefined ? message : ''}}\r\n </div>\r\n}\r\n", styles: [""] }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VoddsLoaderComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ selector: 'vodds-loader', standalone: true, imports: [], template: "@if (showAjaxLoader) {\r\n <div class=\"load-indicator\">\r\n <img src=\"https://cdn.voddos.net/vodds/static/ajax-loader16.gif\">\r\n {{message != undefined ? message : ''}}\r\n </div>\r\n}\r\n" }]
|
|
14
|
+
}], propDecorators: { message: [{
|
|
15
|
+
type: Input
|
|
16
|
+
}], showAjaxLoader: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}] } });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9kZHMtbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VwcC1saWIvc3JjL2xpYi9jb21wb25lbnQvdm9kZHMtbG9hZGVyL3ZvZGRzLWxvYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcHAtbGliL3NyYy9saWIvY29tcG9uZW50L3ZvZGRzLWxvYWRlci92b2Rkcy1sb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBU2pELE1BQU0sT0FBTyxvQkFBb0I7SUFQakM7UUFRVyxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLG1CQUFjLEdBQVksS0FBSyxDQUFDO0tBQzFDOytHQUhZLG9CQUFvQjttR0FBcEIsb0JBQW9CLDBJQ1RqQywyTUFNQTs7NEZER2Esb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsRUFBRTs4QkFLRixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndm9kZHMtbG9hZGVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi92b2Rkcy1sb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi92b2Rkcy1sb2FkZXIuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWb2Rkc0xvYWRlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbWVzc2FnZTogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgc2hvd0FqYXhMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxufVxyXG4iLCJAaWYgKHNob3dBamF4TG9hZGVyKSB7XHJcbiAgPGRpdiBjbGFzcz1cImxvYWQtaW5kaWNhdG9yXCI+XHJcbiAgICA8aW1nIHNyYz1cImh0dHBzOi8vY2RuLnZvZGRvcy5uZXQvdm9kZHMvc3RhdGljL2FqYXgtbG9hZGVyMTYuZ2lmXCI+XHJcbiAgICB7e21lc3NhZ2UgIT0gdW5kZWZpbmVkID8gbWVzc2FnZSA6ICcnfX1cclxuICA8L2Rpdj5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export var BroadcastEventType;
|
|
2
|
+
(function (BroadcastEventType) {
|
|
3
|
+
BroadcastEventType[BroadcastEventType["COMPLETE_RAPYD"] = 0] = "COMPLETE_RAPYD";
|
|
4
|
+
})(BroadcastEventType || (BroadcastEventType = {}));
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvYWRjYXN0LWV2ZW50LXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcHAtbGliL3NyYy9saWIvbW9kZWwvYnJvYWRjYXN0L2Jyb2FkY2FzdC1ldmVudC10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGtCQUVYO0FBRkQsV0FBWSxrQkFBa0I7SUFDMUIsK0VBQWMsQ0FBQTtBQUNsQixDQUFDLEVBRlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUU3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEJyb2FkY2FzdEV2ZW50VHlwZSB7XHJcbiAgICBDT01QTEVURV9SQVBZRFxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWJyb2FkY2FzdC1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VwcC1saWIvc3JjL2xpYi9tb2RlbC9icm9hZGNhc3QvaWJyb2FkY2FzdC1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJvYWRjYXN0RXZlbnRUeXBlIH0gZnJvbSBcIi4vYnJvYWRjYXN0LWV2ZW50LXR5cGVcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUJyb2FkY2FzdEV2ZW50IHsgICAgXHJcbiAgICBnZXRFdmVudFR5cGUoKTogQnJvYWRjYXN0RXZlbnRUeXBlO1xyXG4gICAgZ2V0RXZlbnREYXRhKCk6IGFueTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Subject, takeUntil, timer } from "rxjs";
|
|
2
|
+
export class CountDownTime {
|
|
3
|
+
constructor(initTime) {
|
|
4
|
+
this.isStart = false;
|
|
5
|
+
this.isStop = false;
|
|
6
|
+
this.nextRound = false;
|
|
7
|
+
this.initTime = 0;
|
|
8
|
+
this.timeLeft = 0;
|
|
9
|
+
this.isCancel = false;
|
|
10
|
+
this.destroy$ = new Subject();
|
|
11
|
+
this.initTime = initTime;
|
|
12
|
+
}
|
|
13
|
+
start() {
|
|
14
|
+
this.isStart = true;
|
|
15
|
+
this.isStop = false;
|
|
16
|
+
this.timeLeft = this.initTime;
|
|
17
|
+
}
|
|
18
|
+
stop() {
|
|
19
|
+
this.isStart = false;
|
|
20
|
+
this.isStop = true;
|
|
21
|
+
this.timeLeft = 0;
|
|
22
|
+
this.nextRound = true;
|
|
23
|
+
}
|
|
24
|
+
downTime() {
|
|
25
|
+
this.timeLeft = this.timeLeft - 1;
|
|
26
|
+
}
|
|
27
|
+
cancel() {
|
|
28
|
+
this.isCancel = true;
|
|
29
|
+
this.stop();
|
|
30
|
+
}
|
|
31
|
+
oberserableTimer(isStop) {
|
|
32
|
+
timer(0, 1000)
|
|
33
|
+
.pipe(takeUntil(this.destroy$))
|
|
34
|
+
.subscribe(val => {
|
|
35
|
+
if (this.timeLeft === 0) {
|
|
36
|
+
if (this.isStart) {
|
|
37
|
+
this.stop();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this.downTime();
|
|
42
|
+
}
|
|
43
|
+
if (this.nextRound) {
|
|
44
|
+
this.nextRound = false;
|
|
45
|
+
if (isStop) {
|
|
46
|
+
isStop.emit();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
onDestroy() {
|
|
52
|
+
this.destroy$.next();
|
|
53
|
+
this.destroy$.complete();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQtZG93bi10aW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXBwLWxpYi9zcmMvbGliL21vZGVsL2NvdW50LWRvd24tdGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakQsTUFBTSxPQUFPLGFBQWE7SUFTekIsWUFBWSxRQUFnQjtRQVI1QixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3RCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDeEIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFDbEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUNsQixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUd6QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMxQixDQUFDO0lBRUQsS0FBSztRQUNKLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSTtRQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ0UsTUFBTTtRQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsTUFBVztRQUN4QixLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQzthQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNiLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2YsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNoQixDQUFDO1lBQ0wsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQixDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUNULE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbEIsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFDRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCwgdGltZXIgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIENvdW50RG93blRpbWUge1xyXG5cdGlzU3RhcnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGlzU3RvcDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgbmV4dFJvdW5kOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBpbml0VGltZTogbnVtYmVyID0gMDtcclxuXHR0aW1lTGVmdDogbnVtYmVyID0gMDtcclxuICAgIGlzQ2FuY2VsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcblx0Y29uc3RydWN0b3IoaW5pdFRpbWU6IG51bWJlcikge1xyXG5cdFx0dGhpcy5pbml0VGltZSA9IGluaXRUaW1lO1xyXG5cdH1cclxuXHJcblx0c3RhcnQoKSB7XHJcblx0XHR0aGlzLmlzU3RhcnQgPSB0cnVlO1xyXG5cdFx0dGhpcy5pc1N0b3AgPSBmYWxzZTtcclxuXHRcdHRoaXMudGltZUxlZnQgPSB0aGlzLmluaXRUaW1lO1xyXG5cdH1cclxuXHJcblx0c3RvcCgpIHtcclxuXHRcdHRoaXMuaXNTdGFydCA9IGZhbHNlO1xyXG5cdFx0dGhpcy5pc1N0b3AgPSB0cnVlO1xyXG5cdFx0dGhpcy50aW1lTGVmdCA9IDA7XHJcblx0XHR0aGlzLm5leHRSb3VuZCA9IHRydWU7XHJcblx0fVxyXG5cclxuXHRkb3duVGltZSgpIHtcclxuXHRcdHRoaXMudGltZUxlZnQgPSB0aGlzLnRpbWVMZWZ0IC0gMTtcclxuXHR9XHJcbiAgICBjYW5jZWwoKSB7XHJcbiAgICAgICAgdGhpcy5pc0NhbmNlbCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zdG9wKCk7XHJcbiAgICB9XHJcbiAgICBvYmVyc2VyYWJsZVRpbWVyKGlzU3RvcDogYW55KSB7XHJcbiAgICAgICAgdGltZXIoMCwgMTAwMClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHZhbCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50aW1lTGVmdCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzU3RhcnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvd25UaW1lKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5uZXh0Um91bmQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5leHRSb3VuZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpc1N0b3ApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNTdG9wLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgb25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
export class Domain {
|
|
2
2
|
constructor() {
|
|
3
3
|
this.defaultDomain = '';
|
|
4
|
-
this.allowedOrigins = ['http://localhost:9000'];
|
|
4
|
+
this.allowedOrigins = ['http://localhost:9000', 'http://localhost:4200'];
|
|
5
5
|
this.specialDomain = [];
|
|
6
6
|
this.jetonDomain = '';
|
|
7
|
+
this.ecopayzDomain = '';
|
|
8
|
+
this.rapydDomain = 'https://sandboxcheckout.rapyd.net';
|
|
7
9
|
}
|
|
8
10
|
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXBwLWxpYi9zcmMvbGliL21vZGVsL2RvbWFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sTUFBTTtJQU9mO1FBTkEsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFDM0IsbUJBQWMsR0FBYSxDQUFDLHVCQUF1QixFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDOUUsa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFDN0IsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFDM0IsZ0JBQVcsR0FBVyxtQ0FBbUMsQ0FBQztJQUMzQyxDQUFDO0NBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIERvbWFpbiB7XHJcbiAgICBkZWZhdWx0RG9tYWluOiBzdHJpbmcgPSAnJztcclxuICAgIGFsbG93ZWRPcmlnaW5zOiBzdHJpbmdbXSA9IFsnaHR0cDovL2xvY2FsaG9zdDo5MDAwJywgJ2h0dHA6Ly9sb2NhbGhvc3Q6NDIwMCddO1xyXG4gICAgc3BlY2lhbERvbWFpbjogc3RyaW5nW10gPSBbXTtcclxuICAgIGpldG9uRG9tYWluOiBzdHJpbmcgPSAnJztcclxuICAgIGVjb3BheXpEb21haW46IHN0cmluZyA9ICcnO1xyXG4gICAgcmFweWREb21haW46IHN0cmluZyA9ICdodHRwczovL3NhbmRib3hjaGVja291dC5yYXB5ZC5uZXQnO1xyXG4gICAgY29uc3RydWN0b3IoKSB7fVxyXG59XHJcbiJdfQ==
|