@bnsights/bbsf-utilities 1.0.69-beta.3 → 1.2.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/README.md +81 -2
- package/fesm2022/bnsights-bbsf-utilities.mjs +135 -61
- package/fesm2022/bnsights-bbsf-utilities.mjs.map +1 -1
- package/lib/bbsf-utilities.module.d.ts +22 -2
- package/lib/shared/authentication/auth.service.d.ts +0 -1
- package/lib/shared/services/language.service.d.ts +12 -0
- package/lib/shared/services/request-handler.service.d.ts +2 -3
- package/package.json +11 -21
- package/esm2022/auth/bnsights-bbsf-utilities-auth.mjs +0 -5
- package/esm2022/auth/public-api.mjs +0 -5
- package/esm2022/bnsights-bbsf-utilities.mjs +0 -5
- package/esm2022/http/bnsights-bbsf-utilities-http.mjs +0 -5
- package/esm2022/http/public-api.mjs +0 -8
- package/esm2022/lib/bbsf-utilities.module.mjs +0 -63
- package/esm2022/lib/shared/authentication/auth.service.mjs +0 -260
- package/esm2022/lib/shared/authentication/index.mjs +0 -2
- package/esm2022/lib/shared/config/environment.mjs +0 -12
- package/esm2022/lib/shared/enums/authentication-modes-enums.mjs +0 -8
- package/esm2022/lib/shared/index.mjs +0 -4
- package/esm2022/lib/shared/models/UserModel.mjs +0 -3
- package/esm2022/lib/shared/models/area-model.mjs +0 -3
- package/esm2022/lib/shared/models/error-model.mjs +0 -3
- package/esm2022/lib/shared/models/index.mjs +0 -5
- package/esm2022/lib/shared/models/request-options-model.mjs +0 -11
- package/esm2022/lib/shared/models/speech-language.mjs +0 -3
- package/esm2022/lib/shared/services/appearance-configuration.service.mjs +0 -35
- package/esm2022/lib/shared/services/configuration.service.mjs +0 -48
- package/esm2022/lib/shared/services/control-validation.service.mjs +0 -173
- package/esm2022/lib/shared/services/environment.service.mjs +0 -83
- package/esm2022/lib/shared/services/index.mjs +0 -14
- package/esm2022/lib/shared/services/language.service.mjs +0 -21
- package/esm2022/lib/shared/services/master-layout.service.mjs +0 -77
- package/esm2022/lib/shared/services/preload.service.mjs +0 -54
- package/esm2022/lib/shared/services/request-handler.service.mjs +0 -260
- package/esm2022/lib/shared/services/speech-recognition.service.mjs +0 -76
- package/esm2022/lib/shared/services/styles-bundle.service.mjs +0 -76
- package/esm2022/lib/shared/services/translate.service.mjs +0 -14
- package/esm2022/lib/shared/services/translation-resolver.service.mjs +0 -7
- package/esm2022/lib/shared/services/utility.service.mjs +0 -87
- package/esm2022/public-api.mjs +0 -56
- package/esm2022/translate/bnsights-bbsf-utilities-translate.mjs +0 -5
- package/esm2022/translate/public-api.mjs +0 -7
- package/esm2022/ui/bnsights-bbsf-utilities-ui.mjs +0 -5
- package/esm2022/ui/public-api.mjs +0 -8
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from ".";
|
|
4
|
-
export class AppearanceConfigurationService {
|
|
5
|
-
constructor(configService) {
|
|
6
|
-
this.configService = configService;
|
|
7
|
-
}
|
|
8
|
-
getLayoutTheme() {
|
|
9
|
-
return this.configService.getConfigurationValue('AnonymousLayout_Theme');
|
|
10
|
-
}
|
|
11
|
-
getFooterText() {
|
|
12
|
-
return this.configService.getConfigurationValue('AnonymousLayout_FooterText');
|
|
13
|
-
}
|
|
14
|
-
getPageTitle() {
|
|
15
|
-
return this.configService.getConfigurationValue('AnonymousLayout_PageTitle');
|
|
16
|
-
}
|
|
17
|
-
getFavIcon() {
|
|
18
|
-
return this.configService.getConfigurationValue('AnonymousLayout_FavIcon');
|
|
19
|
-
}
|
|
20
|
-
getCustomStyles() {
|
|
21
|
-
return this.configService.getConfigurationValue('AnonymousLayout_CustomStyles');
|
|
22
|
-
}
|
|
23
|
-
getLogo() {
|
|
24
|
-
return this.configService.getConfigurationValue('AnonymousLayout_Logo');
|
|
25
|
-
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AppearanceConfigurationService, deps: [{ token: i1.ConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
27
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AppearanceConfigurationService, providedIn: 'root' }); }
|
|
28
|
-
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AppearanceConfigurationService, decorators: [{
|
|
30
|
-
type: Injectable,
|
|
31
|
-
args: [{
|
|
32
|
-
providedIn: 'root'
|
|
33
|
-
}]
|
|
34
|
-
}], ctorParameters: () => [{ type: i1.ConfigurationService }] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwZWFyYW5jZS1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9hcHBlYXJhbmNlLWNvbmZpZ3VyYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLDhCQUE4QjtJQUV2QyxZQUFvQixhQUFtQztRQUFuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7SUFDdkQsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsYUFBYTtRQUNULE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxZQUFZO1FBQ1IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELFVBQVU7UUFDTixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDNUUsQ0FBQzsrR0EzQlEsOEJBQThCO21IQUE5Qiw4QkFBOEIsY0FGM0IsTUFBTTs7NEZBRVQsOEJBQThCO2tCQUgxQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gXCIuXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcGVhcmFuY2VDb25maWd1cmF0aW9uU2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIGdldExheW91dFRoZW1lKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlndXJhdGlvblZhbHVlKCdBbm9ueW1vdXNMYXlvdXRfVGhlbWUnKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRGb290ZXJUZXh0KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlndXJhdGlvblZhbHVlKCdBbm9ueW1vdXNMYXlvdXRfRm9vdGVyVGV4dCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFBhZ2VUaXRsZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZ3VyYXRpb25WYWx1ZSgnQW5vbnltb3VzTGF5b3V0X1BhZ2VUaXRsZScpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEZhdkljb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWd1cmF0aW9uVmFsdWUoJ0Fub255bW91c0xheW91dF9GYXZJY29uJyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q3VzdG9tU3R5bGVzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlndXJhdGlvblZhbHVlKCdBbm9ueW1vdXNMYXlvdXRfQ3VzdG9tU3R5bGVzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TG9nbygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZ3VyYXRpb25WYWx1ZSgnQW5vbnltb3VzTGF5b3V0X0xvZ28nKTtcclxuICAgIH1cclxuICAgIFxyXG59Il19
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import { AuthService } from "../authentication";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common/http";
|
|
5
|
-
export class ConfigurationService {
|
|
6
|
-
static { this.JsonData = []; }
|
|
7
|
-
constructor(httpClient, injector) {
|
|
8
|
-
this.httpClient = httpClient;
|
|
9
|
-
this.injector = injector;
|
|
10
|
-
this.httpClient.get("./assets/config/configurations.json")
|
|
11
|
-
.subscribe(data => {
|
|
12
|
-
ConfigurationService.JsonData = data;
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
get authService() {
|
|
16
|
-
if (!this._authService) {
|
|
17
|
-
this._authService = this.injector.get(AuthService);
|
|
18
|
-
}
|
|
19
|
-
return this._authService;
|
|
20
|
-
}
|
|
21
|
-
getConfigurationValue(key) {
|
|
22
|
-
this.currentUserProfile = this.authService.getCurrentUser()?.profile;
|
|
23
|
-
var selectedKey = ConfigurationService.JsonData[key];
|
|
24
|
-
if (selectedKey && typeof selectedKey === 'object') {
|
|
25
|
-
if (selectedKey.OrganizationConfigurations) {
|
|
26
|
-
if (this.currentUserProfile && this.currentUserProfile.organizationGUID_ID) {
|
|
27
|
-
let organizationValue = Array(selectedKey.OrganizationConfigurations).find(o => o.OrganizationID_GUID == this.currentUserProfile.organizationGUID_ID);
|
|
28
|
-
return organizationValue;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
return selectedKey.Value;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
return selectedKey;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfigurationService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
40
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfigurationService, providedIn: 'root' }); }
|
|
41
|
-
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfigurationService, decorators: [{
|
|
43
|
-
type: Injectable,
|
|
44
|
-
args: [{
|
|
45
|
-
providedIn: 'root'
|
|
46
|
-
}]
|
|
47
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i0.Injector }] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBS2hELE1BQU0sT0FBTyxvQkFBb0I7YUFFdEIsYUFBUSxHQUFVLEVBQUUsQUFBWixDQUFhO0lBSTVCLFlBQW9CLFVBQXNCLEVBQVUsUUFBa0I7UUFBbEQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUM7YUFDckQsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2Qsb0JBQW9CLENBQUMsUUFBUSxHQUFHLElBQWEsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxJQUFZLFdBQVc7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN0RDtRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBRUQscUJBQXFCLENBQUMsR0FBVztRQUM3QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsRUFBRSxPQUFPLENBQUM7UUFDckUsSUFBSSxXQUFXLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELElBQUksV0FBVyxJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFBRTtZQUNoRCxJQUFJLFdBQVcsQ0FBQywwQkFBMEIsRUFBRTtnQkFDeEMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixFQUFFO29CQUN4RSxJQUFJLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLENBQUM7b0JBQ3RKLE9BQU8saUJBQWlCLENBQUM7aUJBQzVCO2FBQ0o7aUJBQU07Z0JBQ0gsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDO2FBQzVCO1NBQ0o7YUFBTTtZQUNILE9BQU8sV0FBVyxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQzsrR0FuQ1Esb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGakIsTUFBTTs7NEZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSBcIi4uL2F1dGhlbnRpY2F0aW9uXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcclxuXHJcbiAgICBzdGF0aWMgSnNvbkRhdGE6IGFueVtdID0gW107XHJcbiAgICBwcml2YXRlIGN1cnJlbnRVc2VyUHJvZmlsZTogYW55O1xyXG4gICAgcHJpdmF0ZSBfYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgICAgICB0aGlzLmh0dHBDbGllbnQuZ2V0KFwiLi9hc3NldHMvY29uZmlnL2NvbmZpZ3VyYXRpb25zLmpzb25cIilcclxuICAgICAgICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICAgICAgICAgIENvbmZpZ3VyYXRpb25TZXJ2aWNlLkpzb25EYXRhID0gZGF0YSBhcyBhbnlbXTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXQgYXV0aFNlcnZpY2UoKTogQXV0aFNlcnZpY2Uge1xyXG4gICAgICAgIGlmICghdGhpcy5fYXV0aFNlcnZpY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fYXV0aFNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChBdXRoU2VydmljZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRoU2VydmljZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDb25maWd1cmF0aW9uVmFsdWUoa2V5OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRVc2VyUHJvZmlsZSA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKT8ucHJvZmlsZTtcclxuICAgICAgICB2YXIgc2VsZWN0ZWRLZXkgPSBDb25maWd1cmF0aW9uU2VydmljZS5Kc29uRGF0YVtrZXldO1xyXG4gICAgICAgIGlmIChzZWxlY3RlZEtleSAmJiB0eXBlb2Ygc2VsZWN0ZWRLZXkgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZEtleS5Pcmdhbml6YXRpb25Db25maWd1cmF0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudFVzZXJQcm9maWxlICYmIHRoaXMuY3VycmVudFVzZXJQcm9maWxlLm9yZ2FuaXphdGlvbkdVSURfSUQpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgb3JnYW5pemF0aW9uVmFsdWUgPSBBcnJheShzZWxlY3RlZEtleS5Pcmdhbml6YXRpb25Db25maWd1cmF0aW9ucykuZmluZChvID0+IG8uT3JnYW5pemF0aW9uSURfR1VJRCA9PSB0aGlzLmN1cnJlbnRVc2VyUHJvZmlsZS5vcmdhbml6YXRpb25HVUlEX0lEKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3JnYW5pemF0aW9uVmFsdWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRLZXkuVmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRLZXk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufSJdfQ==
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { BlockUI } from 'ng-block-ui';
|
|
4
|
-
import { RequestOptionsModel } from '../models';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from ".";
|
|
7
|
-
export class ControlValidationService {
|
|
8
|
-
constructor(utilityService) {
|
|
9
|
-
this.utilityService = utilityService;
|
|
10
|
-
this.requestOptions = new RequestOptionsModel();
|
|
11
|
-
this.isCreatedBefor = false;
|
|
12
|
-
}
|
|
13
|
-
showGlobalError(errorMessage, formId, deleteOld) {
|
|
14
|
-
let globalErorrElement = document.getElementsByClassName('alert alert-InvalidValidation bg-light-danger text-danger');
|
|
15
|
-
if (globalErorrElement.length > 0) {
|
|
16
|
-
this.removeElementsByClass('alert alert-InvalidValidation bg-light-danger text-danger');
|
|
17
|
-
}
|
|
18
|
-
if (this.isCreatedBefor == true) {
|
|
19
|
-
this.removeElementsByClass('alert alert-InvalidValidation bg-light-danger text-danger');
|
|
20
|
-
}
|
|
21
|
-
// tslint:disable-next-line: prefer-const
|
|
22
|
-
if (!formId)
|
|
23
|
-
formId = "currentForm";
|
|
24
|
-
var object = document.getElementById(formId);
|
|
25
|
-
const tagName = 'div';
|
|
26
|
-
// tslint:disable-next-line: prefer-const
|
|
27
|
-
var elementToAppend = document.createElement(tagName); // Your tag name here
|
|
28
|
-
let message = "";
|
|
29
|
-
if (!errorMessage || (typeof errorMessage == "string")) {
|
|
30
|
-
if (localStorage.getItem('language') == "ar")
|
|
31
|
-
message = errorMessage ? errorMessage : "لديك بعص الأخطاء . من فضلك قم بالمراجعه ";
|
|
32
|
-
else
|
|
33
|
-
message = errorMessage ? errorMessage : "You have some validation errors. Please check below";
|
|
34
|
-
elementToAppend.innerHTML = "<ul class='list-unstyled m-0 py-3 d-flex align-items-center fs-6'><li><i class='fa fa-times-circle text-danger me-3 fs-2'></i>" + message + "</li></ul>";
|
|
35
|
-
elementToAppend.className += 'alert alert-InvalidValidation bg-light-danger text-danger';
|
|
36
|
-
elementToAppend.id += 'errorId';
|
|
37
|
-
// tslint:disable-next-line: prefer-for-of
|
|
38
|
-
const elementToAppen = elementToAppend.cloneNode(true);
|
|
39
|
-
// let targetElement = object.getElementsByClassName("b-control")[0];
|
|
40
|
-
object.insertBefore(elementToAppen, object.firstChild);
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
let ul = document.createElement("ul");
|
|
44
|
-
elementToAppend.appendChild(ul);
|
|
45
|
-
for (const iterator of errorMessage) {
|
|
46
|
-
let li = document.createElement("li");
|
|
47
|
-
li.innerHTML = iterator;
|
|
48
|
-
ul.appendChild(li);
|
|
49
|
-
}
|
|
50
|
-
elementToAppend.className += 'alert alert-InvalidValidation bg-light-danger text-danger';
|
|
51
|
-
elementToAppend.id += 'errorId';
|
|
52
|
-
// tslint:disable-next-line: prefer-for-of
|
|
53
|
-
const elementToAppen = elementToAppend.cloneNode(true);
|
|
54
|
-
// let targetElement = object.getElementsByClassName("b-control")[0];
|
|
55
|
-
object.insertBefore(elementToAppen, object.firstChild);
|
|
56
|
-
}
|
|
57
|
-
this.isCreatedBefor = true;
|
|
58
|
-
}
|
|
59
|
-
removeGlobalError() {
|
|
60
|
-
const removedList = document.getElementsByClassName('alert alert-InvalidValidation bg-light-danger text-danger');
|
|
61
|
-
// tslint:disable-next-line: prefer-for-of
|
|
62
|
-
for (let index = 0; index < removedList.length; index++) {
|
|
63
|
-
const element = removedList[index];
|
|
64
|
-
element.remove();
|
|
65
|
-
}
|
|
66
|
-
this.isCreatedBefor = false;
|
|
67
|
-
}
|
|
68
|
-
showInputErro(errors) {
|
|
69
|
-
// show error on top of form
|
|
70
|
-
this.showGlobalError();
|
|
71
|
-
// remove old error from server
|
|
72
|
-
this.removeElementsByClass('errortemplet');
|
|
73
|
-
// Looping in error Object
|
|
74
|
-
for (const key in errors) {
|
|
75
|
-
if (errors.hasOwnProperty(key)) {
|
|
76
|
-
for (const iterator of errors[key]) {
|
|
77
|
-
const input = document.querySelectorAll('[ng-reflect-name=' + key + ']')[0];
|
|
78
|
-
if (input.attributes['ng-reflect-name'].value === key) {
|
|
79
|
-
this.removeElementsByClass('erroclass-' + key);
|
|
80
|
-
const tagName = 'p';
|
|
81
|
-
const elementToAppend = document.createElement(tagName); // Your tag name here
|
|
82
|
-
elementToAppend.innerHTML = iterator;
|
|
83
|
-
elementToAppend.style.color = 'red';
|
|
84
|
-
elementToAppend.className += 'errortemplet erroclass-' + key;
|
|
85
|
-
const elementToappen = elementToAppend.cloneNode(true);
|
|
86
|
-
input.parentNode.insertBefore(elementToappen, input.lastChild);
|
|
87
|
-
break;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
removeElementsByClass(className) {
|
|
94
|
-
const elements = document.getElementsByClassName(className);
|
|
95
|
-
while (elements.length > 0) {
|
|
96
|
-
elements[0].parentNode.removeChild(elements[0]);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
renderServerErrors(form, err, requestOptions, formId) {
|
|
100
|
-
if (err.error == null) {
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
let errorsArray = [];
|
|
104
|
-
this.requestOptions = requestOptions;
|
|
105
|
-
if (err.error.validation_errors) {
|
|
106
|
-
err.error.validation_errors.forEach((element) => {
|
|
107
|
-
let fieldName = element.field;
|
|
108
|
-
let controlName = element.controlName;
|
|
109
|
-
let message = element.message;
|
|
110
|
-
if (form == null) {
|
|
111
|
-
this.requestOptions.customErrorMessage ? this.utilityService.notifyErrorMessage(this.requestOptions.customErrorMessage) : this.utilityService.notifyErrorMessage(`${message}`);
|
|
112
|
-
}
|
|
113
|
-
else if (controlName && !this.hasControlName(form, controlName)) {
|
|
114
|
-
errorsArray.push(`${fieldName}: ${message}`);
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
this.setFieldError(form, controlName, fieldName, message);
|
|
118
|
-
this.showGlobalError(null, formId);
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
if (errorsArray.length > 0)
|
|
122
|
-
this.showGlobalError(errorsArray, formId);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
hasControlName(form, controlName) {
|
|
126
|
-
let control = form.get(controlName);
|
|
127
|
-
return control != null;
|
|
128
|
-
}
|
|
129
|
-
setFieldError(form, controlName, fieldName, message) {
|
|
130
|
-
let control = null;
|
|
131
|
-
if (controlName)
|
|
132
|
-
control = this.getControlFormNameByFieldName(form, controlName);
|
|
133
|
-
else
|
|
134
|
-
control = this.getControlFormNameByFieldName(form, fieldName.split('.')[0]);
|
|
135
|
-
let errors = { "errorMassage": message };
|
|
136
|
-
let fieldNameArray = fieldName.split('.');
|
|
137
|
-
if (fieldNameArray.length >= 1) {
|
|
138
|
-
switch (fieldNameArray[fieldNameArray.length - 1].toLocaleLowerCase()) {
|
|
139
|
-
case "english":
|
|
140
|
-
let englishControl = control.get("English");
|
|
141
|
-
englishControl.setErrors(errors);
|
|
142
|
-
break;
|
|
143
|
-
case "arabic":
|
|
144
|
-
let arabicControl = control.get("Arabic");
|
|
145
|
-
arabicControl.setErrors(errors);
|
|
146
|
-
break;
|
|
147
|
-
default:
|
|
148
|
-
control.setErrors(errors);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
this.requestOptions.customErrorMessage ? this.utilityService.notifyErrorMessage(this.requestOptions.customErrorMessage) : this.utilityService.notifyErrorMessage(`${message}`);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
getControlFormNameByFieldName(form, fieldName) {
|
|
156
|
-
const formControls = form.controls;
|
|
157
|
-
let controlName = Object.keys(formControls).find(c => c.toLocaleLowerCase() === fieldName.toLocaleLowerCase());
|
|
158
|
-
let control = form.get(controlName);
|
|
159
|
-
return control;
|
|
160
|
-
}
|
|
161
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ControlValidationService, deps: [{ token: i1.UtilityService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
162
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ControlValidationService, providedIn: 'root' }); }
|
|
163
|
-
}
|
|
164
|
-
__decorate([
|
|
165
|
-
BlockUI()
|
|
166
|
-
], ControlValidationService.prototype, "blockUI", void 0);
|
|
167
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ControlValidationService, decorators: [{
|
|
168
|
-
type: Injectable,
|
|
169
|
-
args: [{
|
|
170
|
-
providedIn: 'root'
|
|
171
|
-
}]
|
|
172
|
-
}], ctorParameters: () => [{ type: i1.UtilityService }], propDecorators: { blockUI: [] } });
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC12YWxpZGF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9jb250cm9sLXZhbGlkYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsT0FBTyxFQUFhLE1BQU0sYUFBYSxDQUFDO0FBQ2pELE9BQU8sRUFBYyxtQkFBbUIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBTTVELE1BQU0sT0FBTyx3QkFBd0I7SUFJbkMsWUFBb0IsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBRjFDLG1CQUFjLEdBQXdCLElBQUksbUJBQW1CLEVBQUUsQ0FBQztRQUt4RSxtQkFBYyxHQUFHLEtBQUssQ0FBQztJQUZ2QixDQUFDO0lBTUQsZUFBZSxDQUFDLFlBQWdDLEVBQUUsTUFBZSxFQUFFLFNBQW1CO1FBQ3BGLElBQUksa0JBQWtCLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixDQUFDLDJEQUEyRCxDQUFDLENBQUE7UUFDckgsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQywyREFBMkQsQ0FBQyxDQUFDO1NBQ3pGO1FBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksRUFBRTtZQUMvQixJQUFJLENBQUMscUJBQXFCLENBQUMsMkRBQTJELENBQUMsQ0FBQztTQUN6RjtRQUNELHlDQUF5QztRQUN6QyxJQUFJLENBQUMsTUFBTTtZQUNULE1BQU0sR0FBRyxhQUFhLENBQUE7UUFDeEIsSUFBSSxNQUFNLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxNQUFNLE9BQU8sR0FBRyxL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O29CQUNoQyxNQUFNO2dCQUNSO29CQUNFLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDN0I7U0FDRjthQUNJO1lBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFBO1NBQy9LO0lBQ0gsQ0FBQztJQUVPLDZCQUE2QixDQUFDLElBQWUsRUFBRSxTQUFpQjtRQUN0RSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ25DLElBQUksV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLEtBQUssU0FBUyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztRQUMvRyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7K0dBNUtVLHdCQUF3QjttSEFBeEIsd0JBQXdCLGNBRnZCLE1BQU07O0FBV1A7SUFBVixPQUFPLEVBQUU7eURBQW9COzRGQVRuQix3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CO21GQVVZLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJsb2NrVUksIE5nQmxvY2tVSSB9IGZyb20gJ25nLWJsb2NrLXVpJztcclxuaW1wb3J0IHsgRXJyb3JNb2RlbCwgUmVxdWVzdE9wdGlvbnNNb2RlbCB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250cm9sVmFsaWRhdGlvblNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIHJlcXVlc3RPcHRpb25zOiBSZXF1ZXN0T3B0aW9uc01vZGVsID0gbmV3IFJlcXVlc3RPcHRpb25zTW9kZWwoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIGlzQ3JlYXRlZEJlZm9yID0gZmFsc2U7XHJcblxyXG4gIEBCbG9ja1VJKCkgYmxvY2tVSTogTmdCbG9ja1VJO1xyXG5cclxuICBzaG93R2xvYmFsRXJyb3IoZXJyb3JNZXNzYWdlPzogc3RyaW5nIHwgc3RyaW5nW10sIGZvcm1JZD86IHN0cmluZywgZGVsZXRlT2xkPzogYm9vbGVhbikge1xyXG4gICAgbGV0IGdsb2JhbEVyb3JyRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2FsZXJ0IGFsZXJ0LUludmFsaWRWYWxpZGF0aW9uIGJnLWxpZ2h0LWRhbmdlciB0ZXh0LWRhbmdlcicpXHJcbiAgICBpZiAoZ2xvYmFsRXJvcnJFbGVtZW50Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5yZW1vdmVFbGVtZW50c0J5Q2xhc3MoJ2FsZXJ0IGFsZXJ0LUludmFsaWRWYWxpZGF0aW9uIGJnLWxpZ2h0LWRhbmdlciB0ZXh0LWRhbmdlcicpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaXNDcmVhdGVkQmVmb3IgPT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLnJlbW92ZUVsZW1lbnRzQnlDbGFzcygnYWxlcnQgYWxlcnQtSW52YWxpZFZhbGlkYXRpb24gYmctbGlnaHQtZGFuZ2VyIHRleHQtZGFuZ2VyJyk7XHJcbiAgICB9XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHByZWZlci1jb25zdFxyXG4gICAgaWYgKCFmb3JtSWQpXHJcbiAgICAgIGZvcm1JZCA9IFwiY3VycmVudEZvcm1cIlxyXG4gICAgdmFyIG9iamVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGZvcm1JZCk7XHJcbiAgICBjb25zdCB0YWdOYW1lID0gJ2Rpdic7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHByZWZlci1jb25zdFxyXG4gICAgdmFyIGVsZW1lbnRUb0FwcGVuZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7IC8vIFlvdXIgdGFnIG5hbWUgaGVyZVxyXG4gICAgbGV0IG1lc3NhZ2U6IHN0cmluZyB8IHN0cmluZ1tdID0gXCJcIjtcclxuXHJcbiAgICBpZiAoIWVycm9yTWVzc2FnZSB8fCAodHlwZW9mIGVycm9yTWVzc2FnZSA9PSBcInN0cmluZ1wiKSkge1xyXG4gICAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhbmd1YWdlJykgPT0gXCJhclwiKVxyXG4gICAgICAgIG1lc3NhZ2UgPSBlcnJvck1lc3NhZ2UgPyBlcnJvck1lc3NhZ2UgOiBcItmE2K/ZitmDINio2LnYtSDYp9mE2KPYrti32KfYoSAuINmF2YYg2YHYttmE2YMg2YLZhSDYqNin2YTZhdix2KfYrNi52YcgXCI7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBtZXNzYWdlID0gZXJyb3JNZXNzYWdlID8gZXJyb3JNZXNzYWdlIDogXCJZb3UgaGF2ZSBzb21lIHZhbGlkYXRpb24gZXJyb3JzLiBQbGVhc2UgY2hlY2sgYmVsb3dcIlxyXG4gICAgICBlbGVtZW50VG9BcHBlbmQuaW5uZXJIVE1MID0gXCI8dWwgY2xhc3M9J2xpc3QtdW5zdHlsZWQgbS0wIHB5LTMgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmcy02Jz48bGk+PGkgY2xhc3M9J2ZhIGZhLXRpbWVzLWNpcmNsZSB0ZXh0LWRhbmdlciBtZS0zIGZzLTInPjwvaT5cIiArIG1lc3NhZ2UgKyBcIjwvbGk+PC91bD5cIjtcclxuICAgICAgZWxlbWVudFRvQXBwZW5kLmNsYXNzTmFtZSArPSAnYWxlcnQgYWxlcnQtSW52YWxpZFZhbGlkYXRpb24gYmctbGlnaHQtZGFuZ2VyIHRleHQtZGFuZ2VyJztcclxuICAgICAgZWxlbWVudFRvQXBwZW5kLmlkICs9ICdlcnJvcklkJztcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBwcmVmZXItZm9yLW9mXHJcbiAgICAgIGNvbnN0IGVsZW1lbnRUb0FwcGVuID0gZWxlbWVudFRvQXBwZW5kLmNsb25lTm9kZSh0cnVlKTtcclxuICAgICAgLy8gbGV0IHRhcmdldEVsZW1lbnQgPSBvYmplY3QuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcImItY29udHJvbFwiKVswXTtcclxuICAgICAgb2JqZWN0Lmluc2VydEJlZm9yZShlbGVtZW50VG9BcHBlbiwgb2JqZWN0LmZpcnN0Q2hpbGQpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGxldCB1bCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ1bFwiKTtcclxuICAgICAgZWxlbWVudFRvQXBwZW5kLmFwcGVuZENoaWxkKHVsKTtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgaXRlcmF0b3Igb2YgZXJyb3JNZXNzYWdlKSB7XHJcbiAgICAgICAgbGV0IGxpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImxpXCIpO1xyXG4gICAgICAgIGxpLmlubmVySFRNTCA9IGl0ZXJhdG9yO1xyXG4gICAgICAgIHVsLmFwcGVuZENoaWxkKGxpKTtcclxuICAgICAgfVxyXG4gICAgICBlbGVtZW50VG9BcHBlbmQuY2xhc3NOYW1lICs9ICdhbGVydCBhbGVydC1JbnZhbGlkVmFsaWRhdGlvbiBiZy1saWdodC1kYW5nZXIgdGV4dC1kYW5nZXInO1xyXG4gICAgICBlbGVtZW50VG9BcHBlbmQuaWQgKz0gJ2Vycm9ySWQnO1xyXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHByZWZlci1mb3Itb2ZcclxuICAgICAgY29uc3QgZWxlbWVudFRvQXBwZW4gPSBlbGVtZW50VG9BcHBlbmQuY2xvbmVOb2RlKHRydWUpO1xyXG4gICAgICAvLyBsZXQgdGFyZ2V0RWxlbWVudCA9IG9iamVjdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwiYi1jb250cm9sXCIpWzBdO1xyXG4gICAgICBvYmplY3QuaW5zZXJ0QmVmb3JlKGVsZW1lbnRUb0FwcGVuLCBvYmplY3QuZmlyc3RDaGlsZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzQ3JlYXRlZEJlZm9yID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUdsb2JhbEVycm9yKCkge1xyXG4gICAgY29uc3QgcmVtb3ZlZExpc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdhbGVydCBhbGVydC1JbnZhbGlkVmFsaWRhdGlvbiBiZy1saWdodC1kYW5nZXIgdGV4dC1kYW5nZXInKTtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogcHJlZmVyLWZvci1vZlxyXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHJlbW92ZWRMaXN0Lmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICBjb25zdCBlbGVtZW50ID0gcmVtb3ZlZExpc3RbaW5kZXhdO1xyXG4gICAgICBlbGVtZW50LnJlbW92ZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc0NyZWF0ZWRCZWZvciA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc2hvd0lucHV0RXJybyhlcnJvcnM6IGFueSkge1xyXG4gICAgLy8gc2hvdyBlcnJvciBvbiB0b3Agb2YgZm9ybSBcclxuICAgIHRoaXMuc2hvd0dsb2JhbEVycm9yKCk7XHJcbiAgICAvLyByZW1vdmUgb2xkIGVycm9yIGZyb20gc2VydmVyXHJcbiAgICB0aGlzLnJlbW92ZUVsZW1lbnRzQnlDbGFzcygnZXJyb3J0ZW1wbGV0Jyk7XHJcbiAgICAvLyBMb29waW5nIGluIGVycm9yIE9iamVjdFxyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gZXJyb3JzKSB7XHJcbiAgICAgIGlmIChlcnJvcnMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgIGZvciAoY29uc3QgaXRlcmF0b3Igb2YgZXJyb3JzW2tleV0pIHtcclxuICAgICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW25nLXJlZmxlY3QtbmFtZT0nICsga2V5ICsgJ10nKVswXTtcclxuICAgICAgICAgIGlmICgoaW5wdXQuYXR0cmlidXRlc1snbmctcmVmbGVjdC1uYW1lJ10udmFsdWUgYXMgc3RyaW5nKSA9PT0ga2V5KSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlRWxlbWVudHNCeUNsYXNzKCdlcnJvY2xhc3MtJyArIGtleSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHRhZ05hbWUgPSAncCdcclxuICAgICAgICAgICAgY29uc3QgZWxlbWVudFRvQXBwZW5kID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsgLy8gWW91ciB0YWcgbmFtZSBoZXJlXHJcbiAgICAgICAgICAgIGVsZW1lbnRUb0FwcGVuZC5pbm5lckhUTUwgPSBpdGVyYXRvcjtcclxuICAgICAgICAgICAgZWxlbWVudFRvQXBwZW5kLnN0eWxlLmNvbG9yID0gJ3JlZCdcclxuICAgICAgICAgICAgZWxlbWVudFRvQXBwZW5kLmNsYXNzTmFtZSArPSAnZXJyb3J0ZW1wbGV0IGVycm9jbGFzcy0nICsga2V5O1xyXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50VG9hcHBlbiA9IGVsZW1lbnRUb0FwcGVuZC5jbG9uZU5vZGUodHJ1ZSk7XHJcbiAgICAgICAgICAgIGlucHV0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGVsZW1lbnRUb2FwcGVuLCBpbnB1dC5sYXN0Q2hpbGQpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbW92ZUVsZW1lbnRzQnlDbGFzcyhjbGFzc05hbWUpIHtcclxuICAgIGNvbnN0IGVsZW1lbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShjbGFzc05hbWUpO1xyXG4gICAgd2hpbGUgKGVsZW1lbnRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgZWxlbWVudHNbMF0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbGVtZW50c1swXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW5kZXJTZXJ2ZXJFcnJvcnMoZm9ybTogRm9ybUdyb3VwLCBlcnI6IEh0dHBFcnJvclJlc3BvbnNlLCByZXF1ZXN0T3B0aW9uczogUmVxdWVzdE9wdGlvbnNNb2RlbCwgZm9ybUlkPzogc3RyaW5nKSB7XHJcbiAgICBpZiAoZXJyLmVycm9yID09IG51bGwpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IGVycm9yc0FycmF5OiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIHRoaXMucmVxdWVzdE9wdGlvbnMgPSByZXF1ZXN0T3B0aW9ucztcclxuXHJcbiAgICBpZiAoZXJyLmVycm9yLnZhbGlkYXRpb25fZXJyb3JzKSB7XHJcbiAgICAgIGVyci5lcnJvci52YWxpZGF0aW9uX2Vycm9ycy5mb3JFYWNoKChlbGVtZW50OiBFcnJvck1vZGVsKSA9PiB7XHJcbiAgICAgICAgbGV0IGZpZWxkTmFtZSA9IGVsZW1lbnQuZmllbGQ7XHJcbiAgICAgICAgbGV0IGNvbnRyb2xOYW1lID0gZWxlbWVudC5jb250cm9sTmFtZTtcclxuICAgICAgICBsZXQgbWVzc2FnZSA9IGVsZW1lbnQubWVzc2FnZTtcclxuICAgICAgICBpZiAoZm9ybSA9PSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLnJlcXVlc3RPcHRpb25zLmN1c3RvbUVycm9yTWVzc2FnZSA/IHRoaXMudXRpbGl0eVNlcnZpY2Uubm90aWZ5RXJyb3JNZXNzYWdlKHRoaXMucmVxdWVzdE9wdGlvbnMuY3VzdG9tRXJyb3JNZXNzYWdlKSA6IHRoaXMudXRpbGl0eVNlcnZpY2Uubm90aWZ5RXJyb3JNZXNzYWdlKGAke21lc3NhZ2V9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGNvbnRyb2xOYW1lICYmICF0aGlzLmhhc0NvbnRyb2xOYW1lKGZvcm0sIGNvbnRyb2xOYW1lKSkge1xyXG4gICAgICAgICAgZXJyb3JzQXJyYXkucHVzaChgJHtmaWVsZE5hbWV9OiAke21lc3NhZ2V9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRGaWVsZEVycm9yKGZvcm0sIGNvbnRyb2xOYW1lLCBmaWVsZE5hbWUsIG1lc3NhZ2UpO1xyXG4gICAgICAgICAgdGhpcy5zaG93R2xvYmFsRXJyb3IobnVsbCwgZm9ybUlkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgaWYgKGVycm9yc0FycmF5Lmxlbmd0aCA+IDApXHJcbiAgICAgICAgdGhpcy5zaG93R2xvYmFsRXJyb3IoZXJyb3JzQXJyYXksIGZvcm1JZClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFzQ29udHJvbE5hbWUoZm9ybTogRm9ybUdyb3VwLCBjb250cm9sTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgY29udHJvbCA9IGZvcm0uZ2V0KGNvbnRyb2xOYW1lKTtcclxuICAgIHJldHVybiBjb250cm9sICE9IG51bGw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEZpZWxkRXJyb3IoZm9ybTogRm9ybUdyb3VwLCBjb250cm9sTmFtZTogc3RyaW5nLCBmaWVsZE5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKSB7XHJcbiAgICBsZXQgY29udHJvbCA9IG51bGxcclxuXHJcbiAgICBpZiAoY29udHJvbE5hbWUpXHJcbiAgICAgIGNvbnRyb2wgPSB0aGlzLmdldENvbnRyb2xGb3JtTmFtZUJ5RmllbGROYW1lKGZvcm0sIGNvbnRyb2xOYW1lKTtcclxuICAgIGVsc2VcclxuICAgICAgY29udHJvbCA9IHRoaXMuZ2V0Q29udHJvbEZvcm1OYW1lQnlGaWVsZE5hbWUoZm9ybSwgZmllbGROYW1lLnNwbGl0KCcuJylbMF0pO1xyXG5cclxuICAgIGxldCBlcnJvcnMgPSB7IFwiZXJyb3JNYXNzYWdlXCI6IG1lc3NhZ2UgfTtcclxuICAgIGxldCBmaWVsZE5hbWVBcnJheSA9IGZpZWxkTmFtZS5zcGxpdCgnLicpO1xyXG4gICAgaWYgKGZpZWxkTmFtZUFycmF5Lmxlbmd0aCA+PSAxKSB7XHJcbiAgICAgIHN3aXRjaCAoZmllbGROYW1lQXJyYXlbZmllbGROYW1lQXJyYXkubGVuZ3RoIC0gMV0udG9Mb2NhbGVMb3dlckNhc2UoKSkge1xyXG4gICAgICAgIGNhc2UgXCJlbmdsaXNoXCI6XHJcbiAgICAgICAgICBsZXQgZW5nbGlzaENvbnRyb2wgPSBjb250cm9sLmdldChcIkVuZ2xpc2hcIilcclxuICAgICAgICAgIGVuZ2xpc2hDb250cm9sLnNldEVycm9ycyhlcnJvcnMpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcImFyYWJpY1wiOlxyXG4gICAgICAgICAgbGV0IGFyYWJpY0NvbnRyb2wgPSBjb250cm9sLmdldChcIkFyYWJpY1wiKVxyXG4gICAgICAgICAgYXJhYmljQ29udHJvbC5zZXRFcnJvcnMoZXJyb3JzKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICBjb250cm9sLnNldEVycm9ycyhlcnJvcnMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5yZXF1ZXN0T3B0aW9ucy5jdXN0b21FcnJvck1lc3NhZ2UgPyB0aGlzLnV0aWxpdHlTZXJ2aWNlLm5vdGlmeUVycm9yTWVzc2FnZSh0aGlzLnJlcXVlc3RPcHRpb25zLmN1c3RvbUVycm9yTWVzc2FnZSkgOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLm5vdGlmeUVycm9yTWVzc2FnZShgJHttZXNzYWdlfWApXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENvbnRyb2xGb3JtTmFtZUJ5RmllbGROYW1lKGZvcm06IEZvcm1Hcm91cCwgZmllbGROYW1lOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGZvcm1Db250cm9scyA9IGZvcm0uY29udHJvbHM7XHJcbiAgICBsZXQgY29udHJvbE5hbWUgPSBPYmplY3Qua2V5cyhmb3JtQ29udHJvbHMpLmZpbmQoYyA9PiBjLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09IGZpZWxkTmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpKTtcclxuICAgIGxldCBjb250cm9sID0gZm9ybS5nZXQoY29udHJvbE5hbWUpO1xyXG4gICAgcmV0dXJuIGNvbnRyb2w7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { environment } from '../config/environment';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class EnvironmentService {
|
|
5
|
-
static { this.areaList = []; }
|
|
6
|
-
static { this.AreaList = []; }
|
|
7
|
-
getEnvironmentObject() {
|
|
8
|
-
return environment;
|
|
9
|
-
}
|
|
10
|
-
getBaseUrl() {
|
|
11
|
-
return environment["BBSF_BaseURL"];
|
|
12
|
-
}
|
|
13
|
-
getApiUrl() {
|
|
14
|
-
return environment["BBSF_ApiUrl"];
|
|
15
|
-
}
|
|
16
|
-
getProductionMode() {
|
|
17
|
-
return environment["BBSF_IsProduction"];
|
|
18
|
-
}
|
|
19
|
-
getDefaultLanguage() {
|
|
20
|
-
return environment["BBSF_DefaultLanguage"];
|
|
21
|
-
}
|
|
22
|
-
getIdentityServerUrl() {
|
|
23
|
-
return environment["BBSF_IdentityServerUrl"];
|
|
24
|
-
}
|
|
25
|
-
getIsIdentityServerExternal() {
|
|
26
|
-
return environment["BBSF_IsExternalIdentityServer"];
|
|
27
|
-
}
|
|
28
|
-
getIsIdentityServerClientId() {
|
|
29
|
-
return environment["BBSF_IdentityServer_Client_Id"];
|
|
30
|
-
}
|
|
31
|
-
getIsIdentityServerClientSecret() {
|
|
32
|
-
return environment["BBSF_IdentityServer_Client_Secret"];
|
|
33
|
-
}
|
|
34
|
-
getBBSFAuthenticationMode() {
|
|
35
|
-
let Mode = environment["BBSF_AuthenticationMode"];
|
|
36
|
-
return Mode;
|
|
37
|
-
}
|
|
38
|
-
getUAEPassBaseUrl() {
|
|
39
|
-
let Mode = environment["UAEPass_BaseUrl"];
|
|
40
|
-
return Mode;
|
|
41
|
-
}
|
|
42
|
-
getUAEPassClientID() {
|
|
43
|
-
let Mode = environment["UAEPass_ClientID"];
|
|
44
|
-
return Mode;
|
|
45
|
-
}
|
|
46
|
-
getUAEPassRedirectUrl() {
|
|
47
|
-
let Mode = environment["UAEPass_RedirectUrl"];
|
|
48
|
-
return Mode;
|
|
49
|
-
}
|
|
50
|
-
getUAEPassAuthorizationEndPoint() {
|
|
51
|
-
let Mode = environment["UAEPass_AuthorizationEndPoint"];
|
|
52
|
-
return Mode;
|
|
53
|
-
}
|
|
54
|
-
getUAEPassRedirectLogoutUrl() {
|
|
55
|
-
let Mode = environment["UAEPass_RedirectLogoutUrl"];
|
|
56
|
-
return Mode;
|
|
57
|
-
}
|
|
58
|
-
getUAEPassLogoutEndPoint() {
|
|
59
|
-
let Mode = environment["UAEPass_LogoutEndPoint"];
|
|
60
|
-
return Mode;
|
|
61
|
-
}
|
|
62
|
-
getIsEnableWindowsAuthentication() {
|
|
63
|
-
let Mode = environment["BBSF_Enable_WindowsAuthentication"];
|
|
64
|
-
return Mode.toLocaleLowerCase() == 'true';
|
|
65
|
-
}
|
|
66
|
-
getAllowMultiTenancy() {
|
|
67
|
-
let mode = environment["BBSF_AllowMultiTenancy"];
|
|
68
|
-
return mode.toLocaleLowerCase() == 'true';
|
|
69
|
-
}
|
|
70
|
-
getCookieName() {
|
|
71
|
-
let cookieName = environment["BBSF_CookieName"];
|
|
72
|
-
return cookieName;
|
|
73
|
-
}
|
|
74
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EnvironmentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
75
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EnvironmentService, providedIn: 'root' }); }
|
|
76
|
-
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EnvironmentService, decorators: [{
|
|
78
|
-
type: Injectable,
|
|
79
|
-
args: [{
|
|
80
|
-
providedIn: 'root'
|
|
81
|
-
}]
|
|
82
|
-
}] });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtdXRpbGl0aWVzL3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTXBELE1BQU0sT0FBTyxrQkFBa0I7YUFFdEIsYUFBUSxHQUFnQixFQUFFLEFBQWxCLENBQW1CO2FBRTNCLGFBQVEsR0FBZ0IsRUFBRSxBQUFsQixDQUFtQjtJQUVsQyxvQkFBb0I7UUFDbEIsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBWSxDQUFDO0lBQ3JELENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxXQUFXLENBQUMsc0JBQXNCLENBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sV0FBVyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELDJCQUEyQjtRQUN6QixPQUFPLFdBQVcsQ0FBQywrQkFBK0IsQ0FBVyxDQUFDO0lBQ2hFLENBQUM7SUFFRCwyQkFBMkI7UUFDekIsT0FBTyxXQUFXLENBQUMsK0JBQStCLENBQVcsQ0FBQztJQUNoRSxDQUFDO0lBRUQsK0JBQStCO1FBQzdCLE9BQU8sV0FBVyxDQUFDLG1DQUFtQyxDQUFXLENBQUM7SUFDcEUsQ0FBQztJQUVELHlCQUF5QjtRQUN2QixJQUFJLElBQUksR0FBRyxXQUFXLENBQUMseUJBQXlCLENBQVcsQ0FBQztRQUM1RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLElBQUksR0FBRyxXQUFXLENBQUMsaUJBQWlCLENBQVcsQ0FBQztRQUNwRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxrQkFBa0I7UUFDaEIsSUFBSSxJQUFJLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFXLENBQUM7UUFDckQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QscUJBQXFCO1FBQ25CLElBQUksSUFBSSxHQUFHLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBVyxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELCtCQUErQjtRQUM3QixJQUFJLElBQUksR0FBRyxXQUFXLENBQUMsK0JBQStCLENBQVcsQ0FBQztRQUNsRSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCwyQkFBMkI7UUFDekIsSUFBSSxJQUFJLEdBQUcsV0FBVyxDQUFDLDJCQUEyQixDQUFXLENBQUM7UUFDOUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLElBQUksSUFBSSxHQUFHLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBVyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUdELGdDQUFnQztRQUM5QixJQUFJLElBQUksR0FBRyxXQUFXLENBQUMsbUNBQW1DLENBQVcsQ0FBQztRQUN0RSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLE1BQU0sQ0FBQztJQUM1QyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksSUFBSSxHQUFHLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBVyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksTUFBTSxDQUFDO0lBQzVDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxVQUFVLEdBQUcsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzsrR0F4RlUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZW52aXJvbm1lbnQgfSBmcm9tICcuLi9jb25maWcvZW52aXJvbm1lbnQnO1xyXG5pbXBvcnQgeyBBcmVhTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRW52aXJvbm1lbnRTZXJ2aWNlIHtcclxuXHJcbiAgc3RhdGljIGFyZWFMaXN0OiBBcmVhTW9kZWxbXSA9IFtdO1xyXG5cclxuICBzdGF0aWMgQXJlYUxpc3Q6IEFyZWFNb2RlbFtdID0gW107XHJcblxyXG4gIGdldEVudmlyb25tZW50T2JqZWN0KCkge1xyXG4gICAgcmV0dXJuIGVudmlyb25tZW50O1xyXG4gIH1cclxuXHJcbiAgZ2V0QmFzZVVybCgpIHtcclxuICAgIHJldHVybiBlbnZpcm9ubWVudFtcIkJCU0ZfQmFzZVVSTFwiXTtcclxuICB9XHJcblxyXG4gIGdldEFwaVVybCgpIHtcclxuICAgIHJldHVybiBlbnZpcm9ubWVudFtcIkJCU0ZfQXBpVXJsXCJdO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvZHVjdGlvbk1vZGUoKSB7XHJcbiAgICByZXR1cm4gZW52aXJvbm1lbnRbXCJCQlNGX0lzUHJvZHVjdGlvblwiXSBhcyBib29sZWFuO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVmYXVsdExhbmd1YWdlKCkge1xyXG4gICAgcmV0dXJuIGVudmlyb25tZW50W1wiQkJTRl9EZWZhdWx0TGFuZ3VhZ2VcIl0gYXMgc3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWRlbnRpdHlTZXJ2ZXJVcmwoKSB7XHJcbiAgICByZXR1cm4gZW52aXJvbm1lbnRbXCJCQlNGX0lkZW50aXR5U2VydmVyVXJsXCJdO1xyXG4gIH1cclxuXHJcbiAgZ2V0SXNJZGVudGl0eVNlcnZlckV4dGVybmFsKCkge1xyXG4gICAgcmV0dXJuIGVudmlyb25tZW50W1wiQkJTRl9Jc0V4dGVybmFsSWRlbnRpdHlTZXJ2ZXJcIl0gYXMgc3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0SXNJZGVudGl0eVNlcnZlckNsaWVudElkKCkge1xyXG4gICAgcmV0dXJuIGVudmlyb25tZW50W1wiQkJTRl9JZGVudGl0eVNlcnZlcl9DbGllbnRfSWRcIl0gYXMgc3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0SXNJZGVudGl0eVNlcnZlckNsaWVudFNlY3JldCgpIHtcclxuICAgIHJldHVybiBlbnZpcm9ubWVudFtcIkJCU0ZfSWRlbnRpdHlTZXJ2ZXJfQ2xpZW50X1NlY3JldFwiXSBhcyBzdHJpbmc7XHJcbiAgfVxyXG5cclxuICBnZXRCQlNGQXV0aGVudGljYXRpb25Nb2RlKCkge1xyXG4gICAgbGV0IE1vZGUgPSBlbnZpcm9ubWVudFtcIkJCU0ZfQXV0aGVudGljYXRpb25Nb2RlXCJdIGFzIHN0cmluZztcclxuICAgIHJldHVybiBNb2RlO1xyXG4gIH1cclxuXHJcbiAgZ2V0VUFFUGFzc0Jhc2VVcmwoKSB7XHJcbiAgICBsZXQgTW9kZSA9IGVudmlyb25tZW50W1wiVUFFUGFzc19CYXNlVXJsXCJdIGFzIHN0cmluZztcclxuICAgIHJldHVybiBNb2RlO1xyXG4gIH1cclxuICBnZXRVQUVQYXNzQ2xpZW50SUQoKSB7XHJcbiAgICBsZXQgTW9kZSA9IGVudmlyb25tZW50W1wiVUFFUGFzc19DbGllbnRJRFwiXSBhcyBzdHJpbmc7XHJcbiAgICByZXR1cm4gTW9kZTtcclxuICB9XHJcbiAgZ2V0VUFFUGFzc1JlZGlyZWN0VXJsKCkge1xyXG4gICAgbGV0IE1vZGUgPSBlbnZpcm9ubWVudFtcIlVBRVBhc3NfUmVkaXJlY3RVcmxcIl0gYXMgc3RyaW5nO1xyXG4gICAgcmV0dXJuIE1vZGU7XHJcbiAgfVxyXG4gIGdldFVBRVBhc3NBdXRob3JpemF0aW9uRW5kUG9pbnQoKSB7XHJcbiAgICBsZXQgTW9kZSA9IGVudmlyb25tZW50W1wiVUFFUGFzc19BdXRob3JpemF0aW9uRW5kUG9pbnRcIl0gYXMgc3RyaW5nO1xyXG4gICAgcmV0dXJuIE1vZGU7XHJcbiAgfVxyXG5cclxuICBnZXRVQUVQYXNzUmVkaXJlY3RMb2dvdXRVcmwoKSB7XHJcbiAgICBsZXQgTW9kZSA9IGVudmlyb25tZW50W1wiVUFFUGFzc19SZWRpcmVjdExvZ291dFVybFwiXSBhcyBzdHJpbmc7XHJcbiAgICByZXR1cm4gTW9kZTtcclxuICB9XHJcblxyXG4gIGdldFVBRVBhc3NMb2dvdXRFbmRQb2ludCgpIHtcclxuICAgIGxldCBNb2RlID0gZW52aXJvbm1lbnRbXCJVQUVQYXNzX0xvZ291dEVuZFBvaW50XCJdIGFzIHN0cmluZztcclxuICAgIHJldHVybiBNb2RlO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldElzRW5hYmxlV2luZG93c0F1dGhlbnRpY2F0aW9uKCkge1xyXG4gICAgbGV0IE1vZGUgPSBlbnZpcm9ubWVudFtcIkJCU0ZfRW5hYmxlX1dpbmRvd3NBdXRoZW50aWNhdGlvblwiXSBhcyBzdHJpbmc7XHJcbiAgICByZXR1cm4gTW9kZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09ICd0cnVlJztcclxuICB9XHJcblxyXG4gIGdldEFsbG93TXVsdGlUZW5hbmN5KCkge1xyXG4gICAgbGV0IG1vZGUgPSBlbnZpcm9ubWVudFtcIkJCU0ZfQWxsb3dNdWx0aVRlbmFuY3lcIl0gYXMgc3RyaW5nO1xyXG4gICAgcmV0dXJuIG1vZGUudG9Mb2NhbGVMb3dlckNhc2UoKSA9PSAndHJ1ZSc7XHJcbiAgfVxyXG5cclxuICBnZXRDb29raWVOYW1lKCkge1xyXG4gICAgbGV0IGNvb2tpZU5hbWUgPSBlbnZpcm9ubWVudFtcIkJCU0ZfQ29va2llTmFtZVwiXTtcclxuICAgIHJldHVybiBjb29raWVOYW1lO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export * from './appearance-configuration.service';
|
|
2
|
-
export * from './configuration.service';
|
|
3
|
-
export * from './control-validation.service';
|
|
4
|
-
export * from './environment.service';
|
|
5
|
-
export * from './master-layout.service';
|
|
6
|
-
export * from './request-handler.service';
|
|
7
|
-
export * from './styles-bundle.service';
|
|
8
|
-
export * from './translate.service';
|
|
9
|
-
export * from './translation-resolver.service';
|
|
10
|
-
export * from './utility.service';
|
|
11
|
-
export * from './language.service';
|
|
12
|
-
export * from './speech-recognition.service';
|
|
13
|
-
export * from './preload.service';
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcHBlYXJhbmNlLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9sLXZhbGlkYXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZW52aXJvbm1lbnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbWFzdGVyLWxheW91dC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9yZXF1ZXN0LWhhbmRsZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3R5bGVzLWJ1bmRsZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi90cmFuc2xhdGUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNsYXRpb24tcmVzb2x2ZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXRpbGl0eS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9sYW5ndWFnZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcGVlY2gtcmVjb2duaXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcHJlbG9hZC5zZXJ2aWNlJzsiXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "./request-handler.service";
|
|
4
|
-
export class LanguageService {
|
|
5
|
-
constructor(http) {
|
|
6
|
-
this.http = http;
|
|
7
|
-
this.apiUrl = '/api/Language/';
|
|
8
|
-
}
|
|
9
|
-
getLanguages() {
|
|
10
|
-
return this.http.get(this.apiUrl + 'GetAll', null, null);
|
|
11
|
-
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LanguageService, deps: [{ token: i1.RequestHandlerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
13
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LanguageService, providedIn: 'root' }); }
|
|
14
|
-
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LanguageService, decorators: [{
|
|
16
|
-
type: Injectable,
|
|
17
|
-
args: [{
|
|
18
|
-
providedIn: 'root',
|
|
19
|
-
}]
|
|
20
|
-
}], ctorParameters: () => [{ type: i1.RequestHandlerService }] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtdXRpbGl0aWVzL3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2xhbmd1YWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBU3pDLE1BQU0sT0FBTyxlQUFlO0lBRTFCLFlBQW9CLElBQTJCO1FBQTNCLFNBQUksR0FBSixJQUFJLENBQXVCO1FBRC9DLFdBQU0sR0FBRyxnQkFBZ0IsQ0FBQztJQUN5QixDQUFDO0lBRXJELFlBQVk7UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzRCxDQUFDOytHQU5VLGVBQWU7bUhBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJlcXVlc3RIYW5kbGVyU2VydmljZSB9IGZyb20gXCIuL3JlcXVlc3QtaGFuZGxlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBMYW5ndWFnZURUTyB9IGZyb20gXCIuLi9tb2RlbHNcIjtcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbiAgfSlcclxuICBleHBvcnQgY2xhc3MgTGFuZ3VhZ2VTZXJ2aWNlIHtcclxuICAgIGFwaVVybCA9ICcvYXBpL0xhbmd1YWdlLyc7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IFJlcXVlc3RIYW5kbGVyU2VydmljZSkgeyB9XHJcblxyXG4gICBnZXRMYW5ndWFnZXMoKTpPYnNlcnZhYmxlPExhbmd1YWdlRFRPW10+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5hcGlVcmwgKyAnR2V0QWxsJywgbnVsbCwgbnVsbCk7XHJcbiAgICB9XHJcbiAgICBcclxuICB9Il19
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { HttpParams } from '@angular/common/http';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { AuthService } from '../authentication';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/router";
|
|
6
|
-
import * as i2 from ".";
|
|
7
|
-
import * as i3 from "../authentication";
|
|
8
|
-
import * as i4 from "@ngx-translate/core";
|
|
9
|
-
export class MasterLayoutService {
|
|
10
|
-
constructor(router, http, authService, stylesBundleService, translate, environmentService) {
|
|
11
|
-
this.router = router;
|
|
12
|
-
this.http = http;
|
|
13
|
-
this.authService = authService;
|
|
14
|
-
this.stylesBundleService = stylesBundleService;
|
|
15
|
-
this.translate = translate;
|
|
16
|
-
this.environmentService = environmentService;
|
|
17
|
-
this.apiUrl = '/api/Home/';
|
|
18
|
-
}
|
|
19
|
-
switchLang(lang, bundleEnglishName, bundleArabicName) {
|
|
20
|
-
if (this.authService.isAuthenticated()) {
|
|
21
|
-
this.changeLanguage(lang).subscribe((result) => {
|
|
22
|
-
this.updateUserInfo().subscribe((Value) => {
|
|
23
|
-
let UserInfoObject = Value;
|
|
24
|
-
this.authService.handleAccessToken(UserInfoObject.token);
|
|
25
|
-
this.stylesBundleService.loadThemes(lang, bundleEnglishName, bundleArabicName);
|
|
26
|
-
localStorage.setItem('language', lang);
|
|
27
|
-
this.translate.use(lang);
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
else
|
|
32
|
-
this.router.navigate(['/Admin/account/login']);
|
|
33
|
-
}
|
|
34
|
-
reloadComponent() {
|
|
35
|
-
let currentUrl = this.router.url;
|
|
36
|
-
this.router.routeReuseStrategy.shouldReuseRoute = () => false;
|
|
37
|
-
this.router.onSameUrlNavigation = 'reload';
|
|
38
|
-
this.router.navigate([currentUrl]);
|
|
39
|
-
}
|
|
40
|
-
changeLanguage(key) {
|
|
41
|
-
let params = new HttpParams();
|
|
42
|
-
params = params.append('UserId', AuthService.user.profile.id);
|
|
43
|
-
params = params.append('LanguageKey', key);
|
|
44
|
-
return this.http.post(this.apiUrl + 'UpdateLanguage', null, null, params);
|
|
45
|
-
}
|
|
46
|
-
logError(error) {
|
|
47
|
-
let params = new HttpParams();
|
|
48
|
-
params = params.append('error', error);
|
|
49
|
-
return this.http.post(this.apiUrl + 'LogError', null, null, params);
|
|
50
|
-
}
|
|
51
|
-
updateUserInfo() {
|
|
52
|
-
return this.http.get(this.apiUrl + 'UpdateUserInfo', null, null);
|
|
53
|
-
}
|
|
54
|
-
switchRole(permissionSetID) {
|
|
55
|
-
this.updateRole(permissionSetID).subscribe((result) => {
|
|
56
|
-
this.updateUserInfo().subscribe((Value) => {
|
|
57
|
-
let UserInfoObject = Value;
|
|
58
|
-
this.authService.handleAccessToken(UserInfoObject.token);
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
updateRole(permissionSetID) {
|
|
63
|
-
let params = new HttpParams();
|
|
64
|
-
params = params.append('UserId', AuthService.user.profile.id);
|
|
65
|
-
params = params.append('RoleID', permissionSetID);
|
|
66
|
-
return this.http.post(this.apiUrl + 'SwitchRole', null, null, params);
|
|
67
|
-
}
|
|
68
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MasterLayoutService, deps: [{ token: i1.Router }, { token: i2.RequestHandlerService }, { token: i3.AuthService }, { token: i2.StylesBundleService }, { token: i4.TranslateService }, { token: i2.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
69
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MasterLayoutService, providedIn: 'root' }); }
|
|
70
|
-
}
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MasterLayoutService, decorators: [{
|
|
72
|
-
type: Injectable,
|
|
73
|
-
args: [{
|
|
74
|
-
providedIn: 'root',
|
|
75
|
-
}]
|
|
76
|
-
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.RequestHandlerService }, { type: i3.AuthService }, { type: i2.StylesBundleService }, { type: i4.TranslateService }, { type: i2.EnvironmentService }] });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzdGVyLWxheW91dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvbWFzdGVyLWxheW91dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7O0FBS2hELE1BQU0sT0FBTyxtQkFBbUI7SUFJOUIsWUFBb0IsTUFBYyxFQUFVLElBQTJCLEVBQVUsV0FBd0IsRUFDL0YsbUJBQXdDLEVBQVUsU0FBMkIsRUFDN0Usa0JBQXNDO1FBRjVCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUF1QjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQy9GLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUM3RSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBSmhELFdBQU0sR0FBRyxZQUFZLENBQUM7SUFJOEIsQ0FBQztJQUVyRCxVQUFVLENBQUMsSUFBWSxFQUFFLGlCQUF5QixFQUFFLGdCQUF3QjtRQUMxRSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDN0MsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUN4QyxJQUFJLGNBQWMsR0FBRyxLQUFZLENBQUM7b0JBQ2xDLElBQUksQ0FBQyxX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Q0FBQyxDQUFDO1FBQ2xELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4RSxDQUFDOytHQW5FVSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSwgUmVxdWVzdEhhbmRsZXJTZXJ2aWNlLCBTdHlsZXNCdW5kbGVTZXJ2aWNlIH0gZnJvbSAnLic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aGVudGljYXRpb24nO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hc3RlckxheW91dFNlcnZpY2Uge1xyXG5cclxuICBhcGlVcmwgPSAnL2FwaS9Ib21lLyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgaHR0cDogUmVxdWVzdEhhbmRsZXJTZXJ2aWNlLCBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgc3R5bGVzQnVuZGxlU2VydmljZTogU3R5bGVzQnVuZGxlU2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGVudmlyb25tZW50U2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlKSB7IH1cclxuXHJcbiAgc3dpdGNoTGFuZyhsYW5nOiBzdHJpbmcsIGJ1bmRsZUVuZ2xpc2hOYW1lOiBzdHJpbmcsIGJ1bmRsZUFyYWJpY05hbWU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuYXV0aFNlcnZpY2UuaXNBdXRoZW50aWNhdGVkKCkpIHtcclxuICAgICAgdGhpcy5jaGFuZ2VMYW5ndWFnZShsYW5nKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMudXBkYXRlVXNlckluZm8oKS5zdWJzY3JpYmUoKFZhbHVlKSA9PiB7XHJcbiAgICAgICAgICBsZXQgVXNlckluZm9PYmplY3QgPSBWYWx1ZSBhcyBhbnk7XHJcbiAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmhhbmRsZUFjY2Vzc1Rva2VuKFVzZXJJbmZvT2JqZWN0LnRva2VuKTtcclxuICAgICAgICAgIHRoaXMuc3R5bGVzQnVuZGxlU2VydmljZS5sb2FkVGhlbWVzKFxyXG4gICAgICAgICAgICBsYW5nLFxyXG4gICAgICAgICAgICBidW5kbGVFbmdsaXNoTmFtZSxcclxuICAgICAgICAgICAgYnVuZGxlQXJhYmljTmFtZVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdsYW5ndWFnZScsIGxhbmcpO1xyXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGUudXNlKGxhbmcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvQWRtaW4vYWNjb3VudC9sb2dpbiddKTtcclxuICB9XHJcblxyXG4gIHJlbG9hZENvbXBvbmVudCgpIHtcclxuICAgIGxldCBjdXJyZW50VXJsID0gdGhpcy5yb3V0ZXIudXJsO1xyXG4gICAgdGhpcy5yb3V0ZXIucm91dGVSZXVzZVN0cmF0ZWd5LnNob3VsZFJldXNlUm91dGUgPSAoKSA9PiBmYWxzZTtcclxuICAgIHRoaXMucm91dGVyLm9uU2FtZVVybE5hdmlnYXRpb24gPSAncmVsb2FkJztcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtjdXJyZW50VXJsXSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoYW5nZUxhbmd1YWdlKGtleTogc3RyaW5nKSB7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ1VzZXJJZCcsIEF1dGhTZXJ2aWNlLnVzZXIucHJvZmlsZS5pZCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdMYW5ndWFnZUtleScsIGtleSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5hcGlVcmwgKyAnVXBkYXRlTGFuZ3VhZ2UnLCBudWxsLCBudWxsLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgbG9nRXJyb3IoZXJyb3I6IHN0cmluZykge1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdlcnJvcicsIGVycm9yKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmFwaVVybCArICdMb2dFcnJvcicsIG51bGwsIG51bGwsIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVVzZXJJbmZvKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5hcGlVcmwgKyAnVXBkYXRlVXNlckluZm8nLCBudWxsLCBudWxsKTtcclxuXHJcbiAgfVxyXG5cclxuICBzd2l0Y2hSb2xlKHBlcm1pc3Npb25TZXRJRDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnVwZGF0ZVJvbGUocGVybWlzc2lvblNldElEKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICB0aGlzLnVwZGF0ZVVzZXJJbmZvKCkuc3Vic2NyaWJlKChWYWx1ZSkgPT4ge1xyXG4gICAgICAgIGxldCBVc2VySW5mb09iamVjdCA9IFZhbHVlIGFzIGFueTtcclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmhhbmRsZUFjY2Vzc1Rva2VuKFVzZXJJbmZvT2JqZWN0LnRva2VuKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlUm9sZShwZXJtaXNzaW9uU2V0SUQ6IHN0cmluZykge1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdVc2VySWQnLCBBdXRoU2VydmljZS51c2VyLnByb2ZpbGUuaWQpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnUm9sZUlEJywgcGVybWlzc2lvblNldElEKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmFwaVVybCArICdTd2l0Y2hSb2xlJywgbnVsbCwgbnVsbCwgcGFyYW1zKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { lastValueFrom } from 'rxjs';
|
|
3
|
-
import { environment } from '../config/environment';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./translate.service";
|
|
6
|
-
import * as i2 from "@angular/common/http";
|
|
7
|
-
export class FileLoaderService {
|
|
8
|
-
// environment:any;
|
|
9
|
-
constructor(translate, http) {
|
|
10
|
-
this.translate = translate;
|
|
11
|
-
this.http = http;
|
|
12
|
-
this.availableLanguages = ['en', 'ar']; // Add more languages as needed
|
|
13
|
-
this.translate.addLangs(this.availableLanguages);
|
|
14
|
-
}
|
|
15
|
-
loadEnvironment() {
|
|
16
|
-
return new Promise((resolve, reject) => {
|
|
17
|
-
const script = document.createElement('script');
|
|
18
|
-
script.src = '/assets/config/environment.js';
|
|
19
|
-
script.onload = () => {
|
|
20
|
-
if (window.Environment) {
|
|
21
|
-
Object.assign(environment, window.Environment);
|
|
22
|
-
resolve();
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
reject('Environment variables not found.');
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
script.onerror = () => reject('Failed to load environment.js');
|
|
29
|
-
document.head.appendChild(script);
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
async preloadTranslations() {
|
|
33
|
-
try {
|
|
34
|
-
const requests = this.availableLanguages.map(async (lang) => {
|
|
35
|
-
const translations = await lastValueFrom(this.http.get(`/assets/i18n/${lang}.json`));
|
|
36
|
-
this.translate.setTranslation(lang, translations, true);
|
|
37
|
-
});
|
|
38
|
-
await Promise.all(requests);
|
|
39
|
-
this.translate.use('en'); // Set default language manually
|
|
40
|
-
}
|
|
41
|
-
catch (error) {
|
|
42
|
-
console.error('Error preloading translations:', error);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FileLoaderService, deps: [{ token: i1.BBSFTranslateService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
46
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FileLoaderService, providedIn: 'root' }); }
|
|
47
|
-
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FileLoaderService, decorators: [{
|
|
49
|
-
type: Injectable,
|
|
50
|
-
args: [{
|
|
51
|
-
providedIn: 'root',
|
|
52
|
-
}]
|
|
53
|
-
}], ctorParameters: () => [{ type: i1.BBSFTranslateService }, { type: i2.HttpClient }] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvcHJlbG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFPcEQsTUFBTSxPQUFPLGlCQUFpQjtJQUUxQixtQkFBbUI7SUFDbkIsWUFBb0IsU0FBK0IsRUFBVSxJQUFnQjtRQUF6RCxjQUFTLEdBQVQsU0FBUyxDQUFzQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQVk7UUFGckUsdUJBQWtCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQywrQkFBK0I7UUFHdEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25DLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEQsTUFBTSxDQUFDLEdBQUcsR0FBRywrQkFBK0IsQ0FBQztZQUM3QyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtnQkFDakIsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFO29CQUNwQixNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQy9DLE9BQU8sRUFBRSxDQUFDO2lCQUNiO3FCQUFNO29CQUNILE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO2lCQUM5QztZQUNMLENBQUMsQ0FBQztZQUNGLE1BQU0sQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUM7WUFDL0QsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsS0FBSyxDQUFDLG1CQUFtQjtRQUNyQixJQUFJO1lBQ0EsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7Z0JBQ3hELE1BQU0sWUFBWSxHQUFHLE1BQU0sYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ3JGLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDNUQsQ0FBQyxDQUFDLENBQUM7WUFFSCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0M7U0FDN0Q7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDMUQ7SUFDTCxDQUFDOytHQXBDUSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQUZkLE1BQU07OzRGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IGxhc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQkJTRlRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZW52aXJvbm1lbnQgfSBmcm9tICcuLi9jb25maWcvZW52aXJvbm1lbnQnO1xyXG5cclxuZGVjbGFyZSBjb25zdCB3aW5kb3c6IGFueTtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVMb2FkZXJTZXJ2aWNlIHtcclxuICAgIHByaXZhdGUgYXZhaWxhYmxlTGFuZ3VhZ2VzID0gWydlbicsICdhciddOyAvLyBBZGQgbW9yZSBsYW5ndWFnZXMgYXMgbmVlZGVkXHJcbiAgICAvLyBlbnZpcm9ubWVudDphbnk7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogQkJTRlRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmFkZExhbmdzKHRoaXMuYXZhaWxhYmxlTGFuZ3VhZ2VzKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2FkRW52aXJvbm1lbnQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcbiAgICAgICAgICAgIHNjcmlwdC5zcmMgPSAnL2Fzc2V0cy9jb25maWcvZW52aXJvbm1lbnQuanMnO1xyXG4gICAgICAgICAgICBzY3JpcHQub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5FbnZpcm9ubWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oZW52aXJvbm1lbnQsIHdpbmRvdy5FbnZpcm9ubWVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZWplY3QoJ0Vudmlyb25tZW50IHZhcmlhYmxlcyBub3QgZm91bmQuJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHNjcmlwdC5vbmVycm9yID0gKCkgPT4gcmVqZWN0KCdGYWlsZWQgdG8gbG9hZCBlbnZpcm9ubWVudC5qcycpO1xyXG4gICAgICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgcHJlbG9hZFRyYW5zbGF0aW9ucygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0cyA9IHRoaXMuYXZhaWxhYmxlTGFuZ3VhZ2VzLm1hcChhc3luYyAobGFuZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25zID0gYXdhaXQgbGFzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0KGAvYXNzZXRzL2kxOG4vJHtsYW5nfS5qc29uYCkpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0VHJhbnNsYXRpb24obGFuZywgdHJhbnNsYXRpb25zLCB0cnVlKTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChyZXF1ZXN0cyk7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLnVzZSgnZW4nKTsgLy8gU2V0IGRlZmF1bHQgbGFuZ3VhZ2UgbWFudWFsbHlcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwcmVsb2FkaW5nIHRyYW5zbGF0aW9uczonLCBlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
|