@osovitny/anatoly 2.14.4 → 2.14.6
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/esm2020/lib/data/consts.mjs +6 -3
- package/esm2020/lib/data/data.module.mjs +2 -2
- package/esm2020/lib/data/services/emails-api.service.mjs +4 -2
- package/esm2020/lib/ui/components/base-edit.component.mjs +2 -2
- package/esm2020/lib/ui/components/base.component.mjs +3 -3
- package/esm2020/lib/ui/components/billing/buyaccess-button.component.mjs +4 -4
- package/esm2020/lib/ui/components/billing/subscribe-plan-button.component.mjs +2 -2
- package/esm2020/lib/ui/components/billing/upgrade-plan-button.component.mjs +3 -3
- package/esm2020/lib/ui/components/html-editor/base-html-editor.component.mjs +2 -2
- package/esm2020/lib/ui/components/loading/loading.component.mjs +3 -3
- package/esm2020/lib/ui/forms/contact-us/contact-us.mjs +5 -5
- package/fesm2015/osovitny-anatoly.mjs +78 -86
- package/fesm2015/osovitny-anatoly.mjs.map +1 -1
- package/fesm2020/osovitny-anatoly.mjs +78 -86
- package/fesm2020/osovitny-anatoly.mjs.map +1 -1
- package/lib/data/consts.d.ts +1 -0
- package/lib/data/services/emails-api.service.d.ts +1 -1
- package/lib/ui/components/base.component.d.ts +1 -1
- package/lib/ui/components/billing/buyaccess-button.component.d.ts +2 -2
- package/lib/ui/components/billing/subscribe-plan-button.component.d.ts +1 -1
- package/lib/ui/components/billing/upgrade-plan-button.component.d.ts +1 -1
- package/lib/ui/components/loading/loading.component.d.ts +1 -1
- package/lib/ui/forms/contact-us/contact-us.d.ts +4 -4
- package/package.json +1 -1
|
@@ -11,31 +11,19 @@ import { utcToZonedTime } from 'date-fns-tz';
|
|
|
11
11
|
import enUS from 'date-fns/locale/en-US';
|
|
12
12
|
import * as i1$1 from '@ngx-translate/core';
|
|
13
13
|
import { TranslateModule, TranslateLoader, TranslateService } from '@ngx-translate/core';
|
|
14
|
-
import * as i1$
|
|
14
|
+
import * as i1$5 from '@angular/common';
|
|
15
15
|
import { LOCATION_INITIALIZED, DOCUMENT, CommonModule } from '@angular/common';
|
|
16
16
|
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
17
17
|
import Swal from 'sweetalert2';
|
|
18
18
|
import { v4 } from 'uuid';
|
|
19
19
|
import * as i1$2 from 'ngx-toastr';
|
|
20
20
|
import * as i1$4 from '@angular/platform-browser';
|
|
21
|
-
import
|
|
22
|
-
import { Subs as Subs$1 } from '@anatoly/core/subs';
|
|
23
|
-
import * as i1$7 from '@angular/forms';
|
|
21
|
+
import * as i1$6 from '@angular/forms';
|
|
24
22
|
import { FormControl, Validators, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
25
|
-
import
|
|
26
|
-
import * as i1$5 from '@anatoly/core/services/appcontext.service';
|
|
27
|
-
import * as i2 from '@anatoly/data/services/billing-api.service';
|
|
28
|
-
import { AppCoreSettings as AppCoreSettings$1 } from '@anatoly/core/consts/settings';
|
|
29
|
-
import * as i1$8 from 'angular-froala-wysiwyg';
|
|
23
|
+
import * as i1$7 from 'angular-froala-wysiwyg';
|
|
30
24
|
import { FroalaEditorModule, FroalaViewModule } from 'angular-froala-wysiwyg';
|
|
31
|
-
import * as i1$9 from '@anatoly/core/services/loading.service';
|
|
32
|
-
import { BaseEditComponent as BaseEditComponent$1 } from '@anatoly/ui/components/base-edit.component';
|
|
33
|
-
import * as i3 from '@anatoly/data/services/emails-api.service';
|
|
34
|
-
import * as i4 from '@anatoly/core/notifications/services/notification-service';
|
|
35
25
|
import * as i6 from 'ngx-captcha';
|
|
36
26
|
import { NgxCaptchaModule } from 'ngx-captcha';
|
|
37
|
-
import { throwIfAlreadyLoaded as throwIfAlreadyLoaded$1 } from '@core/guards/once-import.guard';
|
|
38
|
-
import { BaseApiService as BaseApiService$1 } from '@data/base/base-api.service';
|
|
39
27
|
|
|
40
28
|
/*
|
|
41
29
|
<file>
|
|
@@ -1909,9 +1897,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
1909
1897
|
</file>
|
|
1910
1898
|
*/
|
|
1911
1899
|
const consts = {
|
|
1900
|
+
//billing
|
|
1912
1901
|
billingApiPath: 'api/billing',
|
|
1913
|
-
//
|
|
1914
|
-
|
|
1902
|
+
//emails
|
|
1903
|
+
emailsApiPath: 'api/emails',
|
|
1904
|
+
//notifications
|
|
1905
|
+
notificationsApiPath: 'api/notifications'
|
|
1915
1906
|
};
|
|
1916
1907
|
|
|
1917
1908
|
/*
|
|
@@ -2029,10 +2020,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
2029
2020
|
*/
|
|
2030
2021
|
class BaseComponent {
|
|
2031
2022
|
constructor() {
|
|
2032
|
-
this.subs = new Subs
|
|
2023
|
+
this.subs = new Subs();
|
|
2033
2024
|
}
|
|
2034
2025
|
getQSId() {
|
|
2035
|
-
var id = Utils
|
|
2026
|
+
var id = Utils.getValueByNameInQS("id");
|
|
2036
2027
|
if (typeof id === "undefined" || id == "")
|
|
2037
2028
|
return null;
|
|
2038
2029
|
return id;
|
|
@@ -2074,7 +2065,7 @@ class BaseEditComponent extends BaseComponent {
|
|
|
2074
2065
|
this.formSubmitted = false;
|
|
2075
2066
|
}
|
|
2076
2067
|
isActionAdding() {
|
|
2077
|
-
var id = Utils
|
|
2068
|
+
var id = Utils.getValueByNameInQS("id");
|
|
2078
2069
|
if (typeof id === "undefined" || id == "")
|
|
2079
2070
|
return true;
|
|
2080
2071
|
return false;
|
|
@@ -2300,21 +2291,21 @@ class BuyAccessButtonComponent {
|
|
|
2300
2291
|
onBuyPlan() {
|
|
2301
2292
|
const text = `Requested plan: ${this.plantitle} `;
|
|
2302
2293
|
const that = this;
|
|
2303
|
-
Alerts
|
|
2294
|
+
Alerts.areYouSure(text, 'Buying access', 'Confirm change', 'Cancel', () => {
|
|
2304
2295
|
that.api.buyAccess(that.plan, () => {
|
|
2305
|
-
Alerts
|
|
2296
|
+
Alerts.success('Access Granted', null, null, () => {
|
|
2306
2297
|
window.location.reload();
|
|
2307
2298
|
});
|
|
2308
2299
|
});
|
|
2309
2300
|
});
|
|
2310
2301
|
}
|
|
2311
2302
|
}
|
|
2312
|
-
BuyAccessButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BuyAccessButtonComponent, deps: [{ token:
|
|
2313
|
-
BuyAccessButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", 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: i1$
|
|
2303
|
+
BuyAccessButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BuyAccessButtonComponent, deps: [{ token: AppContextService }, { token: BillingApiService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2304
|
+
BuyAccessButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", 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: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SignUpButtonComponent, selector: "anatoly-signup-button", inputs: ["classbtn"] }] });
|
|
2314
2305
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BuyAccessButtonComponent, decorators: [{
|
|
2315
2306
|
type: Component,
|
|
2316
2307
|
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" }]
|
|
2317
|
-
}], ctorParameters: function () { return [{ type:
|
|
2308
|
+
}], ctorParameters: function () { return [{ type: AppContextService }, { type: BillingApiService }]; }, propDecorators: { plan: [{
|
|
2318
2309
|
type: Input
|
|
2319
2310
|
}], plantitle: [{
|
|
2320
2311
|
type: Input
|
|
@@ -2345,21 +2336,21 @@ class UpgradePlanButtonComponent {
|
|
|
2345
2336
|
onUpgradePlan() {
|
|
2346
2337
|
const text = `Current plan: ${this.currentplantitle} New plan: ${this.requestedplantitle}`;
|
|
2347
2338
|
const that = this;
|
|
2348
|
-
Alerts
|
|
2339
|
+
Alerts.areYouSure(text, 'Change billing plan', 'Confirm change', 'Cancel', () => {
|
|
2349
2340
|
that.api.requestNewSubscription(that.requestedplan, () => {
|
|
2350
|
-
Alerts
|
|
2341
|
+
Alerts.success('Your request for changing plan has been sent.', null, null, () => {
|
|
2351
2342
|
window.location.reload();
|
|
2352
2343
|
});
|
|
2353
2344
|
});
|
|
2354
2345
|
});
|
|
2355
2346
|
}
|
|
2356
2347
|
}
|
|
2357
|
-
UpgradePlanButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: UpgradePlanButtonComponent, deps: [{ token:
|
|
2348
|
+
UpgradePlanButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: UpgradePlanButtonComponent, deps: [{ token: BillingApiService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2358
2349
|
UpgradePlanButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", 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" });
|
|
2359
2350
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: UpgradePlanButtonComponent, decorators: [{
|
|
2360
2351
|
type: Component,
|
|
2361
2352
|
args: [{ selector: 'anatoly-upgrade-plan-button', template: "<button class=\"btn btn-block btn-primary\" (click)=\"onUpgradePlan()\">\r\n Upgrade\r\n</button>\r\n" }]
|
|
2362
|
-
}], ctorParameters: function () { return [{ type:
|
|
2353
|
+
}], ctorParameters: function () { return [{ type: BillingApiService }]; }, propDecorators: { currentplantitle: [{
|
|
2363
2354
|
type: Input
|
|
2364
2355
|
}], requestedplan: [{
|
|
2365
2356
|
type: Input
|
|
@@ -2412,12 +2403,12 @@ class SubscribePlanButtonComponent {
|
|
|
2412
2403
|
});
|
|
2413
2404
|
}
|
|
2414
2405
|
}
|
|
2415
|
-
SubscribePlanButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SubscribePlanButtonComponent, deps: [{ token:
|
|
2416
|
-
SubscribePlanButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", 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: i1$
|
|
2406
|
+
SubscribePlanButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SubscribePlanButtonComponent, deps: [{ token: AppContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2407
|
+
SubscribePlanButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", 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: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UpgradePlanButtonComponent, selector: "anatoly-upgrade-plan-button", inputs: ["currentplantitle", "requestedplan", "requestedplantitle"] }, { kind: "component", type: SignUpButtonComponent, selector: "anatoly-signup-button", inputs: ["classbtn"] }] });
|
|
2417
2408
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SubscribePlanButtonComponent, decorators: [{
|
|
2418
2409
|
type: Component,
|
|
2419
2410
|
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" }]
|
|
2420
|
-
}], ctorParameters: function () { return [{ type:
|
|
2411
|
+
}], ctorParameters: function () { return [{ type: AppContextService }]; }, propDecorators: { plan: [{
|
|
2421
2412
|
type: Input
|
|
2422
2413
|
}], plantitle: [{
|
|
2423
2414
|
type: Input
|
|
@@ -2579,7 +2570,7 @@ class BaseHtmlEditorComponent extends BaseEditComponent {
|
|
|
2579
2570
|
opt = JSON.parse(this.editorOptions);
|
|
2580
2571
|
}
|
|
2581
2572
|
let newOptions = $.extend({}, DefaultEditorOptions, opt);
|
|
2582
|
-
const key = AppCoreSettings
|
|
2573
|
+
const key = AppCoreSettings.froalaEditorKey;
|
|
2583
2574
|
if (key) {
|
|
2584
2575
|
newOptions = $.extend({}, newOptions, JSON.parse('{ "key": "' + key + '" }'));
|
|
2585
2576
|
}
|
|
@@ -2678,14 +2669,14 @@ class NativeElementDirective {
|
|
|
2678
2669
|
this.control.control.nativeElement = this.el.nativeElement;
|
|
2679
2670
|
}
|
|
2680
2671
|
}
|
|
2681
|
-
NativeElementDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: NativeElementDirective, deps: [{ token: i0.ElementRef }, { token: i1$
|
|
2672
|
+
NativeElementDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: NativeElementDirective, deps: [{ token: i0.ElementRef }, { token: i1$6.NgControl }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2682
2673
|
NativeElementDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.6", type: NativeElementDirective, selector: "[formControl], [formControlName]", ngImport: i0 });
|
|
2683
2674
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: NativeElementDirective, decorators: [{
|
|
2684
2675
|
type: Directive,
|
|
2685
2676
|
args: [{
|
|
2686
2677
|
selector: '[formControl], [formControlName]'
|
|
2687
2678
|
}]
|
|
2688
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$
|
|
2679
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$6.NgControl }]; } });
|
|
2689
2680
|
|
|
2690
2681
|
/*
|
|
2691
2682
|
<file>
|
|
@@ -2834,7 +2825,7 @@ class ItemValidationSummaryComponent extends ValidationSummaryComponent {
|
|
|
2834
2825
|
}
|
|
2835
2826
|
}
|
|
2836
2827
|
ItemValidationSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ItemValidationSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2837
|
-
ItemValidationSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ItemValidationSummaryComponent, selector: "anatoly-item-validation-summary", inputs: { controlName: "controlName", controlTitle: "controlTitle" }, usesInheritance: true, ngImport: i0, template: "<ul class=\"list-unstyled\" *ngIf=\"isControlInvalid(controlName)\">\r\n <li *ngFor=\"let error of getValidationMessages(formGroup.get(controlName), controlTitle)\">\r\n <span class=\"help-block\">{{ error }}</span>\r\n </li>\r\n</ul>\r\n\r\n", dependencies: [{ kind: "directive", type: i1$
|
|
2828
|
+
ItemValidationSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ItemValidationSummaryComponent, selector: "anatoly-item-validation-summary", inputs: { controlName: "controlName", controlTitle: "controlTitle" }, usesInheritance: true, ngImport: i0, template: "<ul class=\"list-unstyled\" *ngIf=\"isControlInvalid(controlName)\">\r\n <li *ngFor=\"let error of getValidationMessages(formGroup.get(controlName), controlTitle)\">\r\n <span class=\"help-block\">{{ error }}</span>\r\n </li>\r\n</ul>\r\n\r\n", dependencies: [{ kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
2838
2829
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ItemValidationSummaryComponent, decorators: [{
|
|
2839
2830
|
type: Component,
|
|
2840
2831
|
args: [{ selector: "anatoly-item-validation-summary", template: "<ul class=\"list-unstyled\" *ngIf=\"isControlInvalid(controlName)\">\r\n <li *ngFor=\"let error of getValidationMessages(formGroup.get(controlName), controlTitle)\">\r\n <span class=\"help-block\">{{ error }}</span>\r\n </li>\r\n</ul>\r\n\r\n" }]
|
|
@@ -2874,7 +2865,7 @@ class FormsHtmlEditorComponent extends BaseHtmlEditorComponent {
|
|
|
2874
2865
|
}
|
|
2875
2866
|
}
|
|
2876
2867
|
FormsHtmlEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: FormsHtmlEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2877
|
-
FormsHtmlEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: FormsHtmlEditorComponent, selector: "anatoly-forms-html-editor", inputs: { editorFormKey: "editorFormKey" }, usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"formGroup\">\r\n <div class=\"form-group\" [ngClass]=\"{'has-error': isControlInvalid(editorFormKey) }\">\r\n <label class=\"control-label\">{{ editorLabelText }}</label>\r\n <textarea [formControlName]=\"editorFormKey\"\r\n [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\">\r\n </textarea>\r\n <anatoly-item-validation-summary [formGroup]=\"formGroup\"\r\n [formSubmitted]=\"formSubmitted\"\r\n [controlName]=\"editorFormKey\"\r\n [controlTitle]=\"editorLabelText\">\r\n </anatoly-item-validation-summary>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$
|
|
2868
|
+
FormsHtmlEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: FormsHtmlEditorComponent, selector: "anatoly-forms-html-editor", inputs: { editorFormKey: "editorFormKey" }, usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"formGroup\">\r\n <div class=\"form-group\" [ngClass]=\"{'has-error': isControlInvalid(editorFormKey) }\">\r\n <label class=\"control-label\">{{ editorLabelText }}</label>\r\n <textarea [formControlName]=\"editorFormKey\"\r\n [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\">\r\n </textarea>\r\n <anatoly-item-validation-summary [formGroup]=\"formGroup\"\r\n [formSubmitted]=\"formSubmitted\"\r\n [controlName]=\"editorFormKey\"\r\n [controlTitle]=\"editorLabelText\">\r\n </anatoly-item-validation-summary>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$7.FroalaEditorDirective, selector: "[froalaEditor]", inputs: ["froalaEditor", "froalaModel"], outputs: ["froalaModelChange", "froalaInit"], exportAs: ["froalaEditor"] }, { kind: "directive", type: NativeElementDirective, selector: "[formControl], [formControlName]" }, { kind: "component", type: ItemValidationSummaryComponent, selector: "anatoly-item-validation-summary", inputs: ["controlName", "controlTitle"] }] });
|
|
2878
2869
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: FormsHtmlEditorComponent, decorators: [{
|
|
2879
2870
|
type: Component,
|
|
2880
2871
|
args: [{ selector: "anatoly-forms-html-editor", template: "<div [formGroup]=\"formGroup\">\r\n <div class=\"form-group\" [ngClass]=\"{'has-error': isControlInvalid(editorFormKey) }\">\r\n <label class=\"control-label\">{{ editorLabelText }}</label>\r\n <textarea [formControlName]=\"editorFormKey\"\r\n [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\">\r\n </textarea>\r\n <anatoly-item-validation-summary [formGroup]=\"formGroup\"\r\n [formSubmitted]=\"formSubmitted\"\r\n [controlName]=\"editorFormKey\"\r\n [controlTitle]=\"editorLabelText\">\r\n </anatoly-item-validation-summary>\r\n </div>\r\n</div>\r\n" }]
|
|
@@ -2922,7 +2913,7 @@ class HtmlEditorComponent extends BaseHtmlEditorComponent {
|
|
|
2922
2913
|
}
|
|
2923
2914
|
}
|
|
2924
2915
|
HtmlEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: HtmlEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2925
|
-
HtmlEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: HtmlEditorComponent, selector: "anatoly-html-editor", usesInheritance: true, ngImport: i0, template: "<div>\r\n <label>{{ editorLabelText }}</label>\r\n <textarea [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\">\r\n </textarea>\r\n</div>", dependencies: [{ kind: "directive", type: i1$
|
|
2916
|
+
HtmlEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: HtmlEditorComponent, selector: "anatoly-html-editor", usesInheritance: true, ngImport: i0, template: "<div>\r\n <label>{{ editorLabelText }}</label>\r\n <textarea [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\">\r\n </textarea>\r\n</div>", dependencies: [{ kind: "directive", type: i1$7.FroalaEditorDirective, selector: "[froalaEditor]", inputs: ["froalaEditor", "froalaModel"], outputs: ["froalaModelChange", "froalaInit"], exportAs: ["froalaEditor"] }] });
|
|
2926
2917
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: HtmlEditorComponent, decorators: [{
|
|
2927
2918
|
type: Component,
|
|
2928
2919
|
args: [{ selector: "anatoly-html-editor", template: "<div>\r\n <label>{{ editorLabelText }}</label>\r\n <textarea [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\">\r\n </textarea>\r\n</div>" }]
|
|
@@ -3010,7 +3001,7 @@ class LoadingComponent {
|
|
|
3010
3001
|
constructor(loadingService) {
|
|
3011
3002
|
this.loadingService = loadingService;
|
|
3012
3003
|
// Private
|
|
3013
|
-
this.subs = new Subs
|
|
3004
|
+
this.subs = new Subs();
|
|
3014
3005
|
// Public
|
|
3015
3006
|
this.show = false;
|
|
3016
3007
|
}
|
|
@@ -3023,12 +3014,12 @@ class LoadingComponent {
|
|
|
3023
3014
|
this.subs.unsubscribe();
|
|
3024
3015
|
}
|
|
3025
3016
|
}
|
|
3026
|
-
LoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LoadingComponent, deps: [{ token:
|
|
3027
|
-
LoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: LoadingComponent, selector: "anatoly-loading", ngImport: i0, template: "<div *ngIf=\"show\">\r\n <span id=\"pnlLoading\" class=\"k-icon k-i-loading\"></span>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$
|
|
3017
|
+
LoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LoadingComponent, deps: [{ token: LoadingService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3018
|
+
LoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: LoadingComponent, selector: "anatoly-loading", ngImport: i0, template: "<div *ngIf=\"show\">\r\n <span id=\"pnlLoading\" class=\"k-icon k-i-loading\"></span>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
3028
3019
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LoadingComponent, decorators: [{
|
|
3029
3020
|
type: Component,
|
|
3030
3021
|
args: [{ selector: 'anatoly-loading', template: "<div *ngIf=\"show\">\r\n <span id=\"pnlLoading\" class=\"k-icon k-i-loading\"></span>\r\n</div>\r\n" }]
|
|
3031
|
-
}], ctorParameters: function () { return [{ type:
|
|
3022
|
+
}], ctorParameters: function () { return [{ type: LoadingService }]; } });
|
|
3032
3023
|
|
|
3033
3024
|
/*
|
|
3034
3025
|
<file>
|
|
@@ -3084,7 +3075,7 @@ class SpinnerComponent {
|
|
|
3084
3075
|
}
|
|
3085
3076
|
}
|
|
3086
3077
|
SpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SpinnerComponent, deps: [{ token: i1.Router }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
3087
|
-
SpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: SpinnerComponent, selector: "spinner", inputs: { backgroundColor: "backgroundColor", spinner: "spinner" }, ngImport: i0, template: "<div id=\"spinner-loader\" *ngIf=\"isSpinnerVisible\">\r\n <div class=\"loader-bg\">\r\n <div class=\"spinner-line-material\" [class.colored]=\"!backgroundColor\" *ngIf=\"spinner === spinnerSpinKit.spinnerLine\">\r\n <div class=\"spinner-child spinner-bounce1\" [style.background-color]='backgroundColor'></div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$
|
|
3078
|
+
SpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: SpinnerComponent, selector: "spinner", inputs: { backgroundColor: "backgroundColor", spinner: "spinner" }, ngImport: i0, template: "<div id=\"spinner-loader\" *ngIf=\"isSpinnerVisible\">\r\n <div class=\"loader-bg\">\r\n <div class=\"spinner-line-material\" [class.colored]=\"!backgroundColor\" *ngIf=\"spinner === spinnerSpinKit.spinnerLine\">\r\n <div class=\"spinner-child spinner-bounce1\" [style.background-color]='backgroundColor'></div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
3088
3079
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SpinnerComponent, decorators: [{
|
|
3089
3080
|
type: Component,
|
|
3090
3081
|
args: [{ selector: 'spinner', encapsulation: ViewEncapsulation.None, template: "<div id=\"spinner-loader\" *ngIf=\"isSpinnerVisible\">\r\n <div class=\"loader-bg\">\r\n <div class=\"spinner-line-material\" [class.colored]=\"!backgroundColor\" *ngIf=\"spinner === spinnerSpinKit.spinnerLine\">\r\n <div class=\"spinner-child spinner-bounce1\" [style.background-color]='backgroundColor'></div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
|
|
@@ -3097,6 +3088,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
3097
3088
|
type: Input
|
|
3098
3089
|
}] } });
|
|
3099
3090
|
|
|
3091
|
+
/*
|
|
3092
|
+
<file>
|
|
3093
|
+
Project:
|
|
3094
|
+
@osovitny/anatoly
|
|
3095
|
+
|
|
3096
|
+
Authors:
|
|
3097
|
+
Vadim Osovitny
|
|
3098
|
+
Anatoly Osovitny
|
|
3099
|
+
|
|
3100
|
+
Created:
|
|
3101
|
+
16 Jun 2022
|
|
3102
|
+
|
|
3103
|
+
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
3104
|
+
</file>
|
|
3105
|
+
*/
|
|
3106
|
+
class EmailsApiService extends BaseApiService {
|
|
3107
|
+
constructor(http) {
|
|
3108
|
+
super(http);
|
|
3109
|
+
this.http = http;
|
|
3110
|
+
this.baseUrl = consts.emailsApiPath;
|
|
3111
|
+
}
|
|
3112
|
+
sendContactUs(captcha, name, email, topic, subject, message, success, error) {
|
|
3113
|
+
return this.post('sendContactUs', { captcha, name, email, topic, subject, message }).subscribe(data => {
|
|
3114
|
+
if (success)
|
|
3115
|
+
success(data);
|
|
3116
|
+
}, e => {
|
|
3117
|
+
if (error)
|
|
3118
|
+
error(e);
|
|
3119
|
+
});
|
|
3120
|
+
}
|
|
3121
|
+
}
|
|
3122
|
+
EmailsApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: EmailsApiService, deps: [{ token: i1$3.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3123
|
+
EmailsApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: EmailsApiService });
|
|
3124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: EmailsApiService, decorators: [{
|
|
3125
|
+
type: Injectable
|
|
3126
|
+
}], ctorParameters: function () { return [{ type: i1$3.HttpClient }]; } });
|
|
3127
|
+
|
|
3100
3128
|
/*
|
|
3101
3129
|
<file>
|
|
3102
3130
|
Project:
|
|
@@ -3146,7 +3174,7 @@ class FormValidationSummaryComponent extends ValidationSummaryComponent {
|
|
|
3146
3174
|
}
|
|
3147
3175
|
}
|
|
3148
3176
|
FormValidationSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: FormValidationSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3149
|
-
FormValidationSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: FormValidationSummaryComponent, selector: "anatoly-form-validation-summary", inputs: { visible: "visible", customerrors: "customerrors", viewtype: "viewtype" }, usesInheritance: true, ngImport: i0, template: "<div class=\"callout callout-danger\" *ngIf=\"visible\">\r\n <h6 class=\"box-title\">There are problems with the form</h6>\r\n <ul>\r\n <li *ngFor=\"let error of getErrors()\"><span>{{error}}</span></li>\r\n </ul>\r\n</div>\r\n\r\n", dependencies: [{ kind: "directive", type: i1$
|
|
3177
|
+
FormValidationSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: FormValidationSummaryComponent, selector: "anatoly-form-validation-summary", inputs: { visible: "visible", customerrors: "customerrors", viewtype: "viewtype" }, usesInheritance: true, ngImport: i0, template: "<div class=\"callout callout-danger\" *ngIf=\"visible\">\r\n <h6 class=\"box-title\">There are problems with the form</h6>\r\n <ul>\r\n <li *ngFor=\"let error of getErrors()\"><span>{{error}}</span></li>\r\n </ul>\r\n</div>\r\n\r\n", dependencies: [{ kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
3150
3178
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: FormValidationSummaryComponent, decorators: [{
|
|
3151
3179
|
type: Component,
|
|
3152
3180
|
args: [{ selector: "anatoly-form-validation-summary", template: "<div class=\"callout callout-danger\" *ngIf=\"visible\">\r\n <h6 class=\"box-title\">There are problems with the form</h6>\r\n <ul>\r\n <li *ngFor=\"let error of getErrors()\"><span>{{error}}</span></li>\r\n </ul>\r\n</div>\r\n\r\n" }]
|
|
@@ -3173,7 +3201,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
3173
3201
|
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
3174
3202
|
</file>
|
|
3175
3203
|
*/
|
|
3176
|
-
class ContactUsForm extends BaseEditComponent
|
|
3204
|
+
class ContactUsForm extends BaseEditComponent {
|
|
3177
3205
|
constructor(fb, appContext, api, notificationService) {
|
|
3178
3206
|
super();
|
|
3179
3207
|
this.fb = fb;
|
|
@@ -3250,12 +3278,12 @@ class ContactUsForm extends BaseEditComponent$1 {
|
|
|
3250
3278
|
this.selectedTopic = event.target.value;
|
|
3251
3279
|
}
|
|
3252
3280
|
}
|
|
3253
|
-
ContactUsForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ContactUsForm, deps: [{ token: i1$
|
|
3254
|
-
ContactUsForm.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ContactUsForm, selector: "anatoly-forms-contactus-form", inputs: { showActionButtons: "showActionButtons" }, outputs: { submit: "submit" }, viewQueries: [{ propertyName: "recaptcha", first: true, predicate: ["recaptcha"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<form (ngSubmit)='onSubmit()' [formGroup]='formGroup' novalidate>\r\n <anatoly-form-validation-summary [formGroup]='formGroup'\r\n [visible]='formSubmitted && formGroup.invalid'></anatoly-form-validation-summary>\r\n\r\n <div class='contact-us'>\r\n <div class=\"row\">\r\n <div class='form-fields col-6'>\r\n <p>What can we help you with?</p>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('topic') }\" class='form-topic'>\r\n <div class='form-select-wrapper'>\r\n <label class='assistive-text'>Topic *</label>\r\n <select (change)='onTopicChange($event)' class='form-select' formControlName='topic'>\r\n <option *ngFor='let topic of topicList' [value]='topic.value'>{{ topic.value }} </option>\r\n </select>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='topic'\r\n controlTitle='topic'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('name') }\" class='form-name'>\r\n <label class='assistive-text'>Name *</label>\r\n <input class='form-control' formControlName='name' placeholder='Name *' type='text'>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='name'\r\n controlTitle='name'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('email') }\" class='form-email'>\r\n <label class='assistive-text'>E-mail * </label>\r\n <input class='form-control' formControlName='email' placeholder='E-mail *' type='text' />\r\n <p *ngIf='!isUserSignedIn'>Please indicate the email used for your MailEx login if you already have an account</p>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='email'\r\n controlTitle='email'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('subject') }\" class='form-subject'>\r\n <label class='assistive-text'>Subject *</label>\r\n <input class='form-control' formControlName='subject' placeholder='Subject *' type='text' />\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='subject'\r\n controlTitle='subject'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n </div>\r\n <div class='col-6'>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('message') }\" class='form-message'>\r\n <label class='assistive-text'>Message *</label>\r\n <textarea formControlName='message' name='message' placeholder='Message *' rows='4'\r\n type='text'></textarea>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='message'\r\n controlTitle='message'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row form-footer\">\r\n <div class=\"col-6\">\r\n <div style='transform:scale(0.8);transform-origin:0;'>\r\n <ngx-recaptcha2 #recaptcha [siteKey]='siteKey' formControlName='captcha'></ngx-recaptcha2>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <button *ngIf='showActionButtons'\r\n [class.btn-primary]='!formGroup.invalid'\r\n class='btn btn-success float-right m-t-20'\r\n type='submit'>\r\n Submit\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n", dependencies: [{ kind: "directive", type: i1$
|
|
3281
|
+
ContactUsForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ContactUsForm, deps: [{ token: i1$6.FormBuilder }, { token: AppContextService }, { token: EmailsApiService }, { token: NotificationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3282
|
+
ContactUsForm.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ContactUsForm, selector: "anatoly-forms-contactus-form", inputs: { showActionButtons: "showActionButtons" }, outputs: { submit: "submit" }, viewQueries: [{ propertyName: "recaptcha", first: true, predicate: ["recaptcha"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<form (ngSubmit)='onSubmit()' [formGroup]='formGroup' novalidate>\r\n <anatoly-form-validation-summary [formGroup]='formGroup'\r\n [visible]='formSubmitted && formGroup.invalid'></anatoly-form-validation-summary>\r\n\r\n <div class='contact-us'>\r\n <div class=\"row\">\r\n <div class='form-fields col-6'>\r\n <p>What can we help you with?</p>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('topic') }\" class='form-topic'>\r\n <div class='form-select-wrapper'>\r\n <label class='assistive-text'>Topic *</label>\r\n <select (change)='onTopicChange($event)' class='form-select' formControlName='topic'>\r\n <option *ngFor='let topic of topicList' [value]='topic.value'>{{ topic.value }} </option>\r\n </select>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='topic'\r\n controlTitle='topic'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('name') }\" class='form-name'>\r\n <label class='assistive-text'>Name *</label>\r\n <input class='form-control' formControlName='name' placeholder='Name *' type='text'>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='name'\r\n controlTitle='name'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('email') }\" class='form-email'>\r\n <label class='assistive-text'>E-mail * </label>\r\n <input class='form-control' formControlName='email' placeholder='E-mail *' type='text' />\r\n <p *ngIf='!isUserSignedIn'>Please indicate the email used for your MailEx login if you already have an account</p>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='email'\r\n controlTitle='email'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('subject') }\" class='form-subject'>\r\n <label class='assistive-text'>Subject *</label>\r\n <input class='form-control' formControlName='subject' placeholder='Subject *' type='text' />\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='subject'\r\n controlTitle='subject'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n </div>\r\n <div class='col-6'>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('message') }\" class='form-message'>\r\n <label class='assistive-text'>Message *</label>\r\n <textarea formControlName='message' name='message' placeholder='Message *' rows='4'\r\n type='text'></textarea>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='message'\r\n controlTitle='message'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row form-footer\">\r\n <div class=\"col-6\">\r\n <div style='transform:scale(0.8);transform-origin:0;'>\r\n <ngx-recaptcha2 #recaptcha [siteKey]='siteKey' formControlName='captcha'></ngx-recaptcha2>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <button *ngIf='showActionButtons'\r\n [class.btn-primary]='!formGroup.invalid'\r\n class='btn btn-success float-right m-t-20'\r\n type='submit'>\r\n Submit\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$6.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.ReCaptcha2Component, selector: "ngx-recaptcha2", inputs: ["theme", "size", "hl"] }, { kind: "directive", type: NativeElementDirective, selector: "[formControl], [formControlName]" }, { kind: "component", type: FormValidationSummaryComponent, selector: "anatoly-form-validation-summary", inputs: ["visible", "customerrors", "viewtype"] }, { kind: "component", type: ItemValidationSummaryComponent, selector: "anatoly-item-validation-summary", inputs: ["controlName", "controlTitle"] }] });
|
|
3255
3283
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ContactUsForm, decorators: [{
|
|
3256
3284
|
type: Component,
|
|
3257
3285
|
args: [{ selector: 'anatoly-forms-contactus-form', template: "<form (ngSubmit)='onSubmit()' [formGroup]='formGroup' novalidate>\r\n <anatoly-form-validation-summary [formGroup]='formGroup'\r\n [visible]='formSubmitted && formGroup.invalid'></anatoly-form-validation-summary>\r\n\r\n <div class='contact-us'>\r\n <div class=\"row\">\r\n <div class='form-fields col-6'>\r\n <p>What can we help you with?</p>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('topic') }\" class='form-topic'>\r\n <div class='form-select-wrapper'>\r\n <label class='assistive-text'>Topic *</label>\r\n <select (change)='onTopicChange($event)' class='form-select' formControlName='topic'>\r\n <option *ngFor='let topic of topicList' [value]='topic.value'>{{ topic.value }} </option>\r\n </select>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='topic'\r\n controlTitle='topic'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('name') }\" class='form-name'>\r\n <label class='assistive-text'>Name *</label>\r\n <input class='form-control' formControlName='name' placeholder='Name *' type='text'>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='name'\r\n controlTitle='name'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('email') }\" class='form-email'>\r\n <label class='assistive-text'>E-mail * </label>\r\n <input class='form-control' formControlName='email' placeholder='E-mail *' type='text' />\r\n <p *ngIf='!isUserSignedIn'>Please indicate the email used for your MailEx login if you already have an account</p>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='email'\r\n controlTitle='email'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('subject') }\" class='form-subject'>\r\n <label class='assistive-text'>Subject *</label>\r\n <input class='form-control' formControlName='subject' placeholder='Subject *' type='text' />\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='subject'\r\n controlTitle='subject'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n </div>\r\n <div class='col-6'>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('message') }\" class='form-message'>\r\n <label class='assistive-text'>Message *</label>\r\n <textarea formControlName='message' name='message' placeholder='Message *' rows='4'\r\n type='text'></textarea>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='message'\r\n controlTitle='message'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row form-footer\">\r\n <div class=\"col-6\">\r\n <div style='transform:scale(0.8);transform-origin:0;'>\r\n <ngx-recaptcha2 #recaptcha [siteKey]='siteKey' formControlName='captcha'></ngx-recaptcha2>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <button *ngIf='showActionButtons'\r\n [class.btn-primary]='!formGroup.invalid'\r\n class='btn btn-success float-right m-t-20'\r\n type='submit'>\r\n Submit\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n" }]
|
|
3258
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
3286
|
+
}], ctorParameters: function () { return [{ type: i1$6.FormBuilder }, { type: AppContextService }, { type: EmailsApiService }, { type: NotificationService }]; }, propDecorators: { showActionButtons: [{
|
|
3259
3287
|
type: Input
|
|
3260
3288
|
}], submit: [{
|
|
3261
3289
|
type: Output
|
|
@@ -3433,42 +3461,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
3433
3461
|
type: SkipSelf
|
|
3434
3462
|
}] }]; } });
|
|
3435
3463
|
|
|
3436
|
-
/*
|
|
3437
|
-
<file>
|
|
3438
|
-
Project:
|
|
3439
|
-
@osovitny/anatoly
|
|
3440
|
-
|
|
3441
|
-
Authors:
|
|
3442
|
-
Vadim Osovitny
|
|
3443
|
-
Anatoly Osovitny
|
|
3444
|
-
|
|
3445
|
-
Created:
|
|
3446
|
-
16 Jun 2022
|
|
3447
|
-
|
|
3448
|
-
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
3449
|
-
</file>
|
|
3450
|
-
*/
|
|
3451
|
-
class EmailsApiService extends BaseApiService$1 {
|
|
3452
|
-
constructor(http) {
|
|
3453
|
-
super(http);
|
|
3454
|
-
this.http = http;
|
|
3455
|
-
}
|
|
3456
|
-
sendContactUs(captcha, name, email, topic, subject, message, success, error) {
|
|
3457
|
-
return this.post('sendContactUs', { captcha, name, email, topic, subject, message }).subscribe(data => {
|
|
3458
|
-
if (success)
|
|
3459
|
-
success(data);
|
|
3460
|
-
}, e => {
|
|
3461
|
-
if (error)
|
|
3462
|
-
error(e);
|
|
3463
|
-
});
|
|
3464
|
-
}
|
|
3465
|
-
}
|
|
3466
|
-
EmailsApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: EmailsApiService, deps: [{ token: i1$3.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3467
|
-
EmailsApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: EmailsApiService });
|
|
3468
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: EmailsApiService, decorators: [{
|
|
3469
|
-
type: Injectable
|
|
3470
|
-
}], ctorParameters: function () { return [{ type: i1$3.HttpClient }]; } });
|
|
3471
|
-
|
|
3472
3464
|
/*
|
|
3473
3465
|
<file>
|
|
3474
3466
|
Project:
|
|
@@ -3486,7 +3478,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
3486
3478
|
*/
|
|
3487
3479
|
class AnatolyDataModule {
|
|
3488
3480
|
constructor(parentModule) {
|
|
3489
|
-
throwIfAlreadyLoaded
|
|
3481
|
+
throwIfAlreadyLoaded(parentModule, 'AnatolyDataModule');
|
|
3490
3482
|
}
|
|
3491
3483
|
}
|
|
3492
3484
|
AnatolyDataModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: AnatolyDataModule, deps: [{ token: AnatolyDataModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -3556,7 +3548,7 @@ AnatolyUIModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
|
|
|
3556
3548
|
ItemValidationSummaryComponent], imports: [CommonModule,
|
|
3557
3549
|
ReactiveFormsModule,
|
|
3558
3550
|
FormsModule,
|
|
3559
|
-
NgxCaptchaModule, i1$
|
|
3551
|
+
NgxCaptchaModule, i1$7.FroalaEditorModule, i1$7.FroalaViewModule], exports: [SubscribePlanButtonComponent,
|
|
3560
3552
|
UpgradePlanButtonComponent,
|
|
3561
3553
|
BuyAccessButtonComponent,
|
|
3562
3554
|
SignInButtonComponent,
|