@osovitny/anatoly 3.17.111 → 3.17.112
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/billing/billing.module.mjs +19 -13
- package/esm2022/lib/billing/components/buttons/buyaccess-button.component.mjs +108 -0
- package/esm2022/lib/billing/components/buttons/subscribe-plan-button.component.mjs +119 -0
- package/esm2022/lib/billing/components/exports.mjs +7 -5
- package/esm2022/lib/billing/components/index.mjs +9 -7
- package/esm2022/lib/billing/components/pm/braintree/braintree.component.mjs +155 -0
- package/esm2022/lib/billing/components/pm/paypal/paypal-button.component.mjs +157 -0
- package/esm2022/lib/billing/components/pm/paypal/paypal.component.mjs +316 -0
- package/esm2022/lib/billing/components/pm/stripe/stripe.component.mjs +109 -0
- package/esm2022/lib/ui/components/exports.mjs +1 -4
- package/esm2022/lib/ui/components/index.mjs +1 -6
- package/esm2022/lib/ui/ui.module.mjs +37 -39
- package/fesm2022/osovitny-anatoly.mjs +1697 -1695
- package/fesm2022/osovitny-anatoly.mjs.map +1 -1
- package/lib/billing/billing.module.d.ts +15 -12
- package/lib/{ui/components/billing → billing/components/buttons}/buyaccess-button.component.d.ts +1 -1
- package/lib/{ui/components/billing → billing/components/buttons}/subscribe-plan-button.component.d.ts +1 -1
- package/lib/billing/components/exports.d.ts +6 -4
- package/lib/billing/components/index.d.ts +2 -2
- package/lib/billing/components/{braintree → pm/braintree}/braintree.component.d.ts +3 -3
- package/lib/billing/components/{paypal → pm/paypal}/paypal-button.component.d.ts +3 -3
- package/lib/billing/components/{paypal → pm/paypal}/paypal.component.d.ts +2 -2
- package/lib/billing/components/{stripe → pm/stripe}/stripe.component.d.ts +2 -2
- package/lib/ui/components/exports.d.ts +0 -2
- package/lib/ui/components/index.d.ts +2 -2
- package/lib/ui/forms/index.d.ts +1 -1
- package/lib/ui/pipes/index.d.ts +1 -1
- package/lib/ui/ui.module.d.ts +42 -44
- package/package.json +1 -1
- package/esm2022/lib/billing/components/braintree/braintree.component.mjs +0 -155
- package/esm2022/lib/billing/components/paypal/paypal-button.component.mjs +0 -157
- package/esm2022/lib/billing/components/paypal/paypal.component.mjs +0 -316
- package/esm2022/lib/billing/components/stripe/stripe.component.mjs +0 -109
- package/esm2022/lib/ui/components/billing/buyaccess-button.component.mjs +0 -108
- package/esm2022/lib/ui/components/billing/subscribe-plan-button.component.mjs +0 -119
|
@@ -17,22 +17,25 @@
|
|
|
17
17
|
import { NgModule } from '@angular/core';
|
|
18
18
|
import { CommonModule } from '@angular/common';
|
|
19
19
|
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
|
|
20
|
-
//
|
|
20
|
+
//Modules
|
|
21
21
|
import { FaModule } from '../external/fa.module';
|
|
22
22
|
import { KendoModule } from '../external/kendo.module';
|
|
23
|
+
import { AnatolyUIModule } from '../ui/ui.module';
|
|
23
24
|
//App
|
|
24
25
|
import { ScriptService } from '../core/services/script.service';
|
|
25
26
|
import { PayPalScriptService } from './services/paypal-script.service';
|
|
26
27
|
import { PaymentsService } from './services/payments.service';
|
|
27
28
|
import { COMPONENTS } from './components';
|
|
28
29
|
import * as i0 from "@angular/core";
|
|
29
|
-
import * as i1 from "./components/
|
|
30
|
-
import * as i2 from "./components/
|
|
31
|
-
import * as i3 from "./components/
|
|
32
|
-
import * as i4 from "./components/
|
|
33
|
-
import * as i5 from "./components/
|
|
34
|
-
import * as i6 from "./components/braintree/braintree.component";
|
|
35
|
-
import * as i7 from "./components/
|
|
30
|
+
import * as i1 from "./components/buttons/buyaccess-button.component";
|
|
31
|
+
import * as i2 from "./components/buttons/subscribe-plan-button.component";
|
|
32
|
+
import * as i3 from "./components/order-summary/order-summary.component";
|
|
33
|
+
import * as i4 from "./components/payment-methods/payment-methods.component";
|
|
34
|
+
import * as i5 from "./components/payment-options/payment-options.component";
|
|
35
|
+
import * as i6 from "./components/pm/braintree/braintree.component";
|
|
36
|
+
import * as i7 from "./components/pm/paypal/paypal-button.component";
|
|
37
|
+
import * as i8 from "./components/pm/paypal/paypal.component";
|
|
38
|
+
import * as i9 from "./components/pm/stripe/stripe.component";
|
|
36
39
|
export class AnatolyBillingModule {
|
|
37
40
|
static { this.ɵfac = function AnatolyBillingModule_Factory(t) { return new (t || AnatolyBillingModule)(); }; }
|
|
38
41
|
static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: AnatolyBillingModule }); }
|
|
@@ -44,7 +47,8 @@ export class AnatolyBillingModule {
|
|
|
44
47
|
ReactiveFormsModule,
|
|
45
48
|
FormsModule,
|
|
46
49
|
FaModule,
|
|
47
|
-
KendoModule
|
|
50
|
+
KendoModule,
|
|
51
|
+
AnatolyUIModule] }); }
|
|
48
52
|
}
|
|
49
53
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnatolyBillingModule, [{
|
|
50
54
|
type: NgModule,
|
|
@@ -54,7 +58,8 @@ export class AnatolyBillingModule {
|
|
|
54
58
|
ReactiveFormsModule,
|
|
55
59
|
FormsModule,
|
|
56
60
|
FaModule,
|
|
57
|
-
KendoModule
|
|
61
|
+
KendoModule,
|
|
62
|
+
AnatolyUIModule
|
|
58
63
|
],
|
|
59
64
|
declarations: [
|
|
60
65
|
COMPONENTS
|
|
@@ -69,9 +74,10 @@ export class AnatolyBillingModule {
|
|
|
69
74
|
]
|
|
70
75
|
}]
|
|
71
76
|
}], null, null); })();
|
|
72
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AnatolyBillingModule, { declarations: [i1.
|
|
77
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AnatolyBillingModule, { declarations: [i1.BuyAccessButtonComponent, i2.SubscribePlanButtonComponent, i3.OrderSummaryComponent, i4.PaymentMethodsComponent, i5.PaymentOptionsComponent, i6.BraintreeDialog, i7.PaypalButtonComponent, i8.PayPalComponent, i9.StripeDialog], imports: [CommonModule,
|
|
73
78
|
ReactiveFormsModule,
|
|
74
79
|
FormsModule,
|
|
75
80
|
FaModule,
|
|
76
|
-
KendoModule
|
|
77
|
-
|
|
81
|
+
KendoModule,
|
|
82
|
+
AnatolyUIModule], exports: [i1.BuyAccessButtonComponent, i2.SubscribePlanButtonComponent, i3.OrderSummaryComponent, i4.PaymentMethodsComponent, i5.PaymentOptionsComponent, i6.BraintreeDialog, i7.PaypalButtonComponent, i8.PayPalComponent, i9.StripeDialog] }); })();
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvYmlsbGluZy9iaWxsaW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsU0FBUztBQUNULE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRWpELEtBQUs7QUFDTCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7O0FBd0IxQyxNQUFNLE9BQU8sb0JBQW9CO3FGQUFwQixvQkFBb0I7bUVBQXBCLG9CQUFvQjt3RUFOcEI7WUFDVCxhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLGVBQWU7U0FDaEIsWUFsQkMsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixXQUFXO1lBRVgsUUFBUTtZQUNSLFdBQVc7WUFDWCxlQUFlOztpRkFjTixvQkFBb0I7Y0F0QmhDLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixtQkFBbUI7b0JBQ25CLFdBQVc7b0JBRVgsUUFBUTtvQkFDUixXQUFXO29CQUNYLGVBQWU7aUJBQ2hCO2dCQUNELFlBQVksRUFBRTtvQkFDWixVQUFVO2lCQUNYO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxVQUFVO2lCQUNYO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxhQUFhO29CQUNiLG1CQUFtQjtvQkFDbkIsZUFBZTtpQkFDaEI7YUFDRjs7d0ZBQ1ksb0JBQW9CLGlRQXBCN0IsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixXQUFXO1FBRVgsUUFBUTtRQUNSLFdBQVc7UUFDWCxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDE0IEp1biAyMDI0XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vL01vZHVsZXNcclxuaW1wb3J0IHsgRmFNb2R1bGUgfSBmcm9tICcuLi9leHRlcm5hbC9mYS5tb2R1bGUnXHJcbmltcG9ydCB7IEtlbmRvTW9kdWxlIH0gZnJvbSAnLi4vZXh0ZXJuYWwva2VuZG8ubW9kdWxlJ1xyXG5pbXBvcnQgeyBBbmF0b2x5VUlNb2R1bGUgfSBmcm9tICcuLi91aS91aS5tb2R1bGUnXHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBTY3JpcHRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNlcy9zY3JpcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFBheVBhbFNjcmlwdFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3BheXBhbC1zY3JpcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFBheW1lbnRzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcGF5bWVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IENPTVBPTkVOVFMgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcblxyXG4gICAgRmFNb2R1bGUsXHJcbiAgICBLZW5kb01vZHVsZSxcclxuICAgIEFuYXRvbHlVSU1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBDT01QT05FTlRTXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBDT01QT05FTlRTXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIFNjcmlwdFNlcnZpY2UsXHJcbiAgICBQYXlQYWxTY3JpcHRTZXJ2aWNlLFxyXG4gICAgUGF5bWVudHNTZXJ2aWNlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5hdG9seUJpbGxpbmdNb2R1bGUge1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny vadim.osovitny@osovitny.com
|
|
8
|
+
Anatoly Osovitny anatoly.osovitny@osovitny.com
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
14 Aug 2018
|
|
12
|
+
|
|
13
|
+
Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
|
|
14
|
+
</file>
|
|
15
|
+
*/
|
|
16
|
+
//Node
|
|
17
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "../../../core/services/appcontext.service";
|
|
20
|
+
import * as i2 from "@angular/common";
|
|
21
|
+
import * as i3 from "../../../ui/components/identity/signup-button.component";
|
|
22
|
+
function BuyAccessButtonComponent_div_0_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
i0.ɵɵelementStart(0, "div");
|
|
24
|
+
i0.ɵɵelement(1, "anatoly-signup-button", 1);
|
|
25
|
+
i0.ɵɵelementEnd();
|
|
26
|
+
} }
|
|
27
|
+
function BuyAccessButtonComponent_div_0_div_2_button_1_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
+
i0.ɵɵelementStart(0, "button", 4);
|
|
29
|
+
i0.ɵɵtext(1, " Your Plan ");
|
|
30
|
+
i0.ɵɵelementEnd();
|
|
31
|
+
} }
|
|
32
|
+
function BuyAccessButtonComponent_div_0_div_2_button_2_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
34
|
+
i0.ɵɵelementStart(0, "button", 5);
|
|
35
|
+
i0.ɵɵlistener("click", function BuyAccessButtonComponent_div_0_div_2_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r5.onPlanSelect()); });
|
|
36
|
+
i0.ɵɵtext(1, " Buy Now ");
|
|
37
|
+
i0.ɵɵelementEnd();
|
|
38
|
+
} }
|
|
39
|
+
function BuyAccessButtonComponent_div_0_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
40
|
+
i0.ɵɵelementStart(0, "div");
|
|
41
|
+
i0.ɵɵtemplate(1, BuyAccessButtonComponent_div_0_div_2_button_1_Template, 2, 0, "button", 2)(2, BuyAccessButtonComponent_div_0_div_2_button_2_Template, 2, 0, "button", 3);
|
|
42
|
+
i0.ɵɵelementEnd();
|
|
43
|
+
} if (rf & 2) {
|
|
44
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
45
|
+
i0.ɵɵadvance();
|
|
46
|
+
i0.ɵɵproperty("ngIf", ctx_r2.plan == ctx_r2.currentPlan);
|
|
47
|
+
i0.ɵɵadvance();
|
|
48
|
+
i0.ɵɵproperty("ngIf", ctx_r2.plan != ctx_r2.currentPlan && ctx_r2.currentPlan == 1);
|
|
49
|
+
} }
|
|
50
|
+
function BuyAccessButtonComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
51
|
+
i0.ɵɵelementStart(0, "div");
|
|
52
|
+
i0.ɵɵtemplate(1, BuyAccessButtonComponent_div_0_div_1_Template, 2, 0, "div", 0)(2, BuyAccessButtonComponent_div_0_div_2_Template, 3, 2, "div", 0);
|
|
53
|
+
i0.ɵɵelementEnd();
|
|
54
|
+
} if (rf & 2) {
|
|
55
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
56
|
+
i0.ɵɵadvance();
|
|
57
|
+
i0.ɵɵproperty("ngIf", !ctx_r0.isUserSignedIn);
|
|
58
|
+
i0.ɵɵadvance();
|
|
59
|
+
i0.ɵɵproperty("ngIf", ctx_r0.isUserSignedIn && ctx_r0.visibleIfUserSignedIn);
|
|
60
|
+
} }
|
|
61
|
+
export class BuyAccessButtonComponent {
|
|
62
|
+
constructor(appContext) {
|
|
63
|
+
this.appContext = appContext;
|
|
64
|
+
this.contextUpdated = false;
|
|
65
|
+
this.isUserSignedIn = false;
|
|
66
|
+
this.currentPlan = -1;
|
|
67
|
+
this.currentPlanTitle = '';
|
|
68
|
+
this.visibleIfUserSignedIn = false;
|
|
69
|
+
this.planselect = new EventEmitter();
|
|
70
|
+
}
|
|
71
|
+
ngOnInit() {
|
|
72
|
+
this.appContext.updated$.subscribe((context) => {
|
|
73
|
+
if (!context) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
this.isUserSignedIn = context.isUserSignedIn;
|
|
77
|
+
if (this.isUserSignedIn) {
|
|
78
|
+
this.currentPlan = context.account.billingPlan;
|
|
79
|
+
this.currentPlanTitle = context.account.billingPlanAsString;
|
|
80
|
+
}
|
|
81
|
+
this.contextUpdated = true;
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
//Events
|
|
85
|
+
onPlanSelect() {
|
|
86
|
+
this.planselect.emit(this.plan);
|
|
87
|
+
}
|
|
88
|
+
static { this.ɵfac = function BuyAccessButtonComponent_Factory(t) { return new (t || BuyAccessButtonComponent)(i0.ɵɵdirectiveInject(i1.AppContextService)); }; }
|
|
89
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BuyAccessButtonComponent, selectors: [["anatoly-billing-buyaccess-button"]], inputs: { plan: "plan", planTitle: "planTitle", visibleIfUserSignedIn: "visibleIfUserSignedIn" }, outputs: { planselect: "planselect" }, decls: 1, vars: 1, consts: [[4, "ngIf"], ["classes", "btn btn-block btn-primary"], ["class", "btn btn-block btn-success selectPlan", 4, "ngIf"], ["class", "btn btn-block btn-warning selectPlan", 3, "click", 4, "ngIf"], [1, "btn", "btn-block", "btn-success", "selectPlan"], [1, "btn", "btn-block", "btn-warning", "selectPlan", 3, "click"]], template: function BuyAccessButtonComponent_Template(rf, ctx) { if (rf & 1) {
|
|
90
|
+
i0.ɵɵtemplate(0, BuyAccessButtonComponent_div_0_Template, 3, 2, "div", 0);
|
|
91
|
+
} if (rf & 2) {
|
|
92
|
+
i0.ɵɵproperty("ngIf", ctx.contextUpdated);
|
|
93
|
+
} }, dependencies: [i2.NgIf, i3.SignUpButtonComponent], encapsulation: 2 }); }
|
|
94
|
+
}
|
|
95
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BuyAccessButtonComponent, [{
|
|
96
|
+
type: Component,
|
|
97
|
+
args: [{ selector: 'anatoly-billing-buyaccess-button', template: "<div *ngIf=\"contextUpdated\">\r\n <div *ngIf=\"!isUserSignedIn\">\r\n <anatoly-signup-button classes=\"btn btn-block btn-primary\"></anatoly-signup-button>\r\n </div>\r\n\r\n <div *ngIf=\"isUserSignedIn && visibleIfUserSignedIn\">\r\n <button class=\"btn btn-block btn-success selectPlan\"\r\n *ngIf=\"plan == currentPlan\">\r\n Your Plan\r\n </button>\r\n\r\n <button class=\"btn btn-block btn-warning selectPlan\"\r\n *ngIf=\"plan != currentPlan && currentPlan == 1\"\r\n (click)=\"onPlanSelect()\">\r\n Buy Now\r\n </button>\r\n </div>\r\n</div>\r\n" }]
|
|
98
|
+
}], () => [{ type: i1.AppContextService }], { plan: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], planTitle: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], visibleIfUserSignedIn: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], planselect: [{
|
|
105
|
+
type: Output
|
|
106
|
+
}] }); })();
|
|
107
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BuyAccessButtonComponent, { className: "BuyAccessButtonComponent", filePath: "lib\\billing\\components\\buttons\\buyaccess-button.component.ts", lineNumber: 27 }); })();
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV5YWNjZXNzLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvYmlsbGluZy9jb21wb25lbnRzL2J1dHRvbnMvYnV5YWNjZXNzLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvYmlsbGluZy9jb21wb25lbnRzL2J1dHRvbnMvYnV5YWNjZXNzLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7Ozs7SUNoQjNFLDJCQUE2QjtJQUMzQiwyQ0FBbUY7SUFDckYsaUJBQU07OztJQUdKLGlDQUNvQztJQUNsQywyQkFDRjtJQUFBLGlCQUFTOzs7O0lBRVQsaUNBRWlDO0lBQXpCLHFMQUFTLGVBQUEscUJBQWMsQ0FBQSxJQUFDO0lBQzlCLHlCQUNGO0lBQUEsaUJBQVM7OztJQVZYLDJCQUFxRDtJQUNuRCwyRkFHUyw4RUFBQTtJQU9YLGlCQUFNOzs7SUFUSyxjQUF5QjtJQUF6Qix3REFBeUI7SUFLekIsY0FBNkM7SUFBN0MsbUZBQTZDOzs7SUFaMUQsMkJBQTRCO0lBQzFCLCtFQUVNLGtFQUFBO0lBY1IsaUJBQU07OztJQWhCRSxjQUFxQjtJQUFyQiw2Q0FBcUI7SUFJckIsY0FBNkM7SUFBN0MsNEVBQTZDOztBRHFCckQsTUFBTSxPQUFPLHdCQUF3QjtJQVluQyxZQUFvQixVQUE2QjtRQUE3QixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQVhqRCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixnQkFBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUliLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQUV0QyxlQUFVLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFHN0QsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2IsT0FBTztZQUNULENBQUM7WUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUM7WUFFN0MsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO1lBQzlELENBQUM7WUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO0lBQ1IsWUFBWTtRQUNWLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO3lGQW5DVSx3QkFBd0I7b0VBQXhCLHdCQUF3QjtZQzFCckMseUVBaUJNOztZQWpCQSx5Q0FBb0I7OztpRkQwQmIsd0JBQXdCO2NBSnBDLFNBQVM7MkJBQ0Usa0NBQWtDO2tEQVNuQyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0cscUJBQXFCO2tCQUE3QixLQUFLO1lBRUksVUFBVTtrQkFBbkIsTUFBTTs7a0ZBVkksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDE0IEF1ZyAyMDE4XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQge0FwcENvbnRleHRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2FwcGNvbnRleHQuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FuYXRvbHktYmlsbGluZy1idXlhY2Nlc3MtYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnV5YWNjZXNzLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCdXlBY2Nlc3NCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnRleHRVcGRhdGVkID0gZmFsc2U7XHJcbiAgaXNVc2VyU2lnbmVkSW4gPSBmYWxzZTtcclxuICBjdXJyZW50UGxhbiA9IC0xO1xyXG4gIGN1cnJlbnRQbGFuVGl0bGUgPSAnJztcclxuXHJcbiAgQElucHV0KCkgcGxhbjogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHBsYW5UaXRsZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHZpc2libGVJZlVzZXJTaWduZWRJbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgcGxhbnNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwQ29udGV4dDogQXBwQ29udGV4dFNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hcHBDb250ZXh0LnVwZGF0ZWQkLnN1YnNjcmliZSgoY29udGV4dCkgPT4ge1xyXG4gICAgICBpZiAoIWNvbnRleHQpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuaXNVc2VyU2lnbmVkSW4gPSBjb250ZXh0LmlzVXNlclNpZ25lZEluO1xyXG5cclxuICAgICAgaWYgKHRoaXMuaXNVc2VyU2lnbmVkSW4pIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRQbGFuID0gY29udGV4dC5hY2NvdW50LmJpbGxpbmdQbGFuO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFBsYW5UaXRsZSA9IGNvbnRleHQuYWNjb3VudC5iaWxsaW5nUGxhbkFzU3RyaW5nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmNvbnRleHRVcGRhdGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9FdmVudHNcclxuICBvblBsYW5TZWxlY3QoKSB7XHJcbiAgICB0aGlzLnBsYW5zZWxlY3QuZW1pdCh0aGlzLnBsYW4pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiY29udGV4dFVwZGF0ZWRcIj5cclxuICA8ZGl2ICpuZ0lmPVwiIWlzVXNlclNpZ25lZEluXCI+XHJcbiAgICA8YW5hdG9seS1zaWdudXAtYnV0dG9uIGNsYXNzZXM9XCJidG4gYnRuLWJsb2NrIGJ0bi1wcmltYXJ5XCI+PC9hbmF0b2x5LXNpZ251cC1idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCJpc1VzZXJTaWduZWRJbiAmJiB2aXNpYmxlSWZVc2VyU2lnbmVkSW5cIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWJsb2NrIGJ0bi1zdWNjZXNzIHNlbGVjdFBsYW5cIlxyXG4gICAgICAgICAgICAqbmdJZj1cInBsYW4gPT0gY3VycmVudFBsYW5cIj5cclxuICAgICAgWW91ciBQbGFuXHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1ibG9jayAgYnRuLXdhcm5pbmcgc2VsZWN0UGxhblwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwicGxhbiAhPSBjdXJyZW50UGxhbiAmJiBjdXJyZW50UGxhbiA9PSAxXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uUGxhblNlbGVjdCgpXCI+XHJcbiAgICAgIEJ1eSBOb3dcclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny vadim.osovitny@osovitny.com
|
|
8
|
+
Anatoly Osovitny anatoly.osovitny@osovitny.com
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
1 Jun 2018
|
|
12
|
+
|
|
13
|
+
Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
|
|
14
|
+
</file>
|
|
15
|
+
*/
|
|
16
|
+
//Node
|
|
17
|
+
import { Component, EventEmitter, Input, Output } from "@angular/core";
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "../../../core/services/appcontext.service";
|
|
20
|
+
import * as i2 from "@angular/common";
|
|
21
|
+
import * as i3 from "../../../ui/components/identity/signup-button.component";
|
|
22
|
+
function SubscribePlanButtonComponent_div_0_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
i0.ɵɵelementStart(0, "div");
|
|
24
|
+
i0.ɵɵelement(1, "anatoly-signup-button", 1);
|
|
25
|
+
i0.ɵɵelementEnd();
|
|
26
|
+
} }
|
|
27
|
+
function SubscribePlanButtonComponent_div_0_div_2_button_1_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
+
i0.ɵɵelementStart(0, "button", 5);
|
|
29
|
+
i0.ɵɵtext(1, " Your Plan ");
|
|
30
|
+
i0.ɵɵelementEnd();
|
|
31
|
+
} }
|
|
32
|
+
function SubscribePlanButtonComponent_div_0_div_2_button_2_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
+
i0.ɵɵelementStart(0, "button", 6);
|
|
34
|
+
i0.ɵɵtext(1, " Requested ");
|
|
35
|
+
i0.ɵɵelementEnd();
|
|
36
|
+
} }
|
|
37
|
+
function SubscribePlanButtonComponent_div_0_div_2_button_3_Template(rf, ctx) { if (rf & 1) {
|
|
38
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
39
|
+
i0.ɵɵelementStart(0, "button", 7);
|
|
40
|
+
i0.ɵɵlistener("click", function SubscribePlanButtonComponent_div_0_div_2_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r6.onPlanSelect()); });
|
|
41
|
+
i0.ɵɵtext(1, " Subscribe ");
|
|
42
|
+
i0.ɵɵelementEnd();
|
|
43
|
+
} }
|
|
44
|
+
function SubscribePlanButtonComponent_div_0_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
45
|
+
i0.ɵɵelementStart(0, "div");
|
|
46
|
+
i0.ɵɵtemplate(1, SubscribePlanButtonComponent_div_0_div_2_button_1_Template, 2, 0, "button", 2)(2, SubscribePlanButtonComponent_div_0_div_2_button_2_Template, 2, 0, "button", 3)(3, SubscribePlanButtonComponent_div_0_div_2_button_3_Template, 2, 0, "button", 4);
|
|
47
|
+
i0.ɵɵelementEnd();
|
|
48
|
+
} if (rf & 2) {
|
|
49
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
50
|
+
i0.ɵɵadvance();
|
|
51
|
+
i0.ɵɵproperty("ngIf", ctx_r2.plan == ctx_r2.currentPlan);
|
|
52
|
+
i0.ɵɵadvance();
|
|
53
|
+
i0.ɵɵproperty("ngIf", ctx_r2.plan == ctx_r2.requestedPlan);
|
|
54
|
+
i0.ɵɵadvance();
|
|
55
|
+
i0.ɵɵproperty("ngIf", ctx_r2.plan != ctx_r2.currentPlan && ctx_r2.plan != ctx_r2.requestedPlan);
|
|
56
|
+
} }
|
|
57
|
+
function SubscribePlanButtonComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
58
|
+
i0.ɵɵelementStart(0, "div");
|
|
59
|
+
i0.ɵɵtemplate(1, SubscribePlanButtonComponent_div_0_div_1_Template, 2, 0, "div", 0)(2, SubscribePlanButtonComponent_div_0_div_2_Template, 4, 3, "div", 0);
|
|
60
|
+
i0.ɵɵelementEnd();
|
|
61
|
+
} if (rf & 2) {
|
|
62
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
63
|
+
i0.ɵɵadvance();
|
|
64
|
+
i0.ɵɵproperty("ngIf", !ctx_r0.isUserSignedIn);
|
|
65
|
+
i0.ɵɵadvance();
|
|
66
|
+
i0.ɵɵproperty("ngIf", ctx_r0.isUserSignedIn && ctx_r0.visibleIfUserSignedIn);
|
|
67
|
+
} }
|
|
68
|
+
export class SubscribePlanButtonComponent {
|
|
69
|
+
constructor(appContext) {
|
|
70
|
+
this.appContext = appContext;
|
|
71
|
+
this.contextUpdated = false;
|
|
72
|
+
this.isUserSignedIn = false;
|
|
73
|
+
this.currentPlan = -1;
|
|
74
|
+
this.currentPlanTitle = "";
|
|
75
|
+
this.requestedPlan = -1;
|
|
76
|
+
this.requestedPlanTitle = "";
|
|
77
|
+
this.visibleIfUserSignedIn = false;
|
|
78
|
+
this.planselect = new EventEmitter();
|
|
79
|
+
}
|
|
80
|
+
ngOnInit() {
|
|
81
|
+
this.appContext.updated$.subscribe((context) => {
|
|
82
|
+
if (!context) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
this.isUserSignedIn = context.isUserSignedIn;
|
|
86
|
+
if (this.isUserSignedIn) {
|
|
87
|
+
this.currentPlan = context.account.billingPlan;
|
|
88
|
+
this.currentPlanTitle = context.account.billingPlanAsString;
|
|
89
|
+
this.requestedPlan = context.account.requestedBillingPlan;
|
|
90
|
+
this.requestedPlanTitle = context.account.requestedBillingPlanAsString;
|
|
91
|
+
}
|
|
92
|
+
this.contextUpdated = true;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
//Events
|
|
96
|
+
onPlanSelect() {
|
|
97
|
+
this.planselect.emit(this.plan);
|
|
98
|
+
}
|
|
99
|
+
static { this.ɵfac = function SubscribePlanButtonComponent_Factory(t) { return new (t || SubscribePlanButtonComponent)(i0.ɵɵdirectiveInject(i1.AppContextService)); }; }
|
|
100
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SubscribePlanButtonComponent, selectors: [["anatoly-billing-subscribe-plan-button"]], inputs: { plan: "plan", planTitle: "planTitle", visibleIfUserSignedIn: "visibleIfUserSignedIn" }, outputs: { planselect: "planselect" }, decls: 1, vars: 1, consts: [[4, "ngIf"], ["classes", "btn btn-block btn-primary"], ["class", "btn btn-block btn-success selectPlan", 4, "ngIf"], ["class", "btn btn-block btn-warning selectPlan", 4, "ngIf"], ["class", "btn btn-block btn-warning selectPlan", 3, "click", 4, "ngIf"], [1, "btn", "btn-block", "btn-success", "selectPlan"], [1, "btn", "btn-block", "btn-warning", "selectPlan"], [1, "btn", "btn-block", "btn-warning", "selectPlan", 3, "click"]], template: function SubscribePlanButtonComponent_Template(rf, ctx) { if (rf & 1) {
|
|
101
|
+
i0.ɵɵtemplate(0, SubscribePlanButtonComponent_div_0_Template, 3, 2, "div", 0);
|
|
102
|
+
} if (rf & 2) {
|
|
103
|
+
i0.ɵɵproperty("ngIf", ctx.contextUpdated);
|
|
104
|
+
} }, dependencies: [i2.NgIf, i3.SignUpButtonComponent], encapsulation: 2 }); }
|
|
105
|
+
}
|
|
106
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SubscribePlanButtonComponent, [{
|
|
107
|
+
type: Component,
|
|
108
|
+
args: [{ selector: "anatoly-billing-subscribe-plan-button", template: "<div *ngIf=\"contextUpdated\">\r\n <div *ngIf=\"!isUserSignedIn\">\r\n <anatoly-signup-button classes=\"btn btn-block btn-primary\"></anatoly-signup-button>\r\n </div>\r\n\r\n <div *ngIf=\"isUserSignedIn && visibleIfUserSignedIn\">\r\n <button class=\"btn btn-block btn-success selectPlan\"\r\n *ngIf=\"plan == currentPlan\">\r\n Your Plan\r\n </button>\r\n\r\n <button class=\"btn btn-block btn-warning selectPlan\"\r\n *ngIf=\"plan == requestedPlan\">\r\n Requested\r\n </button>\r\n\r\n <button class=\"btn btn-block btn-warning selectPlan\"\r\n *ngIf=\"plan != currentPlan && plan != requestedPlan\"\r\n (click)=\"onPlanSelect()\">\r\n Subscribe\r\n </button>\r\n </div>\r\n</div>\r\n" }]
|
|
109
|
+
}], () => [{ type: i1.AppContextService }], { plan: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}], planTitle: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}], visibleIfUserSignedIn: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], planselect: [{
|
|
116
|
+
type: Output
|
|
117
|
+
}] }); })();
|
|
118
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SubscribePlanButtonComponent, { className: "SubscribePlanButtonComponent", filePath: "lib\\billing\\components\\buttons\\subscribe-plan-button.component.ts", lineNumber: 27 }); })();
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9iaWxsaW5nL2NvbXBvbmVudHMvYnV0dG9ucy9zdWJzY3JpYmUtcGxhbi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2JpbGxpbmcvY29tcG9uZW50cy9idXR0b25zL3N1YnNjcmliZS1wbGFuLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7SUNoQjdFLDJCQUE2QjtJQUMzQiwyQ0FBbUY7SUFDckYsaUJBQU07OztJQUdKLGlDQUNvQztJQUNsQywyQkFDRjtJQUFBLGlCQUFTOzs7SUFFVCxpQ0FDc0M7SUFDcEMsMkJBQ0Y7SUFBQSxpQkFBUzs7OztJQUVULGlDQUVpQztJQUF6Qix5TEFBUyxlQUFBLHFCQUFjLENBQUEsSUFBQztJQUM5QiwyQkFDRjtJQUFBLGlCQUFTOzs7SUFmWCwyQkFBcUQ7SUFDbkQsK0ZBR1Msa0ZBQUEsa0ZBQUE7SUFZWCxpQkFBTTs7O0lBZEssY0FBeUI7SUFBekIsd0RBQXlCO0lBS3pCLGNBQTJCO0lBQTNCLDBEQUEyQjtJQUszQixjQUFrRDtJQUFsRCwrRkFBa0Q7OztJQWpCL0QsMkJBQTRCO0lBQzFCLG1GQUVNLHNFQUFBO0lBbUJSLGlCQUFNOzs7SUFyQkUsY0FBcUI7SUFBckIsNkNBQXFCO0lBSXJCLGNBQTZDO0lBQTdDLDRFQUE2Qzs7QURxQnJELE1BQU0sT0FBTyw0QkFBNEI7SUFjdkMsWUFBb0IsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFiakQsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsZ0JBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqQixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDdEIsa0JBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNuQix1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFJZiwwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFFdEMsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRzdELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNiLE9BQU87WUFDVCxDQUFDO1lBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDO1lBRTdDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO2dCQUMvQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDO2dCQUMxRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQztZQUN6RSxDQUFDO1lBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtJQUNSLFlBQVk7UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs2RkF2Q1UsNEJBQTRCO29FQUE1Qiw0QkFBNEI7WUMxQnpDLDZFQXNCTTs7WUF0QkEseUNBQW9COzs7aUZEMEJiLDRCQUE0QjtjQUp4QyxTQUFTOzJCQUNFLHVDQUF1QztrREFXeEMsSUFBSTtrQkFBWixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLHFCQUFxQjtrQkFBN0IsS0FBSztZQUVJLFVBQVU7a0JBQW5CLE1BQU07O2tGQVpJLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxIEp1biAyMDE4XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQXBwQ29udGV4dFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9hcHBjb250ZXh0LnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFuYXRvbHktYmlsbGluZy1zdWJzY3JpYmUtcGxhbi1idXR0b25cIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3N1YnNjcmliZS1wbGFuLWJ1dHRvbi5jb21wb25lbnQuaHRtbFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3Vic2NyaWJlUGxhbkJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29udGV4dFVwZGF0ZWQgPSBmYWxzZTtcclxuICBpc1VzZXJTaWduZWRJbiA9IGZhbHNlO1xyXG4gIGN1cnJlbnRQbGFuID0gLTE7XHJcbiAgY3VycmVudFBsYW5UaXRsZSA9IFwiXCI7XHJcbiAgcmVxdWVzdGVkUGxhbiA9IC0xO1xyXG4gIHJlcXVlc3RlZFBsYW5UaXRsZSA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpIHBsYW46IG51bWJlcjtcclxuICBASW5wdXQoKSBwbGFuVGl0bGU6IHN0cmluZztcclxuICBASW5wdXQoKSB2aXNpYmxlSWZVc2VyU2lnbmVkSW46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIHBsYW5zZWxlY3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcENvbnRleHQ6IEFwcENvbnRleHRTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYXBwQ29udGV4dC51cGRhdGVkJC5zdWJzY3JpYmUoKGNvbnRleHQpID0+IHtcclxuICAgICAgaWYgKCFjb250ZXh0KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmlzVXNlclNpZ25lZEluID0gY29udGV4dC5pc1VzZXJTaWduZWRJbjtcclxuXHJcbiAgICAgIGlmICh0aGlzLmlzVXNlclNpZ25lZEluKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50UGxhbiA9IGNvbnRleHQuYWNjb3VudC5iaWxsaW5nUGxhbjtcclxuICAgICAgICB0aGlzLmN1cnJlbnRQbGFuVGl0bGUgPSBjb250ZXh0LmFjY291bnQuYmlsbGluZ1BsYW5Bc1N0cmluZztcclxuICAgICAgICB0aGlzLnJlcXVlc3RlZFBsYW4gPSBjb250ZXh0LmFjY291bnQucmVxdWVzdGVkQmlsbGluZ1BsYW47XHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0ZWRQbGFuVGl0bGUgPSBjb250ZXh0LmFjY291bnQucmVxdWVzdGVkQmlsbGluZ1BsYW5Bc1N0cmluZztcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5jb250ZXh0VXBkYXRlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vRXZlbnRzXHJcbiAgb25QbGFuU2VsZWN0KCkge1xyXG4gICAgdGhpcy5wbGFuc2VsZWN0LmVtaXQodGhpcy5wbGFuKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cImNvbnRleHRVcGRhdGVkXCI+XHJcbiAgPGRpdiAqbmdJZj1cIiFpc1VzZXJTaWduZWRJblwiPlxyXG4gICAgPGFuYXRvbHktc2lnbnVwLWJ1dHRvbiBjbGFzc2VzPVwiYnRuIGJ0bi1ibG9jayBidG4tcHJpbWFyeVwiPjwvYW5hdG9seS1zaWdudXAtYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2ICpuZ0lmPVwiaXNVc2VyU2lnbmVkSW4gJiYgdmlzaWJsZUlmVXNlclNpZ25lZEluXCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1ibG9jayBidG4tc3VjY2VzcyBzZWxlY3RQbGFuXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJwbGFuID09IGN1cnJlbnRQbGFuXCI+XHJcbiAgICAgIFlvdXIgUGxhblxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tYmxvY2sgIGJ0bi13YXJuaW5nIHNlbGVjdFBsYW5cIlxyXG4gICAgICAgICAgICAqbmdJZj1cInBsYW4gPT0gcmVxdWVzdGVkUGxhblwiPlxyXG4gICAgICBSZXF1ZXN0ZWRcclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWJsb2NrICBidG4td2FybmluZyBzZWxlY3RQbGFuXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJwbGFuICE9IGN1cnJlbnRQbGFuICYmIHBsYW4gIT0gcmVxdWVzdGVkUGxhblwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvblBsYW5TZWxlY3QoKVwiPlxyXG4gICAgICBTdWJzY3JpYmVcclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -12,14 +12,16 @@
|
|
|
12
12
|
Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
|
|
13
13
|
</file>
|
|
14
14
|
*/
|
|
15
|
+
export * from './buttons/buyaccess-button.component';
|
|
16
|
+
export * from './buttons/subscribe-plan-button.component';
|
|
15
17
|
export * from "./order-summary/order-summary.component";
|
|
16
18
|
export * from "./payment-methods/payment-methods.component";
|
|
17
19
|
export * from "./payment-options/payment-options.component";
|
|
18
20
|
//braintree
|
|
19
|
-
export * from "./braintree/braintree.component";
|
|
21
|
+
export * from "./pm/braintree/braintree.component";
|
|
20
22
|
//paypal
|
|
21
|
-
export * from "./paypal/paypal-button.component";
|
|
22
|
-
export * from "./paypal/paypal.component";
|
|
23
|
+
export * from "./pm/paypal/paypal-button.component";
|
|
24
|
+
export * from "./pm/paypal/paypal.component";
|
|
23
25
|
//stripe
|
|
24
|
-
export * from "./stripe/stripe.component";
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
export * from "./pm/stripe/stripe.component";
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9iaWxsaW5nL2NvbXBvbmVudHMvZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztFQWFFO0FBRUYsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDZDQUE2QyxDQUFDO0FBRTVELFdBQVc7QUFDWCxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELFFBQVE7QUFDUixjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsOEJBQThCLENBQUM7QUFFN0MsUUFBUTtBQUNSLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltLm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTEgTm92IDIwMjRcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjUgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2J1dHRvbnMvYnV5YWNjZXNzLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2J1dHRvbnMvc3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gXCIuL29yZGVyLXN1bW1hcnkvb3JkZXItc3VtbWFyeS5jb21wb25lbnRcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vcGF5bWVudC1tZXRob2RzL3BheW1lbnQtbWV0aG9kcy5jb21wb25lbnRcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vcGF5bWVudC1vcHRpb25zL3BheW1lbnQtb3B0aW9ucy5jb21wb25lbnRcIjtcclxuXHJcbi8vYnJhaW50cmVlXHJcbmV4cG9ydCAqIGZyb20gXCIuL3BtL2JyYWludHJlZS9icmFpbnRyZWUuY29tcG9uZW50XCI7XHJcblxyXG4vL3BheXBhbFxyXG5leHBvcnQgKiBmcm9tIFwiLi9wbS9wYXlwYWwvcGF5cGFsLWJ1dHRvbi5jb21wb25lbnRcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vcG0vcGF5cGFsL3BheXBhbC5jb21wb25lbnRcIjtcclxuXHJcbi8vc3RyaXBlXHJcbmV4cG9ydCAqIGZyb20gXCIuL3BtL3N0cmlwZS9zdHJpcGUuY29tcG9uZW50XCI7XHJcbiJdfQ==
|
|
@@ -12,17 +12,19 @@
|
|
|
12
12
|
Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
|
|
13
13
|
</file>
|
|
14
14
|
*/
|
|
15
|
-
import {
|
|
16
|
-
//
|
|
17
|
-
BraintreeDialog,
|
|
15
|
+
import { BuyAccessButtonComponent, SubscribePlanButtonComponent, OrderSummaryComponent, PaymentMethodsComponent, PaymentOptionsComponent,
|
|
16
|
+
//PM
|
|
17
|
+
BraintreeDialog, PaypalButtonComponent, PayPalComponent, StripeDialog } from "./exports";
|
|
18
18
|
export const COMPONENTS = [
|
|
19
|
+
BuyAccessButtonComponent,
|
|
20
|
+
SubscribePlanButtonComponent,
|
|
19
21
|
OrderSummaryComponent,
|
|
20
22
|
PaymentMethodsComponent,
|
|
21
23
|
PaymentOptionsComponent,
|
|
24
|
+
//PM
|
|
25
|
+
BraintreeDialog,
|
|
22
26
|
PaypalButtonComponent,
|
|
23
27
|
PayPalComponent,
|
|
24
|
-
|
|
25
|
-
BraintreeDialog,
|
|
26
|
-
StripeDialog,
|
|
28
|
+
StripeDialog
|
|
27
29
|
];
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvYmlsbGluZy9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7QUFFRixPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDRCQUE0QixFQUM1QixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLHVCQUF1QjtBQUV2QixJQUFJO0FBQ0osZUFBZSxFQUNmLHFCQUFxQixFQUNyQixlQUFlLEVBQ2YsWUFBWSxFQUNiLE1BQU0sV0FBVyxDQUFDO0FBRW5CLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4Qix3QkFBd0I7SUFDeEIsNEJBQTRCO0lBQzVCLHFCQUFxQjtJQUNyQix1QkFBdUI7SUFDdkIsdUJBQXVCO0lBRXZCLElBQUk7SUFDSixlQUFlO0lBQ2YscUJBQXFCO0lBQ3JCLGVBQWU7SUFDZixZQUFZO0NBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICA4IE5vdiAyMDI0XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuaW1wb3J0IHtcclxuICBCdXlBY2Nlc3NCdXR0b25Db21wb25lbnQsXHJcbiAgU3Vic2NyaWJlUGxhbkJ1dHRvbkNvbXBvbmVudCxcclxuICBPcmRlclN1bW1hcnlDb21wb25lbnQsXHJcbiAgUGF5bWVudE1ldGhvZHNDb21wb25lbnQsXHJcbiAgUGF5bWVudE9wdGlvbnNDb21wb25lbnQsXHJcblxyXG4gIC8vUE1cclxuICBCcmFpbnRyZWVEaWFsb2csXHJcbiAgUGF5cGFsQnV0dG9uQ29tcG9uZW50LFxyXG4gIFBheVBhbENvbXBvbmVudCxcclxuICBTdHJpcGVEaWFsb2dcclxufSBmcm9tIFwiLi9leHBvcnRzXCI7XHJcblxyXG5leHBvcnQgY29uc3QgQ09NUE9ORU5UUyA9IFtcclxuICBCdXlBY2Nlc3NCdXR0b25Db21wb25lbnQsXHJcbiAgU3Vic2NyaWJlUGxhbkJ1dHRvbkNvbXBvbmVudCxcclxuICBPcmRlclN1bW1hcnlDb21wb25lbnQsXHJcbiAgUGF5bWVudE1ldGhvZHNDb21wb25lbnQsXHJcbiAgUGF5bWVudE9wdGlvbnNDb21wb25lbnQsXHJcblxyXG4gIC8vUE1cclxuICBCcmFpbnRyZWVEaWFsb2csXHJcbiAgUGF5cGFsQnV0dG9uQ29tcG9uZW50LFxyXG4gIFBheVBhbENvbXBvbmVudCxcclxuICBTdHJpcGVEaWFsb2dcclxuXTtcclxuIl19
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Dhruv Agarwal dhruv.agarwal@osovitny.com
|
|
8
|
+
|
|
9
|
+
Created:
|
|
10
|
+
14 Aug 2024
|
|
11
|
+
|
|
12
|
+
Description:
|
|
13
|
+
Credit Card payment form via braintree integration
|
|
14
|
+
|
|
15
|
+
Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
|
|
16
|
+
</file>
|
|
17
|
+
*/
|
|
18
|
+
//Node
|
|
19
|
+
import { Component, Input } from '@angular/core';
|
|
20
|
+
import * as dropin from 'braintree-web-drop-in';
|
|
21
|
+
//App
|
|
22
|
+
import { DialogBase } from '../../../../ui/components/base/dialog';
|
|
23
|
+
import * as i0 from "@angular/core";
|
|
24
|
+
import * as i1 from "../../../services/payments.service";
|
|
25
|
+
import * as i2 from "../../../../core/notifications/services/notification-service";
|
|
26
|
+
import * as i3 from "@progress/kendo-angular-dialog";
|
|
27
|
+
function BraintreeDialog_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
29
|
+
i0.ɵɵelementStart(0, "div", 1)(1, "kendo-dialog", 2);
|
|
30
|
+
i0.ɵɵlistener("close", function BraintreeDialog_Conditional_0_Template_kendo_dialog_close_1_listener() { i0.ɵɵrestoreView(_r2); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onClose()); });
|
|
31
|
+
i0.ɵɵelementStart(2, "kendo-dialog-titlebar");
|
|
32
|
+
i0.ɵɵtext(3, "Pay with Credit Card");
|
|
33
|
+
i0.ɵɵelementEnd();
|
|
34
|
+
i0.ɵɵelementStart(4, "div", 3);
|
|
35
|
+
i0.ɵɵelement(5, "div", 4);
|
|
36
|
+
i0.ɵɵelementEnd();
|
|
37
|
+
i0.ɵɵelementStart(6, "kendo-dialog-actions", 5)(7, "button", 6);
|
|
38
|
+
i0.ɵɵlistener("click", function BraintreeDialog_Conditional_0_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r2); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.onPay()); });
|
|
39
|
+
i0.ɵɵtext(8, "Pay");
|
|
40
|
+
i0.ɵɵelementEnd();
|
|
41
|
+
i0.ɵɵelementStart(9, "button", 7);
|
|
42
|
+
i0.ɵɵlistener("click", function BraintreeDialog_Conditional_0_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r2); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.onClose()); });
|
|
43
|
+
i0.ɵɵtext(10, "Cancel");
|
|
44
|
+
i0.ɵɵelementEnd()()()();
|
|
45
|
+
} if (rf & 2) {
|
|
46
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
47
|
+
i0.ɵɵadvance();
|
|
48
|
+
i0.ɵɵproperty("width", 480)("height", 560)("themeColor", ctx_r0.themeColor);
|
|
49
|
+
} }
|
|
50
|
+
export class BraintreeDialog extends DialogBase {
|
|
51
|
+
constructor(ps, ns) {
|
|
52
|
+
super();
|
|
53
|
+
this.ps = ps;
|
|
54
|
+
this.ns = ns;
|
|
55
|
+
}
|
|
56
|
+
ngOnInit() {
|
|
57
|
+
this.setValues();
|
|
58
|
+
}
|
|
59
|
+
setValues() {
|
|
60
|
+
this.ps.showBraintreeDialog$.subscribe((isOpen) => {
|
|
61
|
+
this.isOpen = true;
|
|
62
|
+
this.initializeEmbedForm();
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
initializeEmbedForm() {
|
|
66
|
+
const that = this;
|
|
67
|
+
// let totalPrice = this.bs.getTotal().toString();
|
|
68
|
+
// let currency = this.bs.currency;
|
|
69
|
+
this.ps.createBraintreeToken().subscribe((response) => {
|
|
70
|
+
if (response?.token) {
|
|
71
|
+
dropin.create({
|
|
72
|
+
authorization: response?.token,
|
|
73
|
+
container: '#braintree-container',
|
|
74
|
+
card: {
|
|
75
|
+
cardholderName: true
|
|
76
|
+
},
|
|
77
|
+
//UNCOMMENT BELOW FOR GOOGLEPAY / VENMO
|
|
78
|
+
// googlePay: {
|
|
79
|
+
// merchantId: '',
|
|
80
|
+
// transactionInfo: {
|
|
81
|
+
// currencyCode: currency,
|
|
82
|
+
// totalPriceStatus: 'FINAL',
|
|
83
|
+
// totalPrice: totalPrice,
|
|
84
|
+
// }
|
|
85
|
+
// },
|
|
86
|
+
// venmo: {
|
|
87
|
+
// allowNewBrowserTab: false
|
|
88
|
+
// },
|
|
89
|
+
dataCollector: true
|
|
90
|
+
}, function (createErr, instance) {
|
|
91
|
+
if (instance) {
|
|
92
|
+
that.braintreeInstance = instance;
|
|
93
|
+
instance._dataCollector._instance.getDeviceData().then((deviceData) => {
|
|
94
|
+
that.deviceData = deviceData;
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
that.ns.error('Credit Card Payment is facing issues. Please try other payment methods.');
|
|
99
|
+
that.closeDialog();
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
submitPayment(payload) {
|
|
106
|
+
this.ps.pay(this.paidFor, payload.nonce, 'COMPLETED', this.deviceData);
|
|
107
|
+
}
|
|
108
|
+
closeDialog() {
|
|
109
|
+
super.close();
|
|
110
|
+
this.braintreeInstance = null;
|
|
111
|
+
}
|
|
112
|
+
//Events
|
|
113
|
+
onPay() {
|
|
114
|
+
if (this.braintreeInstance && this.deviceData) {
|
|
115
|
+
const that = this;
|
|
116
|
+
this.braintreeInstance.requestPaymentMethod(function (requestPaymentErr, payload) {
|
|
117
|
+
that.submitPayment(payload);
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
onClose() {
|
|
122
|
+
const closeDialog = this.closeDialog;
|
|
123
|
+
if (this.braintreeInstance) {
|
|
124
|
+
this.braintreeInstance.teardown(function (err) {
|
|
125
|
+
closeDialog();
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
closeDialog();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
get visible() {
|
|
133
|
+
return this.isOpen && this.ps.getTotal() > 0;
|
|
134
|
+
}
|
|
135
|
+
static { this.ɵfac = function BraintreeDialog_Factory(t) { return new (t || BraintreeDialog)(i0.ɵɵdirectiveInject(i1.PaymentsService), i0.ɵɵdirectiveInject(i2.NotificationService)); }; }
|
|
136
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BraintreeDialog, selectors: [["anatoly-billing-braintree-dialog"]], inputs: { paidFor: "paidFor", title: "title", description: "description", image: "image" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["class", "send-message__kendo-dialog"], [1, "send-message__kendo-dialog"], [3, "width", "height", "themeColor", "close"], [1, "kendo-dialog-content"], ["id", "braintree-container"], ["layout", "end"], ["type", "button", 1, "btn", "btn-sm", "btn-success", 3, "click"], ["type", "button", 1, "btn", "btn-sm", "btn-danger", 3, "click"]], template: function BraintreeDialog_Template(rf, ctx) { if (rf & 1) {
|
|
137
|
+
i0.ɵɵtemplate(0, BraintreeDialog_Conditional_0_Template, 11, 3, "div", 0);
|
|
138
|
+
} if (rf & 2) {
|
|
139
|
+
i0.ɵɵconditional(0, ctx.visible ? 0 : -1);
|
|
140
|
+
} }, dependencies: [i3.DialogComponent, i3.DialogTitleBarComponent, i3.DialogActionsComponent], encapsulation: 2 }); }
|
|
141
|
+
}
|
|
142
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BraintreeDialog, [{
|
|
143
|
+
type: Component,
|
|
144
|
+
args: [{ selector: 'anatoly-billing-braintree-dialog', template: "@if (visible) {\r\n <div class='send-message__kendo-dialog'>\r\n <kendo-dialog [width]='480' [height]='560' [themeColor]='themeColor' (close)='onClose()'>\r\n <kendo-dialog-titlebar>Pay with Credit Card</kendo-dialog-titlebar>\r\n <div class='kendo-dialog-content'>\r\n <div id=\"braintree-container\"></div>\r\n </div>\r\n <kendo-dialog-actions layout='end'>\r\n <button class='btn btn-sm btn-success' type='button' (click)='onPay()'>Pay</button>\r\n <button class='btn btn-sm btn-danger' type='button' (click)='onClose()'>Cancel</button>\r\n </kendo-dialog-actions>\r\n </kendo-dialog>\r\n </div>\r\n}\r\n" }]
|
|
145
|
+
}], () => [{ type: i1.PaymentsService }, { type: i2.NotificationService }], { paidFor: [{
|
|
146
|
+
type: Input
|
|
147
|
+
}], title: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}], description: [{
|
|
150
|
+
type: Input
|
|
151
|
+
}], image: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}] }); })();
|
|
154
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BraintreeDialog, { className: "BraintreeDialog", filePath: "lib\\billing\\components\\pm\\braintree\\braintree.component.ts", lineNumber: 32 }); })();
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhaW50cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9iaWxsaW5nL2NvbXBvbmVudHMvcG0vYnJhaW50cmVlL2JyYWludHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvYmlsbGluZy9jb21wb25lbnRzL3BtL2JyYWludHJlZS9icmFpbnRyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7RUFnQkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxLQUFLLE1BQU0sTUFBTSx1QkFBdUIsQ0FBQztBQUVoRCxLQUFLO0FBQ0wsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7O0lDdEJqRSw4QkFBd0Msc0JBQUE7SUFDK0IsMEtBQVMsZUFBQSxnQkFBUyxDQUFBLElBQUM7SUFDdEYsNkNBQXVCO0lBQUEsb0NBQW9CO0lBQUEsaUJBQXdCO0lBQ25FLDhCQUFrQztJQUNoQyx5QkFBb0M7SUFDdEMsaUJBQU07SUFDTiwrQ0FBbUMsZ0JBQUE7SUFDb0Isb0tBQVMsZUFBQSxjQUFPLENBQUEsSUFBQztJQUFDLG1CQUFHO0lBQUEsaUJBQVM7SUFDbkYsaUNBQXlFO0lBQXBCLG9LQUFTLGVBQUEsZ0JBQVMsQ0FBQSxJQUFDO0lBQUMsdUJBQU07SUFBQSxpQkFBUyxFQUFBLEVBQUEsRUFBQTs7O0lBUDlFLGNBQWE7SUFBYiwyQkFBYSxlQUFBLGlDQUFBOztBRDZCL0IsTUFBTSxPQUFPLGVBQWdCLFNBQVEsVUFBVTtJQVM3QyxZQUNTLEVBQW1CLEVBQ2xCLEVBQXVCO1FBQy9CLEtBQUssRUFBRSxDQUFDO1FBRkQs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QUc7Z0JBQzFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUNJLENBQUM7WUFDSixXQUFXLEVBQUUsQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0MsQ0FBQztnRkF2R1UsZUFBZTtvRUFBZixlQUFlO1lDL0I1Qix5RUFhQzs7WUFiRCx5Q0FhQzs7O2lGRGtCWSxlQUFlO2NBSjNCLFNBQVM7MkJBQ0Usa0NBQWtDO2tGQU9uQyxPQUFPO2tCQUFmLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLOztrRkFQSyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBEaHJ1diBBZ2Fyd2FsIGRocnV2LmFnYXJ3YWxAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxNCBBdWcgMjAyNFxyXG5cclxuICBEZXNjcmlwdGlvbjpcclxuICAgIENyZWRpdCBDYXJkIHBheW1lbnQgZm9ybSB2aWEgYnJhaW50cmVlIGludGVncmF0aW9uXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgZHJvcGluIGZyb20gJ2JyYWludHJlZS13ZWItZHJvcC1pbic7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBEaWFsb2dCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkvY29tcG9uZW50cy9iYXNlL2RpYWxvZyc7XHJcbmltcG9ydCB7IFBheW1lbnRzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3BheW1lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9ub3RpZmljYXRpb25zL3NlcnZpY2VzL25vdGlmaWNhdGlvbi1zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW5hdG9seS1iaWxsaW5nLWJyYWludHJlZS1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9icmFpbnRyZWUuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmFpbnRyZWVEaWFsb2cgZXh0ZW5kcyBEaWFsb2dCYXNlIHtcclxuICBicmFpbnRyZWVJbnN0YW5jZTogYW55O1xyXG4gIGRldmljZURhdGE6IGFueTtcclxuXHJcbiAgQElucHV0KCkgcGFpZEZvcjtcclxuICBASW5wdXQoKSB0aXRsZTtcclxuICBASW5wdXQoKSBkZXNjcmlwdGlvbjtcclxuICBASW5wdXQoKSBpbWFnZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcHM6IFBheW1lbnRzU2VydmljZSxcclxuICAgIHByaXZhdGUgbnM6IE5vdGlmaWNhdGlvblNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0VmFsdWVzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFZhbHVlcygpIHtcclxuICAgIHRoaXMucHMuc2hvd0JyYWludHJlZURpYWxvZyQuc3Vic2NyaWJlKChpc09wZW4pID0+IHtcclxuICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xyXG4gICAgICB0aGlzLmluaXRpYWxpemVFbWJlZEZvcm0oKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZUVtYmVkRm9ybSgpIHtcclxuICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xyXG4gICAgLy8gbGV0IHRvdGFsUHJpY2UgPSB0aGlzLmJzLmdldFRvdGFsKCkudG9TdHJpbmcoKTtcclxuICAgIC8vIGxldCBjdXJyZW5jeSA9IHRoaXMuYnMuY3VycmVuY3k7XHJcblxyXG4gICAgdGhpcy5wcy5jcmVhdGVCcmFpbnRyZWVUb2tlbigpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYocmVzcG9uc2U/LnRva2VuKSB7XHJcbiAgICAgICAgZHJvcGluLmNyZWF0ZSh7XHJcbiAgICAgICAgICBhdXRob3JpemF0aW9uOiByZXNwb25zZT8udG9rZW4sXHJcbiAgICAgICAgICBjb250YWluZXI6ICcjYnJhaW50cmVlLWNvbnRhaW5lcicsXHJcbiAgICAgICAgICBjYXJkOiB7XHJcbiAgICAgICAgICAgIGNhcmRob2xkZXJOYW1lOiB0cnVlXHJcbiAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgIC8vVU5DT01NRU5UIEJFTE9XIEZPUiBHT09HTEVQQVkgLyBWRU5NT1xyXG4gICAgICAgICAgLy8gZ29vZ2xlUGF5OiB7XHJcbiAgICAgICAgICAvLyAgIG1lcmNoYW50SWQ6ICcnLFxyXG4gICAgICAgICAgLy8gICB0cmFuc2FjdGlvbkluZm86IHtcclxuICAgICAgICAgIC8vICAgICBjdXJyZW5jeUNvZGU6IGN1cnJlbmN5LFxyXG4gICAgICAgICAgLy8gICAgIHRvdGFsUHJpY2VTdGF0dXM6ICdGSU5BTCcsXHJcbiAgICAgICAgICAvLyAgICAgdG90YWxQcmljZTogdG90YWxQcmljZSxcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gfSxcclxuICAgICAgICAgIC8vIHZlbm1vOiB7XHJcbiAgICAgICAgICAvLyAgIGFsbG93TmV3QnJvd3NlclRhYjogZmFsc2VcclxuICAgICAgICAgIC8vIH0sXHJcbiAgICAgICAgICBkYXRhQ29sbGVjdG9yOiB0cnVlXHJcbiAgICAgICAgfSwgZnVuY3Rpb24oY3JlYXRlRXJyLCBpbnN0YW5jZSkge1xyXG4gICAgICAgICAgaWYgKGluc3RhbmNlKSB7XHJcbiAgICAgICAgICAgIHRoYXQuYnJhaW50cmVlSW5zdGFuY2UgPSBpbnN0YW5jZTtcclxuICAgICAgICAgICAgaW5zdGFuY2UuX2RhdGFDb2xsZWN0b3IuX2luc3RhbmNlLmdldERldmljZURhdGEoKS50aGVuKChkZXZpY2VEYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhhdC5kZXZpY2VEYXRhID0gZGV2aWNlRGF0YTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGF0Lm5zLmVycm9yKCdDcmVkaXQgQ2FyZCBQYXltZW50IGlzIGZhY2luZyBpc3N1ZXMuIFBsZWFzZSB0cnkgb3RoZXIgcGF5bWVudCBtZXRob2RzLicpXHJcbiAgICAgICAgICAgIHRoYXQuY2xvc2VEaWFsb2coKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXRQYXltZW50KHBheWxvYWQpIHtcclxuICAgIHRoaXMucHMucGF5KHRoaXMucGFpZEZvciwgcGF5bG9hZC5ub25jZSwgJ0NPTVBMRVRFRCcsIHRoaXMuZGV2aWNlRGF0YSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZURpYWxvZygpIHtcclxuICAgIHN1cGVyLmNsb3NlKCk7XHJcbiAgICB0aGlzLmJyYWludHJlZUluc3RhbmNlID0gbnVsbDtcclxuICB9XHJcblxyXG4gIC8vRXZlbnRzXHJcbiAgb25QYXkoKSB7XHJcbiAgICBpZiAodGhpcy5icmFpbnRyZWVJbnN0YW5jZSAmJiB0aGlzLmRldmljZURhdGEpIHtcclxuICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XHJcbiAgICAgIHRoaXMuYnJhaW50cmVlSW5zdGFuY2UucmVxdWVzdFBheW1lbnRNZXRob2QoZnVuY3Rpb24ocmVxdWVzdFBheW1lbnRFcnIsIHBheWxvYWQpIHtcclxuICAgICAgICB0aGF0LnN1Ym1pdFBheW1lbnQocGF5bG9hZCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DbG9zZSgpIHtcclxuICAgIGNvbnN0IGNsb3NlRGlhbG9nID0gdGhpcy5jbG9zZURpYWxvZztcclxuXHJcbiAgICBpZiAodGhpcy5icmFpbnRyZWVJbnN0YW5jZSkge1xyXG4gICAgICB0aGlzLmJyYWludHJlZUluc3RhbmNlLnRlYXJkb3duKGZ1bmN0aW9uKGVycikge1xyXG4gICAgICAgIGNsb3NlRGlhbG9nKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNsb3NlRGlhbG9nKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHZpc2libGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5pc09wZW4gJiYgdGhpcy5wcy5nZXRUb3RhbCgpID4gMDtcclxuICB9XHJcbn1cclxuIiwiQGlmICh2aXNpYmxlKSB7XHJcbiAgPGRpdiBjbGFzcz0nc2VuZC1tZXNzYWdlX19rZW5kby1kaWFsb2cnPlxyXG4gICAgPGtlbmRvLWRpYWxvZyBbd2lkdGhdPSc0ODAnIFtoZWlnaHRdPSc1NjAnIFt0aGVtZUNvbG9yXT0ndGhlbWVDb2xvcicgKGNsb3NlKT0nb25DbG9zZSgpJz5cclxuICAgICAgPGtlbmRvLWRpYWxvZy10aXRsZWJhcj5QYXkgd2l0aCBDcmVkaXQgQ2FyZDwva2VuZG8tZGlhbG9nLXRpdGxlYmFyPlxyXG4gICAgICA8ZGl2IGNsYXNzPSdrZW5kby1kaWFsb2ctY29udGVudCc+XHJcbiAgICAgICAgPGRpdiBpZD1cImJyYWludHJlZS1jb250YWluZXJcIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxrZW5kby1kaWFsb2ctYWN0aW9ucyBsYXlvdXQ9J2VuZCc+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz0nYnRuIGJ0bi1zbSBidG4tc3VjY2VzcycgdHlwZT0nYnV0dG9uJyAoY2xpY2spPSdvblBheSgpJz5QYXk8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPSdidG4gYnRuLXNtIGJ0bi1kYW5nZXInIHR5cGU9J2J1dHRvbicgIChjbGljayk9J29uQ2xvc2UoKSc+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgIDwva2VuZG8tZGlhbG9nLWFjdGlvbnM+XHJcbiAgICA8L2tlbmRvLWRpYWxvZz5cclxuICA8L2Rpdj5cclxufVxyXG4iXX0=
|