@osovitny/anatoly 2.0.9 → 2.0.11
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/bundles/osovitny-anatoly.umd.js +669 -301
- package/bundles/osovitny-anatoly.umd.js.map +1 -1
- package/bundles/osovitny-anatoly.umd.min.js +2 -2
- package/bundles/osovitny-anatoly.umd.min.js.map +1 -1
- package/esm2015/lib/core/alerts.js +5 -1
- package/esm2015/lib/core/core.module.js +21 -5
- package/esm2015/lib/core/go/base-go.service.js +38 -0
- package/esm2015/lib/core/guards/once-import.guard.js +24 -0
- package/esm2015/lib/core/guid.js +25 -0
- package/esm2015/lib/core/index.js +27 -4
- package/esm2015/lib/core/logging/globalErrorHandler.js +42 -0
- package/esm2015/lib/core/logging/logging.service.js +38 -0
- package/esm2015/lib/core/services/appcontext.service.js +5 -1
- package/esm2015/lib/core/subs.js +34 -0
- package/esm2015/lib/core/utils.js +29 -5
- package/esm2015/lib/data/base/base-api.service.js +22 -16
- package/esm2015/lib/data/base/grid/base-grid-edit.service.js +15 -13
- package/esm2015/lib/data/base/grid/base-grid-read.service.js +16 -9
- package/esm2015/lib/data/data.module.js +10 -10
- package/esm2015/lib/data/index.js +24 -6
- package/esm2015/lib/data/services/billing-api.service.js +32 -17
- package/esm2015/lib/ui/components/base-edit.component.js +11 -7
- package/esm2015/lib/ui/components/base.component.js +12 -8
- package/esm2015/lib/ui/components/billing/buyaccess-button.component.js +12 -9
- package/esm2015/lib/ui/components/billing/subscribe-plan-button.component.js +10 -6
- package/esm2015/lib/ui/components/billing/upgrade-plan-button.component.js +11 -7
- package/esm2015/lib/ui/components/content-header/content-header.component.js +8 -4
- package/esm2015/lib/ui/components/html-editor/base-html-editor.component.js +13 -8
- package/esm2015/lib/ui/components/html-editor/forms-html-editor.component.js +9 -6
- package/esm2015/lib/ui/components/html-editor/html-editor.component.js +10 -7
- package/esm2015/lib/ui/components/html-editor/html-editor.defaultoptions.js +75 -18
- package/esm2015/lib/ui/components/identity/signin-button.component.js +8 -4
- package/esm2015/lib/ui/components/identity/signout-button.component.js +8 -4
- package/esm2015/lib/ui/components/identity/signup-button.component.js +6 -2
- package/esm2015/lib/ui/components/validation/form-validation-summary.component.js +5 -1
- package/esm2015/lib/ui/components/validation/item-validation-summary.component.js +5 -1
- package/esm2015/lib/ui/components/validation/validation-summary.component.js +5 -1
- package/esm2015/lib/ui/index.js +21 -3
- package/esm2015/lib/ui/ui.module.js +11 -6
- package/fesm2015/osovitny-anatoly.js +685 -280
- package/fesm2015/osovitny-anatoly.js.map +1 -1
- package/lib/core/core.module.d.ts +4 -0
- package/lib/core/guards/once-import.guard.d.ts +1 -0
- package/lib/core/guid.d.ts +3 -0
- package/lib/core/index.d.ts +5 -1
- package/lib/core/logging/globalErrorHandler.d.ts +6 -0
- package/lib/core/logging/logging.service.d.ts +5 -0
- package/lib/core/subs.d.ts +8 -0
- package/lib/core/utils.d.ts +4 -2
- package/lib/data/base/base-api.service.d.ts +2 -2
- package/lib/data/base/grid/base-grid-edit.service.d.ts +3 -3
- package/lib/data/base/grid/base-grid-read.service.d.ts +2 -2
- package/lib/data/index.d.ts +5 -5
- package/lib/data/services/billing-api.service.d.ts +2 -2
- package/lib/ui/components/base-edit.component.d.ts +2 -2
- package/lib/ui/components/billing/buyaccess-button.component.d.ts +3 -3
- package/lib/ui/components/billing/subscribe-plan-button.component.d.ts +2 -2
- package/lib/ui/components/billing/upgrade-plan-button.component.d.ts +1 -1
- package/lib/ui/components/content-header/content-header.component.d.ts +1 -1
- package/lib/ui/components/html-editor/base-html-editor.component.d.ts +2 -2
- package/lib/ui/components/html-editor/forms-html-editor.component.d.ts +1 -1
- package/lib/ui/components/html-editor/html-editor.component.d.ts +1 -1
- package/lib/ui/index.d.ts +1 -1
- package/lib/ui/ui.module.d.ts +1 -1
- package/package.json +1 -1
- package/esm2015/lib/core/services/base-go.service.js +0 -34
- /package/lib/core/{services → go}/base-go.service.d.ts +0 -0
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/*
|
|
2
2
|
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
3
6
|
Authors:
|
|
4
7
|
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
5
9
|
|
|
6
10
|
Created:
|
|
7
11
|
29 Apr 2018
|
|
@@ -13,11 +17,11 @@
|
|
|
13
17
|
</file>
|
|
14
18
|
*/
|
|
15
19
|
//Node
|
|
16
|
-
import { Injectable } from
|
|
17
|
-
import { HttpClient } from
|
|
20
|
+
import { Injectable } from "@angular/core";
|
|
21
|
+
import { HttpClient } from "@angular/common/http";
|
|
18
22
|
//RxJs
|
|
19
|
-
import { BehaviorSubject } from
|
|
20
|
-
import { map } from
|
|
23
|
+
import { BehaviorSubject } from "rxjs";
|
|
24
|
+
import { map } from "rxjs/operators";
|
|
21
25
|
export class BaseGridReadService extends BehaviorSubject {
|
|
22
26
|
constructor(http) {
|
|
23
27
|
super([]);
|
|
@@ -26,25 +30,28 @@ export class BaseGridReadService extends BehaviorSubject {
|
|
|
26
30
|
this.data = [];
|
|
27
31
|
}
|
|
28
32
|
serializeParams(data) {
|
|
29
|
-
return data ?
|
|
33
|
+
return data ? "?" + $.param(data) : "";
|
|
30
34
|
}
|
|
31
35
|
read(params, success, error) {
|
|
32
36
|
if (this.data.length) {
|
|
33
37
|
return super.next(this.data);
|
|
34
38
|
}
|
|
35
39
|
var url = this.baseReadUrl;
|
|
36
|
-
if (typeof params ===
|
|
40
|
+
if (typeof params === "undefined") {
|
|
37
41
|
params = this.savedReadParams;
|
|
38
42
|
}
|
|
39
43
|
if (params) {
|
|
40
44
|
url = this.baseReadUrl + `${this.serializeParams(params)}`;
|
|
41
45
|
this.savedReadParams = params;
|
|
42
46
|
}
|
|
43
|
-
this.http
|
|
47
|
+
this.http
|
|
48
|
+
.get(url)
|
|
49
|
+
.pipe(map((res) => res))
|
|
50
|
+
.subscribe((data) => {
|
|
44
51
|
super.next(data);
|
|
45
52
|
if (success)
|
|
46
53
|
success();
|
|
47
|
-
}, e => {
|
|
54
|
+
}, (e) => {
|
|
48
55
|
if (error)
|
|
49
56
|
error(e);
|
|
50
57
|
});
|
|
@@ -56,4 +63,4 @@ BaseGridReadService.decorators = [
|
|
|
56
63
|
BaseGridReadService.ctorParameters = () => [
|
|
57
64
|
{ type: HttpClient }
|
|
58
65
|
];
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1ncmlkLXJlYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9kYXRhL2Jhc2UvZ3JpZC9iYXNlLWdyaWQtcmVhZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxNQUFNO0FBQ04sT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLckMsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGVBQXNCO0lBSzdELFlBQXNCLElBQWdCO1FBQ3BDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQURVLFNBQUksR0FBSixJQUFJLENBQVk7UUFKNUIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsU0FBSSxHQUFVLEVBQUUsQ0FBQztJQUszQixDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVU7UUFDeEIsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFZLEVBQUUsT0FBa0IsRUFBRSxLQUFnQjtRQUNyRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3BCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUI7UUFFRCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRTNCLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO1lBQ2pDLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1NBQy9CO1FBRUQsSUFBSSxNQUFNLEVBQUU7WUFDVixHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMzRCxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQztTQUMvQjtRQUVELElBQUksQ0FBQyxJQUFJO2FBQ04sR0FBRyxDQUFDLEdBQUcsQ0FBQzthQUNSLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFRLEdBQUcsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FDUixDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1AsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQixJQUFJLE9BQU87Z0JBQUUsT0FBTyxFQUFFLENBQUM7UUFDekIsQ0FBQyxFQUNELENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDSixJQUFJLEtBQUs7Z0JBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FDRixDQUFDO0lBQ04sQ0FBQzs7O1lBMUNGLFVBQVU7OztZQVJGLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyOSBBcHIgMjAxOFxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcblxyXG4vL1J4SnNcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG5kZWNsYXJlIHZhciAkOiBhbnk7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBCYXNlR3JpZFJlYWRTZXJ2aWNlIGV4dGVuZHMgQmVoYXZpb3JTdWJqZWN0PGFueVtdPiB7XHJcbiAgcHJvdGVjdGVkIGJhc2VSZWFkVXJsOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHByb3RlY3RlZCBkYXRhOiBhbnlbXSA9IFtdO1xyXG4gIHByb3RlY3RlZCBzYXZlZFJlYWRQYXJhbXM6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIHN1cGVyKFtdKTtcclxuICB9XHJcblxyXG4gIHNlcmlhbGl6ZVBhcmFtcyhkYXRhPzogYW55KTogc3RyaW5nIHtcclxuICAgIHJldHVybiBkYXRhID8gXCI/XCIgKyAkLnBhcmFtKGRhdGEpIDogXCJcIjtcclxuICB9XHJcblxyXG4gIHJlYWQocGFyYW1zPzogYW55LCBzdWNjZXNzPzogRnVuY3Rpb24sIGVycm9yPzogRnVuY3Rpb24pIHtcclxuICAgIGlmICh0aGlzLmRhdGEubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiBzdXBlci5uZXh0KHRoaXMuZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIHVybCA9IHRoaXMuYmFzZVJlYWRVcmw7XHJcblxyXG4gICAgaWYgKHR5cGVvZiBwYXJhbXMgPT09IFwidW5kZWZpbmVkXCIpIHtcclxuICAgICAgcGFyYW1zID0gdGhpcy5zYXZlZFJlYWRQYXJhbXM7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHBhcmFtcykge1xyXG4gICAgICB1cmwgPSB0aGlzLmJhc2VSZWFkVXJsICsgYCR7dGhpcy5zZXJpYWxpemVQYXJhbXMocGFyYW1zKX1gO1xyXG4gICAgICB0aGlzLnNhdmVkUmVhZFBhcmFtcyA9IHBhcmFtcztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmh0dHBcclxuICAgICAgLmdldCh1cmwpXHJcbiAgICAgIC5waXBlKG1hcCgocmVzKSA9PiA8YW55W10+cmVzKSlcclxuICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgc3VwZXIubmV4dChkYXRhKTtcclxuICAgICAgICAgIGlmIChzdWNjZXNzKSBzdWNjZXNzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGVycm9yKSBlcnJvcihlKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/*
|
|
2
2
|
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
3
6
|
Authors:
|
|
4
7
|
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
5
9
|
|
|
6
10
|
Created:
|
|
7
11
|
4 Mar 2020
|
|
@@ -13,20 +17,16 @@
|
|
|
13
17
|
</file>
|
|
14
18
|
*/
|
|
15
19
|
//Node
|
|
16
|
-
import { NgModule } from
|
|
17
|
-
import { CommonModule } from
|
|
20
|
+
import { NgModule } from "@angular/core";
|
|
21
|
+
import { CommonModule } from "@angular/common";
|
|
18
22
|
//
|
|
19
|
-
import { BillingApiService } from
|
|
23
|
+
import { BillingApiService } from "./services/billing-api.service";
|
|
20
24
|
export class AnatolyDataModule {
|
|
21
25
|
}
|
|
22
26
|
AnatolyDataModule.decorators = [
|
|
23
27
|
{ type: NgModule, args: [{
|
|
24
|
-
imports: [
|
|
25
|
-
|
|
26
|
-
],
|
|
27
|
-
providers: [
|
|
28
|
-
BillingApiService
|
|
29
|
-
]
|
|
28
|
+
imports: [CommonModule],
|
|
29
|
+
providers: [BillingApiService],
|
|
30
30
|
},] }
|
|
31
31
|
];
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvZGF0YS9kYXRhLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsRUFBRTtBQUNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBTW5FLE1BQU0sT0FBTyxpQkFBaUI7OztZQUo3QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUN2QixTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUMvQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnlcclxuICAgIEFuYXRvbHkgT3Nvdml0bnlcclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDQgTWFyIDIwMjBcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuXHJcbi8vXHJcbmltcG9ydCB7IEJpbGxpbmdBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXMvYmlsbGluZy1hcGkuc2VydmljZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICBwcm92aWRlcnM6IFtCaWxsaW5nQXBpU2VydmljZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbmF0b2x5RGF0YU1vZHVsZSB7fVxyXG4iXX0=
|
|
@@ -1,8 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
4 Mar 2020
|
|
12
|
+
|
|
13
|
+
Version:
|
|
14
|
+
1.0
|
|
15
|
+
|
|
16
|
+
Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.
|
|
17
|
+
</file>
|
|
18
|
+
*/
|
|
1
19
|
// Services
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
20
|
+
export * from "./base/base-api.service";
|
|
21
|
+
export * from "./base/grid/base-grid-read.service";
|
|
22
|
+
export * from "./base/grid/base-grid-edit.service";
|
|
23
|
+
export * from "./services/billing-api.service";
|
|
6
24
|
// Module
|
|
7
|
-
export { AnatolyDataModule } from
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
export { AnatolyDataModule } from "./data.module";
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvZGF0YS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixXQUFXO0FBQ1gsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxTQUFTO0FBQ1QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgNCBNYXIgMjAyMFxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy8gU2VydmljZXNcclxuZXhwb3J0ICogZnJvbSBcIi4vYmFzZS9iYXNlLWFwaS5zZXJ2aWNlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2Jhc2UvZ3JpZC9iYXNlLWdyaWQtcmVhZC5zZXJ2aWNlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2Jhc2UvZ3JpZC9iYXNlLWdyaWQtZWRpdC5zZXJ2aWNlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL3NlcnZpY2VzL2JpbGxpbmctYXBpLnNlcnZpY2VcIjtcclxuXHJcbi8vIE1vZHVsZVxyXG5leHBvcnQgeyBBbmF0b2x5RGF0YU1vZHVsZSB9IGZyb20gXCIuL2RhdGEubW9kdWxlXCI7XHJcbiJdfQ==
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/*
|
|
2
2
|
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
3
6
|
Authors:
|
|
4
7
|
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
5
9
|
|
|
6
10
|
Created:
|
|
7
11
|
12 Nov 2017
|
|
@@ -13,33 +17,44 @@
|
|
|
13
17
|
</file>
|
|
14
18
|
*/
|
|
15
19
|
//Node
|
|
16
|
-
import { Injectable } from
|
|
17
|
-
import { HttpClient } from
|
|
20
|
+
import { Injectable } from "@angular/core";
|
|
21
|
+
import { HttpClient } from "@angular/common/http";
|
|
18
22
|
//App
|
|
19
|
-
import { BaseApiService } from
|
|
23
|
+
import { BaseApiService } from "../base/base-api.service";
|
|
20
24
|
export class BillingApiService extends BaseApiService {
|
|
21
25
|
constructor(http) {
|
|
22
26
|
super(http);
|
|
23
27
|
this.http = http;
|
|
24
|
-
this.baseUrl +=
|
|
28
|
+
this.baseUrl += "billing/";
|
|
25
29
|
}
|
|
26
30
|
requestNewSubscription(requestedPlan, success, error) {
|
|
27
|
-
this.postQS(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
+
this.postQS("requestNewSubscription", {
|
|
32
|
+
requestedPlan: requestedPlan,
|
|
33
|
+
}).subscribe((data) => { }, (e) => {
|
|
34
|
+
if (error)
|
|
35
|
+
error();
|
|
36
|
+
}, () => {
|
|
37
|
+
if (success)
|
|
38
|
+
success();
|
|
39
|
+
});
|
|
31
40
|
}
|
|
32
41
|
cancelRequestedSubscription(success, error) {
|
|
33
|
-
this.postQS(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
42
|
+
this.postQS("cancelRequestedSubscription", null).subscribe((data) => { }, (e) => {
|
|
43
|
+
if (error)
|
|
44
|
+
error();
|
|
45
|
+
}, () => {
|
|
46
|
+
if (success)
|
|
47
|
+
success();
|
|
48
|
+
});
|
|
37
49
|
}
|
|
38
50
|
buyAccess(requestedPlan, success, error) {
|
|
39
|
-
this.postQS(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
51
|
+
this.postQS("buyAccess", { requestedPlan: requestedPlan }).subscribe((data) => { }, (e) => {
|
|
52
|
+
if (error)
|
|
53
|
+
error();
|
|
54
|
+
}, () => {
|
|
55
|
+
if (success)
|
|
56
|
+
success();
|
|
57
|
+
});
|
|
43
58
|
}
|
|
44
59
|
}
|
|
45
60
|
BillingApiService.decorators = [
|
|
@@ -48,4 +63,4 @@ BillingApiService.decorators = [
|
|
|
48
63
|
BillingApiService.ctorParameters = () => [
|
|
49
64
|
{ type: HttpClient }
|
|
50
65
|
];
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZy1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9kYXRhL3NlcnZpY2VzL2JpbGxpbmctYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELEtBQUs7QUFDTCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHMUQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGNBQWM7SUFDbkQsWUFBc0IsSUFBZ0I7UUFDcEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRFEsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUVwQyxJQUFJLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQztJQUM3QixDQUFDO0lBRU0sc0JBQXNCLENBQzNCLGFBQXFCLEVBQ3JCLE9BQWtCLEVBQ2xCLEtBQWdCO1FBRWhCLElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCLEVBQUU7WUFDcEMsYUFBYSxFQUFFLGFBQWE7U0FDN0IsQ0FBQyxDQUFDLFNBQVMsQ0FDVixDQUFDLElBQUksRUFBRSxFQUFFLEdBQUUsQ0FBQyxFQUNaLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDSixJQUFJLEtBQUs7Z0JBQUUsS0FBSyxFQUFFLENBQUM7UUFDckIsQ0FBQyxFQUNELEdBQUcsRUFBRTtZQUNILElBQUksT0FBTztnQkFBRSxPQUFPLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSwyQkFBMkIsQ0FBQyxPQUFrQixFQUFFLEtBQWdCO1FBQ3JFLElBQUksQ0FBQyxNQUFNLENBQUMsNkJBQTZCLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUN4RCxDQUFDLElBQUksRUFBRSxFQUFFLEdBQUUsQ0FBQyxFQUNaLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDSixJQUFJLEtBQUs7Z0JBQUUsS0FBSyxFQUFFLENBQUM7UUFDckIsQ0FBQyxFQUNELEdBQUcsRUFBRTtZQUNILElBQUksT0FBTztnQkFBRSxPQUFPLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxTQUFTLENBQ2QsYUFBcUIsRUFDckIsT0FBa0IsRUFDbEIsS0FBZ0I7UUFFaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQ2xFLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRSxDQUFDLEVBQ1osQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNKLElBQUksS0FBSztnQkFBRSxLQUFLLEVBQUUsQ0FBQztRQUNyQixDQUFDLEVBQ0QsR0FBRyxFQUFFO1lBQ0gsSUFBSSxPQUFPO2dCQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBbkRGLFVBQVU7OztZQUxGLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxMiBOb3YgMjAxN1xyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBCYXNlQXBpU2VydmljZSB9IGZyb20gXCIuLi9iYXNlL2Jhc2UtYXBpLnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEJpbGxpbmdBcGlTZXJ2aWNlIGV4dGVuZHMgQmFzZUFwaVNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICBzdXBlcihodHRwKTtcclxuICAgIHRoaXMuYmFzZVVybCArPSBcImJpbGxpbmcvXCI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVxdWVzdE5ld1N1YnNjcmlwdGlvbihcclxuICAgIHJlcXVlc3RlZFBsYW46IE51bWJlcixcclxuICAgIHN1Y2Nlc3M/OiBGdW5jdGlvbixcclxuICAgIGVycm9yPzogRnVuY3Rpb25cclxuICApIHtcclxuICAgIHRoaXMucG9zdFFTKFwicmVxdWVzdE5ld1N1YnNjcmlwdGlvblwiLCB7XHJcbiAgICAgIHJlcXVlc3RlZFBsYW46IHJlcXVlc3RlZFBsYW4sXHJcbiAgICB9KS5zdWJzY3JpYmUoXHJcbiAgICAgIChkYXRhKSA9PiB7fSxcclxuICAgICAgKGUpID0+IHtcclxuICAgICAgICBpZiAoZXJyb3IpIGVycm9yKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICBpZiAoc3VjY2Vzcykgc3VjY2VzcygpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhbmNlbFJlcXVlc3RlZFN1YnNjcmlwdGlvbihzdWNjZXNzPzogRnVuY3Rpb24sIGVycm9yPzogRnVuY3Rpb24pIHtcclxuICAgIHRoaXMucG9zdFFTKFwiY2FuY2VsUmVxdWVzdGVkU3Vic2NyaXB0aW9uXCIsIG51bGwpLnN1YnNjcmliZShcclxuICAgICAgKGRhdGEpID0+IHt9LFxyXG4gICAgICAoZSkgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvcikgZXJyb3IoKTtcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmIChzdWNjZXNzKSBzdWNjZXNzKCk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYnV5QWNjZXNzKFxyXG4gICAgcmVxdWVzdGVkUGxhbjogTnVtYmVyLFxyXG4gICAgc3VjY2Vzcz86IEZ1bmN0aW9uLFxyXG4gICAgZXJyb3I/OiBGdW5jdGlvblxyXG4gICkge1xyXG4gICAgdGhpcy5wb3N0UVMoXCJidXlBY2Nlc3NcIiwgeyByZXF1ZXN0ZWRQbGFuOiByZXF1ZXN0ZWRQbGFuIH0pLnN1YnNjcmliZShcclxuICAgICAgKGRhdGEpID0+IHt9LFxyXG4gICAgICAoZSkgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvcikgZXJyb3IoKTtcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmIChzdWNjZXNzKSBzdWNjZXNzKCk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/*
|
|
2
2
|
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
3
6
|
Authors:
|
|
4
7
|
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
5
9
|
|
|
6
10
|
Created:
|
|
7
11
|
20 Nov 2017
|
|
@@ -13,18 +17,18 @@
|
|
|
13
17
|
</file>
|
|
14
18
|
*/
|
|
15
19
|
// Node
|
|
16
|
-
import { Input } from
|
|
20
|
+
import { Input } from "@angular/core";
|
|
17
21
|
// Custom
|
|
18
|
-
import { BaseComponent } from
|
|
19
|
-
import { Utils } from
|
|
22
|
+
import { BaseComponent } from "./base.component";
|
|
23
|
+
import { Utils } from "../../core/utils";
|
|
20
24
|
export class BaseEditComponent extends BaseComponent {
|
|
21
25
|
constructor() {
|
|
22
26
|
super();
|
|
23
27
|
this.formSubmitted = false;
|
|
24
28
|
}
|
|
25
29
|
isActionAdding() {
|
|
26
|
-
|
|
27
|
-
if (typeof id ===
|
|
30
|
+
let id = Utils.getValueByNameInQS("id");
|
|
31
|
+
if (typeof id === "undefined" || id === "")
|
|
28
32
|
return true;
|
|
29
33
|
return false;
|
|
30
34
|
}
|
|
@@ -32,7 +36,7 @@ export class BaseEditComponent extends BaseComponent {
|
|
|
32
36
|
return this.getQSId();
|
|
33
37
|
}
|
|
34
38
|
isItemInvalid(name) {
|
|
35
|
-
if (typeof name ===
|
|
39
|
+
if (typeof name === "undefined" || name === "") {
|
|
36
40
|
return false;
|
|
37
41
|
}
|
|
38
42
|
if (!this.formGroup) {
|
|
@@ -61,4 +65,4 @@ BaseEditComponent.propDecorators = {
|
|
|
61
65
|
formGroup: [{ type: Input }],
|
|
62
66
|
formSubmitted: [{ type: Input }]
|
|
63
67
|
};
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2Jhc2UtZWRpdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsT0FBTztBQUNQLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdEMsU0FBUztBQUNULE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGFBQWE7SUFLbEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUhELGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBSS9CLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksT0FBTyxFQUFFLEtBQUssV0FBVyxJQUFJLEVBQUUsS0FBSyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFeEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWTtRQUN4QixJQUFJLE9BQU8sSUFBSSxLQUFLLFdBQVcsSUFBSSxJQUFJLEtBQUssRUFBRSxFQUFFO1lBQzlDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM1QixPQUFPLENBQ0wsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDeEQsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQ3ZFLENBQUM7U0FDSDtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFJO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDN0MsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELGlCQUFpQixDQUFDLFNBQVMsRUFBRSxJQUFJO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM1RCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0QsQ0FBQzs7O3dCQXBEQSxLQUFLOzRCQUVMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyMCBOb3YgMjAxN1xyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy8gTm9kZVxyXG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLy8gQ3VzdG9tXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tIFwiLi9iYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gXCIuLi8uLi9jb3JlL3V0aWxzXCI7XHJcbmV4cG9ydCBjbGFzcyBCYXNlRWRpdENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xyXG5cclxuICBASW5wdXQoKSBmb3JtU3VibWl0dGVkID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGlzQWN0aW9uQWRkaW5nKCkge1xyXG4gICAgbGV0IGlkID0gVXRpbHMuZ2V0VmFsdWVCeU5hbWVJblFTKFwiaWRcIik7XHJcbiAgICBpZiAodHlwZW9mIGlkID09PSBcInVuZGVmaW5lZFwiIHx8IGlkID09PSBcIlwiKSByZXR1cm4gdHJ1ZTtcclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXRFbnRpdHlJZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmdldFFTSWQoKTtcclxuICB9XHJcblxyXG4gIGlzSXRlbUludmFsaWQobmFtZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodHlwZW9mIG5hbWUgPT09IFwidW5kZWZpbmVkXCIgfHwgbmFtZSA9PT0gXCJcIikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLmZvcm1Hcm91cCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLmdldChuYW1lKSkge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgICh0aGlzLmZvcm1TdWJtaXR0ZWQgJiYgdGhpcy5mb3JtR3JvdXAuZ2V0KG5hbWUpLmludmFsaWQpIHx8XHJcbiAgICAgICAgKHRoaXMuZm9ybUdyb3VwLmdldChuYW1lKS50b3VjaGVkICYmIHRoaXMuZm9ybUdyb3VwLmdldChuYW1lKS5pbnZhbGlkKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdldEZvcm1WYWx1ZShuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuY29udHJvbHNbbmFtZV0udmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXRGb3JtVmFsdWUobmFtZSwgdmFsdWUpIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzW25hbWVdLnNldFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldEZvcm1Hcm91cFZhbHVlKGdyb3VwTmFtZSwgbmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzW2dyb3VwTmFtZV0uZ2V0KG5hbWUpLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgc2V0Rm9ybUdyb3VwVmFsdWUoZ3JvdXBOYW1lLCBuYW1lLCB2YWx1ZSkge1xyXG4gICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHNbZ3JvdXBOYW1lXS5nZXQobmFtZSkuc2V0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/*
|
|
2
2
|
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
3
6
|
Authors:
|
|
4
7
|
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
5
9
|
|
|
6
10
|
Created:
|
|
7
11
|
28 Aug 2018
|
|
@@ -12,22 +16,22 @@
|
|
|
12
16
|
Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.
|
|
13
17
|
</file>
|
|
14
18
|
*/
|
|
15
|
-
//
|
|
16
|
-
import { Alerts } from
|
|
17
|
-
import { Utils } from
|
|
19
|
+
// Node
|
|
20
|
+
import { Alerts } from "../../core/alerts";
|
|
21
|
+
import { Utils } from "../../core/utils";
|
|
18
22
|
export class BaseComponent {
|
|
19
23
|
getQSId() {
|
|
20
|
-
|
|
21
|
-
if (typeof id ===
|
|
24
|
+
let id = Utils.getValueByNameInQS("id");
|
|
25
|
+
if (typeof id === "undefined" || id === "")
|
|
22
26
|
return null;
|
|
23
27
|
return id;
|
|
24
28
|
}
|
|
25
29
|
showLoading() {
|
|
26
|
-
|
|
30
|
+
let panelLoading = $("#pnlLoading");
|
|
27
31
|
panelLoading.show();
|
|
28
32
|
}
|
|
29
33
|
hideLoading() {
|
|
30
|
-
|
|
34
|
+
let panelLoading = $("#pnlLoading");
|
|
31
35
|
panelLoading.hide();
|
|
32
36
|
}
|
|
33
37
|
handleError(e) {
|
|
@@ -35,4 +39,4 @@ export class BaseComponent {
|
|
|
35
39
|
Alerts.ErrorOccurred();
|
|
36
40
|
}
|
|
37
41
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixPQUFPO0FBQ1AsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV6QyxNQUFNLE9BQU8sYUFBYTtJQUN4QixPQUFPO1FBQ0wsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksT0FBTyxFQUFFLEtBQUssV0FBVyxJQUFJLEVBQUUsS0FBSyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFeEQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjggQXVnIDIwMThcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vIE5vZGVcclxuaW1wb3J0IHsgQWxlcnRzIH0gZnJvbSBcIi4uLy4uL2NvcmUvYWxlcnRzXCI7XHJcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSBcIi4uLy4uL2NvcmUvdXRpbHNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBCYXNlQ29tcG9uZW50IHtcclxuICBnZXRRU0lkKCkge1xyXG4gICAgbGV0IGlkID0gVXRpbHMuZ2V0VmFsdWVCeU5hbWVJblFTKFwiaWRcIik7XHJcbiAgICBpZiAodHlwZW9mIGlkID09PSBcInVuZGVmaW5lZFwiIHx8IGlkID09PSBcIlwiKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgICByZXR1cm4gaWQ7XHJcbiAgfVxyXG5cclxuICBzaG93TG9hZGluZygpIHtcclxuICAgIGxldCBwYW5lbExvYWRpbmcgPSAkKFwiI3BubExvYWRpbmdcIik7XHJcbiAgICBwYW5lbExvYWRpbmcuc2hvdygpO1xyXG4gIH1cclxuXHJcbiAgaGlkZUxvYWRpbmcoKSB7XHJcbiAgICBsZXQgcGFuZWxMb2FkaW5nID0gJChcIiNwbmxMb2FkaW5nXCIpO1xyXG4gICAgcGFuZWxMb2FkaW5nLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUVycm9yKGUpIHtcclxuICAgIHRoaXMuaGlkZUxvYWRpbmcoKTtcclxuICAgIEFsZXJ0cy5FcnJvck9jY3VycmVkKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
2
|
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
3
6
|
Authors:
|
|
4
7
|
Vadim Osovitny
|
|
5
8
|
Anatoly Osovitny
|
|
@@ -14,11 +17,11 @@
|
|
|
14
17
|
</file>
|
|
15
18
|
*/
|
|
16
19
|
// Node
|
|
17
|
-
import { Component, Input } from
|
|
20
|
+
import { Component, Input } from "@angular/core";
|
|
18
21
|
// Services
|
|
19
|
-
import { AppContextService } from
|
|
20
|
-
import { BillingApiService } from
|
|
21
|
-
import { Alerts } from
|
|
22
|
+
import { AppContextService } from "../../../core/services/appcontext.service";
|
|
23
|
+
import { BillingApiService } from "../../../data/services/billing-api.service";
|
|
24
|
+
import { Alerts } from "../../../core/alerts";
|
|
22
25
|
export class BuyAccessButtonComponent {
|
|
23
26
|
constructor(appcontext, api) {
|
|
24
27
|
this.appcontext = appcontext;
|
|
@@ -26,7 +29,7 @@ export class BuyAccessButtonComponent {
|
|
|
26
29
|
this.contextUpdated = false;
|
|
27
30
|
this.isUserSignedIn = false;
|
|
28
31
|
this.currentPlan = 0;
|
|
29
|
-
this.currentPlanTitle =
|
|
32
|
+
this.currentPlanTitle = "";
|
|
30
33
|
}
|
|
31
34
|
ngOnInit() {
|
|
32
35
|
if (!this.appcontext.isUserSignedIn()) {
|
|
@@ -45,9 +48,9 @@ export class BuyAccessButtonComponent {
|
|
|
45
48
|
onBuyPlan() {
|
|
46
49
|
const text = `Requested plan: ${this.plantitle} `;
|
|
47
50
|
const that = this;
|
|
48
|
-
Alerts.AreYouSure(text,
|
|
51
|
+
Alerts.AreYouSure(text, "Buying access", "Confirm change", "Cancel", () => {
|
|
49
52
|
that.api.buyAccess(that.plan, () => {
|
|
50
|
-
Alerts.Success(
|
|
53
|
+
Alerts.Success("Access Granted", null, () => {
|
|
51
54
|
window.location.reload();
|
|
52
55
|
});
|
|
53
56
|
});
|
|
@@ -56,7 +59,7 @@ export class BuyAccessButtonComponent {
|
|
|
56
59
|
}
|
|
57
60
|
BuyAccessButtonComponent.decorators = [
|
|
58
61
|
{ type: Component, args: [{
|
|
59
|
-
selector:
|
|
62
|
+
selector: "anatoly-buyaccess-button",
|
|
60
63
|
template: "<div *ngIf=\"contextUpdated\">\r\n <div *ngIf=\"!isUserSignedIn\">\r\n <anatoly-signup-button classbtn=\"btn btn-block btn-primary\"></anatoly-signup-button>\r\n </div>\r\n\r\n <div *ngIf=\"isUserSignedIn\">\r\n <button class=\"btn btn-block btn-success selectPlan\" *ngIf=\"plan == currentPlan\">\r\n Your Plan\r\n </button>\r\n\r\n <button class=\"btn btn-block btn-warning selectPlan\" *ngIf=\"plan != currentPlan && currentPlan == 1\" (click)=\"onBuyPlan()\">\r\n Buy Now\r\n </button>\r\n </div>\r\n</div>\r\n"
|
|
61
64
|
},] }
|
|
62
65
|
];
|
|
@@ -68,4 +71,4 @@ BuyAccessButtonComponent.propDecorators = {
|
|
|
68
71
|
plan: [{ type: Input }],
|
|
69
72
|
plantitle: [{ type: Input }]
|
|
70
73
|
};
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV5YWNjZXNzLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iaWxsaW5nL2J1eWFjY2Vzcy1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE9BQU87QUFDUCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxXQUFXO0FBQ1gsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDL0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBTTlDLE1BQU0sT0FBTyx3QkFBd0I7SUFTbkMsWUFDVSxVQUE2QixFQUM3QixHQUFzQjtRQUR0QixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVZ6QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFRMUIsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUU3QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO2FBQzdEO1lBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNQLE1BQU0sSUFBSSxHQUFHLG1CQUFtQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUM7UUFDbEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBRWxCLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1lBQ3hFLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNqQyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7b0JBQ3pDLE1BQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3BDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQS9DRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsNGlCQUFnRDthQUNqRDs7O1lBUFEsaUJBQWlCO1lBQ2pCLGlCQUFpQjs7O21CQWF2QixLQUFLO3dCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxNCBBdWcgMjAxOFxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy8gTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gU2VydmljZXNcclxuaW1wb3J0IHsgQXBwQ29udGV4dFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9hcHBjb250ZXh0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQmlsbGluZ0FwaVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vZGF0YS9zZXJ2aWNlcy9iaWxsaW5nLWFwaS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFsZXJ0cyB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2FsZXJ0c1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYW5hdG9seS1idXlhY2Nlc3MtYnV0dG9uXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9idXlhY2Nlc3MtYnV0dG9uLmNvbXBvbmVudC5odG1sXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCdXlBY2Nlc3NCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyBjb250ZXh0VXBkYXRlZCA9IGZhbHNlO1xyXG4gIHB1YmxpYyBpc1VzZXJTaWduZWRJbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjdXJyZW50UGxhbiA9IDA7XHJcbiAgcHVibGljIGN1cnJlbnRQbGFuVGl0bGUgPSBcIlwiO1xyXG5cclxuICBASW5wdXQoKSBwbGFuOiBudW1iZXI7XHJcbiAgQElucHV0KCkgcGxhbnRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhcHBjb250ZXh0OiBBcHBDb250ZXh0U2VydmljZSxcclxuICAgIHByaXZhdGUgYXBpOiBCaWxsaW5nQXBpU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAoIXRoaXMuYXBwY29udGV4dC5pc1VzZXJTaWduZWRJbigpKSB7XHJcbiAgICAgIHRoaXMuY29udGV4dFVwZGF0ZWQgPSB0cnVlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hcHBjb250ZXh0LmdldEN1cnJlbnQoKGN1cnJlbnQpID0+IHtcclxuICAgICAgdGhpcy5pc1VzZXJTaWduZWRJbiA9IGN1cnJlbnQuaXNVc2VyU2lnbmVkSW47XHJcblxyXG4gICAgICBpZiAodGhpcy5pc1VzZXJTaWduZWRJbikge1xyXG4gICAgICAgIHRoaXMuY3VycmVudFBsYW4gPSBjdXJyZW50LmFjY291bnQuYmlsbGluZ1BsYW47XHJcbiAgICAgICAgdGhpcy5jdXJyZW50UGxhblRpdGxlID0gY3VycmVudC5hY2NvdW50LmJpbGxpbmdQbGFuQXNTdHJpbmc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuY29udGV4dFVwZGF0ZWQgPSB0cnVlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkJ1eVBsYW4oKSB7XHJcbiAgICBjb25zdCB0ZXh0ID0gYFJlcXVlc3RlZCBwbGFuOiAke3RoaXMucGxhbnRpdGxlfSBgO1xyXG4gICAgY29uc3QgdGhhdCA9IHRoaXM7XHJcblxyXG4gICAgQWxlcnRzLkFyZVlvdVN1cmUodGV4dCwgXCJCdXlpbmcgYWNjZXNzXCIsIFwiQ29uZmlybSBjaGFuZ2VcIiwgXCJDYW5jZWxcIiwgKCkgPT4ge1xyXG4gICAgICB0aGF0LmFwaS5idXlBY2Nlc3ModGhhdC5wbGFuLCAoKSA9PiB7XHJcbiAgICAgICAgQWxlcnRzLlN1Y2Nlc3MoXCJBY2Nlc3MgR3JhbnRlZFwiLCBudWxsLCAoKSA9PiB7XHJcbiAgICAgICAgICAod2luZG93IGFzIGFueSkubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/*
|
|
2
2
|
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
3
6
|
Authors:
|
|
4
7
|
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
5
9
|
|
|
6
10
|
Created:
|
|
7
11
|
1 Jun 2018
|
|
@@ -13,18 +17,18 @@
|
|
|
13
17
|
</file>
|
|
14
18
|
*/
|
|
15
19
|
// Node
|
|
16
|
-
import { Component, Input } from
|
|
20
|
+
import { Component, Input } from "@angular/core";
|
|
17
21
|
// Services
|
|
18
|
-
import { AppContextService } from
|
|
22
|
+
import { AppContextService } from "../../../core/services/appcontext.service";
|
|
19
23
|
export class SubscribePlanButtonComponent {
|
|
20
24
|
constructor(appcontext) {
|
|
21
25
|
this.appcontext = appcontext;
|
|
22
26
|
this.contextUpdated = false;
|
|
23
27
|
this.isUserSignedIn = false;
|
|
24
28
|
this.currentPlan = 0;
|
|
25
|
-
this.currentPlanTitle =
|
|
29
|
+
this.currentPlanTitle = "";
|
|
26
30
|
this.requestedPlan = 0;
|
|
27
|
-
this.requestedPlanTitle =
|
|
31
|
+
this.requestedPlanTitle = "";
|
|
28
32
|
}
|
|
29
33
|
ngOnInit() {
|
|
30
34
|
if (!this.appcontext.isUserSignedIn()) {
|
|
@@ -45,7 +49,7 @@ export class SubscribePlanButtonComponent {
|
|
|
45
49
|
}
|
|
46
50
|
SubscribePlanButtonComponent.decorators = [
|
|
47
51
|
{ type: Component, args: [{
|
|
48
|
-
selector:
|
|
52
|
+
selector: "anatoly-subscribe-plan-button",
|
|
49
53
|
template: "<div *ngIf=\"contextUpdated\">\r\n <div *ngIf=\"!isUserSignedIn\">\r\n <anatoly-signup-button classbtn=\"btn btn-block btn-primary\"></anatoly-signup-button>\r\n </div>\r\n\r\n <div *ngIf=\"isUserSignedIn\">\r\n <button class=\"btn btn-block btn-success selectPlan\" *ngIf=\"plan == currentPlan\">\r\n Your Plan\r\n </button>\r\n\r\n <button class=\"btn btn-block btn-warning selectPlan\" *ngIf=\"requestedPlan != null && requestedPlan != 0 && plan == requestedPlan\">\r\n Requested\r\n </button>\r\n\r\n <anatoly-upgrade-plan-button *ngIf=\"plan != currentPlan && plan != requestedPlan\"\r\n [currentplantitle]=\"currentPlanTitle\"\r\n [requestedplan]=plan\r\n [requestedplantitle]=\"plantitle\">\r\n </anatoly-upgrade-plan-button>\r\n </div>\r\n</div>\r\n"
|
|
50
54
|
},] }
|
|
51
55
|
];
|
|
@@ -56,4 +60,4 @@ SubscribePlanButtonComponent.propDecorators = {
|
|
|
56
60
|
plan: [{ type: Input }],
|
|
57
61
|
plantitle: [{ type: Input }]
|
|
58
62
|
};
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2JpbGxpbmcvc3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixPQUFPO0FBQ1AsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFekQsV0FBVztBQUNYLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBTTlFLE1BQU0sT0FBTyw0QkFBNEI7SUFXdkMsWUFBb0IsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFWMUMsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUtxQixDQUFDO0lBRXJELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUU3QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO2dCQUM1RCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUM7Z0JBQzFELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDO2FBQ3hFO1lBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUFuQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwrQkFBK0I7Z0JBQ3pDLHE0QkFBcUQ7YUFDdEQ7OztZQUxRLGlCQUFpQjs7O21CQWN2QixLQUFLO3dCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxIEp1biAyMDE4XHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vLyBOb2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBTZXJ2aWNlc1xyXG5pbXBvcnQgeyBBcHBDb250ZXh0U2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2FwcGNvbnRleHQuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYW5hdG9seS1zdWJzY3JpYmUtcGxhbi1idXR0b25cIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3N1YnNjcmliZS1wbGFuLWJ1dHRvbi5jb21wb25lbnQuaHRtbFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3Vic2NyaWJlUGxhbkJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIGNvbnRleHRVcGRhdGVkID0gZmFsc2U7XHJcbiAgcHVibGljIGlzVXNlclNpZ25lZEluID0gZmFsc2U7XHJcbiAgcHVibGljIGN1cnJlbnRQbGFuID0gMDtcclxuICBwdWJsaWMgY3VycmVudFBsYW5UaXRsZSA9IFwiXCI7XHJcbiAgcHVibGljIHJlcXVlc3RlZFBsYW4gPSAwO1xyXG4gIHB1YmxpYyByZXF1ZXN0ZWRQbGFuVGl0bGUgPSBcIlwiO1xyXG5cclxuICBASW5wdXQoKSBwbGFuOiBudW1iZXI7XHJcbiAgQElucHV0KCkgcGxhbnRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwY29udGV4dDogQXBwQ29udGV4dFNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmFwcGNvbnRleHQuaXNVc2VyU2lnbmVkSW4oKSkge1xyXG4gICAgICB0aGlzLmNvbnRleHRVcGRhdGVkID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwY29udGV4dC5nZXRDdXJyZW50KChjdXJyZW50KSA9PiB7XHJcbiAgICAgIHRoaXMuaXNVc2VyU2lnbmVkSW4gPSBjdXJyZW50LmlzVXNlclNpZ25lZEluO1xyXG5cclxuICAgICAgaWYgKHRoaXMuaXNVc2VyU2lnbmVkSW4pIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRQbGFuID0gY3VycmVudC5hY2NvdW50LmJpbGxpbmdQbGFuO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFBsYW5UaXRsZSA9IGN1cnJlbnQuYWNjb3VudC5iaWxsaW5nUGxhbkFzU3RyaW5nO1xyXG4gICAgICAgIHRoaXMucmVxdWVzdGVkUGxhbiA9IGN1cnJlbnQuYWNjb3VudC5yZXF1ZXN0ZWRCaWxsaW5nUGxhbjtcclxuICAgICAgICB0aGlzLnJlcXVlc3RlZFBsYW5UaXRsZSA9IGN1cnJlbnQuYWNjb3VudC5yZXF1ZXN0ZWRCaWxsaW5nUGxhbkFzU3RyaW5nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmNvbnRleHRVcGRhdGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/*
|
|
2
2
|
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
3
6
|
Authors:
|
|
4
7
|
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
5
9
|
|
|
6
10
|
Created:
|
|
7
11
|
12 Nov 2017
|
|
@@ -13,9 +17,9 @@
|
|
|
13
17
|
</file>
|
|
14
18
|
*/
|
|
15
19
|
// Node
|
|
16
|
-
import { Component, Input } from
|
|
17
|
-
import { BillingApiService } from
|
|
18
|
-
import { Alerts } from
|
|
20
|
+
import { Component, Input } from "@angular/core";
|
|
21
|
+
import { BillingApiService } from "../../../data";
|
|
22
|
+
import { Alerts } from "../../../core/alerts";
|
|
19
23
|
// Services
|
|
20
24
|
export class UpgradePlanButtonComponent {
|
|
21
25
|
constructor(api) {
|
|
@@ -24,9 +28,9 @@ export class UpgradePlanButtonComponent {
|
|
|
24
28
|
onUpgradePlan() {
|
|
25
29
|
const text = `Current plan: ${this.currentplantitle} New plan: ${this.requestedplantitle}`;
|
|
26
30
|
const that = this;
|
|
27
|
-
Alerts.AreYouSure(text,
|
|
31
|
+
Alerts.AreYouSure(text, "Change billing plan", "Confirm change", "Cancel", () => {
|
|
28
32
|
that.api.requestNewSubscription(that.requestedplan, () => {
|
|
29
|
-
Alerts.Success(
|
|
33
|
+
Alerts.Success("Your request for changing plan has been sent.", null, () => {
|
|
30
34
|
window.location.reload();
|
|
31
35
|
});
|
|
32
36
|
});
|
|
@@ -35,7 +39,7 @@ export class UpgradePlanButtonComponent {
|
|
|
35
39
|
}
|
|
36
40
|
UpgradePlanButtonComponent.decorators = [
|
|
37
41
|
{ type: Component, args: [{
|
|
38
|
-
selector:
|
|
42
|
+
selector: "anatoly-upgrade-plan-button",
|
|
39
43
|
template: "<button class=\"btn btn-block btn-primary\" (click)=\"onUpgradePlan()\">\r\n Upgrade\r\n</button>\r\n"
|
|
40
44
|
},] }
|
|
41
45
|
];
|
|
@@ -47,4 +51,4 @@ UpgradePlanButtonComponent.propDecorators = {
|
|
|
47
51
|
requestedplan: [{ type: Input }],
|
|
48
52
|
requestedplantitle: [{ type: Input }]
|
|
49
53
|
};
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBncmFkZS1wbGFuLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iaWxsaW5nL3VwZ3JhZGUtcGxhbi1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE9BQU87QUFDUCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlDLFdBQVc7QUFNWCxNQUFNLE9BQU8sMEJBQTBCO0lBS3JDLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBQUcsQ0FBQztJQUU5QyxhQUFhO1FBQ1gsTUFBTSxJQUFJLEdBQUcsaUJBQWlCLElBQUksQ0FBQyxnQkFBZ0IsY0FBYyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFFbEIsTUFBTSxDQUFDLFVBQVUsQ0FDZixJQUFJLEVBQ0oscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtnQkFDdkQsTUFBTSxDQUFDLE9BQU8sQ0FDWiwrQ0FBK0MsRUFDL0MsSUFBSSxFQUNKLEdBQUcsRUFBRTtvQkFDRixNQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNwQyxDQUFDLENBQ0YsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDOzs7WUFoQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw2QkFBNkI7Z0JBQ3ZDLGtIQUFtRDthQUNwRDs7O1lBUlEsaUJBQWlCOzs7K0JBVXZCLEtBQUs7NEJBQ0wsS0FBSztpQ0FDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTIgTm92IDIwMTdcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vIE5vZGVcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEJpbGxpbmdBcGlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2RhdGFcIjtcclxuaW1wb3J0IHsgQWxlcnRzIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvYWxlcnRzXCI7XHJcblxyXG4vLyBTZXJ2aWNlc1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYW5hdG9seS11cGdyYWRlLXBsYW4tYnV0dG9uXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi91cGdyYWRlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC5odG1sXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVcGdyYWRlUGxhbkJ1dHRvbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgY3VycmVudHBsYW50aXRsZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHJlcXVlc3RlZHBsYW46IG51bWJlcjtcclxuICBASW5wdXQoKSByZXF1ZXN0ZWRwbGFudGl0bGU6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGk6IEJpbGxpbmdBcGlTZXJ2aWNlKSB7fVxyXG5cclxuICBvblVwZ3JhZGVQbGFuKCkge1xyXG4gICAgY29uc3QgdGV4dCA9IGBDdXJyZW50IHBsYW46ICR7dGhpcy5jdXJyZW50cGxhbnRpdGxlfSBOZXcgcGxhbjogJHt0aGlzLnJlcXVlc3RlZHBsYW50aXRsZX1gO1xyXG4gICAgY29uc3QgdGhhdCA9IHRoaXM7XHJcblxyXG4gICAgQWxlcnRzLkFyZVlvdVN1cmUoXHJcbiAgICAgIHRleHQsXHJcbiAgICAgIFwiQ2hhbmdlIGJpbGxpbmcgcGxhblwiLFxyXG4gICAgICBcIkNvbmZpcm0gY2hhbmdlXCIsXHJcbiAgICAgIFwiQ2FuY2VsXCIsXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICB0aGF0LmFwaS5yZXF1ZXN0TmV3U3Vic2NyaXB0aW9uKHRoYXQucmVxdWVzdGVkcGxhbiwgKCkgPT4ge1xyXG4gICAgICAgICAgQWxlcnRzLlN1Y2Nlc3MoXHJcbiAgICAgICAgICAgIFwiWW91ciByZXF1ZXN0IGZvciBjaGFuZ2luZyBwbGFuIGhhcyBiZWVuIHNlbnQuXCIsXHJcbiAgICAgICAgICAgIG51bGwsXHJcbiAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAod2luZG93IGFzIGFueSkubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|