jconsumer-shared 0.0.2 → 1.0.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/account-service.mjs +170 -0
- package/esm2022/lib/auth-service.mjs +163 -0
- package/esm2022/lib/booking-service.mjs +480 -0
- package/esm2022/lib/calendar/date-time/datetime-processor.service.mjs +448 -0
- package/esm2022/lib/common.service.mjs +188 -0
- package/esm2022/lib/confirm/confirm-box.component.mjs +159 -0
- package/esm2022/lib/confirm/confirm-box.module.mjs +62 -0
- package/esm2022/lib/consumer-service.mjs +780 -0
- package/esm2022/lib/currency-service.mjs +12 -0
- package/esm2022/lib/environment.service.mjs +23 -0
- package/esm2022/lib/error-message.module.mjs +23 -0
- package/esm2022/lib/error-message.service.mjs +22 -0
- package/esm2022/lib/file-service.mjs +235 -0
- package/esm2022/lib/form-message/field-error-display/field-error-display.component.mjs +21 -0
- package/esm2022/lib/form-message/form-message-display.module.mjs +35 -0
- package/esm2022/lib/form-message/form-message-display.service.mjs +44 -0
- package/esm2022/lib/form-message/form-success-display/form-success-display.component.mjs +18 -0
- package/esm2022/lib/group-storage.service.mjs +66 -0
- package/esm2022/lib/i8n.module.mjs +43 -0
- package/esm2022/lib/injector-resolver.mjs +28 -0
- package/esm2022/lib/local-storage.service.mjs +77 -0
- package/esm2022/lib/media-service.mjs +49 -0
- package/esm2022/lib/order.service.mjs +16 -1
- package/esm2022/lib/payment/modes/payment-modes.component.mjs +35 -0
- package/esm2022/lib/payment/modes/payment-modes.module.mjs +24 -0
- package/esm2022/lib/payment/payment.module.mjs +26 -0
- package/esm2022/lib/paytm.service.mjs +131 -0
- package/esm2022/lib/phone-input/phone-input.component.mjs +131 -0
- package/esm2022/lib/phone-input/phone-input.module.mjs +24 -0
- package/esm2022/lib/pipes/autolink/autolink.module.mjs +20 -0
- package/esm2022/lib/pipes/autolink/autolink.pipe.mjs +22 -0
- package/esm2022/lib/pipes/capitalize/capitalize.module.mjs +20 -0
- package/esm2022/lib/pipes/capitalize/capitalize.pipe.mjs +18 -0
- package/esm2022/lib/pipes/date-format/date-format.module.mjs +19 -0
- package/esm2022/lib/pipes/date-format/date-format.pipe.mjs +42 -0
- package/esm2022/lib/pipes/filter/filter.pipe.mjs +24 -0
- package/esm2022/lib/pipes/limit-to/limitTo.pipe.mjs +18 -0
- package/esm2022/lib/pipes/safe-html/safehtml.module.mjs +20 -0
- package/esm2022/lib/pipes/safe-html/safehtml.pipe.mjs +19 -0
- package/esm2022/lib/project-constants.mjs +310 -0
- package/esm2022/lib/project-messages.mjs +146 -0
- package/esm2022/lib/questionaire/edit/questionnaire.component.mjs +1427 -0
- package/esm2022/lib/questionaire/edit/questionnaire.module.mjs +78 -0
- package/esm2022/lib/questionaire/questionaire-service.mjs +92 -0
- package/esm2022/lib/razorpay.service.mjs +157 -0
- package/esm2022/lib/request-dialog/request-dialog.component.mjs +29 -0
- package/esm2022/lib/request-dialog/request-dialog.module.mjs +24 -0
- package/esm2022/lib/session-storage.service.mjs +57 -0
- package/esm2022/lib/shared-account.guard.mjs +41 -0
- package/esm2022/lib/shared-account.resolver.mjs +22 -0
- package/esm2022/lib/shared.service.mjs +107 -10
- package/esm2022/lib/showuploadfile/showuploadfile.component.mjs +61 -0
- package/esm2022/lib/showuploadfile/showuploadfile.module.mjs +28 -0
- package/esm2022/lib/spinner/loading-spinner.component.mjs +22 -0
- package/esm2022/lib/spinner/loading-spinner.module.mjs +28 -0
- package/esm2022/lib/storage.service.mjs +75 -0
- package/esm2022/lib/theme.service.mjs +30 -0
- package/esm2022/lib/timezone-converter.mjs +49 -0
- package/esm2022/lib/toast.service.mjs +2 -2
- package/esm2022/lib/twilio-service.mjs +466 -0
- package/esm2022/lib/word-processor.service.mjs +181 -0
- package/esm2022/public-api.mjs +58 -1
- package/fesm2022/jconsumer-shared.mjs +6989 -39
- package/fesm2022/jconsumer-shared.mjs.map +1 -1
- package/jconsumer-shared-1.0.0.tgz +0 -0
- package/lib/account-service.d.ts +48 -0
- package/lib/auth-service.d.ts +44 -0
- package/lib/booking-service.d.ts +101 -0
- package/lib/calendar/date-time/datetime-processor.service.d.ts +120 -0
- package/lib/common.service.d.ts +20 -0
- package/lib/confirm/confirm-box.component.d.ts +43 -0
- package/lib/confirm/confirm-box.module.d.ts +16 -0
- package/lib/consumer-service.d.ts +178 -0
- package/lib/currency-service.d.ts +4 -0
- package/lib/environment.service.d.ts +9 -0
- package/lib/error-message.module.d.ts +7 -0
- package/lib/error-message.service.d.ts +5 -0
- package/lib/file-service.d.ts +29 -0
- package/lib/form-message/field-error-display/field-error-display.component.d.ts +8 -0
- package/lib/form-message/form-message-display.module.d.ts +10 -0
- package/lib/form-message/form-message-display.service.d.ts +13 -0
- package/lib/form-message/form-success-display/form-success-display.component.d.ts +7 -0
- package/lib/group-storage.service.d.ts +14 -0
- package/lib/i8n.module.d.ts +12 -0
- package/lib/injector-resolver.d.ts +2 -0
- package/lib/local-storage.service.d.ts +34 -0
- package/lib/media-service.d.ts +9 -0
- package/lib/order.service.d.ts +4 -0
- package/lib/payment/modes/payment-modes.component.d.ts +15 -0
- package/lib/payment/modes/payment-modes.module.d.ts +9 -0
- package/lib/payment/payment.module.d.ts +7 -0
- package/lib/paytm.service.d.ts +13 -0
- package/lib/phone-input/phone-input.component.d.ts +27 -0
- package/lib/phone-input/phone-input.module.d.ts +9 -0
- package/lib/pipes/autolink/autolink.module.d.ts +8 -0
- package/lib/pipes/autolink/autolink.pipe.d.ts +7 -0
- package/lib/pipes/capitalize/capitalize.module.d.ts +8 -0
- package/lib/pipes/capitalize/capitalize.pipe.d.ts +7 -0
- package/lib/pipes/date-format/date-format.module.d.ts +8 -0
- package/lib/pipes/date-format/date-format.pipe.d.ts +12 -0
- package/lib/pipes/filter/filter.pipe.d.ts +7 -0
- package/lib/pipes/limit-to/limitTo.pipe.d.ts +7 -0
- package/lib/pipes/safe-html/safehtml.module.d.ts +8 -0
- package/lib/pipes/safe-html/safehtml.pipe.d.ts +10 -0
- package/lib/project-constants.d.ts +227 -0
- package/lib/project-messages.d.ts +1 -0
- package/lib/questionaire/edit/questionnaire.component.d.ts +154 -0
- package/lib/questionaire/edit/questionnaire.module.d.ts +20 -0
- package/lib/questionaire/questionaire-service.d.ts +28 -0
- package/lib/razorpay.service.d.ts +26 -0
- package/lib/request-dialog/request-dialog.component.d.ts +11 -0
- package/lib/request-dialog/request-dialog.module.d.ts +9 -0
- package/lib/session-storage.service.d.ts +26 -0
- package/lib/shared-account.guard.d.ts +11 -0
- package/lib/shared-account.resolver.d.ts +10 -0
- package/lib/shared.service.d.ts +43 -7
- package/lib/showuploadfile/showuploadfile.component.d.ts +21 -0
- package/lib/showuploadfile/showuploadfile.module.d.ts +9 -0
- package/lib/spinner/loading-spinner.component.d.ts +11 -0
- package/lib/spinner/loading-spinner.module.d.ts +9 -0
- package/lib/storage.service.d.ts +16 -0
- package/lib/theme.service.d.ts +10 -0
- package/lib/timezone-converter.d.ts +8 -0
- package/lib/twilio-service.d.ts +60 -0
- package/lib/word-processor.service.d.ts +80 -0
- package/package.json +1 -1
- package/public-api.d.ts +57 -0
- package/jconsumer-shared-0.0.2.tgz +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
Injectable({
|
|
3
|
+
providedIn: 'root'
|
|
4
|
+
});
|
|
5
|
+
export class CurrencyService {
|
|
6
|
+
constructor() {
|
|
7
|
+
}
|
|
8
|
+
print_PricewithCurrency(price) {
|
|
9
|
+
return '₹' + ' ' + price.toFixed(2);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi9jdXJyZW5jeS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsVUFBVSxDQUFDO0lBQ1AsVUFBVSxFQUFFLE1BQU07Q0FDckIsQ0FBQyxDQUFBO0FBRUYsTUFBTSxPQUFPLGVBQWU7SUFFeEI7SUFDQSxDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBVTtRQUM5QixPQUFPLEtBQUssR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgQ3VycmVuY3lTZXJ2aWNlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIH1cclxuXHJcbiAgICBwcmludF9QcmljZXdpdGhDdXJyZW5jeShwcmljZTogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuICfDouKAmsK5JyArICcgJyArIHByaWNlLnRvRml4ZWQoMik7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class EnvironmentService {
|
|
4
|
+
constructor() { }
|
|
5
|
+
environment = {};
|
|
6
|
+
// Set environment variables dynamically
|
|
7
|
+
setEnvironment(environment) {
|
|
8
|
+
this.environment = environment;
|
|
9
|
+
}
|
|
10
|
+
// Get environment variable by key
|
|
11
|
+
getEnvironment(key) {
|
|
12
|
+
return this.environment[key];
|
|
13
|
+
}
|
|
14
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EnvironmentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EnvironmentService, providedIn: 'root' });
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EnvironmentService, decorators: [{
|
|
18
|
+
type: Injectable,
|
|
19
|
+
args: [{
|
|
20
|
+
providedIn: 'root'
|
|
21
|
+
}]
|
|
22
|
+
}], ctorParameters: () => [] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi9lbnZpcm9ubWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsZ0JBQWdCLENBQUM7SUFFVCxXQUFXLEdBQVEsRUFBRSxDQUFDO0lBRTlCLHdDQUF3QztJQUN4QyxjQUFjLENBQUMsV0FBZ0I7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDbkMsQ0FBQztJQUVDLGtDQUFrQztJQUNsQyxjQUFjLENBQUMsR0FBVztRQUN4QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQzt1R0FkVSxrQkFBa0I7MkdBQWxCLGtCQUFrQixjQUZqQixNQUFNOzsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRW52aXJvbm1lbnRTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55ID0ge307XHJcblxyXG4gIC8vIFNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZHluYW1pY2FsbHlcclxuICBzZXRFbnZpcm9ubWVudChlbnZpcm9ubWVudDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmVudmlyb25tZW50ID0gZW52aXJvbm1lbnQ7XHJcbn1cclxuXHJcbiAgLy8gR2V0IGVudmlyb25tZW50IHZhcmlhYmxlIGJ5IGtleVxyXG4gIGdldEVudmlyb25tZW50KGtleTogc3RyaW5nKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50W2tleV07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ErrorMessagingService } from './error-message.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class ErrrorMessageModule {
|
|
6
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ErrrorMessageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: ErrrorMessageModule, imports: [CommonModule] });
|
|
8
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ErrrorMessageModule, providers: [
|
|
9
|
+
ErrorMessagingService
|
|
10
|
+
], imports: [CommonModule] });
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ErrrorMessageModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
declarations: [],
|
|
16
|
+
imports: [CommonModule],
|
|
17
|
+
exports: [],
|
|
18
|
+
providers: [
|
|
19
|
+
ErrorMessagingService
|
|
20
|
+
]
|
|
21
|
+
}]
|
|
22
|
+
}] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvZXJyb3ItbWVzc2FnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBWWhFLE1BQU0sT0FBTyxtQkFBbUI7dUdBQW5CLG1CQUFtQjt3R0FBbkIsbUJBQW1CLFlBTm5CLFlBQVk7d0dBTVosbUJBQW1CLGFBSm5CO1lBQ1QscUJBQXFCO1NBQ3RCLFlBSlUsWUFBWTs7MkZBTVosbUJBQW1CO2tCQVIvQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsQ0FBRSxZQUFZLENBQUU7b0JBQ3pCLE9BQU8sRUFBRSxFQUFFO29CQUNYLFNBQVMsRUFBRTt3QkFDVCxxQkFBcUI7cUJBQ3RCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRXJyb3JNZXNzYWdpbmdTZXJ2aWNlIH0gZnJvbSAnLi9lcnJvci1tZXNzYWdlLnNlcnZpY2UnO1xyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW10sXHJcbiAgaW1wb3J0czogWyBDb21tb25Nb2R1bGUgXSxcclxuICBleHBvcnRzOiBbXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEVycm9yTWVzc2FnaW5nU2VydmljZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVycnJvck1lc3NhZ2VNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
Injectable({
|
|
3
|
+
providedIn: 'root'
|
|
4
|
+
});
|
|
5
|
+
export class ErrorMessagingService {
|
|
6
|
+
API_ERROR = 'There was a problem while connecting to our server. Please try again.';
|
|
7
|
+
constructor() {
|
|
8
|
+
}
|
|
9
|
+
getApiError(error) {
|
|
10
|
+
console.log("Get Api Error:", error);
|
|
11
|
+
if (error.error && typeof error.error === 'string') {
|
|
12
|
+
return error.error;
|
|
13
|
+
}
|
|
14
|
+
else if (typeof error === 'string') {
|
|
15
|
+
return error;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
return this.API_ERROR;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2Vycm9yLW1lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLFVBQVUsQ0FBQztJQUNQLFVBQVUsRUFBRSxNQUFNO0NBQ3JCLENBQUMsQ0FBQTtBQUVGLE1BQU0sT0FBTyxxQkFBcUI7SUFFOUIsU0FBUyxHQUFHLHVFQUF1RSxDQUFDO0lBRXBGO0lBQ0EsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFVO1FBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxLQUFLLENBQUMsS0FBSyxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNqRCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDdkIsQ0FBQzthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbkMsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDMUIsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuSW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBFcnJvck1lc3NhZ2luZ1NlcnZpY2Uge1xyXG5cclxuICAgIEFQSV9FUlJPUiA9ICdUaGVyZSB3YXMgYSBwcm9ibGVtIHdoaWxlIGNvbm5lY3RpbmcgdG8gb3VyIHNlcnZlci4gUGxlYXNlIHRyeSBhZ2Fpbi4nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgfVxyXG4gICAgZ2V0QXBpRXJyb3IoZXJyb3I6IGFueSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiR2V0IEFwaSBFcnJvcjpcIiwgZXJyb3IpO1xyXG4gICAgICAgIGlmIChlcnJvci5lcnJvciAmJiB0eXBlb2YgZXJyb3IuZXJyb3IgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBlcnJvci5lcnJvcjtcclxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGVycm9yO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLkFQSV9FUlJPUjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./shared.service";
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
7
|
+
export class FileService {
|
|
8
|
+
sharedService;
|
|
9
|
+
// Supported images types
|
|
10
|
+
IMAGE_FORMATS = [
|
|
11
|
+
'image/gif',
|
|
12
|
+
'image/png',
|
|
13
|
+
'image/jpeg',
|
|
14
|
+
'image/bmp',
|
|
15
|
+
'image/webp'
|
|
16
|
+
];
|
|
17
|
+
FILETYPES_UPLOAD = [
|
|
18
|
+
'image/jpg',
|
|
19
|
+
'image/png',
|
|
20
|
+
'image/jpeg',
|
|
21
|
+
'image/bmp',
|
|
22
|
+
'application/pdf',
|
|
23
|
+
'application/jfif',
|
|
24
|
+
'video/mp4',
|
|
25
|
+
'video/mpeg',
|
|
26
|
+
'audio/mpeg',
|
|
27
|
+
'audio/mp3',
|
|
28
|
+
'audio/ogg',
|
|
29
|
+
'application/vnd.ms-excel',
|
|
30
|
+
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
|
31
|
+
'application/doc',
|
|
32
|
+
'application/ms-doc',
|
|
33
|
+
'application/msword',
|
|
34
|
+
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
|
35
|
+
'docx',
|
|
36
|
+
'doc'
|
|
37
|
+
];
|
|
38
|
+
cdnPath = '';
|
|
39
|
+
imageSize = 15000000;
|
|
40
|
+
FILE_MAX_SIZE = 10000000;
|
|
41
|
+
constructor(sharedService) {
|
|
42
|
+
this.sharedService = sharedService;
|
|
43
|
+
this.cdnPath = this.sharedService.getCDNPath();
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Method returns supported formats of files which has to be uploaded
|
|
47
|
+
* @param source image/file
|
|
48
|
+
* @returns available formats
|
|
49
|
+
*/
|
|
50
|
+
getSupportedFormats(source) {
|
|
51
|
+
console.log(source);
|
|
52
|
+
let formats = [];
|
|
53
|
+
if (source == 'image') {
|
|
54
|
+
formats = this.IMAGE_FORMATS;
|
|
55
|
+
//return this.IMAGE_FORMATS;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
formats = this.FILETYPES_UPLOAD;
|
|
59
|
+
//return this.FILETYPES_UPLOAD;
|
|
60
|
+
}
|
|
61
|
+
console.log(formats);
|
|
62
|
+
return formats;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Method will return the maximum uploadable size of a file/image
|
|
66
|
+
* @returns Maximum size of the image to upload
|
|
67
|
+
*/
|
|
68
|
+
getMaximumImageSize() {
|
|
69
|
+
return this.imageSize;
|
|
70
|
+
}
|
|
71
|
+
imageValidation(file, source) {
|
|
72
|
+
console.log("In Image Validation:", source);
|
|
73
|
+
let file_types = [];
|
|
74
|
+
if (source === 'attachment' || source === 'consumerimages') {
|
|
75
|
+
file_types = this.getSupportedFormats('file');
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
file_types = this.getSupportedFormats('image');
|
|
79
|
+
}
|
|
80
|
+
const image_max_size = this.getMaximumImageSize();
|
|
81
|
+
const error = [];
|
|
82
|
+
console.log(file_types);
|
|
83
|
+
console.log(file.type);
|
|
84
|
+
let is_error = false;
|
|
85
|
+
if (!file.type || (file.type && file_types.indexOf(file.type) === -1)) {
|
|
86
|
+
error['type'] = true;
|
|
87
|
+
is_error = true;
|
|
88
|
+
}
|
|
89
|
+
if (file.size && file.size > image_max_size) {
|
|
90
|
+
error['size'] = true;
|
|
91
|
+
is_error = true;
|
|
92
|
+
}
|
|
93
|
+
if (is_error === false) {
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
return error;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
getImage(url, fileObj) {
|
|
101
|
+
let file = fileObj;
|
|
102
|
+
if (fileObj && fileObj['mimeType']) {
|
|
103
|
+
file['type'] = fileObj['mimeType'];
|
|
104
|
+
}
|
|
105
|
+
// console.log("File :", file);
|
|
106
|
+
// console.log("File Type :", file.type)
|
|
107
|
+
// console.log("File Name :", file.name.includes('docx'))
|
|
108
|
+
if (file.type) {
|
|
109
|
+
if (file.type == 'application/pdf') {
|
|
110
|
+
return (this.cdnPath + 'assets/images/pdf.png');
|
|
111
|
+
}
|
|
112
|
+
else if (file.type == 'application/vnd.ms-excel' || file.type == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
|
|
113
|
+
return (this.cdnPath + 'assets/images/xls.png');
|
|
114
|
+
}
|
|
115
|
+
else if (file.type == 'audio/mp3' || file.type == 'audio/mpeg' || file.type == 'audio/ogg') {
|
|
116
|
+
return (this.cdnPath + 'assets/images/audio.png');
|
|
117
|
+
}
|
|
118
|
+
else if (file.type == 'video/mp4' || file.type == 'video/mpeg') {
|
|
119
|
+
return (this.cdnPath + 'assets/images/video.png');
|
|
120
|
+
}
|
|
121
|
+
else if (file.type == 'application/msword' || file.type == 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' || file.type.includes('docx') || file.type.includes('doc')) {
|
|
122
|
+
return (this.cdnPath + 'assets/images/ImgeFileIcon/wordDocsBgWhite.jpg');
|
|
123
|
+
}
|
|
124
|
+
else if (file.type.includes('txt')) {
|
|
125
|
+
return (this.cdnPath + 'assets/images/ImgeFileIcon/docTxt.png');
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
return url;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return url;
|
|
132
|
+
}
|
|
133
|
+
getImageByType(type) {
|
|
134
|
+
if (type == 'pdf') {
|
|
135
|
+
return (this.cdnPath + 'assets/images/pdf.png');
|
|
136
|
+
}
|
|
137
|
+
else if (type == 'vnd.ms-excel' || type == 'vnd.openxmlformats-officedocument.spreadsheetml.sheet' || type == 'xls' || type == 'xlsx') {
|
|
138
|
+
return (this.cdnPath + 'assets/images/xls.png');
|
|
139
|
+
}
|
|
140
|
+
else if (type == 'mp3' || type == 'mpeg' || type == 'ogg') {
|
|
141
|
+
return (this.cdnPath + 'assets/images/audio.png');
|
|
142
|
+
}
|
|
143
|
+
else if (type == 'mp4' || type == 'mpeg') {
|
|
144
|
+
return (this.cdnPath + 'assets/images/video.png');
|
|
145
|
+
}
|
|
146
|
+
else if (type == 'application/msword' || type == 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' || type == 'docx' || type == 'doc' || type == 'msword') {
|
|
147
|
+
return (this.cdnPath + 'assets/images/ImgeFileIcon/wordDocsBgWhite.jpg');
|
|
148
|
+
}
|
|
149
|
+
else if (type == 'txt') {
|
|
150
|
+
return (this.cdnPath + 'assets/images/ImgeFileIcon/docTxt.png');
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
return (this.cdnPath + 'assets/images/img_uplod.png');
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
filesSelected(event, selectedMessage) {
|
|
157
|
+
const _this = this;
|
|
158
|
+
return new Promise(function (resolve, reject) {
|
|
159
|
+
// const input = event.target.files;
|
|
160
|
+
let input = event.files;
|
|
161
|
+
if (event.target && event.target.files) {
|
|
162
|
+
input = event.target.files;
|
|
163
|
+
}
|
|
164
|
+
console.log("File Selected :", input);
|
|
165
|
+
if (input) {
|
|
166
|
+
let count = 0;
|
|
167
|
+
let filesCount = input.length;
|
|
168
|
+
for (const file of input) {
|
|
169
|
+
if (_this.FILETYPES_UPLOAD.indexOf(file.type) === -1) {
|
|
170
|
+
reject("Selected file type not supported");
|
|
171
|
+
}
|
|
172
|
+
else if (file.size > _this.FILE_MAX_SIZE) {
|
|
173
|
+
reject("Please upload files with size < 10mb");
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
selectedMessage.files.push(file);
|
|
177
|
+
const reader = new FileReader();
|
|
178
|
+
reader.onload = (e) => {
|
|
179
|
+
selectedMessage.base64.push(e.target["result"]);
|
|
180
|
+
count++;
|
|
181
|
+
if (count === filesCount) {
|
|
182
|
+
resolve(true);
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
reader.readAsDataURL(file);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
filessSelected(event, selectedMessage) {
|
|
192
|
+
const _this = this;
|
|
193
|
+
return new Promise(function (resolve, reject) {
|
|
194
|
+
// const input = event.target.files;
|
|
195
|
+
let input = event.files;
|
|
196
|
+
if (event.target && event.target.files) {
|
|
197
|
+
input = event.target.files;
|
|
198
|
+
}
|
|
199
|
+
console.log("File Selected :", input);
|
|
200
|
+
if (input) {
|
|
201
|
+
let count = 0;
|
|
202
|
+
let filesCount = input.length;
|
|
203
|
+
for (const file of input) {
|
|
204
|
+
if (_this.IMAGE_FORMATS.indexOf(file.type) === -1) {
|
|
205
|
+
reject("Selected file type not supported");
|
|
206
|
+
}
|
|
207
|
+
else if (file.size > _this.FILE_MAX_SIZE) {
|
|
208
|
+
reject("Please upload files with size < 10mb");
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
selectedMessage.files.push(file);
|
|
212
|
+
const reader = new FileReader();
|
|
213
|
+
reader.onload = (e) => {
|
|
214
|
+
selectedMessage.base64.push(e.target["result"]);
|
|
215
|
+
count++;
|
|
216
|
+
if (count === filesCount) {
|
|
217
|
+
resolve(true);
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
reader.readAsDataURL(file);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FileService, deps: [{ token: i1.SharedService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
227
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FileService, providedIn: 'root' });
|
|
228
|
+
}
|
|
229
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FileService, decorators: [{
|
|
230
|
+
type: Injectable,
|
|
231
|
+
args: [{
|
|
232
|
+
providedIn: 'root'
|
|
233
|
+
}]
|
|
234
|
+
}], ctorParameters: () => [{ type: i1.SharedService }] });
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2ZpbGUtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPM0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQWtDRjtJQWpDcEIseUJBQXlCO0lBQ3pCLGFBQWEsR0FBRztRQUNkLFdBQVc7UUFDWCxXQUFXO1FBQ1gsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO0tBQ2IsQ0FBQztJQUVGLGdCQUFnQixHQUFHO1FBQ2pCLFdBQVc7UUFDWCxXQUFXO1FBQ1gsWUFBWTtRQUNaLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLFdBQVc7UUFDWCxZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFDWCxXQUFXO1FBQ1gsMEJBQTBCO1FBQzFCLG1FQUFtRTtRQUNuRSxpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQix5RUFBeUU7UUFDekUsTUFBTTtRQUNOLEtBQUs7S0FDTixDQUFDO0lBQ0YsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUNyQixTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQ3JCLGFBQWEsR0FBRyxRQUFRLENBQUM7SUFDekIsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDOUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsbUJBQW1CLENBQUMsTUFBVztRQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FB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d0JBQ2hDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRTs0QkFDekIsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDOzRCQUNoRCxLQUFLLEVBQUUsQ0FBQzs0QkFDUixJQUFJLEtBQUssS0FBSyxVQUFVLEVBQUUsQ0FBQztnQ0FDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUNoQixDQUFDO3dCQUNILENBQUMsQ0FBQzt3QkFDRixNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUM3QixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO3VHQTFNVSxXQUFXOzJHQUFYLFdBQVcsY0FOVixNQUFNOzsyRkFNUCxXQUFXO2tCQVB2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2hhcmVkU2VydmljZSB9IGZyb20gJy4vc2hhcmVkLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5cclxuLyoqXHJcbiAqIFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEZpbGVTZXJ2aWNlIHtcclxuICAvLyBTdXBwb3J0ZWQgaW1hZ2VzIHR5cGVzXHJcbiAgSU1BR0VfRk9STUFUUyA9IFtcclxuICAgICdpbWFnZS9naWYnLFxyXG4gICAgJ2ltYWdlL3BuZycsXHJcbiAgICAnaW1hZ2UvanBlZycsXHJcbiAgICAnaW1hZ2UvYm1wJyxcclxuICAgICdpbWFnZS93ZWJwJ1xyXG4gIF07XHJcblxyXG4gIEZJTEVUWVBFU19VUExPQUQgPSBbXHJcbiAgICAnaW1hZ2UvanBnJyxcclxuICAgICdpbWFnZS9wbmcnLFxyXG4gICAgJ2ltYWdlL2pwZWcnLFxyXG4gICAgJ2ltYWdlL2JtcCcsXHJcbiAgICAnYXBwbGljYXRpb24vcGRmJyxcclxuICAgICdhcHBsaWNhdGlvbi9qZmlmJyxcclxuICAgICd2aWRlby9tcDQnLFxyXG4gICAgJ3ZpZGVvL21wZWcnLFxyXG4gICAgJ2F1ZGlvL21wZWcnLFxyXG4gICAgJ2F1ZGlvL21wMycsXHJcbiAgICAnYXVkaW8vb2dnJyxcclxuICAgICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnLFxyXG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcclxuICAgICdhcHBsaWNhdGlvbi9kb2MnLFxyXG4gICAgJ2FwcGxpY2F0aW9uL21zLWRvYycsXHJcbiAgICAnYXBwbGljYXRpb24vbXN3b3JkJyxcclxuICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCcsXHJcbiAgICAnZG9jeCcsXHJcbiAgICAnZG9jJ1xyXG4gIF07XHJcbiAgY2RuUGF0aDogc3RyaW5nID0gJyc7XHJcbiAgaW1hZ2VTaXplID0gMTUwMDAwMDA7XHJcbiAgRklMRV9NQVhfU0laRSA9IDEwMDAwMDAwO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSkgeyBcclxuICAgIHRoaXMuY2RuUGF0aCA9IHRoaXMuc2hhcmVkU2VydmljZS5nZXRDRE5QYXRoKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2QgcmV0dXJucyBzdXBwb3J0ZWQgZm9ybWF0cyBvZiBmaWxlcyB3aGljaCBoYXMgdG8gYmUgdXBsb2FkZWRcclxuICAgKiBAcGFyYW0gc291cmNlIGltYWdlL2ZpbGVcclxuICAgKiBAcmV0dXJucyBhdmFpbGFibGUgZm9ybWF0c1xyXG4gICAqL1xyXG4gIGdldFN1cHBvcnRlZEZvcm1hdHMoc291cmNlOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKHNvdXJjZSk7XHJcbiAgICBsZXQgZm9ybWF0cyA9IFtdO1xyXG4gICAgaWYgKHNvdXJjZSA9PSAnaW1hZ2UnKSB7XHJcbiAgICAgIGZvcm1hdHMgPSB0aGlzLklNQUdFX0ZPUk1BVFM7XHJcbiAgICAgIC8vcmV0dXJuIHRoaXMuSU1BR0VfRk9STUFUUztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZvcm1hdHMgPSB0aGlzLkZJTEVUWVBFU19VUExPQUQ7XHJcbiAgICAgIC8vcmV0dXJuIHRoaXMuRklMRVRZUEVTX1VQTE9BRDtcclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKGZvcm1hdHMpO1xyXG4gICAgcmV0dXJuIGZvcm1hdHM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2Qgd2lsbCByZXR1cm4gdGhlIG1heGltdW0gdXBsb2FkYWJsZSBzaXplIG9mIGEgZmlsZS9pbWFnZVxyXG4gICAqIEByZXR1cm5zIE1heGltdW0gc2l6ZSBvZiB0aGUgaW1hZ2UgdG8gdXBsb2FkXHJcbiAgICovXHJcbiAgZ2V0TWF4aW11bUltYWdlU2l6ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmltYWdlU2l6ZTtcclxuICB9XHJcblxyXG4gIGltYWdlVmFsaWRhdGlvbihmaWxlOiBhbnksIHNvdXJjZT86IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coXCJJbiBJbWFnZSBWYWxpZGF0aW9uOlwiLCBzb3VyY2UpO1xyXG4gICAgbGV0IGZpbGVfdHlwZXMgPSBbXTtcclxuICAgIGlmIChzb3VyY2UgPT09ICdhdHRhY2htZW50JyB8fCBzb3VyY2UgPT09ICdjb25zdW1lcmltYWdlcycpIHtcclxuICAgICAgZmlsZV90eXBlcyA9IHRoaXMuZ2V0U3VwcG9ydGVkRm9ybWF0cygnZmlsZScpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZmlsZV90eXBlcyA9IHRoaXMuZ2V0U3VwcG9ydGVkRm9ybWF0cygnaW1hZ2UnKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGltYWdlX21heF9zaXplID0gdGhpcy5nZXRNYXhpbXVtSW1hZ2VTaXplKCk7XHJcbiAgICBjb25zdCBlcnJvcjogYW55ID0gW107XHJcbiAgICBjb25zb2xlLmxvZyhmaWxlX3R5cGVzKTtcclxuICAgIGNvbnNvbGUubG9nKGZpbGUudHlwZSk7XHJcbiAgICBsZXQgaXNfZXJyb3IgPSBmYWxzZTtcclxuICAgIGlmICghZmlsZS50eXBlIHx8IChmaWxlLnR5cGUgJiYgZmlsZV90eXBlcy5pbmRleE9mKGZpbGUudHlwZSkgPT09IC0xKSkge1xyXG4gICAgICBlcnJvclsndHlwZSddID0gdHJ1ZTtcclxuICAgICAgaXNfZXJyb3IgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKGZpbGUuc2l6ZSAmJiBmaWxlLnNpemUgPiBpbWFnZV9tYXhfc2l6ZSkge1xyXG4gICAgICBlcnJvclsnc2l6ZSddID0gdHJ1ZTtcclxuICAgICAgaXNfZXJyb3IgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzX2Vycm9yID09PSBmYWxzZSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBlcnJvcjtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0SW1hZ2UodXJsOiBhbnksIGZpbGVPYmo6IGFueSkge1xyXG4gICAgbGV0IGZpbGUgPSBmaWxlT2JqO1xyXG4gICAgaWYgKGZpbGVPYmogJiYgZmlsZU9ialsnbWltZVR5cGUnXSkge1xyXG4gICAgICBmaWxlWyd0eXBlJ10gPSBmaWxlT2JqWydtaW1lVHlwZSddO1xyXG4gICAgfVxyXG4gICAgLy8gY29uc29sZS5sb2coXCJGaWxlIDpcIiwgZmlsZSk7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcIkZpbGUgVHlwZSA6XCIsIGZpbGUudHlwZSlcclxuICAgIC8vIGNvbnNvbGUubG9nKFwiRmlsZSBOYW1lIDpcIiwgZmlsZS5uYW1lLmluY2x1ZGVzKCdkb2N4JykpXHJcbiAgICBpZiAoZmlsZS50eXBlKSB7XHJcbiAgICAgIGlmIChmaWxlLnR5cGUgPT0gJ2FwcGxpY2F0aW9uL3BkZicpIHtcclxuICAgICAgICByZXR1cm4gKHRoaXMuY2RuUGF0aCArICdhc3NldHMvaW1hZ2VzL3BkZi5wbmcnKTtcclxuICAgICAgfSBlbHNlIGlmIChmaWxlLnR5cGUgPT0gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcgfHwgZmlsZS50eXBlID09ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcpIHtcclxuICAgICAgICByZXR1cm4gKHRoaXMuY2RuUGF0aCArICdhc3NldHMvaW1hZ2VzL3hscy5wbmcnKTtcclxuICAgICAgfSBlbHNlIGlmIChmaWxlLnR5cGUgPT0gJ2F1ZGlvL21wMycgfHwgZmlsZS50eXBlID09ICdhdWRpby9tcGVnJyB8fCBmaWxlLnR5cGUgPT0gJ2F1ZGlvL29nZycpIHtcclxuICAgICAgICByZXR1cm4gKHRoaXMuY2RuUGF0aCArICdhc3NldHMvaW1hZ2VzL2F1ZGlvLnBuZycpO1xyXG4gICAgICB9IGVsc2UgaWYgKGZpbGUudHlwZSA9PSAndmlkZW8vbXA0JyB8fCBmaWxlLnR5cGUgPT0gJ3ZpZGVvL21wZWcnKSB7XHJcbiAgICAgICAgcmV0dXJuICh0aGlzLmNkblBhdGggKyAnYXNzZXRzL2ltYWdlcy92aWRlby5wbmcnKTtcclxuICAgICAgfSBlbHNlIGlmIChmaWxlLnR5cGUgPT0gJ2FwcGxpY2F0aW9uL21zd29yZCcgfHwgZmlsZS50eXBlID09ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCcgfHwgZmlsZS50eXBlLmluY2x1ZGVzKCdkb2N4JykgfHwgZmlsZS50eXBlLmluY2x1ZGVzKCdkb2MnKSkge1xyXG4gICAgICAgIHJldHVybiAodGhpcy5jZG5QYXRoICsgJ2Fzc2V0cy9pbWFnZXMvSW1nZUZpbGVJY29uL3dvcmREb2NzQmdXaGl0ZS5qcGcnKTtcclxuICAgICAgfSBlbHNlIGlmIChmaWxlLnR5cGUuaW5jbHVkZXMoJ3R4dCcpKSB7XHJcbiAgICAgICAgcmV0dXJuICh0aGlzLmNkblBhdGggKyAnYXNzZXRzL2ltYWdlcy9JbWdlRmlsZUljb24vZG9jVHh0LnBuZycpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB1cmw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB1cmw7XHJcbiAgfVxyXG4gIGdldEltYWdlQnlUeXBlKHR5cGU6IGFueSkge1xyXG4gICAgaWYgKHR5cGUgPT0gJ3BkZicpIHtcclxuICAgICAgcmV0dXJuICh0aGlzLmNkblBhdGggKyAnYXNzZXRzL2ltYWdlcy9wZGYucG5nJyk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gJ3ZuZC5tcy1leGNlbCcgfHwgdHlwZSA9PSAndm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnIHx8IHR5cGUgPT0gJ3hscycgfHwgdHlwZSA9PSAneGxzeCcpIHtcclxuICAgICAgcmV0dXJuICh0aGlzLmNkblBhdGggKyAnYXNzZXRzL2ltYWdlcy94bHMucG5nJyk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gJ21wMycgfHwgdHlwZSA9PSAnbXBlZycgfHwgdHlwZSA9PSAnb2dnJykge1xyXG4gICAgICByZXR1cm4gKHRoaXMuY2RuUGF0aCArICdhc3NldHMvaW1hZ2VzL2F1ZGlvLnBuZycpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09ICdtcDQnIHx8IHR5cGUgPT0gJ21wZWcnKSB7XHJcbiAgICAgIHJldHVybiAodGhpcy5jZG5QYXRoICsgJ2Fzc2V0cy9pbWFnZXMvdmlkZW8ucG5nJyk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gJ2FwcGxpY2F0aW9uL21zd29yZCcgfHwgdHlwZSA9PSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnIHx8IHR5cGUgPT0gJ2RvY3gnIHx8IHR5cGUgPT0gJ2RvYycgfHwgdHlwZSA9PSAnbXN3b3JkJykge1xyXG4gICAgICByZXR1cm4gKHRoaXMuY2RuUGF0aCArICdhc3NldHMvaW1hZ2VzL0ltZ2VGaWxlSWNvbi93b3JkRG9jc0JnV2hpdGUuanBnJyk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gJ3R4dCcpIHtcclxuICAgICAgcmV0dXJuICh0aGlzLmNkblBhdGggKyAnYXNzZXRzL2ltYWdlcy9JbWdlRmlsZUljb24vZG9jVHh0LnBuZycpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICh0aGlzLmNkblBhdGggKyAnYXNzZXRzL2ltYWdlcy9pbWdfdXBsb2QucG5nJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaWxlc1NlbGVjdGVkKGV2ZW50OiBhbnksIHNlbGVjdGVkTWVzc2FnZTogYW55KSB7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAvLyBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldC5maWxlcztcclxuICAgICAgbGV0IGlucHV0ID0gZXZlbnQuZmlsZXM7XHJcbiAgICAgIGlmIChldmVudC50YXJnZXQgJiYgZXZlbnQudGFyZ2V0LmZpbGVzKSB7XHJcbiAgICAgICAgaW5wdXQgPSBldmVudC50YXJnZXQuZmlsZXM7XHJcbiAgICAgIH1cclxuICAgICAgY29uc29sZS5sb2coXCJGaWxlIFNlbGVjdGVkIDpcIiwgaW5wdXQpO1xyXG4gICAgICBpZiAoaW5wdXQpIHtcclxuICAgICAgICBsZXQgY291bnQgPSAwO1xyXG4gICAgICAgIGxldCBmaWxlc0NvdW50ID0gaW5wdXQubGVuZ3RoO1xyXG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBpbnB1dCkge1xyXG4gICAgICAgICAgaWYgKF90aGlzLkZJTEVUWVBFU19VUExPQUQuaW5kZXhPZihmaWxlLnR5cGUpID09PSAtMSkge1xyXG4gICAgICAgICAgICByZWplY3QoXCJTZWxlY3RlZCBmaWxlIHR5cGUgbm90IHN1cHBvcnRlZFwiKTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAoZmlsZS5zaXplID4gX3RoaXMuRklMRV9NQVhfU0laRSkge1xyXG4gICAgICAgICAgICByZWplY3QoXCJQbGVhc2UgdXBsb2FkIGZpbGVzIHdpdGggc2l6ZSA8IDEwbWJcIik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBzZWxlY3RlZE1lc3NhZ2UuZmlsZXMucHVzaChmaWxlKTtcclxuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBzZWxlY3RlZE1lc3NhZ2UuYmFzZTY0LnB1c2goZS50YXJnZXRbXCJyZXN1bHRcIl0pO1xyXG4gICAgICAgICAgICAgIGNvdW50Kys7XHJcbiAgICAgICAgICAgICAgaWYgKGNvdW50ID09PSBmaWxlc0NvdW50KSB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBmaWxlc3NTZWxlY3RlZChldmVudDogYW55LCBzZWxlY3RlZE1lc3NhZ2U6IGFueSkge1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgLy8gY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQuZmlsZXM7XHJcbiAgICAgIGxldCBpbnB1dCA9IGV2ZW50LmZpbGVzO1xyXG4gICAgICBpZiAoZXZlbnQudGFyZ2V0ICYmIGV2ZW50LnRhcmdldC5maWxlcykge1xyXG4gICAgICAgIGlucHV0ID0gZXZlbnQudGFyZ2V0LmZpbGVzO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiRmlsZSBTZWxlY3RlZCA6XCIsIGlucHV0KTtcclxuICAgICAgaWYgKGlucHV0KSB7XHJcbiAgICAgICAgbGV0IGNvdW50ID0gMDtcclxuICAgICAgICBsZXQgZmlsZXNDb3VudCA9IGlucHV0Lmxlbmd0aDtcclxuICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgaW5wdXQpIHtcclxuICAgICAgICAgIGlmIChfdGhpcy5JTUFHRV9GT1JNQVRTLmluZGV4T2YoZmlsZS50eXBlKSA9PT0gLTEpIHtcclxuICAgICAgICAgICAgcmVqZWN0KFwiU2VsZWN0ZWQgZmlsZSB0eXBlIG5vdCBzdXBwb3J0ZWRcIik7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGZpbGUuc2l6ZSA+IF90aGlzLkZJTEVfTUFYX1NJWkUpIHtcclxuICAgICAgICAgICAgcmVqZWN0KFwiUGxlYXNlIHVwbG9hZCBmaWxlcyB3aXRoIHNpemUgPCAxMG1iXCIpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgc2VsZWN0ZWRNZXNzYWdlLmZpbGVzLnB1c2goZmlsZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgc2VsZWN0ZWRNZXNzYWdlLmJhc2U2NC5wdXNoKGUudGFyZ2V0W1wicmVzdWx0XCJdKTtcclxuICAgICAgICAgICAgICBjb3VudCsrO1xyXG4gICAgICAgICAgICAgIGlmIChjb3VudCA9PT0gZmlsZXNDb3VudCkge1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class FieldErrorDisplayComponent {
|
|
5
|
+
errorMsg;
|
|
6
|
+
displayError;
|
|
7
|
+
errorMsgs;
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FieldErrorDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: FieldErrorDisplayComponent, selector: "app-field-error-display", inputs: { errorMsg: "errorMsg", displayError: "displayError", errorMsgs: "errorMsgs" }, ngImport: i0, template: "<div *ngIf=\"displayError\" tabindex=\"-1\">\r\n <div class=\"sts-msg error\">{{ errorMsg || errorMsgs }}</div>\r\n</div>\r\n\r\n", styles: [".error-msg{color:#a94442}.fix-error-icon{top:27px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FieldErrorDisplayComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ selector: 'app-field-error-display', template: "<div *ngIf=\"displayError\" tabindex=\"-1\">\r\n <div class=\"sts-msg error\">{{ errorMsg || errorMsgs }}</div>\r\n</div>\r\n\r\n", styles: [".error-msg{color:#a94442}.fix-error-icon{top:27px}\n"] }]
|
|
14
|
+
}], propDecorators: { errorMsg: [{
|
|
15
|
+
type: Input
|
|
16
|
+
}], displayError: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}], errorMsgs: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}] } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3ItZGlzcGxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvZm9ybS1tZXNzYWdlL2ZpZWxkLWVycm9yLWRpc3BsYXkvZmllbGQtZXJyb3ItZGlzcGxheS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvZm9ybS1tZXNzYWdlL2ZpZWxkLWVycm9yLWRpc3BsYXkvZmllbGQtZXJyb3ItZGlzcGxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2pELE1BQU0sT0FBTywwQkFBMEI7SUFFNUIsUUFBUSxDQUFxQjtJQUM3QixZQUFZLENBQXNCO0lBQ2xDLFNBQVMsQ0FBcUI7dUdBSjVCLDBCQUEwQjsyRkFBMUIsMEJBQTBCLHVKQ1B2QyxvSUFJQTs7MkZER2EsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHlCQUF5Qjs4QkFNMUIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1maWVsZC1lcnJvci1kaXNwbGF5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmllbGQtZXJyb3ItZGlzcGxheS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZmllbGQtZXJyb3ItZGlzcGxheS5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpZWxkRXJyb3JEaXNwbGF5Q29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgZXJyb3JNc2c6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBkaXNwbGF5RXJyb3I6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgZXJyb3JNc2dzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG59XHJcblxyXG4iLCI8ZGl2ICpuZ0lmPVwiZGlzcGxheUVycm9yXCIgdGFiaW5kZXg9XCItMVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJzdHMtbXNnIGVycm9yXCI+e3sgZXJyb3JNc2cgfHwgZXJyb3JNc2dzIH19PC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { RouterModule } from '@angular/router';
|
|
4
|
+
import { FieldErrorDisplayComponent } from './field-error-display/field-error-display.component';
|
|
5
|
+
import { FormSuccessDisplayComponent } from './form-success-display/form-success-display.component';
|
|
6
|
+
import { FormMessageDisplayService } from './form-message-display.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class FormMessageDisplayModule {
|
|
9
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FormMessageDisplayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: FormMessageDisplayModule, declarations: [FieldErrorDisplayComponent,
|
|
11
|
+
FormSuccessDisplayComponent], imports: [CommonModule,
|
|
12
|
+
RouterModule], exports: [FieldErrorDisplayComponent,
|
|
13
|
+
FormSuccessDisplayComponent] });
|
|
14
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FormMessageDisplayModule, providers: [
|
|
15
|
+
FormMessageDisplayService
|
|
16
|
+
], imports: [CommonModule,
|
|
17
|
+
RouterModule] });
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FormMessageDisplayModule, decorators: [{
|
|
20
|
+
type: NgModule,
|
|
21
|
+
args: [{
|
|
22
|
+
imports: [
|
|
23
|
+
CommonModule,
|
|
24
|
+
RouterModule
|
|
25
|
+
],
|
|
26
|
+
declarations: [FieldErrorDisplayComponent,
|
|
27
|
+
FormSuccessDisplayComponent],
|
|
28
|
+
exports: [FieldErrorDisplayComponent,
|
|
29
|
+
FormSuccessDisplayComponent],
|
|
30
|
+
providers: [
|
|
31
|
+
FormMessageDisplayService
|
|
32
|
+
]
|
|
33
|
+
}]
|
|
34
|
+
}] });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tZXNzYWdlLWRpc3BsYXkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2Zvcm0tbWVzc2FnZS9mb3JtLW1lc3NhZ2UtZGlzcGxheS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQWMzRSxNQUFNLE9BQU8sd0JBQXdCO3VHQUF4Qix3QkFBd0I7d0dBQXhCLHdCQUF3QixpQkFScEIsMEJBQTBCO1lBQ3ZDLDJCQUEyQixhQUozQixZQUFZO1lBQ1osWUFBWSxhQUlKLDBCQUEwQjtZQUNsQywyQkFBMkI7d0dBS2xCLHdCQUF3QixhQUp4QjtZQUNULHlCQUF5QjtTQUMxQixZQVRDLFlBQVk7WUFDWixZQUFZOzsyRkFVSCx3QkFBd0I7a0JBYnBDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTtxQkFDYjtvQkFDRCxZQUFZLEVBQUUsQ0FBQywwQkFBMEI7d0JBQ3ZDLDJCQUEyQixDQUFDO29CQUM5QixPQUFPLEVBQUUsQ0FBQywwQkFBMEI7d0JBQ2xDLDJCQUEyQixDQUFDO29CQUM5QixTQUFTLEVBQUU7d0JBQ1QseUJBQXlCO3FCQUMxQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBGaWVsZEVycm9yRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4vZmllbGQtZXJyb3ItZGlzcGxheS9maWVsZC1lcnJvci1kaXNwbGF5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1TdWNjZXNzRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1zdWNjZXNzLWRpc3BsYXkvZm9ybS1zdWNjZXNzLWRpc3BsYXkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybU1lc3NhZ2VEaXNwbGF5U2VydmljZSB9IGZyb20gJy4vZm9ybS1tZXNzYWdlLWRpc3BsYXkuc2VydmljZSc7XHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtGaWVsZEVycm9yRGlzcGxheUNvbXBvbmVudCxcclxuICAgIEZvcm1TdWNjZXNzRGlzcGxheUNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW0ZpZWxkRXJyb3JEaXNwbGF5Q29tcG9uZW50LFxyXG4gICAgRm9ybVN1Y2Nlc3NEaXNwbGF5Q29tcG9uZW50XSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEZvcm1NZXNzYWdlRGlzcGxheVNlcnZpY2VcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtTWVzc2FnZURpc3BsYXlNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { UntypedFormControl, UntypedFormGroup } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
// Import RxJs required methods
|
|
5
|
+
export class FormMessageDisplayService {
|
|
6
|
+
// form: FormGroup, field: string
|
|
7
|
+
isFieldValid(form, field) {
|
|
8
|
+
return !form.get(field).valid && form.get(field).touched;
|
|
9
|
+
}
|
|
10
|
+
displayFieldCss(form, field) {
|
|
11
|
+
return {
|
|
12
|
+
'has-error': this.isFieldValid(form, field),
|
|
13
|
+
'has-feedback': this.isFieldValid(form, field)
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
validateAllFormFields(formGroup) {
|
|
17
|
+
Object.keys(formGroup.controls).forEach(field => {
|
|
18
|
+
const control = formGroup.get(field);
|
|
19
|
+
if (control instanceof UntypedFormControl) {
|
|
20
|
+
control.markAsTouched({ onlySelf: true });
|
|
21
|
+
}
|
|
22
|
+
else if (control instanceof UntypedFormGroup) {
|
|
23
|
+
this.validateAllFormFields(control);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
getErrorMessage(form, field, errorMsgs) {
|
|
28
|
+
const error_ob = form.get(field).errors;
|
|
29
|
+
if (error_ob == null) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
const keys = Object.keys(error_ob);
|
|
33
|
+
const errors = keys.map(key => {
|
|
34
|
+
return errorMsgs[key] || '';
|
|
35
|
+
});
|
|
36
|
+
return errors[0];
|
|
37
|
+
}
|
|
38
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FormMessageDisplayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
39
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FormMessageDisplayService });
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FormMessageDisplayService, decorators: [{
|
|
42
|
+
type: Injectable
|
|
43
|
+
}] });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tZXNzYWdlLWRpc3BsYXkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi9mb3JtLW1lc3NhZ2UvZm9ybS1tZXNzYWdlLWRpc3BsYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUV0RSwrQkFBK0I7QUFHL0IsTUFBTSxPQUFPLHlCQUF5QjtJQUVwQyxpQ0FBaUM7SUFDakMsWUFBWSxDQUFDLElBQVMsRUFBRSxLQUFhO1FBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUMzRCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQXNCLEVBQUUsS0FBYTtRQUNuRCxPQUFPO1lBQ0wsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQztZQUMzQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO1NBQy9DLENBQUM7SUFDSixDQUFDO0lBRUQscUJBQXFCLENBQUMsU0FBMkI7UUFDL0MsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckMsSUFBSSxPQUFPLFlBQVksa0JBQWtCLEVBQUUsQ0FBQztnQkFDMUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLENBQUM7aUJBQU0sSUFBSSxPQUFPLFlBQVksZ0JBQWdCLEVBQUUsQ0FBQztnQkFDL0MsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBUyxFQUFFLEtBQWEsRUFBRSxTQUFjO1FBQ3RELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3hDLElBQUksUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM1QixPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQixDQUFDO3VHQW5DVSx5QkFBeUI7MkdBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuLy8gSW1wb3J0IFJ4SnMgcmVxdWlyZWQgbWV0aG9kc1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRm9ybU1lc3NhZ2VEaXNwbGF5U2VydmljZSB7XHJcblxyXG4gIC8vIGZvcm06IEZvcm1Hcm91cCwgZmllbGQ6IHN0cmluZ1xyXG4gIGlzRmllbGRWYWxpZChmb3JtOiBhbnksIGZpZWxkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiAhZm9ybS5nZXQoZmllbGQpLnZhbGlkICYmIGZvcm0uZ2V0KGZpZWxkKS50b3VjaGVkO1xyXG4gIH1cclxuXHJcbiAgZGlzcGxheUZpZWxkQ3NzKGZvcm06IFVudHlwZWRGb3JtR3JvdXAsIGZpZWxkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICdoYXMtZXJyb3InOiB0aGlzLmlzRmllbGRWYWxpZChmb3JtLCBmaWVsZCksXHJcbiAgICAgICdoYXMtZmVlZGJhY2snOiB0aGlzLmlzRmllbGRWYWxpZChmb3JtLCBmaWVsZClcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUFsbEZvcm1GaWVsZHMoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwKSB7XHJcbiAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goZmllbGQgPT4ge1xyXG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChmaWVsZCk7XHJcbiAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgVW50eXBlZEZvcm1Db250cm9sKSB7XHJcbiAgICAgICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKHsgb25seVNlbGY6IHRydWUgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIFVudHlwZWRGb3JtR3JvdXApIHtcclxuICAgICAgICB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyhjb250cm9sKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRFcnJvck1lc3NhZ2UoZm9ybTogYW55LCBmaWVsZDogc3RyaW5nLCBlcnJvck1zZ3M6IGFueSkge1xyXG4gICAgY29uc3QgZXJyb3Jfb2IgPSBmb3JtLmdldChmaWVsZCkuZXJyb3JzO1xyXG4gICAgaWYgKGVycm9yX29iID09IG51bGwpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoZXJyb3Jfb2IpO1xyXG4gICAgY29uc3QgZXJyb3JzID0ga2V5cy5tYXAoa2V5ID0+IHtcclxuICAgICAgcmV0dXJuIGVycm9yTXNnc1trZXldIHx8ICcnO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZXJyb3JzWzBdO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class FormSuccessDisplayComponent {
|
|
5
|
+
successMsg;
|
|
6
|
+
displayMsg;
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FormSuccessDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: FormSuccessDisplayComponent, selector: "app-form-success-display", inputs: { successMsg: "successMsg", displayMsg: "displayMsg" }, ngImport: i0, template: "<div *ngIf=\"displayMsg\" >\r\n <div class=\"sts-msg success\">\r\n {{ successMsg }}\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FormSuccessDisplayComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: 'app-form-success-display', template: "<div *ngIf=\"displayMsg\" >\r\n <div class=\"sts-msg success\">\r\n {{ successMsg }}\r\n </div>\r\n</div>\r\n" }]
|
|
13
|
+
}], propDecorators: { successMsg: [{
|
|
14
|
+
type: Input
|
|
15
|
+
}], displayMsg: [{
|
|
16
|
+
type: Input
|
|
17
|
+
}] } });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zdWNjZXNzLWRpc3BsYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2Zvcm0tbWVzc2FnZS9mb3JtLXN1Y2Nlc3MtZGlzcGxheS9mb3JtLXN1Y2Nlc3MtZGlzcGxheS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvZm9ybS1tZXNzYWdlL2Zvcm0tc3VjY2Vzcy1kaXNwbGF5L2Zvcm0tc3VjY2Vzcy1kaXNwbGF5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPakQsTUFBTSxPQUFPLDJCQUEyQjtJQUU3QixVQUFVLENBQXFCO0lBQy9CLFVBQVUsQ0FBc0I7dUdBSDlCLDJCQUEyQjsyRkFBM0IsMkJBQTJCLGdJQ1B4QyxvSEFLQTs7MkZERWEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDBCQUEwQjs4QkFNM0IsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZm9ybS1zdWNjZXNzLWRpc3BsYXknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLXN1Y2Nlc3MtZGlzcGxheS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1zdWNjZXNzLWRpc3BsYXkuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtU3VjY2Vzc0Rpc3BsYXlDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSBzdWNjZXNzTXNnOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgZGlzcGxheU1zZzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcclxuXHJcbn1cclxuXHJcbiIsIjxkaXYgKm5nSWY9XCJkaXNwbGF5TXNnXCIgPlxyXG4gIDxkaXYgY2xhc3M9XCJzdHMtbXNnIHN1Y2Nlc3NcIj5cclxuICAgIHt7IHN1Y2Nlc3NNc2cgfX1cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./session-storage.service";
|
|
4
|
+
import * as i2 from "./local-storage.service";
|
|
5
|
+
export class GroupStorageService {
|
|
6
|
+
sessionStorageService;
|
|
7
|
+
lStorageService;
|
|
8
|
+
constructor(sessionStorageService, lStorageService) {
|
|
9
|
+
this.sessionStorageService = sessionStorageService;
|
|
10
|
+
this.lStorageService = lStorageService;
|
|
11
|
+
}
|
|
12
|
+
getGroup() {
|
|
13
|
+
if (this.sessionStorageService.getitemfromSessionStorage('tabId')) {
|
|
14
|
+
return this.sessionStorageService.getitemfromSessionStorage('accountid');
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return 0;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
setitemToGroupStorage(itemname, itemvalue) {
|
|
21
|
+
const group = this.getGroup();
|
|
22
|
+
let groupObj = {};
|
|
23
|
+
if (this.lStorageService.getitemfromLocalStorage(group)) {
|
|
24
|
+
groupObj = JSON.parse(this.lStorageService.getitemfromLocalStorage(group)) ? JSON.parse(this.lStorageService.getitemfromLocalStorage(group)) : {};
|
|
25
|
+
if (groupObj) {
|
|
26
|
+
groupObj[itemname] = itemvalue;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
groupObj[itemname] = itemvalue;
|
|
31
|
+
}
|
|
32
|
+
this.lStorageService.setitemonLocalStorage(group, JSON.stringify(groupObj));
|
|
33
|
+
}
|
|
34
|
+
getitemFromGroupStorage(itemname, type) {
|
|
35
|
+
let group;
|
|
36
|
+
if (type) {
|
|
37
|
+
group = 0;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
group = this.getGroup();
|
|
41
|
+
}
|
|
42
|
+
if (this.lStorageService.getitemfromLocalStorage(group)) {
|
|
43
|
+
const groupObj = JSON.parse(this.lStorageService.getitemfromLocalStorage(group));
|
|
44
|
+
if (groupObj[itemname] || (itemname === 'isCheckin' && groupObj[itemname] !== undefined)) {
|
|
45
|
+
return groupObj[itemname];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
removeitemFromGroupStorage(itemname) {
|
|
50
|
+
const group = this.getGroup();
|
|
51
|
+
const groupObj = JSON.parse(this.lStorageService.getitemfromLocalStorage(group));
|
|
52
|
+
if (groupObj[itemname]) {
|
|
53
|
+
delete groupObj[itemname];
|
|
54
|
+
this.lStorageService.setitemonLocalStorage(group, JSON.stringify(groupObj));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: GroupStorageService, deps: [{ token: i1.SessionStorageService }, { token: i2.LocalStorageService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
58
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: GroupStorageService, providedIn: 'root' });
|
|
59
|
+
}
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: GroupStorageService, decorators: [{
|
|
61
|
+
type: Injectable,
|
|
62
|
+
args: [{
|
|
63
|
+
providedIn: 'root'
|
|
64
|
+
}]
|
|
65
|
+
}], ctorParameters: () => [{ type: i1.SessionStorageService }, { type: i2.LocalStorageService }] });
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2dyb3VwLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFDUjtJQUFzRDtJQUExRSxZQUFvQixxQkFBNEMsRUFBVSxlQUFvQztRQUExRiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQVUsb0JBQWUsR0FBZixlQUFlLENBQXFCO0lBQUcsQ0FBQztJQUUzRyxRQUFRO1FBQ1gsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNsRSxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzRSxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQztJQUNILENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxRQUFhLEVBQUUsU0FBYztRQUN4RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsSUFBSSxRQUFRLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hELFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMvSSxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxTQUFTLENBQUM7WUFDakMsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFDTSx1QkFBdUIsQ0FBQyxRQUFnQixFQUFFLElBQVU7UUFDekQsSUFBSSxLQUFLLENBQUM7UUFDVixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNaLENBQUM7YUFBTSxDQUFDO1lBQ04sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDakYsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssV0FBVyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUN6RixPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFDTSwwQkFBMEIsQ0FBQyxRQUF5QjtRQUN6RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDakYsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDOUUsQ0FBQztJQUNILENBQUM7dUdBN0NNLG1CQUFtQjsyR0FBbkIsbUJBQW1CLGNBSGhCLE1BQU07OzJGQUdULG1CQUFtQjtrQkFKL0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4vc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gXCIuL2xvY2FsLXN0b3JhZ2Uuc2VydmljZVwiO1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEdyb3VwU3RvcmFnZVNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSwgcHJpdmF0ZSBsU3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UpIHt9XHJcblxyXG4gICAgcHVibGljIGdldEdyb3VwKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRpdGVtZnJvbVNlc3Npb25TdG9yYWdlKCd0YWJJZCcpKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0aXRlbWZyb21TZXNzaW9uU3RvcmFnZSgnYWNjb3VudGlkJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgXHJcbiAgICAgIHB1YmxpYyBzZXRpdGVtVG9Hcm91cFN0b3JhZ2UoaXRlbW5hbWU6IGFueSwgaXRlbXZhbHVlOiBhbnkpIHtcclxuICAgICAgICBjb25zdCBncm91cCA9IHRoaXMuZ2V0R3JvdXAoKTtcclxuICAgICAgICBsZXQgZ3JvdXBPYmo6IGFueSA9IHt9O1xyXG4gICAgICAgIGlmICh0aGlzLmxTdG9yYWdlU2VydmljZS5nZXRpdGVtZnJvbUxvY2FsU3RvcmFnZShncm91cCkpIHtcclxuICAgICAgICAgIGdyb3VwT2JqID0gSlNPTi5wYXJzZSh0aGlzLmxTdG9yYWdlU2VydmljZS5nZXRpdGVtZnJvbUxvY2FsU3RvcmFnZShncm91cCkpP0pTT04ucGFyc2UodGhpcy5sU3RvcmFnZVNlcnZpY2UuZ2V0aXRlbWZyb21Mb2NhbFN0b3JhZ2UoZ3JvdXApKToge307XHJcbiAgICAgICAgICBpZiAoZ3JvdXBPYmopIHtcclxuICAgICAgICAgICAgZ3JvdXBPYmpbaXRlbW5hbWVdID0gaXRlbXZhbHVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBncm91cE9ialtpdGVtbmFtZV0gPSBpdGVtdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubFN0b3JhZ2VTZXJ2aWNlLnNldGl0ZW1vbkxvY2FsU3RvcmFnZShncm91cCwgSlNPTi5zdHJpbmdpZnkoZ3JvdXBPYmopKTtcclxuICAgICAgfVxyXG4gICAgICBwdWJsaWMgZ2V0aXRlbUZyb21Hcm91cFN0b3JhZ2UoaXRlbW5hbWU6IHN0cmluZywgdHlwZT86IGFueSkge1xyXG4gICAgICAgIGxldCBncm91cDtcclxuICAgICAgICBpZiAodHlwZSkge1xyXG4gICAgICAgICAgZ3JvdXAgPSAwO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBncm91cCA9IHRoaXMuZ2V0R3JvdXAoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMubFN0b3JhZ2VTZXJ2aWNlLmdldGl0ZW1mcm9tTG9jYWxTdG9yYWdlKGdyb3VwKSkge1xyXG4gICAgICAgICAgY29uc3QgZ3JvdXBPYmogPSBKU09OLnBhcnNlKHRoaXMubFN0b3JhZ2VTZXJ2aWNlLmdldGl0ZW1mcm9tTG9jYWxTdG9yYWdlKGdyb3VwKSk7XHJcbiAgICAgICAgICBpZiAoZ3JvdXBPYmpbaXRlbW5hbWVdIHx8IChpdGVtbmFtZSA9PT0gJ2lzQ2hlY2tpbicgJiYgZ3JvdXBPYmpbaXRlbW5hbWVdICE9PSB1bmRlZmluZWQpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBncm91cE9ialtpdGVtbmFtZV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHB1YmxpYyByZW1vdmVpdGVtRnJvbUdyb3VwU3RvcmFnZShpdGVtbmFtZTogc3RyaW5nIHwgbnVtYmVyKSB7XHJcbiAgICAgICAgY29uc3QgZ3JvdXAgPSB0aGlzLmdldEdyb3VwKCk7XHJcbiAgICAgICAgY29uc3QgZ3JvdXBPYmogPSBKU09OLnBhcnNlKHRoaXMubFN0b3JhZ2VTZXJ2aWNlLmdldGl0ZW1mcm9tTG9jYWxTdG9yYWdlKGdyb3VwKSk7XHJcbiAgICAgICAgaWYgKGdyb3VwT2JqW2l0ZW1uYW1lXSkge1xyXG4gICAgICAgICAgZGVsZXRlIGdyb3VwT2JqW2l0ZW1uYW1lXTtcclxuICAgICAgICAgIHRoaXMubFN0b3JhZ2VTZXJ2aWNlLnNldGl0ZW1vbkxvY2FsU3RvcmFnZShncm91cCwgSlNPTi5zdHJpbmdpZnkoZ3JvdXBPYmopKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { HttpClient } from '@angular/common/http';
|
|
4
|
+
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
5
|
+
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
|
|
6
|
+
import { SharedService } from './shared.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@ngx-translate/core";
|
|
9
|
+
export function HttpLoaderFactory(http, sharedService) {
|
|
10
|
+
return new TranslateHttpLoader(http, sharedService.getI8nPath() + 'assets/i18n/', '.json');
|
|
11
|
+
}
|
|
12
|
+
export class I8nModule {
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: I8nModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: I8nModule, imports: [CommonModule, i1.TranslateModule], exports: [TranslateModule] });
|
|
15
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: I8nModule, imports: [CommonModule,
|
|
16
|
+
TranslateModule.forRoot({
|
|
17
|
+
loader: {
|
|
18
|
+
provide: TranslateLoader,
|
|
19
|
+
useFactory: HttpLoaderFactory,
|
|
20
|
+
deps: [HttpClient, SharedService]
|
|
21
|
+
}
|
|
22
|
+
}), TranslateModule] });
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: I8nModule, decorators: [{
|
|
25
|
+
type: NgModule,
|
|
26
|
+
args: [{
|
|
27
|
+
declarations: [],
|
|
28
|
+
imports: [
|
|
29
|
+
CommonModule,
|
|
30
|
+
TranslateModule.forRoot({
|
|
31
|
+
loader: {
|
|
32
|
+
provide: TranslateLoader,
|
|
33
|
+
useFactory: HttpLoaderFactory,
|
|
34
|
+
deps: [HttpClient, SharedService]
|
|
35
|
+
}
|
|
36
|
+
})
|
|
37
|
+
],
|
|
38
|
+
exports: [
|
|
39
|
+
TranslateModule
|
|
40
|
+
]
|
|
41
|
+
}]
|
|
42
|
+
}] });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaThuLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi9pOG4ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBRWpELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFnQixFQUFFLGFBQTRCO0lBQzlFLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFVBQVUsRUFBRSxHQUFHLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUM3RixDQUFDO0FBa0JELE1BQU0sT0FBTyxTQUFTO3VHQUFULFNBQVM7d0dBQVQsU0FBUyxZQWJsQixZQUFZLGlDQVVaLGVBQWU7d0dBR04sU0FBUyxZQWJsQixZQUFZO1lBQ1osZUFBZSxDQUFDLE9BQU8sQ0FBQztnQkFDdEIsTUFBTSxFQUFFO29CQUNOLE9BQU8sRUFBRSxlQUFlO29CQUN0QixVQUFVLEVBQUUsaUJBQWlCO29CQUM3QixJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDO2lCQUNwQzthQUNGLENBQUMsRUFHRixlQUFlOzsyRkFHTixTQUFTO2tCQWhCckIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZSxDQUFDLE9BQU8sQ0FBQzs0QkFDdEIsTUFBTSxFQUFFO2dDQUNOLE9BQU8sRUFBRSxlQUFlO2dDQUN0QixVQUFVLEVBQUUsaUJBQWlCO2dDQUM3QixJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDOzZCQUNwQzt5QkFDRixDQUFDO3FCQUNIO29CQUNELE9BQU8sRUFBRzt3QkFDUixlQUFlO3FCQUNoQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUh0dHBMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9odHRwLWxvYWRlcic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUxvYWRlciwgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IFNoYXJlZFNlcnZpY2UgfSBmcm9tICcuL3NoYXJlZC5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBIdHRwTG9hZGVyRmFjdG9yeShodHRwOiBIdHRwQ2xpZW50LCBzaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlKSB7XHJcbiAgcmV0dXJuIG5ldyBUcmFuc2xhdGVIdHRwTG9hZGVyKGh0dHAsIHNoYXJlZFNlcnZpY2UuZ2V0SThuUGF0aCgpICsgJ2Fzc2V0cy9pMThuLycsICcuanNvbicpO1xyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW10sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvclJvb3Qoe1xyXG4gICAgICBsb2FkZXI6IHtcclxuICAgICAgICBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBIdHRwTG9hZGVyRmFjdG9yeSxcclxuICAgICAgICAgIGRlcHM6IFtIdHRwQ2xpZW50LCBTaGFyZWRTZXJ2aWNlXVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIF0sXHJcbiAgZXhwb3J0cyA6IFtcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEk4bk1vZHVsZSB7IH1cclxuIl19
|