@osovitny/anatoly 2.1.13 → 2.14.1
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/assets/styles/alerts.less +182 -0
- package/assets/styles/spinner.less +64 -0
- package/assets/styles/toastr.less +192 -0
- package/esm2020/lib/core/convert.mjs +62 -0
- package/esm2020/lib/core/core.module.mjs +72 -0
- package/esm2020/lib/core/go/base-go.service.mjs +41 -0
- package/esm2020/lib/core/guid.mjs +22 -0
- package/esm2020/lib/core/interceptors/httpInterceptor.mjs +108 -0
- package/esm2020/lib/core/localization/localization.module.mjs +47 -0
- package/esm2020/lib/core/localization/localization.service.mjs +185 -0
- package/esm2020/lib/core/localization/localizationSettings.module.mjs +88 -0
- package/esm2020/lib/core/localization/localize.pipe.mjs +78 -0
- package/esm2020/lib/core/logging/globalErrorHandler.mjs +44 -0
- package/esm2020/lib/core/logging/logging.service.mjs +39 -0
- package/esm2020/lib/core/notifications/services/notification-service.mjs +228 -0
- package/esm2020/lib/core/services/appcontext.service.mjs +118 -0
- package/esm2020/lib/core/services/dm.service.mjs +72 -0
- package/esm2020/lib/core/services/google-analytics.service.mjs +54 -0
- package/{esm2015/lib/core/services/idle.service.js → esm2020/lib/core/services/idle.service.mjs} +9 -7
- package/{esm2015/lib/core/services/loading.service.js → esm2020/lib/core/services/loading.service.mjs} +9 -8
- package/esm2020/lib/core/services/web-storage.service.mjs +69 -0
- package/esm2020/lib/core/subs.mjs +31 -0
- package/esm2020/lib/core/utils.mjs +82 -0
- package/esm2020/lib/data/base/base-api.service.mjs +89 -0
- package/esm2020/lib/data/base/grid/base-grid-edit.service.mjs +77 -0
- package/esm2020/lib/data/base/grid/base-grid-read.service.mjs +62 -0
- package/esm2020/lib/data/data.module.mjs +51 -0
- package/esm2020/lib/data/services/billing-api.service.mjs +65 -0
- package/esm2020/lib/data/services/notifications/notifications-api-service.mjs +43 -0
- package/esm2020/lib/ui/components/base-edit.component.mjs +143 -0
- package/esm2020/lib/ui/components/base.component.mjs +47 -0
- package/esm2020/lib/ui/components/base.dialog.mjs +49 -0
- package/esm2020/lib/ui/components/billing/buyaccess-button.component.mjs +69 -0
- package/esm2020/lib/ui/components/billing/subscribe-plan-button.component.mjs +63 -0
- package/esm2020/lib/ui/components/billing/upgrade-plan-button.component.mjs +53 -0
- package/esm2020/lib/ui/components/content-header/content-header.component.mjs +37 -0
- package/esm2020/lib/ui/components/html-editor/base-html-editor.component.mjs +111 -0
- package/esm2020/lib/ui/components/html-editor/forms-html-editor.component.mjs +48 -0
- package/esm2020/lib/ui/components/html-editor/html-editor.component.mjs +52 -0
- package/esm2020/lib/ui/components/identity/signin-button.component.mjs +32 -0
- package/esm2020/lib/ui/components/identity/signout-button.component.mjs +32 -0
- package/esm2020/lib/ui/components/identity/signup-button.component.mjs +31 -0
- package/esm2020/lib/ui/components/loading/loading.component.mjs +48 -0
- package/esm2020/lib/ui/components/spinner/spinner.component.mjs +74 -0
- package/esm2020/lib/ui/directives/native-element.directive.mjs +41 -0
- package/esm2020/lib/ui/pipes/filesize.pipe.mjs +45 -0
- package/esm2020/lib/ui/pipes/replace-text.pipe.mjs +40 -0
- package/esm2020/lib/ui/pipes/safeHtml.pipe.mjs +37 -0
- package/esm2020/lib/ui/ui.module.mjs +155 -0
- package/esm2020/lib/ui/validation/form-validation-summary.component.mjs +66 -0
- package/esm2020/lib/ui/validation/item-validation-summary.component.mjs +39 -0
- package/esm2020/lib/ui/validation/validation-summary.component.mjs +128 -0
- package/fesm2015/{osovitny-anatoly.js → osovitny-anatoly.mjs} +823 -765
- package/fesm2015/osovitny-anatoly.mjs.map +1 -0
- package/fesm2020/osovitny-anatoly.mjs +3496 -0
- package/fesm2020/osovitny-anatoly.mjs.map +1 -0
- package/{osovitny-anatoly.d.ts → index.d.ts} +1 -0
- package/lib/core/core.module.d.ts +5 -0
- package/lib/core/go/base-go.service.d.ts +3 -0
- package/lib/core/interceptors/httpInterceptor.d.ts +3 -0
- package/lib/core/localization/localization.module.d.ts +6 -0
- package/lib/core/localization/localization.service.d.ts +3 -0
- package/lib/core/localization/localizationSettings.module.d.ts +5 -0
- package/lib/core/localization/localize.pipe.d.ts +3 -0
- package/lib/core/logging/globalErrorHandler.d.ts +3 -0
- package/lib/core/logging/logging.service.d.ts +3 -0
- package/lib/core/notifications/services/notification-service.d.ts +3 -0
- package/lib/core/services/appcontext.service.d.ts +5 -2
- package/lib/core/services/dm.service.d.ts +3 -0
- package/lib/core/services/google-analytics.service.d.ts +3 -0
- package/lib/core/services/idle.service.d.ts +3 -0
- package/lib/core/services/loading.service.d.ts +3 -0
- package/lib/core/services/web-storage.service.d.ts +5 -0
- package/lib/data/base/base-api.service.d.ts +3 -0
- package/lib/data/base/grid/base-grid-edit.service.d.ts +3 -0
- package/lib/data/base/grid/base-grid-read.service.d.ts +3 -0
- package/lib/data/data.module.d.ts +5 -0
- package/lib/data/services/billing-api.service.d.ts +3 -0
- package/lib/data/services/notifications/notifications-api-service.d.ts +3 -0
- package/lib/ui/components/base-edit.component.d.ts +5 -2
- package/lib/ui/components/base.component.d.ts +3 -0
- package/lib/ui/components/base.dialog.d.ts +3 -0
- package/lib/ui/components/billing/buyaccess-button.component.d.ts +3 -0
- package/lib/ui/components/billing/subscribe-plan-button.component.d.ts +3 -0
- package/lib/ui/components/billing/upgrade-plan-button.component.d.ts +3 -0
- package/lib/ui/components/content-header/content-header.component.d.ts +3 -0
- package/lib/ui/components/html-editor/base-html-editor.component.d.ts +3 -0
- package/lib/ui/components/html-editor/forms-html-editor.component.d.ts +3 -0
- package/lib/ui/components/html-editor/html-editor.component.d.ts +3 -0
- package/lib/ui/components/identity/signin-button.component.d.ts +3 -0
- package/lib/ui/components/identity/signout-button.component.d.ts +3 -0
- package/lib/ui/components/identity/signup-button.component.d.ts +3 -0
- package/lib/ui/components/loading/loading.component.d.ts +3 -0
- package/lib/ui/components/spinner/spinner.component.d.ts +3 -0
- package/lib/ui/directives/native-element.directive.d.ts +3 -0
- package/lib/ui/pipes/filesize.pipe.d.ts +3 -0
- package/lib/ui/pipes/replace-text.pipe.d.ts +3 -0
- package/lib/ui/pipes/safeHtml.pipe.d.ts +3 -0
- package/lib/ui/ui.module.d.ts +24 -0
- package/lib/ui/validation/form-validation-summary.component.d.ts +3 -0
- package/lib/ui/validation/item-validation-summary.component.d.ts +3 -0
- package/lib/ui/validation/validation-summary.component.d.ts +3 -0
- package/package.json +23 -11
- package/bundles/osovitny-anatoly.umd.js +0 -3696
- package/bundles/osovitny-anatoly.umd.js.map +0 -1
- package/esm2015/lib/core/convert.js +0 -65
- package/esm2015/lib/core/core.module.js +0 -43
- package/esm2015/lib/core/go/base-go.service.js +0 -42
- package/esm2015/lib/core/guid.js +0 -25
- package/esm2015/lib/core/interceptors/httpInterceptor.js +0 -109
- package/esm2015/lib/core/localization/localization.module.js +0 -41
- package/esm2015/lib/core/localization/localization.service.js +0 -187
- package/esm2015/lib/core/localization/localizationSettings.module.js +0 -78
- package/esm2015/lib/core/localization/localize.pipe.js +0 -78
- package/esm2015/lib/core/logging/globalErrorHandler.js +0 -44
- package/esm2015/lib/core/logging/logging.service.js +0 -38
- package/esm2015/lib/core/notifications/services/notification-service.js +0 -230
- package/esm2015/lib/core/services/appcontext.service.js +0 -118
- package/esm2015/lib/core/services/dm.service.js +0 -74
- package/esm2015/lib/core/services/google-analytics.service.js +0 -53
- package/esm2015/lib/core/services/web-storage.service.js +0 -66
- package/esm2015/lib/core/subs.js +0 -34
- package/esm2015/lib/core/utils.js +0 -84
- package/esm2015/lib/data/base/base-api.service.js +0 -89
- package/esm2015/lib/data/base/grid/base-grid-edit.service.js +0 -77
- package/esm2015/lib/data/base/grid/base-grid-read.service.js +0 -62
- package/esm2015/lib/data/data.module.js +0 -43
- package/esm2015/lib/data/services/billing-api.service.js +0 -65
- package/esm2015/lib/data/services/notifications/notifications-api-service.js +0 -45
- package/esm2015/lib/ui/components/base-edit.component.js +0 -142
- package/esm2015/lib/ui/components/base.component.js +0 -43
- package/esm2015/lib/ui/components/base.dialog.js +0 -47
- package/esm2015/lib/ui/components/billing/buyaccess-button.component.js +0 -71
- package/esm2015/lib/ui/components/billing/subscribe-plan-button.component.js +0 -63
- package/esm2015/lib/ui/components/billing/upgrade-plan-button.component.js +0 -54
- package/esm2015/lib/ui/components/content-header/content-header.component.js +0 -37
- package/esm2015/lib/ui/components/html-editor/base-html-editor.component.js +0 -108
- package/esm2015/lib/ui/components/html-editor/forms-html-editor.component.js +0 -44
- package/esm2015/lib/ui/components/html-editor/html-editor.component.js +0 -51
- package/esm2015/lib/ui/components/identity/signin-button.component.js +0 -33
- package/esm2015/lib/ui/components/identity/signout-button.component.js +0 -33
- package/esm2015/lib/ui/components/identity/signup-button.component.js +0 -31
- package/esm2015/lib/ui/components/loading/loading.component.js +0 -49
- package/esm2015/lib/ui/components/spinner/spinner.component.js +0 -73
- package/esm2015/lib/ui/directives/native-element.directive.js +0 -41
- package/esm2015/lib/ui/pipes/filesize.pipe.js +0 -41
- package/esm2015/lib/ui/pipes/replace-text.pipe.js +0 -36
- package/esm2015/lib/ui/pipes/safeHtml.pipe.js +0 -36
- package/esm2015/lib/ui/ui.module.js +0 -105
- package/esm2015/lib/ui/validation/form-validation-summary.component.js +0 -64
- package/esm2015/lib/ui/validation/item-validation-summary.component.js +0 -38
- package/esm2015/lib/ui/validation/validation-summary.component.js +0 -126
- package/fesm2015/osovitny-anatoly.js.map +0 -1
- package/osovitny-anatoly.metadata.json +0 -1
- /package/{esm2015/lib/core/consts/settings.js → esm2020/lib/core/consts/settings.mjs} +0 -0
- /package/{esm2015/lib/core/consts/urls.js → esm2020/lib/core/consts/urls.mjs} +0 -0
- /package/{esm2015/lib/core/guards/once-import.guard.js → esm2020/lib/core/guards/once-import.guard.mjs} +0 -0
- /package/{esm2015/lib/core/localization/utils.js → esm2020/lib/core/localization/utils.mjs} +0 -0
- /package/{esm2015/lib/core/notifications/alerts.js → esm2020/lib/core/notifications/alerts.mjs} +0 -0
- /package/{esm2015/lib/core/notifications/interfaces/notification.js → esm2020/lib/core/notifications/interfaces/notification.mjs} +0 -0
- /package/{esm2015/lib/data/consts.js → esm2020/lib/data/consts.mjs} +0 -0
- /package/{esm2015/lib/ui/components/html-editor/html-editor.defaultoptions.js → esm2020/lib/ui/components/html-editor/html-editor.defaultoptions.mjs} +0 -0
- /package/{esm2015/osovitny-anatoly.js → esm2020/osovitny-anatoly.mjs} +0 -0
- /package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
30 April 2020
|
|
12
|
+
|
|
13
|
+
Version:
|
|
14
|
+
1.0
|
|
15
|
+
|
|
16
|
+
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
17
|
+
</file>
|
|
18
|
+
*/
|
|
19
|
+
// Node
|
|
20
|
+
import { Injectable } from '@angular/core';
|
|
21
|
+
import { BaseApiService } from '../../base/base-api.service';
|
|
22
|
+
import { consts } from '../../consts';
|
|
23
|
+
import * as i0 from "@angular/core";
|
|
24
|
+
import * as i1 from "@angular/common/http";
|
|
25
|
+
export class NotificationsApiService extends BaseApiService {
|
|
26
|
+
constructor(http) {
|
|
27
|
+
super(http);
|
|
28
|
+
this.http = http;
|
|
29
|
+
this.baseUrl = consts.notificationsApiPath;
|
|
30
|
+
}
|
|
31
|
+
retrieveNotifications() {
|
|
32
|
+
return this.get('retrieveNotifications');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
NotificationsApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: NotificationsApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
36
|
+
NotificationsApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: NotificationsApiService, providedIn: 'root' });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: NotificationsApiService, decorators: [{
|
|
38
|
+
type: Injectable,
|
|
39
|
+
args: [{
|
|
40
|
+
providedIn: 'root'
|
|
41
|
+
}]
|
|
42
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1hcGktc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9kYXRhL3NlcnZpY2VzL25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1hcGktc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixPQUFPO0FBQ1AsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVF6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBS3RDLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxjQUFjO0lBQ3pELFlBQXNCLElBQWdCO1FBQ3BDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURRLFNBQUksR0FBSixJQUFJLENBQVk7UUFFcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUM7SUFDN0MsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMzQyxDQUFDOztvSEFSVSx1QkFBdUI7d0hBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzJGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAzMCBBcHJpbCAyMDIwXHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjEgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vLyBOb2RlXHJcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuLy8gUnhKU1xyXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xyXG5cclxuLy8gQXBwXHJcbmltcG9ydCB7IElOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi9jb3JlL25vdGlmaWNhdGlvbnMvaW50ZXJmYWNlcy9ub3RpZmljYXRpb24nO1xyXG5pbXBvcnQgeyBCYXNlQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL2Jhc2UvYmFzZS1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IGNvbnN0cyB9IGZyb20gJy4uLy4uL2NvbnN0cyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zQXBpU2VydmljZSBleHRlbmRzIEJhc2VBcGlTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCkge1xyXG4gICAgc3VwZXIoaHR0cCk7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSBjb25zdHMubm90aWZpY2F0aW9uc0FwaVBhdGg7XHJcbiAgfVxyXG5cclxuICByZXRyaWV2ZU5vdGlmaWNhdGlvbnMoKTogT2JzZXJ2YWJsZTxJTm90aWZpY2F0aW9uW10+IHtcclxuICAgIHJldHVybiB0aGlzLmdldCgncmV0cmlldmVOb3RpZmljYXRpb25zJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
20 Nov 2017
|
|
12
|
+
|
|
13
|
+
Version:
|
|
14
|
+
1.0
|
|
15
|
+
|
|
16
|
+
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
17
|
+
</file>
|
|
18
|
+
*/
|
|
19
|
+
//Node
|
|
20
|
+
import { Component, Input } from "@angular/core";
|
|
21
|
+
import { FormControl, } from "@angular/forms";
|
|
22
|
+
//App
|
|
23
|
+
import { BaseComponent } from "./base.component";
|
|
24
|
+
import { Utils } from "../../core/utils";
|
|
25
|
+
import * as i0 from "@angular/core";
|
|
26
|
+
export class BaseEditComponent extends BaseComponent {
|
|
27
|
+
constructor() {
|
|
28
|
+
super();
|
|
29
|
+
this.formSubmitted = false;
|
|
30
|
+
}
|
|
31
|
+
isActionAdding() {
|
|
32
|
+
var id = Utils.getValueByNameInQS("id");
|
|
33
|
+
if (typeof id === "undefined" || id == "")
|
|
34
|
+
return true;
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
getEntityId() {
|
|
38
|
+
return this.getQSId();
|
|
39
|
+
}
|
|
40
|
+
isControlValid(name, frmGroup = null) {
|
|
41
|
+
return !this.isControlInvalid(name, frmGroup);
|
|
42
|
+
}
|
|
43
|
+
isControlInvalid(name, frmGroup = null) {
|
|
44
|
+
if (typeof name === "undefined" || name == "") {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
let fg = frmGroup ? frmGroup : this.formGroup;
|
|
48
|
+
if (!fg) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
if (fg.get(name)) {
|
|
52
|
+
return ((this.formSubmitted && fg.get(name).invalid) ||
|
|
53
|
+
(fg.get(name).touched && fg.get(name).invalid));
|
|
54
|
+
}
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
//FormGroup functions
|
|
58
|
+
getFormValue(name, frmGroup = null) {
|
|
59
|
+
let fg = frmGroup ? frmGroup : this.formGroup;
|
|
60
|
+
return fg.controls[name].value;
|
|
61
|
+
}
|
|
62
|
+
setFormValue(name, value, frmGroup = null) {
|
|
63
|
+
let fg = frmGroup ? frmGroup : this.formGroup;
|
|
64
|
+
fg.controls[name].setValue(value);
|
|
65
|
+
}
|
|
66
|
+
getFormGroupValue(groupName, name, frmGroup = null) {
|
|
67
|
+
let fg = frmGroup ? frmGroup : this.formGroup;
|
|
68
|
+
return fg.controls[groupName].get(name).value;
|
|
69
|
+
}
|
|
70
|
+
setFormGroupValue(groupName, name, value, frmGroup = null) {
|
|
71
|
+
let fg = frmGroup ? frmGroup : this.formGroup;
|
|
72
|
+
fg.controls[groupName].get(name).setValue(value);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Add control to form group
|
|
76
|
+
* @param name
|
|
77
|
+
* @param formControl
|
|
78
|
+
* @param formGroup
|
|
79
|
+
*/
|
|
80
|
+
addControl(name, formControl, frmGroup = null) {
|
|
81
|
+
let fg = frmGroup ? frmGroup : this.formGroup;
|
|
82
|
+
fg.addControl(name, formControl);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Removes control from form group
|
|
86
|
+
* @param name
|
|
87
|
+
* @param formGroup
|
|
88
|
+
*/
|
|
89
|
+
removeControl(name, frmGroup = null) {
|
|
90
|
+
let fg = frmGroup ? frmGroup : this.formGroup;
|
|
91
|
+
if (fg.get(name)) {
|
|
92
|
+
fg.removeControl(name);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* return new form control
|
|
97
|
+
* @param formState
|
|
98
|
+
* @param validatorOrOpts
|
|
99
|
+
* @param asyncValidator
|
|
100
|
+
*/
|
|
101
|
+
createFormControl(formState, validatorOrOpts, asyncValidator) {
|
|
102
|
+
return new FormControl(formState, validatorOrOpts, asyncValidator);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Set error to control
|
|
106
|
+
* @param controlName formControl name
|
|
107
|
+
* @param err error expect {erroname: boolean} format
|
|
108
|
+
* @param formGroup Specific form group. default it will apply on this.formGroup property
|
|
109
|
+
*/
|
|
110
|
+
setControlError(controlName, err, frmGroup = null) {
|
|
111
|
+
let fg = frmGroup ? frmGroup : this.formGroup;
|
|
112
|
+
fg.get(controlName)?.setErrors(err);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Set {invalid: true} for the specified form
|
|
116
|
+
* @param controlName form control name
|
|
117
|
+
* @param formGroup
|
|
118
|
+
*/
|
|
119
|
+
setInValidError(controlName, frmGroup = null) {
|
|
120
|
+
let fg = frmGroup ? frmGroup : this.formGroup;
|
|
121
|
+
fg.get(controlName)?.setErrors({ invalid: true });
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* returns formgroup controls.
|
|
125
|
+
* main use case is used in html pages
|
|
126
|
+
*/
|
|
127
|
+
get fc() {
|
|
128
|
+
return this.formGroup.controls;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
BaseEditComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BaseEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
132
|
+
BaseEditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: BaseEditComponent, selector: "ng-component", inputs: { formGroup: "formGroup", formSubmitted: "formSubmitted" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BaseEditComponent, decorators: [{
|
|
134
|
+
type: Component,
|
|
135
|
+
args: [{
|
|
136
|
+
template: ''
|
|
137
|
+
}]
|
|
138
|
+
}], ctorParameters: function () { return []; }, propDecorators: { formGroup: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], formSubmitted: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}] } });
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2Jhc2UtZWRpdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFHTCxXQUFXLEdBSVosTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixLQUFLO0FBQ0wsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFLekMsTUFBTSxPQUFnQixpQkFBa0IsU0FBUSxhQUFhO0lBSTNEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFIRCxrQkFBYSxHQUFZLEtBQUssQ0FBQztJQUl4QyxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLE9BQU8sRUFBRSxLQUFLLFdBQVcsSUFBSSxFQUFFLElBQUksRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRXZELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVksRUFBRSxXQUFzQixJQUFJO1FBQ3JELE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsV0FBc0IsSUFBSTtRQUN2RCxJQUFJLE9BQU8sSUFBSSxLQUFLLFdBQVcsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFO1lBQzdDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1AsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQixPQUFPLENBQ0wsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUM1QyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQy9DLENBQUM7U0FDSDtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELHFCQUFxQjtJQUNyQixZQUFZLENBQUMsSUFBSSxFQUFFLFdBQXNCLElBQUk7UUFDM0MsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDOUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBc0IsSUFBSTtRQUNsRCxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFzQixJQUFJO1FBQzNELElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzlDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFzQixJQUFJO1FBQ2xFLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzlDLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQ1IsSUFBWSxFQUNaLFdBQTRCLEVBQzVCLFdBQXNCLElBQUk7UUFFMUIsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDOUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxhQUFhLENBQUMsSUFBWSxFQUFFLFdBQXNCLElBQUk7UUFDcEQsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFOUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hCLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxpQkFBaUIsQ0FDZixTQUFlLEVBQ2YsZUFJUSxFQUNSLGNBQTZEO1FBRTdELE9BQU8sSUFBSSxXQUFXLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxlQUFlLENBQUMsV0FBbUIsRUFBRSxHQUFPLEVBQUUsV0FBc0IsSUFBSTtRQUN0RSxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGVBQWUsQ0FBQyxXQUFtQixFQUFFLFdBQXNCLElBQUk7UUFDN0QsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDOUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDOzs4R0F6SW1CLGlCQUFpQjtrR0FBakIsaUJBQWlCLCtJQUYzQixFQUFFOzJGQUVRLGlCQUFpQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjswRUFFVSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyMCBOb3YgMjAxN1xyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1xyXG4gIEZvcm1Hcm91cCxcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgRm9ybUNvbnRyb2wsXHJcbiAgVmFsaWRhdG9yRm4sXHJcbiAgQWJzdHJhY3RDb250cm9sT3B0aW9ucyxcclxuICBBc3luY1ZhbGlkYXRvckZuLFxyXG59IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gXCIuL2Jhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSBcIi4uLy4uL2NvcmUvdXRpbHNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUVkaXRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBmb3JtU3VibWl0dGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGlzQWN0aW9uQWRkaW5nKCkge1xyXG4gICAgdmFyIGlkID0gVXRpbHMuZ2V0VmFsdWVCeU5hbWVJblFTKFwiaWRcIik7XHJcbiAgICBpZiAodHlwZW9mIGlkID09PSBcInVuZGVmaW5lZFwiIHx8IGlkID09IFwiXCIpIHJldHVybiB0cnVlO1xyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdldEVudGl0eUlkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0UVNJZCgpO1xyXG4gIH1cclxuXHJcbiAgaXNDb250cm9sVmFsaWQobmFtZTogc3RyaW5nLCBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbCkge1xyXG4gICAgcmV0dXJuICF0aGlzLmlzQ29udHJvbEludmFsaWQobmFtZSwgZnJtR3JvdXApO1xyXG4gIH1cclxuXHJcbiAgaXNDb250cm9sSW52YWxpZChuYW1lOiBzdHJpbmcsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBpZiAodHlwZW9mIG5hbWUgPT09IFwidW5kZWZpbmVkXCIgfHwgbmFtZSA9PSBcIlwiKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICBpZiAoIWZnKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZmcuZ2V0KG5hbWUpKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgKHRoaXMuZm9ybVN1Ym1pdHRlZCAmJiBmZy5nZXQobmFtZSkuaW52YWxpZCkgfHxcclxuICAgICAgICAoZmcuZ2V0KG5hbWUpLnRvdWNoZWQgJiYgZmcuZ2V0KG5hbWUpLmludmFsaWQpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy9Gb3JtR3JvdXAgZnVuY3Rpb25zXHJcbiAgZ2V0Rm9ybVZhbHVlKG5hbWUsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICByZXR1cm4gZmcuY29udHJvbHNbbmFtZV0udmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXRGb3JtVmFsdWUobmFtZSwgdmFsdWUsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICBmZy5jb250cm9sc1tuYW1lXS5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXRGb3JtR3JvdXBWYWx1ZShncm91cE5hbWUsIG5hbWUsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICByZXR1cm4gZmcuY29udHJvbHNbZ3JvdXBOYW1lXS5nZXQobmFtZSkudmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXRGb3JtR3JvdXBWYWx1ZShncm91cE5hbWUsIG5hbWUsIHZhbHVlLCBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbCkge1xyXG4gICAgbGV0IGZnID0gZnJtR3JvdXAgPyBmcm1Hcm91cCA6IHRoaXMuZm9ybUdyb3VwO1xyXG4gICAgZmcuY29udHJvbHNbZ3JvdXBOYW1lXS5nZXQobmFtZSkuc2V0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIGNvbnRyb2wgdG8gZm9ybSBncm91cFxyXG4gICAqIEBwYXJhbSBuYW1lXHJcbiAgICogQHBhcmFtIGZvcm1Db250cm9sXHJcbiAgICogQHBhcmFtIGZvcm1Hcm91cFxyXG4gICAqL1xyXG4gIGFkZENvbnRyb2woXHJcbiAgICBuYW1lOiBzdHJpbmcsXHJcbiAgICBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sLFxyXG4gICAgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGxcclxuICApIHtcclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIGZnLmFkZENvbnRyb2wobmFtZSwgZm9ybUNvbnRyb2wpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlcyBjb250cm9sIGZyb20gZm9ybSBncm91cFxyXG4gICAqIEBwYXJhbSBuYW1lXHJcbiAgICogQHBhcmFtIGZvcm1Hcm91cFxyXG4gICAqL1xyXG4gIHJlbW92ZUNvbnRyb2wobmFtZTogc3RyaW5nLCBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbCkge1xyXG4gICAgbGV0IGZnID0gZnJtR3JvdXAgPyBmcm1Hcm91cCA6IHRoaXMuZm9ybUdyb3VwO1xyXG5cclxuICAgIGlmIChmZy5nZXQobmFtZSkpIHtcclxuICAgICAgZmcucmVtb3ZlQ29udHJvbChuYW1lKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHJldHVybiBuZXcgZm9ybSBjb250cm9sXHJcbiAgICogQHBhcmFtIGZvcm1TdGF0ZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0b3JPck9wdHNcclxuICAgKiBAcGFyYW0gYXN5bmNWYWxpZGF0b3JcclxuICAgKi9cclxuICBjcmVhdGVGb3JtQ29udHJvbChcclxuICAgIGZvcm1TdGF0ZT86IGFueSxcclxuICAgIHZhbGlkYXRvck9yT3B0cz86XHJcbiAgICAgIHwgVmFsaWRhdG9yRm5cclxuICAgICAgfCBWYWxpZGF0b3JGbltdXHJcbiAgICAgIHwgQWJzdHJhY3RDb250cm9sT3B0aW9uc1xyXG4gICAgICB8IG51bGwsXHJcbiAgICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW10gfCBudWxsXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gbmV3IEZvcm1Db250cm9sKGZvcm1TdGF0ZSwgdmFsaWRhdG9yT3JPcHRzLCBhc3luY1ZhbGlkYXRvcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgZXJyb3IgdG8gY29udHJvbFxyXG4gICAqIEBwYXJhbSBjb250cm9sTmFtZSBmb3JtQ29udHJvbCBuYW1lXHJcbiAgICogQHBhcmFtIGVyciBlcnJvciBleHBlY3Qge2Vycm9uYW1lOiBib29sZWFufSBmb3JtYXRcclxuICAgKiBAcGFyYW0gZm9ybUdyb3VwIFNwZWNpZmljIGZvcm0gZ3JvdXAuIGRlZmF1bHQgaXQgd2lsbCBhcHBseSBvbiB0aGlzLmZvcm1Hcm91cCBwcm9wZXJ0eVxyXG4gICAqL1xyXG4gIHNldENvbnRyb2xFcnJvcihjb250cm9sTmFtZTogc3RyaW5nLCBlcnI6IHt9LCBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbCkge1xyXG4gICAgbGV0IGZnID0gZnJtR3JvdXAgPyBmcm1Hcm91cCA6IHRoaXMuZm9ybUdyb3VwO1xyXG4gICAgZmcuZ2V0KGNvbnRyb2xOYW1lKT8uc2V0RXJyb3JzKGVycik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQge2ludmFsaWQ6IHRydWV9IGZvciB0aGUgc3BlY2lmaWVkIGZvcm1cclxuICAgKiBAcGFyYW0gY29udHJvbE5hbWUgZm9ybSBjb250cm9sIG5hbWVcclxuICAgKiBAcGFyYW0gZm9ybUdyb3VwXHJcbiAgICovXHJcbiAgc2V0SW5WYWxpZEVycm9yKGNvbnRyb2xOYW1lOiBzdHJpbmcsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICBmZy5nZXQoY29udHJvbE5hbWUpPy5zZXRFcnJvcnMoeyBpbnZhbGlkOiB0cnVlIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogcmV0dXJucyBmb3JtZ3JvdXAgY29udHJvbHMuXHJcbiAgICogbWFpbiB1c2UgY2FzZSBpcyB1c2VkIGluIGh0bWwgcGFnZXNcclxuICAgKi9cclxuICBnZXQgZmMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuY29udHJvbHM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
28 Aug 2018
|
|
12
|
+
|
|
13
|
+
Version:
|
|
14
|
+
1.0
|
|
15
|
+
|
|
16
|
+
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
17
|
+
</file>
|
|
18
|
+
*/
|
|
19
|
+
//Node
|
|
20
|
+
import { Component } from "@angular/core";
|
|
21
|
+
//App
|
|
22
|
+
import { Utils } from "../../core/utils";
|
|
23
|
+
import { Subs } from "../../core/subs";
|
|
24
|
+
import * as i0 from "@angular/core";
|
|
25
|
+
export class BaseComponent {
|
|
26
|
+
constructor() {
|
|
27
|
+
this.subs = new Subs();
|
|
28
|
+
}
|
|
29
|
+
getQSId() {
|
|
30
|
+
var id = Utils.getValueByNameInQS("id");
|
|
31
|
+
if (typeof id === "undefined" || id == "")
|
|
32
|
+
return null;
|
|
33
|
+
return id;
|
|
34
|
+
}
|
|
35
|
+
ngOnDestroy() {
|
|
36
|
+
this.subs.unsubscribe();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
BaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
+
BaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: BaseComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BaseComponent, decorators: [{
|
|
42
|
+
type: Component,
|
|
43
|
+
args: [{
|
|
44
|
+
template: ''
|
|
45
|
+
}]
|
|
46
|
+
}] });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxLQUFLO0FBQ0wsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFLdkMsTUFBTSxPQUFnQixhQUFhO0lBSG5DO1FBSVksU0FBSSxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7S0FZbkM7SUFWQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksT0FBTyxFQUFFLEtBQUssV0FBVyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFdkQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7MEdBWm1CLGFBQWE7OEZBQWIsYUFBYSxvREFGdkIsRUFBRTsyRkFFUSxhQUFhO2tCQUhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjggQXVnIDIwMThcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gXCIuLi8uLi9jb3JlL3V0aWxzXCI7XHJcbmltcG9ydCB7IFN1YnMgfSBmcm9tIFwiLi4vLi4vY29yZS9zdWJzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHByb3RlY3RlZCBzdWJzOiBTdWJzID0gbmV3IFN1YnMoKTtcclxuXHJcbiAgZ2V0UVNJZCgpIHtcclxuICAgIHZhciBpZCA9IFV0aWxzLmdldFZhbHVlQnlOYW1lSW5RUyhcImlkXCIpO1xyXG4gICAgaWYgKHR5cGVvZiBpZCA9PT0gXCJ1bmRlZmluZWRcIiB8fCBpZCA9PSBcIlwiKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgICByZXR1cm4gaWQ7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuc3Vicy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
24 Jan 2022
|
|
12
|
+
|
|
13
|
+
Version:
|
|
14
|
+
1.0
|
|
15
|
+
|
|
16
|
+
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
17
|
+
</file>
|
|
18
|
+
*/
|
|
19
|
+
//Node
|
|
20
|
+
import { Component, Input } from "@angular/core";
|
|
21
|
+
//App
|
|
22
|
+
import { BaseEditComponent } from "./base-edit.component";
|
|
23
|
+
import * as i0 from "@angular/core";
|
|
24
|
+
export class BaseDialog extends BaseEditComponent {
|
|
25
|
+
constructor() {
|
|
26
|
+
super();
|
|
27
|
+
this._opened = false;
|
|
28
|
+
}
|
|
29
|
+
get opened() {
|
|
30
|
+
return this._opened;
|
|
31
|
+
}
|
|
32
|
+
open() {
|
|
33
|
+
this._opened = true;
|
|
34
|
+
}
|
|
35
|
+
close() {
|
|
36
|
+
this._opened = false;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
BaseDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BaseDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
+
BaseDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: BaseDialog, selector: "ng-component", inputs: { opened: "opened" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BaseDialog, decorators: [{
|
|
42
|
+
type: Component,
|
|
43
|
+
args: [{
|
|
44
|
+
template: ''
|
|
45
|
+
}]
|
|
46
|
+
}], ctorParameters: function () { return []; }, propDecorators: { opened: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}] } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iYXNlLmRpYWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsS0FBSztBQUNMLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUsxRCxNQUFNLE9BQWdCLFVBQVcsU0FBUSxpQkFBaUI7SUFReEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQVJGLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFTeEIsQ0FBQztJQVBELElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBTUQsSUFBSTtRQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQzs7dUdBbEJtQixVQUFVOzJGQUFWLFVBQVUseUdBRnBCLEVBQUU7MkZBRVEsVUFBVTtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjswRUFLSyxNQUFNO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyNCBKYW4gMjAyMlxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQmFzZUVkaXRDb21wb25lbnQgfSBmcm9tIFwiLi9iYXNlLWVkaXQuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VEaWFsb2cgZXh0ZW5kcyBCYXNlRWRpdENvbXBvbmVudCB7XHJcbiAgcHJpdmF0ZSBfb3BlbmVkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IG9wZW5lZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9vcGVuZWQ7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBvcGVuKCkge1xyXG4gICAgdGhpcy5fb3BlbmVkID0gdHJ1ZTtcclxuICB9XHJcbiAgXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLl9vcGVuZWQgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
14 Aug 2018
|
|
12
|
+
|
|
13
|
+
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
14
|
+
</file>
|
|
15
|
+
*/
|
|
16
|
+
// Node
|
|
17
|
+
import { Component, Input } from '@angular/core';
|
|
18
|
+
import { Alerts } from '../../../core/notifications/alerts';
|
|
19
|
+
import * as i0 from "@angular/core";
|
|
20
|
+
import * as i1 from "../../../core/services/appcontext.service";
|
|
21
|
+
import * as i2 from "../../../data/services/billing-api.service";
|
|
22
|
+
import * as i3 from "@angular/common";
|
|
23
|
+
import * as i4 from "../identity/signup-button.component";
|
|
24
|
+
export class BuyAccessButtonComponent {
|
|
25
|
+
constructor(appContext, api) {
|
|
26
|
+
this.appContext = appContext;
|
|
27
|
+
this.api = api;
|
|
28
|
+
this.contextUpdated = false;
|
|
29
|
+
this.isUserSignedIn = false;
|
|
30
|
+
this.currentPlan = 0;
|
|
31
|
+
this.currentPlanTitle = '';
|
|
32
|
+
}
|
|
33
|
+
ngOnInit() {
|
|
34
|
+
if (!this.appContext.isUserSignedIn()) {
|
|
35
|
+
this.contextUpdated = true;
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
this.appContext.getCurrent((current) => {
|
|
39
|
+
this.isUserSignedIn = current.isUserSignedIn;
|
|
40
|
+
if (this.isUserSignedIn) {
|
|
41
|
+
this.currentPlan = current.account.billingPlan;
|
|
42
|
+
this.currentPlanTitle = current.account.billingPlanAsString;
|
|
43
|
+
}
|
|
44
|
+
this.contextUpdated = true;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
onBuyPlan() {
|
|
48
|
+
const text = `Requested plan: ${this.plantitle} `;
|
|
49
|
+
const that = this;
|
|
50
|
+
Alerts.areYouSure(text, 'Buying access', 'Confirm change', 'Cancel', () => {
|
|
51
|
+
that.api.buyAccess(that.plan, () => {
|
|
52
|
+
Alerts.success('Access Granted', null, null, () => {
|
|
53
|
+
window.location.reload();
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
BuyAccessButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BuyAccessButtonComponent, deps: [{ token: i1.AppContextService }, { token: i2.BillingApiService }], target: i0.ɵɵFactoryTarget.Component });
|
|
60
|
+
BuyAccessButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: BuyAccessButtonComponent, selector: "anatoly-buyaccess-button", inputs: { plan: "plan", plantitle: "plantitle" }, ngImport: i0, 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", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.SignUpButtonComponent, selector: "anatoly-signup-button", inputs: ["classbtn"] }] });
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BuyAccessButtonComponent, decorators: [{
|
|
62
|
+
type: Component,
|
|
63
|
+
args: [{ selector: 'anatoly-buyaccess-button', 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" }]
|
|
64
|
+
}], ctorParameters: function () { return [{ type: i1.AppContextService }, { type: i2.BillingApiService }]; }, propDecorators: { plan: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], plantitle: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}] } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV5YWNjZXNzLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iaWxsaW5nL2J1eWFjY2Vzcy1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvYmlsbGluZy9idXlhY2Nlc3MtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTztBQUNQLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBS3ZELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7O0FBTTFELE1BQU0sT0FBTyx3QkFBd0I7SUFTbkMsWUFDVSxVQUE2QixFQUM3QixHQUFzQjtRQUR0QixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVZ6QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFVN0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUU3QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO2FBQzdEO1lBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNQLE1BQU0sSUFBSSxHQUFHLG1CQUFtQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUM7UUFDbEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBRWxCLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1lBQ3hFLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNqQyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxFQUFFO29CQUM5QyxNQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNwQyxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztxSEE3Q1Usd0JBQXdCO3lHQUF4Qix3QkFBd0Isa0hDNUJyQyxraUJBZUE7MkZEYWEsd0JBQXdCO2tCQUpwQyxTQUFTOytCQUNFLDBCQUEwQjt3SUFTM0IsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxNCBBdWcgMjAxOFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vIE5vZGVcclxuaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy8gQXBwXHJcbmltcG9ydCB7QXBwQ29udGV4dFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHtCaWxsaW5nQXBpU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vZGF0YS9zZXJ2aWNlcy9iaWxsaW5nLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHtBbGVydHN9IGZyb20gJy4uLy4uLy4uL2NvcmUvbm90aWZpY2F0aW9ucy9hbGVydHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWJ1eWFjY2Vzcy1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXlhY2Nlc3MtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1eUFjY2Vzc0J1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIGNvbnRleHRVcGRhdGVkID0gZmFsc2U7XHJcbiAgcHVibGljIGlzVXNlclNpZ25lZEluID0gZmFsc2U7XHJcbiAgcHVibGljIGN1cnJlbnRQbGFuID0gMDtcclxuICBwdWJsaWMgY3VycmVudFBsYW5UaXRsZSA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBwbGFuOiBudW1iZXI7XHJcbiAgQElucHV0KCkgcGxhbnRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhcHBDb250ZXh0OiBBcHBDb250ZXh0U2VydmljZSxcclxuICAgIHByaXZhdGUgYXBpOiBCaWxsaW5nQXBpU2VydmljZVxyXG4gICkge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmFwcENvbnRleHQuaXNVc2VyU2lnbmVkSW4oKSkge1xyXG4gICAgICB0aGlzLmNvbnRleHRVcGRhdGVkID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwQ29udGV4dC5nZXRDdXJyZW50KChjdXJyZW50KSA9PiB7XHJcbiAgICAgIHRoaXMuaXNVc2VyU2lnbmVkSW4gPSBjdXJyZW50LmlzVXNlclNpZ25lZEluO1xyXG5cclxuICAgICAgaWYgKHRoaXMuaXNVc2VyU2lnbmVkSW4pIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRQbGFuID0gY3VycmVudC5hY2NvdW50LmJpbGxpbmdQbGFuO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFBsYW5UaXRsZSA9IGN1cnJlbnQuYWNjb3VudC5iaWxsaW5nUGxhbkFzU3RyaW5nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmNvbnRleHRVcGRhdGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25CdXlQbGFuKCkge1xyXG4gICAgY29uc3QgdGV4dCA9IGBSZXF1ZXN0ZWQgcGxhbjogJHt0aGlzLnBsYW50aXRsZX0gYDtcclxuICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xyXG5cclxuICAgIEFsZXJ0cy5hcmVZb3VTdXJlKHRleHQsICdCdXlpbmcgYWNjZXNzJywgJ0NvbmZpcm0gY2hhbmdlJywgJ0NhbmNlbCcsICgpID0+IHtcclxuICAgICAgdGhhdC5hcGkuYnV5QWNjZXNzKHRoYXQucGxhbiwgKCkgPT4ge1xyXG4gICAgICAgIEFsZXJ0cy5zdWNjZXNzKCdBY2Nlc3MgR3JhbnRlZCcsIG51bGwsIG51bGwsKCkgPT4ge1xyXG4gICAgICAgICAgKHdpbmRvdyBhcyBhbnkpLmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiY29udGV4dFVwZGF0ZWRcIj5cclxuICA8ZGl2ICpuZ0lmPVwiIWlzVXNlclNpZ25lZEluXCI+XHJcbiAgICA8YW5hdG9seS1zaWdudXAtYnV0dG9uIGNsYXNzYnRuPVwiYnRuIGJ0bi1ibG9jayBidG4tcHJpbWFyeVwiPjwvYW5hdG9seS1zaWdudXAtYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2ICpuZ0lmPVwiaXNVc2VyU2lnbmVkSW5cIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWJsb2NrIGJ0bi1zdWNjZXNzIHNlbGVjdFBsYW5cIiAqbmdJZj1cInBsYW4gPT0gY3VycmVudFBsYW5cIj5cclxuICAgICAgWW91ciBQbGFuXHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1ibG9jayAgYnRuLXdhcm5pbmcgc2VsZWN0UGxhblwiICpuZ0lmPVwicGxhbiAhPSBjdXJyZW50UGxhbiAmJiBjdXJyZW50UGxhbiA9PSAxXCIgKGNsaWNrKT1cIm9uQnV5UGxhbigpXCI+XHJcbiAgICAgIEJ1eSBOb3dcclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
1 Jun 2018
|
|
12
|
+
|
|
13
|
+
Version:
|
|
14
|
+
1.0
|
|
15
|
+
|
|
16
|
+
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
17
|
+
</file>
|
|
18
|
+
*/
|
|
19
|
+
// Node
|
|
20
|
+
import { Component, Input } from "@angular/core";
|
|
21
|
+
import * as i0 from "@angular/core";
|
|
22
|
+
import * as i1 from "../../../core/services/appcontext.service";
|
|
23
|
+
import * as i2 from "@angular/common";
|
|
24
|
+
import * as i3 from "./upgrade-plan-button.component";
|
|
25
|
+
import * as i4 from "../identity/signup-button.component";
|
|
26
|
+
export class SubscribePlanButtonComponent {
|
|
27
|
+
constructor(appcontext) {
|
|
28
|
+
this.appcontext = appcontext;
|
|
29
|
+
this.contextUpdated = false;
|
|
30
|
+
this.isUserSignedIn = false;
|
|
31
|
+
this.currentPlan = 0;
|
|
32
|
+
this.currentPlanTitle = "";
|
|
33
|
+
this.requestedPlan = 0;
|
|
34
|
+
this.requestedPlanTitle = "";
|
|
35
|
+
}
|
|
36
|
+
ngOnInit() {
|
|
37
|
+
if (!this.appcontext.isUserSignedIn()) {
|
|
38
|
+
this.contextUpdated = true;
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this.appcontext.getCurrent((current) => {
|
|
42
|
+
this.isUserSignedIn = current.isUserSignedIn;
|
|
43
|
+
if (this.isUserSignedIn) {
|
|
44
|
+
this.currentPlan = current.account.billingPlan;
|
|
45
|
+
this.currentPlanTitle = current.account.billingPlanAsString;
|
|
46
|
+
this.requestedPlan = current.account.requestedBillingPlan;
|
|
47
|
+
this.requestedPlanTitle = current.account.requestedBillingPlanAsString;
|
|
48
|
+
}
|
|
49
|
+
this.contextUpdated = true;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
SubscribePlanButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: SubscribePlanButtonComponent, deps: [{ token: i1.AppContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
+
SubscribePlanButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: SubscribePlanButtonComponent, selector: "anatoly-subscribe-plan-button", inputs: { plan: "plan", plantitle: "plantitle" }, ngImport: i0, 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", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.UpgradePlanButtonComponent, selector: "anatoly-upgrade-plan-button", inputs: ["currentplantitle", "requestedplan", "requestedplantitle"] }, { kind: "component", type: i4.SignUpButtonComponent, selector: "anatoly-signup-button", inputs: ["classbtn"] }] });
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: SubscribePlanButtonComponent, decorators: [{
|
|
56
|
+
type: Component,
|
|
57
|
+
args: [{ selector: "anatoly-subscribe-plan-button", 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" }]
|
|
58
|
+
}], ctorParameters: function () { return [{ type: i1.AppContextService }]; }, propDecorators: { plan: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], plantitle: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}] } });
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2JpbGxpbmcvc3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2JpbGxpbmcvc3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE9BQU87QUFDUCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBU3pELE1BQU0sT0FBTyw0QkFBNEI7SUFXdkMsWUFBb0IsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFWMUMsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUtxQixDQUFDO0lBRXJELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUU3QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO2dCQUM1RCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUM7Z0JBQzFELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDO2FBQ3hFO1lBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzt5SEEvQlUsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsdUhDN0J6QywyM0JBcUJBOzJGRFFhLDRCQUE0QjtrQkFKeEMsU0FBUzsrQkFDRSwrQkFBK0I7d0dBV2hDLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMSBKdW4gMjAxOFxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy8gTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gU2VydmljZXNcclxuaW1wb3J0IHsgQXBwQ29udGV4dFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9hcHBjb250ZXh0LnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFuYXRvbHktc3Vic2NyaWJlLXBsYW4tYnV0dG9uXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9zdWJzY3JpYmUtcGxhbi1idXR0b24uY29tcG9uZW50Lmh0bWxcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIFN1YnNjcmliZVBsYW5CdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyBjb250ZXh0VXBkYXRlZCA9IGZhbHNlO1xyXG4gIHB1YmxpYyBpc1VzZXJTaWduZWRJbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjdXJyZW50UGxhbiA9IDA7XHJcbiAgcHVibGljIGN1cnJlbnRQbGFuVGl0bGUgPSBcIlwiO1xyXG4gIHB1YmxpYyByZXF1ZXN0ZWRQbGFuID0gMDtcclxuICBwdWJsaWMgcmVxdWVzdGVkUGxhblRpdGxlID0gXCJcIjtcclxuXHJcbiAgQElucHV0KCkgcGxhbjogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHBsYW50aXRsZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcGNvbnRleHQ6IEFwcENvbnRleHRTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5hcHBjb250ZXh0LmlzVXNlclNpZ25lZEluKCkpIHtcclxuICAgICAgdGhpcy5jb250ZXh0VXBkYXRlZCA9IHRydWU7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcGNvbnRleHQuZ2V0Q3VycmVudCgoY3VycmVudCkgPT4ge1xyXG4gICAgICB0aGlzLmlzVXNlclNpZ25lZEluID0gY3VycmVudC5pc1VzZXJTaWduZWRJbjtcclxuXHJcbiAgICAgIGlmICh0aGlzLmlzVXNlclNpZ25lZEluKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50UGxhbiA9IGN1cnJlbnQuYWNjb3VudC5iaWxsaW5nUGxhbjtcclxuICAgICAgICB0aGlzLmN1cnJlbnRQbGFuVGl0bGUgPSBjdXJyZW50LmFjY291bnQuYmlsbGluZ1BsYW5Bc1N0cmluZztcclxuICAgICAgICB0aGlzLnJlcXVlc3RlZFBsYW4gPSBjdXJyZW50LmFjY291bnQucmVxdWVzdGVkQmlsbGluZ1BsYW47XHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0ZWRQbGFuVGl0bGUgPSBjdXJyZW50LmFjY291bnQucmVxdWVzdGVkQmlsbGluZ1BsYW5Bc1N0cmluZztcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5jb250ZXh0VXBkYXRlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cImNvbnRleHRVcGRhdGVkXCI+XHJcbiAgPGRpdiAqbmdJZj1cIiFpc1VzZXJTaWduZWRJblwiPlxyXG4gICAgPGFuYXRvbHktc2lnbnVwLWJ1dHRvbiBjbGFzc2J0bj1cImJ0biBidG4tYmxvY2sgYnRuLXByaW1hcnlcIj48L2FuYXRvbHktc2lnbnVwLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiAqbmdJZj1cImlzVXNlclNpZ25lZEluXCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1ibG9jayBidG4tc3VjY2VzcyBzZWxlY3RQbGFuXCIgKm5nSWY9XCJwbGFuID09IGN1cnJlbnRQbGFuXCI+XHJcbiAgICAgIFlvdXIgUGxhblxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tYmxvY2sgIGJ0bi13YXJuaW5nIHNlbGVjdFBsYW5cIiAqbmdJZj1cInJlcXVlc3RlZFBsYW4gIT0gbnVsbCAmJiByZXF1ZXN0ZWRQbGFuICE9IDAgJiYgcGxhbiA9PSByZXF1ZXN0ZWRQbGFuXCI+XHJcbiAgICAgIFJlcXVlc3RlZFxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGFuYXRvbHktdXBncmFkZS1wbGFuLWJ1dHRvbiAqbmdJZj1cInBsYW4gIT0gY3VycmVudFBsYW4gJiYgcGxhbiAhPSByZXF1ZXN0ZWRQbGFuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1cnJlbnRwbGFudGl0bGVdPVwiY3VycmVudFBsYW5UaXRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1ZXN0ZWRwbGFuXT1wbGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1ZXN0ZWRwbGFudGl0bGVdPVwicGxhbnRpdGxlXCI+XHJcbiAgICA8L2FuYXRvbHktdXBncmFkZS1wbGFuLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
12 Nov 2017
|
|
12
|
+
|
|
13
|
+
Version:
|
|
14
|
+
1.0
|
|
15
|
+
|
|
16
|
+
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
17
|
+
</file>
|
|
18
|
+
*/
|
|
19
|
+
// Node
|
|
20
|
+
import { Component, Input } from '@angular/core';
|
|
21
|
+
import { Alerts } from '../../../core/notifications/alerts';
|
|
22
|
+
import * as i0 from "@angular/core";
|
|
23
|
+
import * as i1 from "../../../data/services/billing-api.service";
|
|
24
|
+
// Services
|
|
25
|
+
export class UpgradePlanButtonComponent {
|
|
26
|
+
constructor(api) {
|
|
27
|
+
this.api = api;
|
|
28
|
+
}
|
|
29
|
+
onUpgradePlan() {
|
|
30
|
+
const text = `Current plan: ${this.currentplantitle} New plan: ${this.requestedplantitle}`;
|
|
31
|
+
const that = this;
|
|
32
|
+
Alerts.areYouSure(text, 'Change billing plan', 'Confirm change', 'Cancel', () => {
|
|
33
|
+
that.api.requestNewSubscription(that.requestedplan, () => {
|
|
34
|
+
Alerts.success('Your request for changing plan has been sent.', null, null, () => {
|
|
35
|
+
window.location.reload();
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
UpgradePlanButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: UpgradePlanButtonComponent, deps: [{ token: i1.BillingApiService }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
UpgradePlanButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: UpgradePlanButtonComponent, selector: "anatoly-upgrade-plan-button", inputs: { currentplantitle: "currentplantitle", requestedplan: "requestedplan", requestedplantitle: "requestedplantitle" }, ngImport: i0, template: "<button class=\"btn btn-block btn-primary\" (click)=\"onUpgradePlan()\">\r\n Upgrade\r\n</button>\r\n" });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: UpgradePlanButtonComponent, decorators: [{
|
|
44
|
+
type: Component,
|
|
45
|
+
args: [{ selector: 'anatoly-upgrade-plan-button', template: "<button class=\"btn btn-block btn-primary\" (click)=\"onUpgradePlan()\">\r\n Upgrade\r\n</button>\r\n" }]
|
|
46
|
+
}], ctorParameters: function () { return [{ type: i1.BillingApiService }]; }, propDecorators: { currentplantitle: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}], requestedplan: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], requestedplantitle: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}] } });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBncmFkZS1wbGFuLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iaWxsaW5nL3VwZ3JhZGUtcGxhbi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvYmlsbGluZy91cGdyYWRlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE9BQU87QUFDUCxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7OztBQUUxRCxXQUFXO0FBTVgsTUFBTSxPQUFPLDBCQUEwQjtJQUtyQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUFHLENBQUM7SUFFOUMsYUFBYTtRQUNYLE1BQU0sSUFBSSxHQUFHLGlCQUFpQixJQUFJLENBQUMsZ0JBQWdCLGNBQWMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDM0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBRWxCLE1BQU0sQ0FBQyxVQUFVLENBQ2YsSUFBSSxFQUNKLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7Z0JBQ3ZELE1BQU0sQ0FBQyxPQUFPLENBQ1osK0NBQStDLEVBQy9DLElBQUksRUFBQyxJQUFJLEVBQ1QsR0FBRyxFQUFFO29CQUNGLE1BQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3BDLENBQUMsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7O3VIQTVCVSwwQkFBMEI7MkdBQTFCLDBCQUEwQiwrTEM5QnZDLHdHQUdBOzJGRDJCYSwwQkFBMEI7a0JBSnRDLFNBQVM7K0JBQ0UsNkJBQTZCO3dHQUk5QixnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxMiBOb3YgMjAxN1xyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy8gTm9kZVxyXG5pbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0JpbGxpbmdBcGlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9kYXRhL3NlcnZpY2VzL2JpbGxpbmctYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQge0FsZXJ0c30gZnJvbSAnLi4vLi4vLi4vY29yZS9ub3RpZmljYXRpb25zL2FsZXJ0cyc7XHJcblxyXG4vLyBTZXJ2aWNlc1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LXVwZ3JhZGUtcGxhbi1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91cGdyYWRlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVwZ3JhZGVQbGFuQnV0dG9uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBjdXJyZW50cGxhbnRpdGxlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcmVxdWVzdGVkcGxhbjogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHJlcXVlc3RlZHBsYW50aXRsZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaTogQmlsbGluZ0FwaVNlcnZpY2UpIHt9XHJcblxyXG4gIG9uVXBncmFkZVBsYW4oKSB7XHJcbiAgICBjb25zdCB0ZXh0ID0gYEN1cnJlbnQgcGxhbjogJHt0aGlzLmN1cnJlbnRwbGFudGl0bGV9IE5ldyBwbGFuOiAke3RoaXMucmVxdWVzdGVkcGxhbnRpdGxlfWA7XHJcbiAgICBjb25zdCB0aGF0ID0gdGhpcztcclxuXHJcbiAgICBBbGVydHMuYXJlWW91U3VyZShcclxuICAgICAgdGV4dCxcclxuICAgICAgJ0NoYW5nZSBiaWxsaW5nIHBsYW4nLFxyXG4gICAgICAnQ29uZmlybSBjaGFuZ2UnLFxyXG4gICAgICAnQ2FuY2VsJyxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIHRoYXQuYXBpLnJlcXVlc3ROZXdTdWJzY3JpcHRpb24odGhhdC5yZXF1ZXN0ZWRwbGFuLCAoKSA9PiB7XHJcbiAgICAgICAgICBBbGVydHMuc3VjY2VzcyhcclxuICAgICAgICAgICAgJ1lvdXIgcmVxdWVzdCBmb3IgY2hhbmdpbmcgcGxhbiBoYXMgYmVlbiBzZW50LicsXHJcbiAgICAgICAgICAgIG51bGwsbnVsbCxcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICh3aW5kb3cgYXMgYW55KS5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tYmxvY2sgYnRuLXByaW1hcnlcIiAoY2xpY2spPVwib25VcGdyYWRlUGxhbigpXCI+XHJcbiAgVXBncmFkZVxyXG48L2J1dHRvbj5cclxuIl19
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
23 Apr 2018
|
|
12
|
+
|
|
13
|
+
Version:
|
|
14
|
+
1.0
|
|
15
|
+
|
|
16
|
+
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
17
|
+
</file>
|
|
18
|
+
*/
|
|
19
|
+
// Node
|
|
20
|
+
import { Component, Input } from "@angular/core";
|
|
21
|
+
import * as i0 from "@angular/core";
|
|
22
|
+
export class ContentHeaderComponent {
|
|
23
|
+
ngOnInit() {
|
|
24
|
+
if (this.title == null) {
|
|
25
|
+
this.title = "";
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
ContentHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ContentHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
+
ContentHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ContentHeaderComponent, selector: "anatoly-content-header", inputs: { title: "title" }, ngImport: i0, template: "<h2 class=\"page-header\">\r\n {{title}}\r\n <!--<small>Optional {{title}}</small>-->\r\n</h2>\r\n" });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ContentHeaderComponent, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{ selector: "anatoly-content-header", template: "<h2 class=\"page-header\">\r\n {{title}}\r\n <!--<small>Optional {{title}}</small>-->\r\n</h2>\r\n" }]
|
|
34
|
+
}], propDecorators: { title: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}] } });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvY29udGVudC1oZWFkZXIvY29udGVudC1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvY29udGVudC1oZWFkZXIvY29udGVudC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsT0FBTztBQUNQLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQU16RCxNQUFNLE9BQU8sc0JBQXNCO0lBR2pDLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQzs7bUhBUFUsc0JBQXNCO3VHQUF0QixzQkFBc0IsMEZDMUJuQyxzR0FJQTsyRkRzQmEsc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNFLHdCQUF3Qjs4QkFJekIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjMgQXByIDIwMThcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vIE5vZGVcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFuYXRvbHktY29udGVudC1oZWFkZXJcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2NvbnRlbnQtaGVhZGVyLmNvbXBvbmVudC5odG1sXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250ZW50SGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy50aXRsZSA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMudGl0bGUgPSBcIlwiO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8aDIgY2xhc3M9XCJwYWdlLWhlYWRlclwiPlxyXG4gIHt7dGl0bGV9fVxyXG4gIDwhLS08c21hbGw+T3B0aW9uYWwge3t0aXRsZX19PC9zbWFsbD4tLT5cclxuPC9oMj5cclxuIl19
|