@osovitny/anatoly 2.15.11 → 2.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/anatoly.module.mjs +55 -0
- package/{esm2020 → esm2022}/lib/core/browser.mjs +23 -23
- package/{esm2020 → esm2022}/lib/core/consts/settings.mjs +16 -16
- package/{esm2020 → esm2022}/lib/core/consts/urls.mjs +18 -18
- package/{esm2020 → esm2022}/lib/core/converts/convert.mjs +104 -104
- package/{esm2020 → esm2022}/lib/core/converts/xmlFormatter.mjs +33 -33
- package/esm2022/lib/core/core.module.mjs +89 -0
- package/{esm2020 → esm2022}/lib/core/dom.mjs +152 -152
- package/esm2022/lib/core/go/base-go.service.mjs +50 -0
- package/{esm2020 → esm2022}/lib/core/guards/once-import.guard.mjs +20 -20
- package/{esm2020 → esm2022}/lib/core/guid.mjs +21 -21
- package/{esm2020 → esm2022}/lib/core/index.mjs +50 -50
- package/esm2022/lib/core/interceptors/httpInterceptor.mjs +107 -0
- package/esm2022/lib/core/localization/localization.module.mjs +44 -0
- package/esm2022/lib/core/localization/localization.service.mjs +184 -0
- package/esm2022/lib/core/localization/localizationSettings.module.mjs +90 -0
- package/esm2022/lib/core/localization/localize.pipe.mjs +76 -0
- package/{esm2020 → esm2022}/lib/core/localization/utils.mjs +41 -41
- package/esm2022/lib/core/logging/globalErrorHandler.mjs +42 -0
- package/esm2022/lib/core/logging/logging.service.mjs +36 -0
- package/{esm2020 → esm2022}/lib/core/notifications/alerts.mjs +105 -105
- package/{esm2020 → esm2022}/lib/core/notifications/interfaces/notification.mjs +16 -16
- package/esm2022/lib/core/notifications/services/notification-service.mjs +226 -0
- package/esm2022/lib/core/performance/stopwatch.mjs +55 -0
- package/esm2022/lib/core/services/appcontext.service.mjs +152 -0
- package/esm2022/lib/core/services/dm.service.mjs +72 -0
- package/esm2022/lib/core/services/google-analytics.service.mjs +55 -0
- package/esm2022/lib/core/services/idle.service.mjs +82 -0
- package/esm2022/lib/core/services/loading.service.mjs +68 -0
- package/esm2022/lib/core/services/web-storage.service.mjs +67 -0
- package/esm2022/lib/core/subs.mjs +30 -0
- package/{esm2020 → esm2022}/lib/core/utils.mjs +93 -93
- package/esm2022/lib/data/base/base-api.service.mjs +99 -0
- package/esm2022/lib/data/base/grid/base-grid-edit.service.mjs +83 -0
- package/esm2022/lib/data/base/grid/base-grid-read.service.mjs +65 -0
- package/{esm2020 → esm2022}/lib/data/consts.mjs +23 -23
- package/esm2022/lib/data/data.module.mjs +42 -0
- package/{esm2020 → esm2022}/lib/data/index.mjs +21 -21
- package/esm2022/lib/data/services/core-api.service.mjs +60 -0
- package/esm2022/lib/data/services/emails-api.service.mjs +48 -0
- package/esm2022/lib/data/services/notifications/notifications-api-service.mjs +41 -0
- package/esm2022/lib/ui/components/base/base-edit.component.mjs +135 -0
- package/esm2022/lib/ui/components/base/base.component.mjs +61 -0
- package/esm2022/lib/ui/components/base/base.dialog.mjs +67 -0
- package/esm2022/lib/ui/components/base/base.list.mjs +69 -0
- package/esm2022/lib/ui/components/base/base.page.mjs +31 -0
- package/esm2022/lib/ui/components/base/base.paged.page.mjs +66 -0
- package/esm2022/lib/ui/components/billing/buyaccess-button.component.mjs +64 -0
- package/esm2022/lib/ui/components/billing/subscribe-plan-button.component.mjs +68 -0
- package/esm2022/lib/ui/components/card/card-body.component.mjs +30 -0
- package/esm2022/lib/ui/components/card/card-footer.component.mjs +30 -0
- package/esm2022/lib/ui/components/card/card-header.component.mjs +34 -0
- package/esm2022/lib/ui/components/card/card.component.mjs +30 -0
- package/esm2022/lib/ui/components/check-icon/check-icon.component.mjs +33 -0
- package/esm2022/lib/ui/components/copy-2-clipboard/copy-2-clipboard.component.mjs +44 -0
- package/esm2022/lib/ui/components/datapager/datapager.component.mjs +85 -0
- package/esm2022/lib/ui/components/html-editor/base-html-editor.component.mjs +96 -0
- package/esm2022/lib/ui/components/html-editor/forms-html-editor.component.mjs +45 -0
- package/esm2022/lib/ui/components/html-editor/html-editor.component.mjs +49 -0
- package/{esm2020 → esm2022}/lib/ui/components/html-editor/html-editor.defaultoptions.mjs +85 -85
- package/esm2022/lib/ui/components/identity/signin-button.component.mjs +31 -0
- package/esm2022/lib/ui/components/identity/signout-button.component.mjs +31 -0
- package/esm2022/lib/ui/components/identity/signup-button.component.mjs +30 -0
- package/{esm2020 → esm2022}/lib/ui/components/index.mjs +43 -43
- package/esm2022/lib/ui/components/nodata/nodata.component.mjs +46 -0
- package/esm2022/lib/ui/components/spinners/loading/loading.component.mjs +49 -0
- package/esm2022/lib/ui/components/spinners/pagespinner/pagespinner.component.mjs +62 -0
- package/{esm2020 → esm2022}/lib/ui/components/spinners/pagespinner/spinkits.mjs +11 -11
- package/esm2022/lib/ui/dialogs/contact-us/contact-us.dialog.mjs +49 -0
- package/{esm2020 → esm2022}/lib/ui/dialogs/index.mjs +16 -16
- package/esm2022/lib/ui/directives/hover.directive.mjs +45 -0
- package/{esm2020 → esm2022}/lib/ui/directives/index.mjs +17 -17
- package/esm2022/lib/ui/directives/native-element.directive.mjs +40 -0
- package/esm2022/lib/ui/external/fa.module.mjs +45 -0
- package/esm2022/lib/ui/external/kendo.module.mjs +90 -0
- package/esm2022/lib/ui/forms/components/address/address.component.mjs +141 -0
- package/esm2022/lib/ui/forms/components/company/company.component.mjs +94 -0
- package/esm2022/lib/ui/forms/components/dropdownlists/timezone/timezone.dropdownlist.mjs +74 -0
- package/esm2022/lib/ui/forms/components/urlslug/urlslug.component.mjs +98 -0
- package/esm2022/lib/ui/forms/contact-us/contact-us.mjs +124 -0
- package/{esm2020 → esm2022}/lib/ui/forms/index.mjs +23 -23
- package/esm2022/lib/ui/pipes/filesize.pipe.mjs +40 -0
- package/{esm2020 → esm2022}/lib/ui/pipes/index.mjs +18 -18
- package/esm2022/lib/ui/pipes/replace-text.pipe.mjs +37 -0
- package/esm2022/lib/ui/pipes/safeHtml.pipe.mjs +35 -0
- package/esm2022/lib/ui/ui.module.mjs +192 -0
- package/esm2022/lib/ui/validation/form-validation-summary.component.mjs +64 -0
- package/{esm2020 → esm2022}/lib/ui/validation/index.mjs +18 -18
- package/esm2022/lib/ui/validation/item-validation-summary.component.mjs +39 -0
- package/{esm2020 → esm2022}/lib/ui/validation/validation-summary.component.mjs +125 -125
- package/{esm2020 → esm2022}/osovitny-anatoly.mjs +4 -4
- package/{esm2020 → esm2022}/public-api.mjs +24 -24
- package/{fesm2015 → fesm2022}/osovitny-anatoly.mjs +5120 -5972
- package/fesm2022/osovitny-anatoly.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/anatoly.module.d.ts +10 -10
- package/lib/core/browser.d.ts +4 -4
- package/lib/core/consts/settings.d.ts +1 -1
- package/lib/core/consts/urls.d.ts +3 -3
- package/lib/core/converts/convert.d.ts +16 -16
- package/lib/core/converts/xmlFormatter.d.ts +4 -4
- package/lib/core/core.module.d.ts +14 -14
- package/lib/core/dom.d.ts +17 -17
- package/lib/core/go/base-go.service.d.ts +12 -12
- package/lib/core/guards/once-import.guard.d.ts +1 -1
- package/lib/core/guid.d.ts +3 -3
- package/lib/core/index.d.ts +28 -28
- package/lib/core/interceptors/httpInterceptor.d.ts +18 -18
- package/lib/core/localization/localization.module.d.ts +8 -8
- package/lib/core/localization/localization.service.d.ts +25 -25
- package/lib/core/localization/localizationSettings.module.d.ts +18 -18
- package/lib/core/localization/localize.pipe.d.ts +10 -10
- package/lib/core/localization/utils.d.ts +5 -5
- package/lib/core/logging/globalErrorHandler.d.ts +9 -9
- package/lib/core/logging/logging.service.d.ts +8 -8
- package/lib/core/notifications/alerts.d.ts +9 -9
- package/lib/core/notifications/interfaces/notification.d.ts +10 -10
- package/lib/core/notifications/services/notification-service.d.ts +25 -25
- package/lib/core/performance/stopwatch.d.ts +14 -14
- package/lib/core/services/appcontext.service.d.ts +31 -31
- package/lib/core/services/dm.service.d.ts +16 -16
- package/lib/core/services/google-analytics.service.d.ts +11 -11
- package/lib/core/services/idle.service.d.ts +19 -19
- package/lib/core/services/loading.service.d.ts +13 -13
- package/lib/core/services/web-storage.service.d.ts +22 -22
- package/lib/core/subs.d.ts +8 -8
- package/lib/core/utils.d.ts +11 -11
- package/lib/data/base/base-api.service.d.ts +18 -18
- package/lib/data/base/grid/base-grid-edit.service.d.ts +16 -16
- package/lib/data/base/grid/base-grid-read.service.d.ts +14 -14
- package/lib/data/consts.d.ts +5 -5
- package/lib/data/data.module.d.ts +7 -7
- package/lib/data/index.d.ts +6 -6
- package/lib/data/services/core-api.service.d.ts +12 -12
- package/lib/data/services/emails-api.service.d.ts +10 -10
- package/lib/data/services/notifications/notifications-api-service.d.ts +12 -12
- package/lib/ui/components/base/base-edit.component.d.ts +57 -57
- package/lib/ui/components/base/base.component.d.ts +17 -17
- package/lib/ui/components/base/base.dialog.d.ts +17 -17
- package/lib/ui/components/base/base.list.d.ts +19 -19
- package/lib/ui/components/base/base.page.d.ts +6 -6
- package/lib/ui/components/base/base.paged.page.d.ts +18 -18
- package/lib/ui/components/billing/buyaccess-button.component.d.ts +19 -19
- package/lib/ui/components/billing/subscribe-plan-button.component.d.ts +21 -21
- package/lib/ui/components/card/card-body.component.d.ts +6 -6
- package/lib/ui/components/card/card-footer.component.d.ts +6 -6
- package/lib/ui/components/card/card-header.component.d.ts +7 -7
- package/lib/ui/components/card/card.component.d.ts +6 -6
- package/lib/ui/components/check-icon/check-icon.component.d.ts +6 -6
- package/lib/ui/components/copy-2-clipboard/copy-2-clipboard.component.d.ts +8 -8
- package/lib/ui/components/datapager/datapager.component.d.ts +21 -21
- package/lib/ui/components/html-editor/base-html-editor.component.d.ts +21 -21
- package/lib/ui/components/html-editor/forms-html-editor.component.d.ts +9 -9
- package/lib/ui/components/html-editor/html-editor.component.d.ts +9 -9
- package/lib/ui/components/html-editor/html-editor.defaultoptions.d.ts +1 -1
- package/lib/ui/components/identity/signin-button.component.d.ts +7 -7
- package/lib/ui/components/identity/signout-button.component.d.ts +7 -7
- package/lib/ui/components/identity/signup-button.component.d.ts +6 -6
- package/lib/ui/components/index.d.ts +25 -25
- package/lib/ui/components/nodata/nodata.component.d.ts +11 -11
- package/lib/ui/components/spinners/loading/loading.component.d.ts +13 -13
- package/lib/ui/components/spinners/pagespinner/pagespinner.component.d.ts +25 -25
- package/lib/ui/components/spinners/pagespinner/spinkits.d.ts +11 -11
- package/lib/ui/dialogs/contact-us/contact-us.dialog.d.ts +12 -12
- package/lib/ui/dialogs/index.d.ts +1 -1
- package/lib/ui/directives/hover.directive.d.ts +8 -8
- package/lib/ui/directives/index.d.ts +2 -2
- package/lib/ui/directives/native-element.directive.d.ts +11 -11
- package/lib/ui/external/fa.module.d.ts +10 -10
- package/lib/ui/external/kendo.module.d.ts +15 -15
- package/lib/ui/forms/components/address/address.component.d.ts +35 -35
- package/lib/ui/forms/components/company/company.component.d.ts +20 -20
- package/lib/ui/forms/components/dropdownlists/timezone/timezone.dropdownlist.d.ts +26 -26
- package/lib/ui/forms/components/urlslug/urlslug.component.d.ts +23 -23
- package/lib/ui/forms/contact-us/contact-us.d.ts +33 -33
- package/lib/ui/forms/index.d.ts +5 -5
- package/lib/ui/pipes/filesize.pipe.d.ts +8 -8
- package/lib/ui/pipes/index.d.ts +3 -3
- package/lib/ui/pipes/replace-text.pipe.d.ts +7 -7
- package/lib/ui/pipes/safeHtml.pipe.d.ts +10 -10
- package/lib/ui/ui.module.d.ts +43 -45
- package/lib/ui/validation/form-validation-summary.component.d.ts +11 -11
- package/lib/ui/validation/index.d.ts +3 -3
- package/lib/ui/validation/item-validation-summary.component.d.ts +9 -9
- package/lib/ui/validation/validation-summary.component.d.ts +24 -24
- package/package.json +10 -16
- package/public-api.d.ts +12 -12
- package/esm2020/lib/anatoly.module.mjs +0 -56
- package/esm2020/lib/core/core.module.mjs +0 -89
- package/esm2020/lib/core/go/base-go.service.mjs +0 -48
- package/esm2020/lib/core/interceptors/httpInterceptor.mjs +0 -105
- package/esm2020/lib/core/localization/localization.module.mjs +0 -45
- package/esm2020/lib/core/localization/localization.service.mjs +0 -182
- package/esm2020/lib/core/localization/localizationSettings.module.mjs +0 -90
- package/esm2020/lib/core/localization/localize.pipe.mjs +0 -75
- package/esm2020/lib/core/logging/globalErrorHandler.mjs +0 -41
- package/esm2020/lib/core/logging/logging.service.mjs +0 -36
- package/esm2020/lib/core/notifications/services/notification-service.mjs +0 -225
- package/esm2020/lib/core/performance/stopwatch.mjs +0 -50
- package/esm2020/lib/core/services/appcontext.service.mjs +0 -149
- package/esm2020/lib/core/services/dm.service.mjs +0 -69
- package/esm2020/lib/core/services/google-analytics.service.mjs +0 -53
- package/esm2020/lib/core/services/idle.service.mjs +0 -77
- package/esm2020/lib/core/services/loading.service.mjs +0 -68
- package/esm2020/lib/core/services/web-storage.service.mjs +0 -66
- package/esm2020/lib/core/subs.mjs +0 -31
- package/esm2020/lib/data/base/base-api.service.mjs +0 -97
- package/esm2020/lib/data/base/grid/base-grid-edit.service.mjs +0 -81
- package/esm2020/lib/data/base/grid/base-grid-read.service.mjs +0 -62
- package/esm2020/lib/data/data.module.mjs +0 -43
- package/esm2020/lib/data/services/core-api.service.mjs +0 -59
- package/esm2020/lib/data/services/emails-api.service.mjs +0 -47
- package/esm2020/lib/data/services/notifications/notifications-api-service.mjs +0 -40
- package/esm2020/lib/ui/components/base/base-edit.component.mjs +0 -134
- package/esm2020/lib/ui/components/base/base.component.mjs +0 -63
- package/esm2020/lib/ui/components/base/base.dialog.mjs +0 -67
- package/esm2020/lib/ui/components/base/base.list.mjs +0 -70
- package/esm2020/lib/ui/components/base/base.page.mjs +0 -31
- package/esm2020/lib/ui/components/base/base.paged.page.mjs +0 -67
- package/esm2020/lib/ui/components/billing/buyaccess-button.component.mjs +0 -106
- package/esm2020/lib/ui/components/billing/subscribe-plan-button.component.mjs +0 -118
- package/esm2020/lib/ui/components/card/card-body.component.mjs +0 -37
- package/esm2020/lib/ui/components/card/card-footer.component.mjs +0 -37
- package/esm2020/lib/ui/components/card/card-header.component.mjs +0 -52
- package/esm2020/lib/ui/components/card/card.component.mjs +0 -41
- package/esm2020/lib/ui/components/check-icon/check-icon.component.mjs +0 -42
- package/esm2020/lib/ui/components/copy-2-clipboard/copy-2-clipboard.component.mjs +0 -51
- package/esm2020/lib/ui/components/datapager/datapager.component.mjs +0 -89
- package/esm2020/lib/ui/components/html-editor/base-html-editor.component.mjs +0 -108
- package/esm2020/lib/ui/components/html-editor/forms-html-editor.component.mjs +0 -63
- package/esm2020/lib/ui/components/html-editor/html-editor.component.mjs +0 -61
- package/esm2020/lib/ui/components/identity/signin-button.component.mjs +0 -35
- package/esm2020/lib/ui/components/identity/signout-button.component.mjs +0 -35
- package/esm2020/lib/ui/components/identity/signup-button.component.mjs +0 -34
- package/esm2020/lib/ui/components/nodata/nodata.component.mjs +0 -67
- package/esm2020/lib/ui/components/spinners/loading/loading.component.mjs +0 -57
- package/esm2020/lib/ui/components/spinners/pagespinner/pagespinner.component.mjs +0 -84
- package/esm2020/lib/ui/dialogs/contact-us/contact-us.dialog.mjs +0 -78
- package/esm2020/lib/ui/directives/hover.directive.mjs +0 -51
- package/esm2020/lib/ui/directives/native-element.directive.mjs +0 -38
- package/esm2020/lib/ui/external/fa.module.mjs +0 -46
- package/esm2020/lib/ui/external/kendo.module.mjs +0 -91
- package/esm2020/lib/ui/forms/components/address/address.component.mjs +0 -242
- package/esm2020/lib/ui/forms/components/company/company.component.mjs +0 -142
- package/esm2020/lib/ui/forms/components/dropdownlists/timezone/timezone.dropdownlist.mjs +0 -99
- package/esm2020/lib/ui/forms/components/urlslug/urlslug.component.mjs +0 -136
- package/esm2020/lib/ui/forms/contact-us/contact-us.mjs +0 -212
- package/esm2020/lib/ui/pipes/filesize.pipe.mjs +0 -42
- package/esm2020/lib/ui/pipes/replace-text.pipe.mjs +0 -37
- package/esm2020/lib/ui/pipes/safeHtml.pipe.mjs +0 -34
- package/esm2020/lib/ui/ui.module.mjs +0 -193
- package/esm2020/lib/ui/validation/form-validation-summary.component.mjs +0 -89
- package/esm2020/lib/ui/validation/item-validation-summary.component.mjs +0 -59
- package/fesm2015/osovitny-anatoly.mjs.map +0 -1
- package/fesm2020/osovitny-anatoly.mjs +0 -5757
- package/fesm2020/osovitny-anatoly.mjs.map +0 -1
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
02 Aug 2022
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2017-2022 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
//Node
|
|
17
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
18
|
-
import { FormControl, Validators } from '@angular/forms';
|
|
19
|
-
import { BaseEditComponent } from "../../components/base/base-edit.component";
|
|
20
|
-
import * as i0 from "@angular/core";
|
|
21
|
-
import * as i1 from "ngx-captcha";
|
|
22
|
-
import * as i2 from "@angular/forms";
|
|
23
|
-
import * as i3 from "../../../core/services/appcontext.service";
|
|
24
|
-
import * as i4 from "../../../data/services/emails-api.service";
|
|
25
|
-
import * as i5 from "../../../core/notifications/services/notification-service";
|
|
26
|
-
import * as i6 from "@angular/common";
|
|
27
|
-
import * as i7 from "../../directives/native-element.directive";
|
|
28
|
-
import * as i8 from "../../validation/form-validation-summary.component";
|
|
29
|
-
import * as i9 from "../../validation/item-validation-summary.component";
|
|
30
|
-
function ContactUsForm_option_12_Template(rf, ctx) { if (rf & 1) {
|
|
31
|
-
i0.ɵɵelementStart(0, "option", 28);
|
|
32
|
-
i0.ɵɵtext(1);
|
|
33
|
-
i0.ɵɵelementEnd();
|
|
34
|
-
} if (rf & 2) {
|
|
35
|
-
const topic_r3 = ctx.$implicit;
|
|
36
|
-
i0.ɵɵproperty("value", topic_r3.value);
|
|
37
|
-
i0.ɵɵadvance(1);
|
|
38
|
-
i0.ɵɵtextInterpolate1("", topic_r3.value, " ");
|
|
39
|
-
} }
|
|
40
|
-
function ContactUsForm_p_23_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
-
i0.ɵɵelementStart(0, "p");
|
|
42
|
-
i0.ɵɵtext(1, "Please indicate the email used for your MailEx login if you already have an account");
|
|
43
|
-
i0.ɵɵelementEnd();
|
|
44
|
-
} }
|
|
45
|
-
function ContactUsForm_button_38_Template(rf, ctx) { if (rf & 1) {
|
|
46
|
-
i0.ɵɵelementStart(0, "button", 29);
|
|
47
|
-
i0.ɵɵtext(1, " Submit ");
|
|
48
|
-
i0.ɵɵelementEnd();
|
|
49
|
-
} if (rf & 2) {
|
|
50
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
51
|
-
i0.ɵɵclassProp("btn-primary", !ctx_r2.formGroup.invalid);
|
|
52
|
-
} }
|
|
53
|
-
const _c0 = function (a0) { return { "has-error": a0 }; };
|
|
54
|
-
export class ContactUsForm extends BaseEditComponent {
|
|
55
|
-
constructor(reCaptcha, fb, appContext, api, notificationService) {
|
|
56
|
-
super();
|
|
57
|
-
this.reCaptcha = reCaptcha;
|
|
58
|
-
this.fb = fb;
|
|
59
|
-
this.appContext = appContext;
|
|
60
|
-
this.api = api;
|
|
61
|
-
this.notificationService = notificationService;
|
|
62
|
-
this.isUserSignedIn = false;
|
|
63
|
-
this.topicList = [
|
|
64
|
-
{ value: 'Billing & Pricing' },
|
|
65
|
-
{ value: 'Legal & Privacy' },
|
|
66
|
-
{ value: 'Repor abuse' },
|
|
67
|
-
{ value: 'Technical Support' },
|
|
68
|
-
{ value: 'Other' }
|
|
69
|
-
];
|
|
70
|
-
//Inputs
|
|
71
|
-
this.showActionButtons = true;
|
|
72
|
-
//Outputs
|
|
73
|
-
this.submit = new EventEmitter();
|
|
74
|
-
}
|
|
75
|
-
ngOnInit() {
|
|
76
|
-
this.createFormGroup();
|
|
77
|
-
this.appContext.getCurrent(context => {
|
|
78
|
-
this.setContext(context);
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
createFormGroup() {
|
|
82
|
-
this.formGroup = this.fb.group({
|
|
83
|
-
name: new FormControl('', [Validators.required]),
|
|
84
|
-
email: new FormControl('', [Validators.required]),
|
|
85
|
-
topic: new FormControl('', [Validators.required]),
|
|
86
|
-
subject: new FormControl('', [Validators.required]),
|
|
87
|
-
message: new FormControl('', [Validators.required])
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
setContext(context) {
|
|
91
|
-
this.isUserSignedIn = context.isUserSignedIn;
|
|
92
|
-
this.reCaptchaSiteKey = context.reCaptchaSiteKeyV3;
|
|
93
|
-
this.selectedTopic = this.topicList[3].value;
|
|
94
|
-
this.setFormValue('topic', this.selectedTopic);
|
|
95
|
-
if (this.isUserSignedIn) {
|
|
96
|
-
this.setFormValue('name', context.user.displayNameOrFullName);
|
|
97
|
-
this.setFormValue('email', context.user.email);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
isValid() {
|
|
101
|
-
return this.formGroup.valid;
|
|
102
|
-
}
|
|
103
|
-
contactUs() {
|
|
104
|
-
this.formSubmitted = true;
|
|
105
|
-
if (!this.isValid())
|
|
106
|
-
return;
|
|
107
|
-
const name = this.getFormValue('name');
|
|
108
|
-
const email = this.getFormValue('email');
|
|
109
|
-
const topic = this.selectedTopic;
|
|
110
|
-
const subject = this.getFormValue('subject');
|
|
111
|
-
const message = this.getFormValue('message');
|
|
112
|
-
this.reCaptcha.execute(this.reCaptchaSiteKey, 'ContactUs', (token) => {
|
|
113
|
-
this.api.sendContactUs(token, name, email, topic, subject, message, () => {
|
|
114
|
-
this.formSubmitted = false;
|
|
115
|
-
this.notificationService.success('Message has been sent successfully');
|
|
116
|
-
this.formGroup.reset();
|
|
117
|
-
this.submit.emit();
|
|
118
|
-
}, () => {
|
|
119
|
-
this.notificationService.error();
|
|
120
|
-
});
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
//Events
|
|
124
|
-
onSubmit() {
|
|
125
|
-
this.contactUs();
|
|
126
|
-
}
|
|
127
|
-
onTopicChange(event) {
|
|
128
|
-
this.selectedTopic = event.target.value;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
ContactUsForm.ɵfac = function ContactUsForm_Factory(t) { return new (t || ContactUsForm)(i0.ɵɵdirectiveInject(i1.ReCaptchaV3Service), i0.ɵɵdirectiveInject(i2.FormBuilder), i0.ɵɵdirectiveInject(i3.AppContextService), i0.ɵɵdirectiveInject(i4.EmailsApiService), i0.ɵɵdirectiveInject(i5.NotificationService)); };
|
|
132
|
-
ContactUsForm.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContactUsForm, selectors: [["anatoly-forms-contactus-form"]], inputs: { showActionButtons: "showActionButtons" }, outputs: { submit: "submit" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 39, vars: 31, consts: [["novalidate", "", 3, "formGroup", "ngSubmit"], [3, "formGroup", "visible"], [1, "contact-us"], [1, "row"], [1, "form-fields", "col-6"], [1, "form-topic", 3, "ngClass"], [1, "form-select-wrapper"], [1, "assistive-text"], ["formControlName", "topic", 1, "form-select", 3, "change"], [3, "value", 4, "ngFor", "ngForOf"], ["controlName", "topic", "controlTitle", "topic", 3, "formGroup", "formSubmitted"], [1, "form-name", 3, "ngClass"], ["formControlName", "name", "placeholder", "Name *", "type", "text", 1, "form-control"], ["controlName", "name", "controlTitle", "name", 3, "formGroup", "formSubmitted"], [1, "form-email", 3, "ngClass"], ["formControlName", "email", "placeholder", "E-mail *", "type", "text", 1, "form-control"], [4, "ngIf"], ["controlName", "email", "controlTitle", "email", 3, "formGroup", "formSubmitted"], [1, "form-subject", 3, "ngClass"], ["formControlName", "subject", "placeholder", "Subject *", "type", "text", 1, "form-control"], ["controlName", "subject", "controlTitle", "subject", 3, "formGroup", "formSubmitted"], [1, "col-6"], [1, "form-message", 3, "ngClass"], ["formControlName", "message", "name", "message", "placeholder", "Message *", "rows", "4", "type", "text"], ["controlName", "message", "controlTitle", "message", 3, "formGroup", "formSubmitted"], [1, "row", "form-footer"], [1, "col"], ["class", "btn btn-success", "type", "submit", 3, "btn-primary", 4, "ngIf"], [3, "value"], ["type", "submit", 1, "btn", "btn-success"]], template: function ContactUsForm_Template(rf, ctx) { if (rf & 1) {
|
|
133
|
-
i0.ɵɵelementStart(0, "form", 0);
|
|
134
|
-
i0.ɵɵlistener("ngSubmit", function ContactUsForm_Template_form_ngSubmit_0_listener() { return ctx.onSubmit(); });
|
|
135
|
-
i0.ɵɵelement(1, "anatoly-form-validation-summary", 1);
|
|
136
|
-
i0.ɵɵelementStart(2, "div", 2)(3, "div", 3)(4, "div", 4)(5, "p");
|
|
137
|
-
i0.ɵɵtext(6, "What can we help you with?");
|
|
138
|
-
i0.ɵɵelementEnd();
|
|
139
|
-
i0.ɵɵelementStart(7, "div", 5)(8, "div", 6)(9, "label", 7);
|
|
140
|
-
i0.ɵɵtext(10, "Topic *");
|
|
141
|
-
i0.ɵɵelementEnd();
|
|
142
|
-
i0.ɵɵelementStart(11, "select", 8);
|
|
143
|
-
i0.ɵɵlistener("change", function ContactUsForm_Template_select_change_11_listener($event) { return ctx.onTopicChange($event); });
|
|
144
|
-
i0.ɵɵtemplate(12, ContactUsForm_option_12_Template, 2, 2, "option", 9);
|
|
145
|
-
i0.ɵɵelementEnd();
|
|
146
|
-
i0.ɵɵelement(13, "anatoly-item-validation-summary", 10);
|
|
147
|
-
i0.ɵɵelementEnd()();
|
|
148
|
-
i0.ɵɵelementStart(14, "div", 11)(15, "label", 7);
|
|
149
|
-
i0.ɵɵtext(16, "Name *");
|
|
150
|
-
i0.ɵɵelementEnd();
|
|
151
|
-
i0.ɵɵelement(17, "input", 12)(18, "anatoly-item-validation-summary", 13);
|
|
152
|
-
i0.ɵɵelementEnd();
|
|
153
|
-
i0.ɵɵelementStart(19, "div", 14)(20, "label", 7);
|
|
154
|
-
i0.ɵɵtext(21, "E-mail * ");
|
|
155
|
-
i0.ɵɵelementEnd();
|
|
156
|
-
i0.ɵɵelement(22, "input", 15);
|
|
157
|
-
i0.ɵɵtemplate(23, ContactUsForm_p_23_Template, 2, 0, "p", 16);
|
|
158
|
-
i0.ɵɵelement(24, "anatoly-item-validation-summary", 17);
|
|
159
|
-
i0.ɵɵelementEnd();
|
|
160
|
-
i0.ɵɵelementStart(25, "div", 18)(26, "label", 7);
|
|
161
|
-
i0.ɵɵtext(27, "Subject *");
|
|
162
|
-
i0.ɵɵelementEnd();
|
|
163
|
-
i0.ɵɵelement(28, "input", 19)(29, "anatoly-item-validation-summary", 20);
|
|
164
|
-
i0.ɵɵelementEnd()();
|
|
165
|
-
i0.ɵɵelementStart(30, "div", 21)(31, "div", 22)(32, "label", 7);
|
|
166
|
-
i0.ɵɵtext(33, "Message *");
|
|
167
|
-
i0.ɵɵelementEnd();
|
|
168
|
-
i0.ɵɵelement(34, "textarea", 23)(35, "anatoly-item-validation-summary", 24);
|
|
169
|
-
i0.ɵɵelementEnd()()();
|
|
170
|
-
i0.ɵɵelementStart(36, "div", 25)(37, "div", 26);
|
|
171
|
-
i0.ɵɵtemplate(38, ContactUsForm_button_38_Template, 2, 2, "button", 27);
|
|
172
|
-
i0.ɵɵelementEnd()()()();
|
|
173
|
-
} if (rf & 2) {
|
|
174
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup);
|
|
175
|
-
i0.ɵɵadvance(1);
|
|
176
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("visible", ctx.formSubmitted && ctx.formGroup.invalid);
|
|
177
|
-
i0.ɵɵadvance(6);
|
|
178
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(21, _c0, ctx.isControlInvalid("topic")));
|
|
179
|
-
i0.ɵɵadvance(5);
|
|
180
|
-
i0.ɵɵproperty("ngForOf", ctx.topicList);
|
|
181
|
-
i0.ɵɵadvance(1);
|
|
182
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
|
|
183
|
-
i0.ɵɵadvance(1);
|
|
184
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c0, ctx.isControlInvalid("name")));
|
|
185
|
-
i0.ɵɵadvance(4);
|
|
186
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
|
|
187
|
-
i0.ɵɵadvance(1);
|
|
188
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c0, ctx.isControlInvalid("email")));
|
|
189
|
-
i0.ɵɵadvance(4);
|
|
190
|
-
i0.ɵɵproperty("ngIf", !ctx.isUserSignedIn);
|
|
191
|
-
i0.ɵɵadvance(1);
|
|
192
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
|
|
193
|
-
i0.ɵɵadvance(1);
|
|
194
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(27, _c0, ctx.isControlInvalid("subject")));
|
|
195
|
-
i0.ɵɵadvance(4);
|
|
196
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
|
|
197
|
-
i0.ɵɵadvance(2);
|
|
198
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(29, _c0, ctx.isControlInvalid("message")));
|
|
199
|
-
i0.ɵɵadvance(4);
|
|
200
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
|
|
201
|
-
i0.ɵɵadvance(3);
|
|
202
|
-
i0.ɵɵproperty("ngIf", ctx.showActionButtons);
|
|
203
|
-
} }, dependencies: [i6.NgClass, i6.NgForOf, i6.NgIf, i2.ɵNgNoValidate, i2.NgSelectOption, i2.ɵNgSelectMultipleOption, i2.DefaultValueAccessor, i2.SelectControlValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormGroupDirective, i2.FormControlName, i7.NativeElementDirective, i8.FormValidationSummaryComponent, i9.ItemValidationSummaryComponent], encapsulation: 2 });
|
|
204
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContactUsForm, [{
|
|
205
|
-
type: Component,
|
|
206
|
-
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\">\r\n <button *ngIf='showActionButtons'\r\n [class.btn-primary]='!formGroup.invalid'\r\n class='btn btn-success'\r\n type='submit'>\r\n Submit\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n" }]
|
|
207
|
-
}], function () { return [{ type: i1.ReCaptchaV3Service }, { type: i2.FormBuilder }, { type: i3.AppContextService }, { type: i4.EmailsApiService }, { type: i5.NotificationService }]; }, { showActionButtons: [{
|
|
208
|
-
type: Input
|
|
209
|
-
}], submit: [{
|
|
210
|
-
type: Output
|
|
211
|
-
}] }); })();
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC11cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9mb3Jtcy9jb250YWN0LXVzL2NvbnRhY3QtdXMudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvZm9ybXMvY29udGFjdC11cy9jb250YWN0LXVzLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7Ozs7Ozs7SUNiaEUsa0NBQThEO0lBQUEsWUFBa0I7SUFBQSxpQkFBUzs7O0lBQWpELHNDQUFxQjtJQUFDLGVBQWtCO0lBQWxCLDhDQUFrQjs7O0lBcUJwRix5QkFBMkI7SUFBQSxtR0FBbUY7SUFBQSxpQkFBSTs7O0lBaUNsSCxrQ0FHc0I7SUFDcEIsd0JBQ0Y7SUFBQSxpQkFBUzs7O0lBSkQsd0RBQXdDOzs7QURwQzFELE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQWlCO0lBbUJsRCxZQUNVLFNBQTZCLEVBQzdCLEVBQWUsRUFDZixVQUE2QixFQUM3QixHQUFxQixFQUNyQixtQkFBd0M7UUFDaEQsS0FBSyxFQUFFLENBQUM7UUFMQSxjQUFTLEdBQVQsU0FBUyxDQUFvQjtRQUM3QixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0IsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQXZCbEQsbUJB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XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDAyIEF1ZyAyMDIyXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNy0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSZUNhcHRjaGFWM1NlcnZpY2UgfSBmcm9tICduZ3gtY2FwdGNoYSc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBBcHBDb250ZXh0U2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2FwcGNvbnRleHQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvbm90aWZpY2F0aW9ucy9zZXJ2aWNlcy9ub3RpZmljYXRpb24tc2VydmljZVwiO1xyXG5pbXBvcnQgeyBFbWFpbHNBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS9zZXJ2aWNlcy9lbWFpbHMtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlRWRpdENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2Jhc2UvYmFzZS1lZGl0LmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWZvcm1zLWNvbnRhY3R1cy1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC11cy5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGFjdFVzRm9ybSBleHRlbmRzIEJhc2VFZGl0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBpc1VzZXJTaWduZWRJbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHJlQ2FwdGNoYVNpdGVLZXk7XHJcbiAgc2VsZWN0ZWRUb3BpYztcclxuXHJcbiAgdG9waWNMaXN0ID0gW1xyXG4gICAgeyB2YWx1ZTogJ0JpbGxpbmcgJiBQcmljaW5nJyB9LFxyXG4gICAgeyB2YWx1ZTogJ0xlZ2FsICYgUHJpdmFjeScgfSxcclxuICAgIHsgdmFsdWU6ICdSZXBvciBhYnVzZScgfSxcclxuICAgIHsgdmFsdWU6ICdUZWNobmljYWwgU3VwcG9ydCcgfSxcclxuICAgIHsgdmFsdWU6ICdPdGhlcicgfVxyXG4gIF07XHJcblxyXG4gIC8vSW5wdXRzXHJcbiAgQElucHV0KCkgc2hvd0FjdGlvbkJ1dHRvbnMgPSB0cnVlO1xyXG5cclxuICAvL091dHB1dHNcclxuICBAT3V0cHV0KCkgc3VibWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlQ2FwdGNoYTogUmVDYXB0Y2hhVjNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGFwcENvbnRleHQ6IEFwcENvbnRleHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcGk6IEVtYWlsc0FwaVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwKCk7XHJcbiBcclxuICAgIHRoaXMuYXBwQ29udGV4dC5nZXRDdXJyZW50KGNvbnRleHQgPT4ge1xyXG4gICAgICB0aGlzLnNldENvbnRleHQoY29udGV4dCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUZvcm1Hcm91cCgpIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbCgnJywgWyBWYWxpZGF0b3JzLnJlcXVpcmVkIF0pLFxyXG4gICAgICBlbWFpbDogbmV3IEZvcm1Db250cm9sKCcnLCBbIFZhbGlkYXRvcnMucmVxdWlyZWQgXSksXHJcbiAgICAgIHRvcGljOiBuZXcgRm9ybUNvbnRyb2woJycsIFsgVmFsaWRhdG9ycy5yZXF1aXJlZCBdKSxcclxuICAgICAgc3ViamVjdDogbmV3IEZvcm1Db250cm9sKCcnLCBbIFZhbGlkYXRvcnMucmVxdWlyZWQgXSksXHJcbiAgICAgIG1lc3NhZ2U6IG5ldyBGb3JtQ29udHJvbCgnJywgWyBWYWxpZGF0b3JzLnJlcXVpcmVkIF0pXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldENvbnRleHQoY29udGV4dCkge1xyXG4gICAgdGhpcy5pc1VzZXJTaWduZWRJbiA9IGNvbnRleHQuaXNVc2VyU2lnbmVkSW47XHJcbiAgICB0aGlzLnJlQ2FwdGNoYVNpdGVLZXkgPSBjb250ZXh0LnJlQ2FwdGNoYVNpdGVLZXlWMztcclxuICAgIHRoaXMuc2VsZWN0ZWRUb3BpYyA9IHRoaXMudG9waWNMaXN0WzNdLnZhbHVlO1xyXG5cclxuICAgIHRoaXMuc2V0Rm9ybVZhbHVlKCd0b3BpYycsIHRoaXMuc2VsZWN0ZWRUb3BpYyk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNVc2VyU2lnbmVkSW4pIHtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ25hbWUnLCBjb250ZXh0LnVzZXIuZGlzcGxheU5hbWVPckZ1bGxOYW1lKTtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ2VtYWlsJywgY29udGV4dC51c2VyLmVtYWlsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzVmFsaWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAudmFsaWQ7XHJcbiAgfVxyXG5cclxuICBjb250YWN0VXMoKSB7XHJcbiAgICB0aGlzLmZvcm1TdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IG5hbWUgPSB0aGlzLmdldEZvcm1WYWx1ZSgnbmFtZScpO1xyXG4gICAgY29uc3QgZW1haWwgPSB0aGlzLmdldEZvcm1WYWx1ZSgnZW1haWwnKTtcclxuICAgIGNvbnN0IHRvcGljID0gdGhpcy5zZWxlY3RlZFRvcGljO1xyXG4gICAgY29uc3Qgc3ViamVjdCA9IHRoaXMuZ2V0Rm9ybVZhbHVlKCdzdWJqZWN0Jyk7XHJcbiAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5nZXRGb3JtVmFsdWUoJ21lc3NhZ2UnKTtcclxuXHJcbiAgICB0aGlzLnJlQ2FwdGNoYS5leGVjdXRlKHRoaXMucmVDYXB0Y2hhU2l0ZUtleSwgJ0NvbnRhY3RVcycsICh0b2tlbikgPT4ge1xyXG4gICAgICB0aGlzLmFwaS5zZW5kQ29udGFjdFVzKHRva2VuLCBuYW1lLCBlbWFpbCwgdG9waWMsIHN1YmplY3QsIG1lc3NhZ2UsXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5mb3JtU3VibWl0dGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc3VjY2VzcygnTWVzc2FnZSBoYXMgYmVlbiBzZW50IHN1Y2Nlc3NmdWxseScpO1xyXG4gICAgICAgICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcclxuICBcclxuICAgICAgICAgIHRoaXMuc3VibWl0LmVtaXQoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5lcnJvcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9FdmVudHNcclxuICBvblN1Ym1pdCgpIHtcclxuICAgIHRoaXMuY29udGFjdFVzKCk7XHJcbiAgfVxyXG5cclxuICBvblRvcGljQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVG9waWMgPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIChuZ1N1Ym1pdCk9J29uU3VibWl0KCknIFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnIG5vdmFsaWRhdGU+XHJcbiAgPGFuYXRvbHktZm9ybS12YWxpZGF0aW9uLXN1bW1hcnkgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmlzaWJsZV09J2Zvcm1TdWJtaXR0ZWQgJiYgZm9ybUdyb3VwLmludmFsaWQnPjwvYW5hdG9seS1mb3JtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuXHJcbiAgPGRpdiBjbGFzcz0nY29udGFjdC11cyc+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZmllbGRzIGNvbC02Jz5cclxuICAgICAgICA8cD5XaGF0IGNhbiB3ZSBoZWxwIHlvdSB3aXRoPzwvcD5cclxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgndG9waWMnKSB9XCIgY2xhc3M9J2Zvcm0tdG9waWMnPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz0nZm9ybS1zZWxlY3Qtd3JhcHBlcic+XHJcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0nYXNzaXN0aXZlLXRleHQnPlRvcGljICo8L2xhYmVsPlxyXG4gICAgICAgICAgICA8c2VsZWN0IChjaGFuZ2UpPSdvblRvcGljQ2hhbmdlKCRldmVudCknIGNsYXNzPSdmb3JtLXNlbGVjdCcgZm9ybUNvbnRyb2xOYW1lPSd0b3BpYyc+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9J2xldCB0b3BpYyBvZiB0b3BpY0xpc3QnIFt2YWx1ZV09J3RvcGljLnZhbHVlJz57eyB0b3BpYy52YWx1ZSB9fSA8L29wdGlvbj5cclxuICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbE5hbWU9J3RvcGljJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J3RvcGljJz5cclxuICAgICAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGlzQ29udHJvbEludmFsaWQoJ25hbWUnKSB9XCIgY2xhc3M9J2Zvcm0tbmFtZSc+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9J2Fzc2lzdGl2ZS10ZXh0Jz5OYW1lICo8L2xhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IGNsYXNzPSdmb3JtLWNvbnRyb2wnIGZvcm1Db250cm9sTmFtZT0nbmFtZScgcGxhY2Vob2xkZXI9J05hbWUgKicgdHlwZT0ndGV4dCc+XHJcbiAgICAgICAgICA8YW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeSBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbE5hbWU9J25hbWUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J25hbWUnPlxyXG4gICAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKCdlbWFpbCcpIH1cIiBjbGFzcz0nZm9ybS1lbWFpbCc+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9J2Fzc2lzdGl2ZS10ZXh0Jz5FLW1haWwgKiA8L2xhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IGNsYXNzPSdmb3JtLWNvbnRyb2wnIGZvcm1Db250cm9sTmFtZT0nZW1haWwnIHBsYWNlaG9sZGVyPSdFLW1haWwgKicgdHlwZT0ndGV4dCcgLz5cclxuICAgICAgICAgIDxwICpuZ0lmPSchaXNVc2VyU2lnbmVkSW4nPlBsZWFzZSBpbmRpY2F0ZSB0aGUgZW1haWwgdXNlZCBmb3IgeW91ciBNYWlsRXggbG9naW4gaWYgeW91IGFscmVhZHkgaGF2ZSBhbiBhY2NvdW50PC9wPlxyXG4gICAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xOYW1lPSdlbWFpbCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xUaXRsZT0nZW1haWwnPlxyXG4gICAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKCdzdWJqZWN0JykgfVwiIGNsYXNzPSdmb3JtLXN1YmplY3QnPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPSdhc3Npc3RpdmUtdGV4dCc+U3ViamVjdCAqPC9sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBjbGFzcz0nZm9ybS1jb250cm9sJyBmb3JtQ29udHJvbE5hbWU9J3N1YmplY3QnIHBsYWNlaG9sZGVyPSdTdWJqZWN0IConIHR5cGU9J3RleHQnIC8+XHJcbiAgICAgICAgICA8YW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeSBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbE5hbWU9J3N1YmplY3QnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J3N1YmplY3QnPlxyXG4gICAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2NvbC02Jz5cclxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnbWVzc2FnZScpIH1cIiBjbGFzcz0nZm9ybS1tZXNzYWdlJz5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz0nYXNzaXN0aXZlLXRleHQnPk1lc3NhZ2UgKjwvbGFiZWw+XHJcbiAgICAgICAgICA8dGV4dGFyZWEgZm9ybUNvbnRyb2xOYW1lPSdtZXNzYWdlJyBuYW1lPSdtZXNzYWdlJyBwbGFjZWhvbGRlcj0nTWVzc2FnZSAgKicgcm93cz0nNCdcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPSd0ZXh0Jz48L3RleHRhcmVhPlxyXG4gICAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xOYW1lPSdtZXNzYWdlJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSdtZXNzYWdlJz5cclxuICAgICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBmb3JtLWZvb3RlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICAgIDxidXR0b24gKm5nSWY9J3Nob3dBY3Rpb25CdXR0b25zJ1xyXG4gICAgICAgICAgICAgICAgICBbY2xhc3MuYnRuLXByaW1hcnldPSchZm9ybUdyb3VwLmludmFsaWQnXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPSdidG4gYnRuLXN1Y2Nlc3MnXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9J3N1Ym1pdCc+XHJcbiAgICAgICAgICAgIFN1Ym1pdFxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9mb3JtPlxyXG4iXX0=
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
26 Jun 2020
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
// Node
|
|
17
|
-
import { Pipe } from '@angular/core';
|
|
18
|
-
import * as i0 from "@angular/core";
|
|
19
|
-
export class FileSizePipe {
|
|
20
|
-
constructor() {
|
|
21
|
-
this.units = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];
|
|
22
|
-
}
|
|
23
|
-
transform(bytes = 0, precision = 0) {
|
|
24
|
-
if (isNaN(parseFloat(String(bytes))) || !isFinite(bytes))
|
|
25
|
-
return '';
|
|
26
|
-
let unit = 0;
|
|
27
|
-
while (bytes >= 1024) {
|
|
28
|
-
bytes /= 1024;
|
|
29
|
-
unit++;
|
|
30
|
-
}
|
|
31
|
-
return bytes.toFixed(+precision) + ' ' + this.units[unit];
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
FileSizePipe.ɵfac = function FileSizePipe_Factory(t) { return new (t || FileSizePipe)(); };
|
|
35
|
-
FileSizePipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "filesize", type: FileSizePipe, pure: true });
|
|
36
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FileSizePipe, [{
|
|
37
|
-
type: Pipe,
|
|
38
|
-
args: [{
|
|
39
|
-
name: 'filesize',
|
|
40
|
-
}]
|
|
41
|
-
}], null, null); })();
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXNpemUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9waXBlcy9maWxlc2l6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTztBQUNQLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQUtsRCxNQUFNLE9BQU8sWUFBWTtJQUh6QjtRQUlVLFVBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FjekQ7SUFaQyxTQUFTLENBQUMsUUFBZ0IsQ0FBQyxFQUFFLFlBQW9CLENBQUM7UUFDaEQsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFcEUsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBRWIsT0FBTyxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ3BCLEtBQUssSUFBSSxJQUFJLENBQUM7WUFDZCxJQUFJLEVBQUUsQ0FBQztTQUNSO1FBRUQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7d0VBZFUsWUFBWTs2RUFBWixZQUFZO3VGQUFaLFlBQVk7Y0FIeEIsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSxVQUFVO2FBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI2IEp1biAyMDIwIFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vIE5vZGVcclxuaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZmlsZXNpemUnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZVNpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgcHJpdmF0ZSB1bml0cyA9IFsnQnl0ZXMnLCAnS0InLCAnTUInLCAnR0InLCAnVEInLCAnUEInXTtcclxuXHJcbiAgdHJhbnNmb3JtKGJ5dGVzOiBudW1iZXIgPSAwLCBwcmVjaXNpb246IG51bWJlciA9IDApOiBzdHJpbmcge1xyXG4gICAgaWYgKGlzTmFOKHBhcnNlRmxvYXQoU3RyaW5nKGJ5dGVzKSkpIHx8ICFpc0Zpbml0ZShieXRlcykpIHJldHVybiAnJztcclxuXHJcbiAgICBsZXQgdW5pdCA9IDA7XHJcblxyXG4gICAgd2hpbGUgKGJ5dGVzID49IDEwMjQpIHtcclxuICAgICAgYnl0ZXMgLz0gMTAyNDtcclxuICAgICAgdW5pdCsrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBieXRlcy50b0ZpeGVkKCtwcmVjaXNpb24pICsgJyAnICsgdGhpcy51bml0c1t1bml0XTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
26 Jun 2020
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
// Node
|
|
17
|
-
import { Pipe } from "@angular/core";
|
|
18
|
-
import * as i0 from "@angular/core";
|
|
19
|
-
export class ReplaceTextPipe {
|
|
20
|
-
transform(inputData, search, replacement) {
|
|
21
|
-
if (inputData) {
|
|
22
|
-
return inputData.replace(new RegExp(search, "g"), replacement);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
return inputData;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
ReplaceTextPipe.ɵfac = function ReplaceTextPipe_Factory(t) { return new (t || ReplaceTextPipe)(); };
|
|
30
|
-
ReplaceTextPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "replaceText", type: ReplaceTextPipe, pure: true });
|
|
31
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReplaceTextPipe, [{
|
|
32
|
-
type: Pipe,
|
|
33
|
-
args: [{
|
|
34
|
-
name: "replaceText",
|
|
35
|
-
}]
|
|
36
|
-
}], null, null); })();
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZS10ZXh0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvcGlwZXMvcmVwbGFjZS10ZXh0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixPQUFPO0FBQ1AsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFNBQVMsQ0FBQyxTQUFpQixFQUFFLE1BQWMsRUFBRSxXQUFtQjtRQUM5RCxJQUFJLFNBQVMsRUFBRTtZQUNiLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDaEU7YUFBTTtZQUNMLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQzs7OEVBUFUsZUFBZTttRkFBZixlQUFlO3VGQUFmLGVBQWU7Y0FIM0IsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSxhQUFhO2FBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI2IEp1biAyMDIwXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy8gTm9kZVxyXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiBcInJlcGxhY2VUZXh0XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXBsYWNlVGV4dFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0oaW5wdXREYXRhOiBzdHJpbmcsIHNlYXJjaDogc3RyaW5nLCByZXBsYWNlbWVudDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChpbnB1dERhdGEpIHtcclxuICAgICAgcmV0dXJuIGlucHV0RGF0YS5yZXBsYWNlKG5ldyBSZWdFeHAoc2VhcmNoLCBcImdcIiksIHJlcGxhY2VtZW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBpbnB1dERhdGE7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
27 Oct 2019
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
// Node
|
|
17
|
-
import { Pipe } from '@angular/core';
|
|
18
|
-
import * as i0 from "@angular/core";
|
|
19
|
-
import * as i1 from "@angular/platform-browser";
|
|
20
|
-
export class SafeHtmlPipe {
|
|
21
|
-
constructor(sanitized) {
|
|
22
|
-
this.sanitized = sanitized;
|
|
23
|
-
}
|
|
24
|
-
transform(value) {
|
|
25
|
-
return this.sanitized.bypassSecurityTrustHtml(value);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
SafeHtmlPipe.ɵfac = function SafeHtmlPipe_Factory(t) { return new (t || SafeHtmlPipe)(i0.ɵɵdirectiveInject(i1.DomSanitizer, 16)); };
|
|
29
|
-
SafeHtmlPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "safeHtml", type: SafeHtmlPipe, pure: true });
|
|
30
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SafeHtmlPipe, [{
|
|
31
|
-
type: Pipe,
|
|
32
|
-
args: [{ name: 'safeHtml' }]
|
|
33
|
-
}], function () { return [{ type: i1.DomSanitizer }]; }, null); })();
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZUh0bWwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9waXBlcy9zYWZlSHRtbC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTztBQUNQLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOzs7QUFJbEQsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztJQUFJLENBQUM7SUFFaEQsU0FBUyxDQUFDLEtBQUs7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7d0VBTFUsWUFBWTs2RUFBWixZQUFZO3VGQUFaLFlBQVk7Y0FEeEIsSUFBSTtlQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyNyBPY3QgMjAxOSBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vLyBOb2RlXHJcbmltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RG9tU2FuaXRpemVyfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbkBQaXBlKHsgbmFtZTogJ3NhZmVIdG1sJyB9KVxyXG5leHBvcnQgY2xhc3MgU2FmZUh0bWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZWQ6IERvbVNhbml0aXplcikgeyB9XHJcblxyXG4gIHRyYW5zZm9ybSh2YWx1ZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVkLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHZhbHVlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
26 Jun 2020
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
//Node
|
|
17
|
-
import { NgModule } from '@angular/core';
|
|
18
|
-
import { CommonModule } from "@angular/common";
|
|
19
|
-
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
|
|
20
|
-
import { NgxCaptchaModule } from 'ngx-captcha';
|
|
21
|
-
//External Modules
|
|
22
|
-
import { FaModule } from './external/fa.module';
|
|
23
|
-
import { KendoModule } from './external/kendo.module';
|
|
24
|
-
//Froala
|
|
25
|
-
import { FroalaEditorModule, FroalaViewModule } from "angular-froala-wysiwyg";
|
|
26
|
-
//UI/Components
|
|
27
|
-
import { BuyAccessButtonComponent, SubscribePlanButtonComponent, CheckIconComponent, DatapagerComponent, SignInButtonComponent, SignUpButtonComponent, SignOutButtonComponent, NodataComponent, PageSpinnerComponent, LoadingComponent, CardComponent, CardHeaderComponent, CardBodyComponent, CardFooterComponent, HtmlEditorComponent, FormsHtmlEditorComponent, Copy2ClipboardComponent } from "./components";
|
|
28
|
-
//UI/Dialogs
|
|
29
|
-
import { ContactUsDialog } from "./dialogs";
|
|
30
|
-
//UI/Directives
|
|
31
|
-
import { NativeElementDirective, HoveringDirective } from "./directives";
|
|
32
|
-
//UI/Forms
|
|
33
|
-
import { AddressComponent, CompanyComponent, UrlSlugComponent, TimezoneDropdownlist, ContactUsForm } from "./forms";
|
|
34
|
-
//UI/Pipes
|
|
35
|
-
import { SafeHtmlPipe, ReplaceTextPipe, FileSizePipe } from "./pipes";
|
|
36
|
-
//UI/Validation
|
|
37
|
-
import { FormValidationSummaryComponent } from "./validation/form-validation-summary.component";
|
|
38
|
-
import { ItemValidationSummaryComponent } from "./validation/item-validation-summary.component";
|
|
39
|
-
import * as i0 from "@angular/core";
|
|
40
|
-
import * as i1 from "angular-froala-wysiwyg";
|
|
41
|
-
export const FroalaEditorModuleWithProviders = FroalaEditorModule.forRoot();
|
|
42
|
-
export const FroalaViewModuleWithProviders = FroalaViewModule.forRoot();
|
|
43
|
-
const COMPONENTS = [
|
|
44
|
-
BuyAccessButtonComponent,
|
|
45
|
-
SubscribePlanButtonComponent,
|
|
46
|
-
CheckIconComponent,
|
|
47
|
-
DatapagerComponent,
|
|
48
|
-
SignInButtonComponent,
|
|
49
|
-
SignUpButtonComponent,
|
|
50
|
-
SignOutButtonComponent,
|
|
51
|
-
NodataComponent,
|
|
52
|
-
PageSpinnerComponent,
|
|
53
|
-
LoadingComponent,
|
|
54
|
-
Copy2ClipboardComponent,
|
|
55
|
-
//Cards
|
|
56
|
-
CardComponent,
|
|
57
|
-
CardHeaderComponent,
|
|
58
|
-
CardBodyComponent,
|
|
59
|
-
CardFooterComponent,
|
|
60
|
-
//HtmlEditor
|
|
61
|
-
HtmlEditorComponent,
|
|
62
|
-
FormsHtmlEditorComponent,
|
|
63
|
-
//Dialogs
|
|
64
|
-
ContactUsDialog,
|
|
65
|
-
//Directives
|
|
66
|
-
NativeElementDirective,
|
|
67
|
-
HoveringDirective,
|
|
68
|
-
//Forms
|
|
69
|
-
AddressComponent,
|
|
70
|
-
CompanyComponent,
|
|
71
|
-
UrlSlugComponent,
|
|
72
|
-
TimezoneDropdownlist,
|
|
73
|
-
ContactUsForm,
|
|
74
|
-
//Pipes
|
|
75
|
-
SafeHtmlPipe,
|
|
76
|
-
ReplaceTextPipe,
|
|
77
|
-
FileSizePipe,
|
|
78
|
-
//Validation
|
|
79
|
-
FormValidationSummaryComponent,
|
|
80
|
-
ItemValidationSummaryComponent
|
|
81
|
-
];
|
|
82
|
-
export class AnatolyUIModule {
|
|
83
|
-
}
|
|
84
|
-
AnatolyUIModule.ɵfac = function AnatolyUIModule_Factory(t) { return new (t || AnatolyUIModule)(); };
|
|
85
|
-
AnatolyUIModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: AnatolyUIModule });
|
|
86
|
-
AnatolyUIModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
87
|
-
ReactiveFormsModule,
|
|
88
|
-
FormsModule,
|
|
89
|
-
NgxCaptchaModule,
|
|
90
|
-
FaModule,
|
|
91
|
-
KendoModule,
|
|
92
|
-
FroalaEditorModuleWithProviders,
|
|
93
|
-
FroalaViewModuleWithProviders] });
|
|
94
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnatolyUIModule, [{
|
|
95
|
-
type: NgModule,
|
|
96
|
-
args: [{
|
|
97
|
-
imports: [
|
|
98
|
-
CommonModule,
|
|
99
|
-
ReactiveFormsModule,
|
|
100
|
-
FormsModule,
|
|
101
|
-
NgxCaptchaModule,
|
|
102
|
-
FaModule,
|
|
103
|
-
KendoModule,
|
|
104
|
-
FroalaEditorModuleWithProviders,
|
|
105
|
-
FroalaViewModuleWithProviders,
|
|
106
|
-
],
|
|
107
|
-
exports: [
|
|
108
|
-
...COMPONENTS
|
|
109
|
-
],
|
|
110
|
-
declarations: [
|
|
111
|
-
...COMPONENTS
|
|
112
|
-
]
|
|
113
|
-
}]
|
|
114
|
-
}], null, null); })();
|
|
115
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AnatolyUIModule, { declarations: [BuyAccessButtonComponent,
|
|
116
|
-
SubscribePlanButtonComponent,
|
|
117
|
-
CheckIconComponent,
|
|
118
|
-
DatapagerComponent,
|
|
119
|
-
SignInButtonComponent,
|
|
120
|
-
SignUpButtonComponent,
|
|
121
|
-
SignOutButtonComponent,
|
|
122
|
-
NodataComponent,
|
|
123
|
-
PageSpinnerComponent,
|
|
124
|
-
LoadingComponent,
|
|
125
|
-
Copy2ClipboardComponent,
|
|
126
|
-
//Cards
|
|
127
|
-
CardComponent,
|
|
128
|
-
CardHeaderComponent,
|
|
129
|
-
CardBodyComponent,
|
|
130
|
-
CardFooterComponent,
|
|
131
|
-
//HtmlEditor
|
|
132
|
-
HtmlEditorComponent,
|
|
133
|
-
FormsHtmlEditorComponent,
|
|
134
|
-
//Dialogs
|
|
135
|
-
ContactUsDialog,
|
|
136
|
-
//Directives
|
|
137
|
-
NativeElementDirective,
|
|
138
|
-
HoveringDirective,
|
|
139
|
-
//Forms
|
|
140
|
-
AddressComponent,
|
|
141
|
-
CompanyComponent,
|
|
142
|
-
UrlSlugComponent,
|
|
143
|
-
TimezoneDropdownlist,
|
|
144
|
-
ContactUsForm,
|
|
145
|
-
//Pipes
|
|
146
|
-
SafeHtmlPipe,
|
|
147
|
-
ReplaceTextPipe,
|
|
148
|
-
FileSizePipe,
|
|
149
|
-
//Validation
|
|
150
|
-
FormValidationSummaryComponent,
|
|
151
|
-
ItemValidationSummaryComponent], imports: [CommonModule,
|
|
152
|
-
ReactiveFormsModule,
|
|
153
|
-
FormsModule,
|
|
154
|
-
NgxCaptchaModule,
|
|
155
|
-
FaModule,
|
|
156
|
-
KendoModule, i1.FroalaEditorModule, i1.FroalaViewModule], exports: [BuyAccessButtonComponent,
|
|
157
|
-
SubscribePlanButtonComponent,
|
|
158
|
-
CheckIconComponent,
|
|
159
|
-
DatapagerComponent,
|
|
160
|
-
SignInButtonComponent,
|
|
161
|
-
SignUpButtonComponent,
|
|
162
|
-
SignOutButtonComponent,
|
|
163
|
-
NodataComponent,
|
|
164
|
-
PageSpinnerComponent,
|
|
165
|
-
LoadingComponent,
|
|
166
|
-
Copy2ClipboardComponent,
|
|
167
|
-
//Cards
|
|
168
|
-
CardComponent,
|
|
169
|
-
CardHeaderComponent,
|
|
170
|
-
CardBodyComponent,
|
|
171
|
-
CardFooterComponent,
|
|
172
|
-
//HtmlEditor
|
|
173
|
-
HtmlEditorComponent,
|
|
174
|
-
FormsHtmlEditorComponent,
|
|
175
|
-
//Dialogs
|
|
176
|
-
ContactUsDialog,
|
|
177
|
-
//Directives
|
|
178
|
-
NativeElementDirective,
|
|
179
|
-
HoveringDirective,
|
|
180
|
-
//Forms
|
|
181
|
-
AddressComponent,
|
|
182
|
-
CompanyComponent,
|
|
183
|
-
UrlSlugComponent,
|
|
184
|
-
TimezoneDropdownlist,
|
|
185
|
-
ContactUsForm,
|
|
186
|
-
//Pipes
|
|
187
|
-
SafeHtmlPipe,
|
|
188
|
-
ReplaceTextPipe,
|
|
189
|
-
FileSizePipe,
|
|
190
|
-
//Validation
|
|
191
|
-
FormValidationSummaryComponent,
|
|
192
|
-
ItemValidationSummaryComponent] }); })();
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL3VpLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRS9DLGtCQUFrQjtBQUNsQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBRXJELFFBQVE7QUFDUixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUk5RSxlQUFlO0FBQ2YsT0FBTyxFQUNMLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixlQUFlLEVBQ2Ysb0JBQW9CLEVBQ3BCLGdCQUFnQixFQUNoQixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLHdCQUF3QixFQUN4Qix1QkFBdUIsRUFDeEIsTUFBTSxjQUFjLENBQUM7QUFFdEIsWUFBWTtBQUNaLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFM0MsZUFBZTtBQUNmLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6RSxVQUFVO0FBQ1YsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQixhQUFhLEVBQ2QsTUFBTSxTQUFTLENBQUE7QUFFaEIsVUFBVTtBQUNWLE9BQU8sRUFDTCxZQUFZLEVBQ1osZUFBZSxFQUNmLFlBQVksRUFDYixNQUFNLFNBQVMsQ0FBQztBQUVqQixlQUFlO0FBQ2YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDaEcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7OztBQWhEaEcsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDNUUsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUM7QUFpRHhFLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLHdCQUF3QjtJQUN4Qiw0QkFBNEI7SUFDNUIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixlQUFlO0lBQ2Ysb0JBQW9CO0lBQ3BCLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFFdkIsT0FBTztJQUNQLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUVuQixZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLHdCQUF3QjtJQUV4QixTQUFTO0lBQ1QsZUFBZTtJQUVmLFlBQVk7SUFDWixzQkFBc0I7SUFDdEIsaUJBQWlCO0lBRWpCLE9BQU87SUFDUCxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsYUFBYTtJQUViLE9BQU87SUFDUCxZQUFZO0lBQ1osZUFBZTtJQUNmLFlBQVk7SUFFWixZQUFZO0lBQ1osOEJBQThCO0lBQzlCLDhCQUE4QjtDQUMvQixDQUFDO0FBb0JGLE1BQU0sT0FBTyxlQUFlOzs4RUFBZixlQUFlO2lFQUFmLGVBQWU7cUVBaEJ4QixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIsUUFBUTtRQUNSLFdBQVc7UUFDWCwrQkFBK0I7UUFDL0IsNkJBQTZCO3VGQVNwQixlQUFlO2NBbEIzQixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osbUJBQW1CO29CQUNuQixXQUFXO29CQUNYLGdCQUFnQjtvQkFDaEIsUUFBUTtvQkFDUixXQUFXO29CQUNYLCtCQUErQjtvQkFDL0IsNkJBQTZCO2lCQUM5QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsR0FBRyxVQUFVO2lCQUNkO2dCQUNELFlBQVksRUFBRTtvQkFDWixHQUFHLFVBQVU7aUJBQ2Q7YUFDRjs7d0ZBQ1ksZUFBZSxtQkFoRTFCLHdCQUF3QjtRQUN4Qiw0QkFBNEI7UUFDNUIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixxQkFBcUI7UUFDckIscUJBQXFCO1FBQ3JCLHNCQUFzQjtRQUN0QixlQUFlO1FBQ2Ysb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQix1QkFBdUI7UUFFdkIsT0FBTztRQUNQLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsaUJBQWlCO1FBQ2pCLG1CQUFtQjtRQUVuQixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLHdCQUF3QjtRQUV4QixTQUFTO1FBQ1QsZUFBZTtRQUVmLFlBQVk7UUFDWixzQkFBc0I7UUFDdEIsaUJBQWlCO1FBRWpCLE9BQU87UUFDUCxnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixvQkFBb0I7UUFDcEIsYUFBYTtRQUViLE9BQU87UUFDUCxZQUFZO1FBQ1osZUFBZTtRQUNmLFlBQVk7UUFFWixZQUFZO1FBQ1osOEJBQThCO1FBQzlCLDhCQUE4QixhQUs1QixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIsUUFBUTtRQUNSLFdBQVcseURBckRiLHdCQUF3QjtRQUN4Qiw0QkFBNEI7UUFDNUIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixxQkFBcUI7UUFDckIscUJBQXFCO1FBQ3JCLHNCQUFzQjtRQUN0QixlQUFlO1FBQ2Ysb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQix1QkFBdUI7UUFFdkIsT0FBTztRQUNQLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsaUJBQWlCO1FBQ2pCLG1CQUFtQjtRQUVuQixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLHdCQUF3QjtRQUV4QixTQUFTO1FBQ1QsZUFBZTtRQUVmLFlBQVk7UUFDWixzQkFBc0I7UUFDdEIsaUJBQWlCO1FBRWpCLE9BQU87UUFDUCxnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixvQkFBb0I7UUFDcEIsYUFBYTtRQUViLE9BQU87UUFDUCxZQUFZO1FBQ1osZUFBZTtRQUNmLFlBQVk7UUFFWixZQUFZO1FBQ1osOEJBQThCO1FBQzlCLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyNiBKdW4gMjAyMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE5neENhcHRjaGFNb2R1bGUgfSBmcm9tICduZ3gtY2FwdGNoYSc7XHJcblxyXG4vL0V4dGVybmFsIE1vZHVsZXNcclxuaW1wb3J0IHsgRmFNb2R1bGUgfSBmcm9tICcuL2V4dGVybmFsL2ZhLm1vZHVsZSdcclxuaW1wb3J0IHsgS2VuZG9Nb2R1bGUgfSBmcm9tICcuL2V4dGVybmFsL2tlbmRvLm1vZHVsZSdcclxuXHJcbi8vRnJvYWxhXHJcbmltcG9ydCB7IEZyb2FsYUVkaXRvck1vZHVsZSwgRnJvYWxhVmlld01vZHVsZSB9IGZyb20gXCJhbmd1bGFyLWZyb2FsYS13eXNpd3lnXCI7XHJcbmV4cG9ydCBjb25zdCBGcm9hbGFFZGl0b3JNb2R1bGVXaXRoUHJvdmlkZXJzID0gRnJvYWxhRWRpdG9yTW9kdWxlLmZvclJvb3QoKTtcclxuZXhwb3J0IGNvbnN0IEZyb2FsYVZpZXdNb2R1bGVXaXRoUHJvdmlkZXJzID0gRnJvYWxhVmlld01vZHVsZS5mb3JSb290KCk7XHJcblxyXG4vL1VJL0NvbXBvbmVudHNcclxuaW1wb3J0IHtcclxuICBCdXlBY2Nlc3NCdXR0b25Db21wb25lbnQsXHJcbiAgU3Vic2NyaWJlUGxhbkJ1dHRvbkNvbXBvbmVudCxcclxuICBDaGVja0ljb25Db21wb25lbnQsXHJcbiAgRGF0YXBhZ2VyQ29tcG9uZW50LFxyXG4gIFNpZ25JbkJ1dHRvbkNvbXBvbmVudCxcclxuICBTaWduVXBCdXR0b25Db21wb25lbnQsXHJcbiAgU2lnbk91dEJ1dHRvbkNvbXBvbmVudCxcclxuICBOb2RhdGFDb21wb25lbnQsXHJcbiAgUGFnZVNwaW5uZXJDb21wb25lbnQsXHJcbiAgTG9hZGluZ0NvbXBvbmVudCxcclxuICBDYXJkQ29tcG9uZW50LFxyXG4gIENhcmRIZWFkZXJDb21wb25lbnQsXHJcbiAgQ2FyZEJvZHlDb21wb25lbnQsXHJcbiAgQ2FyZEZvb3RlckNvbXBvbmVudCxcclxuICBIdG1sRWRpdG9yQ29tcG9uZW50LFxyXG4gIEZvcm1zSHRtbEVkaXRvckNvbXBvbmVudCxcclxuICBDb3B5MkNsaXBib2FyZENvbXBvbmVudFxyXG59IGZyb20gXCIuL2NvbXBvbmVudHNcIjtcclxuXHJcbi8vVUkvRGlhbG9nc1xyXG5pbXBvcnQgeyBDb250YWN0VXNEaWFsb2cgfSBmcm9tIFwiLi9kaWFsb2dzXCJcclxuXHJcbi8vVUkvRGlyZWN0aXZlc1xyXG5pbXBvcnQgeyBOYXRpdmVFbGVtZW50RGlyZWN0aXZlLCBIb3ZlcmluZ0RpcmVjdGl2ZSB9IGZyb20gXCIuL2RpcmVjdGl2ZXNcIjtcclxuXHJcbi8vVUkvRm9ybXNcclxuaW1wb3J0IHtcclxuICBBZGRyZXNzQ29tcG9uZW50LFxyXG4gIENvbXBhbnlDb21wb25lbnQsXHJcbiAgVXJsU2x1Z0NvbXBvbmVudCxcclxuICBUaW1lem9uZURyb3Bkb3dubGlzdCxcclxuICBDb250YWN0VXNGb3JtXHJcbn0gZnJvbSBcIi4vZm9ybXNcIlxyXG5cclxuLy9VSS9QaXBlc1xyXG5pbXBvcnQge1xyXG4gIFNhZmVIdG1sUGlwZSxcclxuICBSZXBsYWNlVGV4dFBpcGUsXHJcbiAgRmlsZVNpemVQaXBlXHJcbn0gZnJvbSBcIi4vcGlwZXNcIjtcclxuXHJcbi8vVUkvVmFsaWRhdGlvblxyXG5pbXBvcnQgeyBGb3JtVmFsaWRhdGlvblN1bW1hcnlDb21wb25lbnQgfSBmcm9tIFwiLi92YWxpZGF0aW9uL2Zvcm0tdmFsaWRhdGlvbi1zdW1tYXJ5LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBJdGVtVmFsaWRhdGlvblN1bW1hcnlDb21wb25lbnQgfSBmcm9tIFwiLi92YWxpZGF0aW9uL2l0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5LmNvbXBvbmVudFwiO1xyXG5cclxuY29uc3QgQ09NUE9ORU5UUyA9IFtcclxuICBCdXlBY2Nlc3NCdXR0b25Db21wb25lbnQsXHJcbiAgU3Vic2NyaWJlUGxhbkJ1dHRvbkNvbXBvbmVudCxcclxuICBDaGVja0ljb25Db21wb25lbnQsXHJcbiAgRGF0YXBhZ2VyQ29tcG9uZW50LFxyXG4gIFNpZ25JbkJ1dHRvbkNvbXBvbmVudCxcclxuICBTaWduVXBCdXR0b25Db21wb25lbnQsXHJcbiAgU2lnbk91dEJ1dHRvbkNvbXBvbmVudCxcclxuICBOb2RhdGFDb21wb25lbnQsXHJcbiAgUGFnZVNwaW5uZXJDb21wb25lbnQsXHJcbiAgTG9hZGluZ0NvbXBvbmVudCxcclxuICBDb3B5MkNsaXBib2FyZENvbXBvbmVudCxcclxuXHJcbiAgLy9DYXJkc1xyXG4gIENhcmRDb21wb25lbnQsXHJcbiAgQ2FyZEhlYWRlckNvbXBvbmVudCxcclxuICBDYXJkQm9keUNvbXBvbmVudCxcclxuICBDYXJkRm9vdGVyQ29tcG9uZW50LFxyXG5cclxuICAvL0h0bWxFZGl0b3JcclxuICBIdG1sRWRpdG9yQ29tcG9uZW50LFxyXG4gIEZvcm1zSHRtbEVkaXRvckNvbXBvbmVudCxcclxuXHJcbiAgLy9EaWFsb2dzXHJcbiAgQ29udGFjdFVzRGlhbG9nLFxyXG5cclxuICAvL0RpcmVjdGl2ZXNcclxuICBOYXRpdmVFbGVtZW50RGlyZWN0aXZlLFxyXG4gIEhvdmVyaW5nRGlyZWN0aXZlLFxyXG5cclxuICAvL0Zvcm1zXHJcbiAgQWRkcmVzc0NvbXBvbmVudCxcclxuICBDb21wYW55Q29tcG9uZW50LFxyXG4gIFVybFNsdWdDb21wb25lbnQsXHJcbiAgVGltZXpvbmVEcm9wZG93bmxpc3QsXHJcbiAgQ29udGFjdFVzRm9ybSxcclxuXHJcbiAgLy9QaXBlc1xyXG4gIFNhZmVIdG1sUGlwZSxcclxuICBSZXBsYWNlVGV4dFBpcGUsXHJcbiAgRmlsZVNpemVQaXBlLFxyXG5cclxuICAvL1ZhbGlkYXRpb25cclxuICBGb3JtVmFsaWRhdGlvblN1bW1hcnlDb21wb25lbnQsXHJcbiAgSXRlbVZhbGlkYXRpb25TdW1tYXJ5Q29tcG9uZW50XHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE5neENhcHRjaGFNb2R1bGUsXHJcbiAgICBGYU1vZHVsZSxcclxuICAgIEtlbmRvTW9kdWxlLFxyXG4gICAgRnJvYWxhRWRpdG9yTW9kdWxlV2l0aFByb3ZpZGVycyxcclxuICAgIEZyb2FsYVZpZXdNb2R1bGVXaXRoUHJvdmlkZXJzLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgLi4uQ09NUE9ORU5UU1xyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAuLi5DT01QT05FTlRTXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5hdG9seVVJTW9kdWxlIHtcclxufVxyXG4iXX0=
|