@bnsights/bbsf-utilities 1.0.32 → 1.0.34

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.
Files changed (124) hide show
  1. package/README.md +8 -4
  2. package/bnsights-bbsf-utilities-1.0.34.tgz +0 -0
  3. package/bnsights-bbsf-utilities.d.ts +0 -1
  4. package/bnsights-bbsf-utilities.metadata.json +1 -0
  5. package/bundles/bnsights-bbsf-utilities.umd.js +4865 -0
  6. package/bundles/bnsights-bbsf-utilities.umd.js.map +1 -0
  7. package/esm2015/lib/bbsf-utilities.module.js +52 -0
  8. package/esm2015/lib/shared/authentication/auth.service.js +236 -0
  9. package/esm2015/lib/shared/config/word/constants.js +105 -0
  10. package/esm2015/lib/shared/config/word/docx-document.js +351 -0
  11. package/esm2015/lib/shared/config/word/helpers/index.js +4 -0
  12. package/esm2015/lib/shared/config/word/helpers/render-document-file.js +278 -0
  13. package/esm2015/lib/shared/config/word/helpers/xml-builder.js +1765 -0
  14. package/esm2015/lib/shared/config/word/html-to-docx.js +195 -0
  15. package/esm2015/lib/shared/config/word/index.js +55 -0
  16. package/esm2015/lib/shared/config/word/namespaces.js +37 -0
  17. package/esm2015/lib/shared/config/word/schemas/content-types.js +26 -0
  18. package/esm2015/lib/shared/config/word/schemas/core.js +29 -0
  19. package/esm2015/lib/shared/config/word/schemas/document-rels.js +16 -0
  20. package/esm2015/lib/shared/config/word/schemas/document.template.js +109 -0
  21. package/esm2015/lib/shared/config/word/schemas/font-table.js +40 -0
  22. package/esm2015/lib/shared/config/word/schemas/generic-rels.js +11 -0
  23. package/esm2015/lib/shared/config/word/schemas/index.js +13 -0
  24. package/esm2015/lib/shared/config/word/schemas/numbering.js +19 -0
  25. package/esm2015/lib/shared/config/word/schemas/rels.js +11 -0
  26. package/esm2015/lib/shared/config/word/schemas/settings.js +13 -0
  27. package/esm2015/lib/shared/config/word/schemas/styles.js +149 -0
  28. package/esm2015/lib/shared/config/word/schemas/theme.js +200 -0
  29. package/esm2015/lib/shared/config/word/schemas/web-settings.js +9 -0
  30. package/esm2015/lib/shared/config/word/utils/color-conversion.js +60 -0
  31. package/esm2015/lib/shared/config/word/utils/list.js +51 -0
  32. package/esm2015/lib/shared/config/word/utils/unit-conversion.js +30 -0
  33. package/esm2015/lib/shared/config/word/utils/url.js +9 -0
  34. package/esm2015/lib/shared/config/word/utils/vnode.js +3 -0
  35. package/esm2015/lib/shared/config/word/word-work/templates/documentTemplate.js +54 -0
  36. package/esm2015/lib/shared/config/word/word-work/templates/index.js +4 -0
  37. package/esm2015/lib/shared/config/word/word-work/templates/mhtDocumentTemplate.js +22 -0
  38. package/esm2015/lib/shared/config/word/word-work/templates/mhtPartTemplate.js +10 -0
  39. package/esm2015/lib/shared/config/word/word-work/utils.js +26 -0
  40. package/esm2015/lib/shared/models/WordDocumentModel.js +8 -0
  41. package/esm2015/lib/shared/services/AppearanceConfiguration.service.js +37 -0
  42. package/esm2015/lib/shared/services/configuration.service.js +26 -0
  43. package/esm2015/lib/shared/services/controlvalidation.service.js +168 -0
  44. package/esm2015/lib/shared/services/environment.service.js +48 -0
  45. package/esm2015/lib/shared/services/masterlayout.service.js +96 -0
  46. package/esm2015/lib/shared/services/requesthandler.service.js +206 -0
  47. package/esm2015/lib/shared/services/stylesbundle.service.js +56 -0
  48. package/esm2015/lib/shared/services/translate.service.js +13 -0
  49. package/esm2015/lib/shared/services/translationresolver.service.js +20 -0
  50. package/esm2015/lib/shared/services/utility.service.js +96 -0
  51. package/esm2015/lib/shared/services/word-document.service.js +39 -0
  52. package/esm2015/public-api.js +20 -0
  53. package/fesm2015/bnsights-bbsf-utilities.js +4634 -0
  54. package/fesm2015/bnsights-bbsf-utilities.js.map +1 -0
  55. package/lib/bbsf-utilities.module.d.ts +0 -9
  56. package/lib/shared/authentication/auth.service.d.ts +0 -3
  57. package/lib/shared/config/word/constants.d.ts +124 -0
  58. package/lib/shared/config/word/docx-document.d.ts +73 -0
  59. package/lib/shared/config/word/helpers/index.d.ts +1 -0
  60. package/lib/shared/config/word/helpers/render-document-file.d.ts +4 -0
  61. package/lib/shared/config/word/helpers/xml-builder.d.ts +14 -0
  62. package/lib/shared/config/word/html-to-docx.d.ts +1 -0
  63. package/lib/shared/config/word/index.d.ts +1 -0
  64. package/lib/shared/config/word/namespaces.d.ts +36 -0
  65. package/lib/shared/config/word/schemas/content-types.d.ts +1 -0
  66. package/lib/shared/config/word/schemas/core.d.ts +1 -0
  67. package/lib/shared/config/word/schemas/document-rels.d.ts +1 -0
  68. package/lib/shared/config/word/schemas/document.template.d.ts +4 -0
  69. package/lib/shared/config/word/schemas/font-table.d.ts +1 -0
  70. package/lib/shared/config/word/schemas/generic-rels.d.ts +1 -0
  71. package/lib/shared/config/word/schemas/index.d.ts +12 -0
  72. package/lib/shared/config/word/schemas/numbering.d.ts +1 -0
  73. package/lib/shared/config/word/schemas/rels.d.ts +1 -0
  74. package/lib/shared/config/word/schemas/settings.d.ts +1 -0
  75. package/lib/shared/config/word/schemas/styles.d.ts +1 -0
  76. package/lib/shared/config/word/schemas/theme.d.ts +1 -0
  77. package/lib/shared/config/word/schemas/web-settings.d.ts +1 -0
  78. package/lib/shared/config/word/utils/color-conversion.d.ts +7 -0
  79. package/lib/shared/config/word/utils/list.d.ts +6 -0
  80. package/lib/shared/config/word/utils/unit-conversion.d.ts +29 -0
  81. package/lib/shared/config/word/utils/url.d.ts +1 -0
  82. package/lib/shared/config/word/utils/vnode.d.ts +1 -0
  83. package/lib/shared/config/word/word-work/templates/documentTemplate.d.ts +12 -0
  84. package/lib/shared/config/word/word-work/templates/index.d.ts +3 -0
  85. package/lib/shared/config/word/word-work/templates/mhtDocumentTemplate.d.ts +1 -0
  86. package/lib/shared/config/word/word-work/templates/mhtPartTemplate.d.ts +1 -0
  87. package/lib/shared/config/word/word-work/utils.d.ts +1 -0
  88. package/lib/shared/models/WordDocumentModel.d.ts +16 -0
  89. package/lib/shared/services/AppearanceConfiguration.service.d.ts +0 -3
  90. package/lib/shared/services/configuration.service.d.ts +0 -3
  91. package/lib/shared/services/controlvalidation.service.d.ts +0 -3
  92. package/lib/shared/services/environment.service.d.ts +0 -3
  93. package/lib/shared/services/masterlayout.service.d.ts +0 -3
  94. package/lib/shared/services/requesthandler.service.d.ts +0 -3
  95. package/lib/shared/services/stylesbundle.service.d.ts +0 -3
  96. package/lib/shared/services/translate.service.d.ts +0 -3
  97. package/lib/shared/services/translationresolver.service.d.ts +0 -3
  98. package/lib/shared/services/utility.service.d.ts +0 -3
  99. package/lib/shared/services/word-document.service.d.ts +5 -0
  100. package/package.json +7 -19
  101. package/public-api.d.ts +2 -0
  102. package/bnsights-bbsf-utilities-1.0.32.tgz +0 -0
  103. package/esm2020/lib/bbsf-utilities.module.mjs +0 -74
  104. package/esm2020/lib/shared/authentication/auth.service.mjs +0 -217
  105. package/esm2020/lib/shared/services/AppearanceConfiguration.service.mjs +0 -35
  106. package/esm2020/lib/shared/services/configuration.service.mjs +0 -24
  107. package/esm2020/lib/shared/services/controlvalidation.service.mjs +0 -166
  108. package/esm2020/lib/shared/services/environment.service.mjs +0 -50
  109. package/esm2020/lib/shared/services/masterlayout.service.mjs +0 -84
  110. package/esm2020/lib/shared/services/requesthandler.service.mjs +0 -202
  111. package/esm2020/lib/shared/services/stylesbundle.service.mjs +0 -55
  112. package/esm2020/lib/shared/services/translate.service.mjs +0 -14
  113. package/esm2020/lib/shared/services/translationresolver.service.mjs +0 -18
  114. package/esm2020/lib/shared/services/utility.service.mjs +0 -90
  115. package/esm2020/public-api.mjs +0 -18
  116. package/fesm2015/bnsights-bbsf-utilities.mjs +0 -1009
  117. package/fesm2015/bnsights-bbsf-utilities.mjs.map +0 -1
  118. package/fesm2020/bnsights-bbsf-utilities.mjs +0 -997
  119. package/fesm2020/bnsights-bbsf-utilities.mjs.map +0 -1
  120. /package/{esm2020/bnsights-bbsf-utilities.mjs → esm2015/bnsights-bbsf-utilities.js} +0 -0
  121. /package/{esm2020/lib/shared/config/environment.mjs → esm2015/lib/shared/config/environment.js} +0 -0
  122. /package/{esm2020/lib/shared/models/AreaModel.mjs → esm2015/lib/shared/models/AreaModel.js} +0 -0
  123. /package/{esm2020/lib/shared/models/ErrorModel.mjs → esm2015/lib/shared/models/ErrorModel.js} +0 -0
  124. /package/{esm2020/lib/shared/models/RequestOptionsModel.mjs → esm2015/lib/shared/models/RequestOptionsModel.js} +0 -0
@@ -1,50 +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
- getEnvironmentObject() {
6
- return environment;
7
- }
8
- getBaseUrl() {
9
- let Url = environment["BBSF_BaseURL"];
10
- return Url;
11
- }
12
- getApiUrl() {
13
- let Url = environment["BBSF_ApiUrl"];
14
- return Url;
15
- }
16
- getProductionMode() {
17
- let Mode = environment["BBSF_IsProduction"];
18
- return Mode;
19
- }
20
- getDefaultLanguage() {
21
- let Mode = environment["BBSF_DefaultLanguage"];
22
- return Mode;
23
- }
24
- getIdentityServerUrl() {
25
- let Url = environment["BBSF_IdentityServerUrl"];
26
- return Url;
27
- }
28
- getIsIdentityServerExternal() {
29
- let Mode = environment["BBSF_IsExternalIdentityServer"];
30
- return Mode;
31
- }
32
- getIsIdentityServerClientId() {
33
- let Mode = environment["BBSF_IdentityServer_Client_Id"];
34
- return Mode;
35
- }
36
- getIsIdentityServerClientSecret() {
37
- let Mode = environment["BBSF_IdentityServer_Client_Secret"];
38
- return Mode;
39
- }
40
- }
41
- EnvironmentService.AreaList = [];
42
- EnvironmentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EnvironmentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
43
- EnvironmentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EnvironmentService, providedIn: 'root' });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EnvironmentService, decorators: [{
45
- type: Injectable,
46
- args: [{
47
- providedIn: 'root'
48
- }]
49
- }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtdXRpbGl0aWVzL3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTXBELE1BQU0sT0FBTyxrQkFBa0I7SUFLN0Isb0JBQW9CO1FBQ2xCLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ3JDLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNELFNBQVM7UUFDUCxJQUFJLEdBQUcsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDcEMsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxJQUFJLEdBQUcsV0FBVyxDQUFDLG1CQUFtQixDQUFZLENBQUE7UUFFdEQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxHQUFHLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBVyxDQUFBO1FBQ3hELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELG9CQUFvQjtRQUNsQixJQUFJLEdBQUcsR0FBRyxXQUFXLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtRQUMvQyxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFDRCwyQkFBMkI7UUFDekIsSUFBSSxJQUFJLEdBQUcsV0FBVyxDQUFDLCtCQUErQixDQUFXLENBQUE7UUFDakUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsMkJBQTJCO1FBQ3pCLElBQUksSUFBSSxHQUFHLFdBQVcsQ0FBQywrQkFBK0IsQ0FBVyxDQUFBO1FBQ2pFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELCtCQUErQjtRQUM3QixJQUFJLElBQUksR0FBRyxXQUFXLENBQUMsbUNBQW1DLENBQVcsQ0FBQTtRQUNyRSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O0FBekNLLDJCQUFRLEdBQWdCLEVBQUUsQ0FBQTtnSEFIckIsa0JBQWtCO29IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uL2NvbmZpZy9lbnZpcm9ubWVudCc7XHJcbmltcG9ydCB7IEFyZWFNb2RlbCB9IGZyb20gJy4uL21vZGVscy9BcmVhTW9kZWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRW52aXJvbm1lbnRTZXJ2aWNlIHtcclxuXHJcblxyXG4gc3RhdGljIEFyZWFMaXN0OiBBcmVhTW9kZWxbXSA9IFtdXHJcblxyXG4gIGdldEVudmlyb25tZW50T2JqZWN0KCkge1xyXG4gICAgcmV0dXJuIGVudmlyb25tZW50O1xyXG4gIH1cclxuXHJcbiAgZ2V0QmFzZVVybCgpIHtcclxuICAgIGxldCBVcmwgPSBlbnZpcm9ubWVudFtcIkJCU0ZfQmFzZVVSTFwiXVxyXG4gICAgcmV0dXJuIFVybDtcclxuICB9XHJcbiAgZ2V0QXBpVXJsKCkge1xyXG4gICAgbGV0IFVybCA9IGVudmlyb25tZW50W1wiQkJTRl9BcGlVcmxcIl1cclxuICAgIHJldHVybiBVcmw7XHJcbiAgfVxyXG5cclxuICBnZXRQcm9kdWN0aW9uTW9kZSgpIHtcclxuICAgIGxldCBNb2RlID0gZW52aXJvbm1lbnRbXCJCQlNGX0lzUHJvZHVjdGlvblwiXSBhcyBib29sZWFuXHJcblxyXG4gICAgcmV0dXJuIE1vZGU7XHJcbiAgfVxyXG5cclxuICBnZXREZWZhdWx0TGFuZ3VhZ2UoKSB7XHJcbiAgICBsZXQgTW9kZSA9IGVudmlyb25tZW50W1wiQkJTRl9EZWZhdWx0TGFuZ3VhZ2VcIl0gYXMgc3RyaW5nXHJcbiAgICByZXR1cm4gTW9kZTtcclxuICB9XHJcbiAgZ2V0SWRlbnRpdHlTZXJ2ZXJVcmwoKSB7XHJcbiAgICBsZXQgVXJsID0gZW52aXJvbm1lbnRbXCJCQlNGX0lkZW50aXR5U2VydmVyVXJsXCJdXHJcbiAgICByZXR1cm4gVXJsO1xyXG4gIH1cclxuICBnZXRJc0lkZW50aXR5U2VydmVyRXh0ZXJuYWwoKSB7XHJcbiAgICBsZXQgTW9kZSA9IGVudmlyb25tZW50W1wiQkJTRl9Jc0V4dGVybmFsSWRlbnRpdHlTZXJ2ZXJcIl0gYXMgc3RyaW5nXHJcbiAgICByZXR1cm4gTW9kZTtcclxuICB9XHJcbiAgZ2V0SXNJZGVudGl0eVNlcnZlckNsaWVudElkKCkge1xyXG4gICAgbGV0IE1vZGUgPSBlbnZpcm9ubWVudFtcIkJCU0ZfSWRlbnRpdHlTZXJ2ZXJfQ2xpZW50X0lkXCJdIGFzIHN0cmluZ1xyXG4gICAgcmV0dXJuIE1vZGU7XHJcbiAgfVxyXG5cclxuICBnZXRJc0lkZW50aXR5U2VydmVyQ2xpZW50U2VjcmV0KCkge1xyXG4gICAgbGV0IE1vZGUgPSBlbnZpcm9ubWVudFtcIkJCU0ZfSWRlbnRpdHlTZXJ2ZXJfQ2xpZW50X1NlY3JldFwiXSBhcyBzdHJpbmdcclxuICAgIHJldHVybiBNb2RlO1xyXG4gIH1cclxuXHJcblxyXG5cclxufVxyXG4iXX0=
@@ -1,84 +0,0 @@
1
- import { HttpParams } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/router";
5
- import * as i2 from "./requesthandler.service";
6
- import * as i3 from "../authentication/auth.service";
7
- import * as i4 from "./stylesbundle.service";
8
- import * as i5 from "@ngx-translate/core";
9
- import * as i6 from "./environment.service";
10
- export class MasterLayoutService {
11
- constructor(router, http, authService, stylesBundleService, translate, environmentService) {
12
- this.router = router;
13
- this.http = http;
14
- this.authService = authService;
15
- this.stylesBundleService = stylesBundleService;
16
- this.translate = translate;
17
- this.environmentService = environmentService;
18
- this.ApiUrl = '/api/Home/';
19
- }
20
- switchLang(lang, bundleEnglishName, bundleArabicName) {
21
- this.changeLanguage(lang).subscribe((result) => {
22
- this.updateUserInfo().subscribe((Value) => {
23
- let UserInfoObject = Value;
24
- this.authService.getUser();
25
- this.authService.user.profile = Object.assign(this.authService.user.profile, UserInfoObject);
26
- this.authService.storUser(this.authService.user);
27
- this.stylesBundleService.loadThemes(lang, bundleEnglishName, bundleArabicName);
28
- localStorage.setItem('language', lang);
29
- this.translate.use(lang);
30
- });
31
- });
32
- }
33
- reloadComponent() {
34
- let currentUrl = this.router.url;
35
- this.router.routeReuseStrategy.shouldReuseRoute = () => false;
36
- this.router.onSameUrlNavigation = 'reload';
37
- this.router.navigate([currentUrl]);
38
- }
39
- changeLanguage(key) {
40
- let params = new HttpParams();
41
- params = params.append('UserId', this.authService.user.profile.id);
42
- params = params.append('LanguageKey', key);
43
- return this.http.post(this.ApiUrl + 'UpdateLanguage', null, null, params);
44
- }
45
- getUserClaims() {
46
- return this.http.get(this.ApiUrl + 'GetUserClaims', null, null);
47
- }
48
- logError(error) {
49
- let params = new HttpParams();
50
- params = params.append('error', error);
51
- return this.http.post(this.ApiUrl + 'LogError', null, null, params);
52
- }
53
- updateUserInfo() {
54
- let isExternal = this.environmentService.getIsIdentityServerExternal().toLowerCase() == 'true';
55
- if (isExternal)
56
- return this.getUserClaims();
57
- return this.http.get('/connect/userinfo');
58
- }
59
- switchRole(permissionSetID) {
60
- this.updateRole(permissionSetID).subscribe((result) => {
61
- this.updateUserInfo().subscribe((Value) => {
62
- let UserInfoObject = Value;
63
- this.authService.getUser();
64
- this.authService.user.profile = Object.assign(this.authService.user.profile, UserInfoObject);
65
- this.authService.storUser(this.authService.user);
66
- });
67
- });
68
- }
69
- updateRole(permissionSetID) {
70
- let params = new HttpParams();
71
- params = params.append('UserId', this.authService.user.profile.id);
72
- params = params.append('RoleID', permissionSetID);
73
- return this.http.post(this.ApiUrl + 'SwitchRole', null, null, params);
74
- }
75
- }
76
- MasterLayoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MasterLayoutService, deps: [{ token: i1.Router }, { token: i2.RequestHandlerService }, { token: i3.AuthService }, { token: i4.StylesBundleService }, { token: i5.TranslateService }, { token: i6.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable });
77
- MasterLayoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MasterLayoutService, providedIn: 'root' });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MasterLayoutService, decorators: [{
79
- type: Injectable,
80
- args: [{
81
- providedIn: 'root',
82
- }]
83
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.RequestHandlerService }, { type: i3.AuthService }, { type: i4.StylesBundleService }, { type: i5.TranslateService }, { type: i6.EnvironmentService }]; } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzdGVybGF5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9tYXN0ZXJsYXlvdXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFXM0MsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixZQUNVLE1BQWMsRUFDZCxJQUEyQixFQUMzQixXQUF3QixFQUN4QixtQkFBd0MsRUFDeEMsU0FBMkIsRUFDM0Isa0JBQXNDO1FBTHRDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxTQUFJLEdBQUosSUFBSSxDQUF1QjtRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFQaEQsV0FBTSxHQUFHLFlBQVksQ0FBQztJQVFuQixDQUFDO0lBQ0osVUFBVSxDQUNSLElBQVksRUFDWixpQkFBeUIsRUFDekIsZ0JBQXdCO1FBRXhCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUN4QyxJQUFJLGNBQWMsR0FBRyxLQUFLLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxD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QU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQzdCLGNBQWMsQ0FDZixDQUFDO2dCQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxVQUFVLENBQUMsZUFBdUI7UUFDeEMsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM5QixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDeEUsQ0FBQzs7aUhBckZVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGhlbnRpY2F0aW9uL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4vZW52aXJvbm1lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFJlcXVlc3RIYW5kbGVyU2VydmljZSB9IGZyb20gJy4vcmVxdWVzdGhhbmRsZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFN0eWxlc0J1bmRsZVNlcnZpY2UgfSBmcm9tICcuL3N0eWxlc2J1bmRsZS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXN0ZXJMYXlvdXRTZXJ2aWNlIHtcclxuICBBcGlVcmwgPSAnL2FwaS9Ib21lLyc7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBSZXF1ZXN0SGFuZGxlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgc3R5bGVzQnVuZGxlU2VydmljZTogU3R5bGVzQnVuZGxlU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlbnZpcm9ubWVudFNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZVxyXG4gICkge31cclxuICBzd2l0Y2hMYW5nKFxyXG4gICAgbGFuZzogc3RyaW5nLFxyXG4gICAgYnVuZGxlRW5nbGlzaE5hbWU6IHN0cmluZyxcclxuICAgIGJ1bmRsZUFyYWJpY05hbWU6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgdGhpcy5jaGFuZ2VMYW5ndWFnZShsYW5nKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICB0aGlzLnVwZGF0ZVVzZXJJbmZvKCkuc3Vic2NyaWJlKChWYWx1ZSkgPT4ge1xyXG4gICAgICAgIGxldCBVc2VySW5mb09iamVjdCA9IFZhbHVlO1xyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0VXNlcigpO1xyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UudXNlci5wcm9maWxlID0gT2JqZWN0LmFzc2lnbihcclxuICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2UudXNlci5wcm9maWxlLFxyXG4gICAgICAgICAgVXNlckluZm9PYmplY3RcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2Uuc3RvclVzZXIodGhpcy5hdXRoU2VydmljZS51c2VyKTtcclxuICAgICAgICB0aGlzLnN0eWxlc0J1bmRsZVNlcnZpY2UubG9hZFRoZW1lcyhcclxuICAgICAgICAgIGxhbmcsXHJcbiAgICAgICAgICBidW5kbGVFbmdsaXNoTmFtZSxcclxuICAgICAgICAgIGJ1bmRsZUFyYWJpY05hbWVcclxuICAgICAgICApO1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdsYW5ndWFnZScsIGxhbmcpO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5nKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbG9hZENvbXBvbmVudCgpIHtcclxuICAgIGxldCBjdXJyZW50VXJsID0gdGhpcy5yb3V0ZXIudXJsO1xyXG4gICAgdGhpcy5yb3V0ZXIucm91dGVSZXVzZVN0cmF0ZWd5LnNob3VsZFJldXNlUm91dGUgPSAoKSA9PiBmYWxzZTtcclxuICAgIHRoaXMucm91dGVyLm9uU2FtZVVybE5hdmlnYXRpb24gPSAncmVsb2FkJztcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtjdXJyZW50VXJsXSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoYW5nZUxhbmd1YWdlKGtleTogc3RyaW5nKSB7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ1VzZXJJZCcsIHRoaXMuYXV0aFNlcnZpY2UudXNlci5wcm9maWxlLmlkKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ0xhbmd1YWdlS2V5Jywga2V5KTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLkFwaVVybCArICdVcGRhdGVMYW5ndWFnZScsIG51bGwsIG51bGwsIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBnZXRVc2VyQ2xhaW1zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5BcGlVcmwgKyAnR2V0VXNlckNsYWltcycsIG51bGwsIG51bGwpO1xyXG4gIH1cclxuXHJcbiAgbG9nRXJyb3IoZXJyb3I6IHN0cmluZykge1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdlcnJvcicsIGVycm9yKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLkFwaVVybCArICdMb2dFcnJvcicsIG51bGwsIG51bGwsIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVVzZXJJbmZvKCkge1xyXG4gICAgbGV0IGlzRXh0ZXJuYWwgPXRoaXMuZW52aXJvbm1lbnRTZXJ2aWNlLmdldElzSWRlbnRpdHlTZXJ2ZXJFeHRlcm5hbCgpLnRvTG93ZXJDYXNlKCkgPT0gJ3RydWUnO1xyXG4gICAgaWYgKGlzRXh0ZXJuYWwpXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VXNlckNsYWltcygpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoJy9jb25uZWN0L3VzZXJpbmZvJyk7XHJcbiAgfVxyXG5cclxuICBzd2l0Y2hSb2xlKHBlcm1pc3Npb25TZXRJRDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnVwZGF0ZVJvbGUocGVybWlzc2lvblNldElEKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICB0aGlzLnVwZGF0ZVVzZXJJbmZvKCkuc3Vic2NyaWJlKChWYWx1ZSkgPT4ge1xyXG4gICAgICAgIGxldCBVc2VySW5mb09iamVjdCA9IFZhbHVlO1xyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0VXNlcigpO1xyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UudXNlci5wcm9maWxlID0gT2JqZWN0LmFzc2lnbihcclxuICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2UudXNlci5wcm9maWxlLFxyXG4gICAgICAgICAgVXNlckluZm9PYmplY3RcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2Uuc3RvclVzZXIodGhpcy5hdXRoU2VydmljZS51c2VyKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlUm9sZShwZXJtaXNzaW9uU2V0SUQ6IHN0cmluZykge1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdVc2VySWQnLCB0aGlzLmF1dGhTZXJ2aWNlLnVzZXIucHJvZmlsZS5pZCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdSb2xlSUQnLCBwZXJtaXNzaW9uU2V0SUQpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQXBpVXJsICsgJ1N3aXRjaFJvbGUnLCBudWxsLCBudWxsLCBwYXJhbXMpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,202 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { HttpHeaders } from "@angular/common/http";
3
- import { RequestOptionsModel } from '../models/RequestOptionsModel';
4
- import { Observable, Subject, throwError } from 'rxjs';
5
- import { map, takeUntil, tap } from 'rxjs/operators';
6
- import { plainToClass } from 'class-transformer';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common/http";
9
- import * as i2 from "../authentication/auth.service";
10
- import * as i3 from "./environment.service";
11
- import * as i4 from "./utility.service";
12
- import * as i5 from "./translate.service";
13
- import * as i6 from "@angular/router";
14
- export class RequestHandlerService {
15
- constructor(http, authService, environmentService, utilityService, bbsfTranslateService, router) {
16
- //using localStorage to avoid call getCurrentLanguage() because it is not all to use async in constructor
17
- this.http = http;
18
- this.authService = authService;
19
- this.environmentService = environmentService;
20
- this.utilityService = utilityService;
21
- this.bbsfTranslateService = bbsfTranslateService;
22
- this.router = router;
23
- this.requestOptions = new RequestOptionsModel();
24
- this.currentLanguage = "";
25
- this.onDestroy$ = new Subject();
26
- this.bbsfTranslateService.onLangChange.subscribe((event) => {
27
- if (this.currentLanguage != event.lang) {
28
- this.currentLanguage = event.lang;
29
- }
30
- });
31
- }
32
- getLuckyNumber() {
33
- return Observable.create((subject) => {
34
- setInterval(() => {
35
- const number = Math.floor(Math.random() * 10);
36
- console.log(number);
37
- subject.next(number);
38
- }, 1000);
39
- }).pipe(takeUntil(this.onDestroy$));
40
- }
41
- get(Url, params, responseType, requestOptions) {
42
- if (requestOptions)
43
- this.requestOptions = requestOptions;
44
- let headers = this.getHeaders();
45
- if (!this.requestOptions.disableBlockUI)
46
- this.utilityService.startBlockUI();
47
- let object;
48
- return this.http.get(this.environmentService.getApiUrl() + Url, { headers: headers, params: params }).pipe(takeUntil(this.onDestroy$), tap((result) => {
49
- if (!this.requestOptions.disableBlockUI)
50
- this.utilityService.stopBlockUI();
51
- }, error => {
52
- if (!this.requestOptions.disableErrorHandler)
53
- this.handleError(error);
54
- }), map((data) => {
55
- if (this.requestOptions.castResponsetoClass)
56
- return plainToClass(responseType, data, { excludeExtraneousValues: true });
57
- else
58
- return data;
59
- }));
60
- }
61
- post(Url, model, responseType, params, requestOptions) {
62
- if (requestOptions)
63
- this.requestOptions = requestOptions;
64
- let headers = this.getHeaders();
65
- if (!this.requestOptions.disableBlockUI)
66
- this.utilityService.startBlockUI();
67
- return this.http.post(this.environmentService.getApiUrl() + Url, model, { headers: headers, params: params, responseType: this.requestOptions.responseType }).pipe(takeUntil(this.onDestroy$), tap((result) => {
68
- if (!this.requestOptions.disableBlockUI)
69
- this.utilityService.stopBlockUI();
70
- }, error => {
71
- if (!this.requestOptions.disableErrorHandler)
72
- this.handleError(error);
73
- }), map((data) => {
74
- if (this.requestOptions.castResponsetoClass)
75
- return plainToClass(responseType, data, { excludeExtraneousValues: true });
76
- else
77
- return data;
78
- }));
79
- }
80
- delete(Url, deletedId, requestOptions, responseType, params) {
81
- if (requestOptions)
82
- this.requestOptions = requestOptions;
83
- let headers = this.getHeaders();
84
- if (!this.requestOptions.disableBlockUI)
85
- this.utilityService.startBlockUI();
86
- return this.http.delete(this.environmentService.getApiUrl() + Url + `/${deletedId}`, { headers: headers, params: params }).pipe(takeUntil(this.onDestroy$), tap((result) => {
87
- if (!this.requestOptions.disableBlockUI)
88
- this.utilityService.stopBlockUI();
89
- }, error => {
90
- if (!this.requestOptions.disableErrorHandler)
91
- this.handleError(error);
92
- }), map((data) => {
93
- if (this.requestOptions.castResponsetoClass)
94
- return plainToClass(responseType, data, { excludeExtraneousValues: true });
95
- else
96
- return data;
97
- }));
98
- }
99
- put(Url, model, params, responseType, requestOptions) {
100
- if (requestOptions)
101
- this.requestOptions = requestOptions;
102
- let headers = this.getHeaders();
103
- if (!this.requestOptions.disableBlockUI)
104
- this.utilityService.startBlockUI();
105
- return this.http.put(this.environmentService.getApiUrl() + Url, model, { headers: headers, params: params, responseType: this.requestOptions.responseType }).pipe(takeUntil(this.onDestroy$), tap((result) => {
106
- if (!this.requestOptions.disableBlockUI)
107
- this.utilityService.stopBlockUI();
108
- }, error => {
109
- if (!this.requestOptions.disableErrorHandler)
110
- this.handleError(error);
111
- }), map((data) => {
112
- if (this.requestOptions.castResponsetoClass)
113
- return plainToClass(responseType, data, { excludeExtraneousValues: true });
114
- else
115
- return data;
116
- }));
117
- }
118
- patch(Url, model, responseType, params, requestOptions) {
119
- if (requestOptions)
120
- this.requestOptions = requestOptions;
121
- let headers = new HttpHeaders({
122
- 'Content-Type': 'application/json',
123
- 'Authorization': this.authService.authorizationHeaderValue(),
124
- });
125
- this.currentLanguage = localStorage.getItem('language');
126
- headers = headers.set('Accept-Language', this.currentLanguage.toString());
127
- headers = headers.set('ignore-cookies', 'true');
128
- if (!this.requestOptions.disableBlockUI)
129
- this.utilityService.startBlockUI();
130
- return this.http.patch(this.environmentService.getApiUrl() + Url, model, { headers: headers, params: params, responseType: this.requestOptions.responseType }).pipe(takeUntil(this.onDestroy$), tap((result) => {
131
- if (!this.requestOptions.disableBlockUI)
132
- this.utilityService.stopBlockUI();
133
- }, error => {
134
- if (!this.requestOptions.disableErrorHandler)
135
- this.handleError(error);
136
- }), map((data) => {
137
- if (this.requestOptions.castResponsetoClass)
138
- return plainToClass(responseType, data, { excludeExtraneousValues: true });
139
- else
140
- return data;
141
- }));
142
- }
143
- download(Url, params, requestOptions) {
144
- if (requestOptions)
145
- this.requestOptions = requestOptions;
146
- let headers = this.getHeaders();
147
- if (!this.requestOptions.disableBlockUI)
148
- this.utilityService.startBlockUI();
149
- return this.http.get(this.environmentService.getApiUrl() + Url, { headers: headers, params: params, responseType: this.requestOptions.responseType }).pipe(takeUntil(this.onDestroy$), tap((result) => {
150
- if (!this.requestOptions.disableBlockUI)
151
- this.utilityService.stopBlockUI();
152
- }, error => {
153
- if (!this.requestOptions.disableErrorHandler)
154
- this.handleError(error);
155
- }));
156
- }
157
- destroyHandler() {
158
- this.onDestroy$.next();
159
- }
160
- ngOnDestroy() {
161
- console.log("clearInterval");
162
- this.destroyHandler();
163
- }
164
- handleError(err) {
165
- var isEnglish = this.utilityService.getCurrentLanguage() == "en";
166
- if (err.error instanceof ErrorEvent) {
167
- this.utilityService.notifyErrorMessage();
168
- }
169
- else {
170
- if (err.status == 400)
171
- throwError(err); //error 400 is thrown to be catch by the Form component to handle Fluent validation errors
172
- else if (err.status == 401)
173
- this.router.navigate(["/Admin/account/login"]);
174
- else if (err.status == 403)
175
- this.utilityService.notifyErrorMessage(isEnglish ? "Sorry, You're not authorized to access this action" : "عذرا ليس لديك الصلاحيه لهذا الطلب");
176
- else if (err.status == 510)
177
- this.utilityService.notifyErrorMessage(isEnglish ? "Can not delete this item as it is related to others" : "لا يمكن حذف هذا العنصر لأنه مرتبط بعناصر أخرى");
178
- else if (err.status == 515)
179
- this.utilityService.notifyErrorMessage((err.error ? err.error.Message : err.message));
180
- else {
181
- console.log(`error message is: ${err.error ? err.error.Message : err.message}`);
182
- this.utilityService.notifyErrorMessage(this.utilityService.getResourceValue("ErrorMassage"));
183
- }
184
- }
185
- this.utilityService.stopBlockUI();
186
- }
187
- getHeaders() {
188
- return new HttpHeaders({
189
- 'Content-Type': 'application/json',
190
- 'Authorization': this.authService.authorizationHeaderValue(),
191
- 'Client-Local-Time-Zone': Intl.DateTimeFormat().resolvedOptions().timeZone,
192
- 'Accept-Language': localStorage.getItem('language'),
193
- 'ignore-cookies': 'true'
194
- });
195
- }
196
- }
197
- RequestHandlerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RequestHandlerService, deps: [{ token: i1.HttpClient }, { token: i2.AuthService }, { token: i3.EnvironmentService }, { token: i4.UtilityService }, { token: i5.BBSFTranslateService }, { token: i6.Router }], target: i0.ɵɵFactoryTarget.Injectable });
198
- RequestHandlerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RequestHandlerService });
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RequestHandlerService, decorators: [{
200
- type: Injectable
201
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.AuthService }, { type: i3.EnvironmentService }, { type: i4.UtilityService }, { type: i5.BBSFTranslateService }, { type: i6.Router }]; } });
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdGhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtdXRpbGl0aWVzL3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL3JlcXVlc3RoYW5kbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFpQyxXQUFXLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUdwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7OztBQUtqRCxNQUFNLE9BQU8scUJBQXFCO0lBSWhDLFlBRVksSUFBZ0IsRUFDaEIsV0FBd0IsRUFDeEIsa0JBQXNDLEVBQ3RDLGNBQThCLEVBQzlCLG9CQUEwQyxFQUMxQyxNQUFjO1FBRXhCLDBHQUEwRztRQVBoRyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVZsQixtQkFBYyxHQUF3QixJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDaEUsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDdEIsZUFBVSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBWXJELElBQUksQ0FB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QyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO2dCQUMvRSxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQTthQUM3RjtTQUNKO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU8sVUFBVTtRQUNoQixPQUFPLElBQUksV0FBVyxDQUFDO1lBQ3JCLGNBQWMsRUFBRSxrQkFBa0I7WUFDbEMsZUFBZSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCLEVBQUU7WUFDNUQsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVE7WUFDMUUsaUJBQWlCLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDbkQsZ0JBQWdCLEVBQUUsTUFBTTtTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDOzttSEFsT1UscUJBQXFCO3VIQUFyQixxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSwgUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgUmVxdWVzdE9wdGlvbnNNb2RlbCB9IGZyb20gJy4uL21vZGVscy9SZXF1ZXN0T3B0aW9uc01vZGVsJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoZW50aWNhdGlvbi9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuL2Vudmlyb25tZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi91dGlsaXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCQlNGVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUmVxdWVzdEhhbmRsZXJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHJlcXVlc3RPcHRpb25zOiBSZXF1ZXN0T3B0aW9uc01vZGVsID0gbmV3IFJlcXVlc3RPcHRpb25zTW9kZWwoKTtcclxuICBwcml2YXRlIGN1cnJlbnRMYW5ndWFnZSA9IFwiXCI7XHJcbiAgcHVibGljIG9uRGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yXHJcbiAgICAoXHJcbiAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgZW52aXJvbm1lbnRTZXJ2aWNlOiBFbnZpcm9ubWVudFNlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIGJic2ZUcmFuc2xhdGVTZXJ2aWNlOiBCQlNGVHJhbnNsYXRlU2VydmljZSxcclxuICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICAgKSB7XHJcbiAgICAvL3VzaW5nIGxvY2FsU3RvcmFnZSAgdG8gYXZvaWQgY2FsbCBnZXRDdXJyZW50TGFuZ3VhZ2UoKSBiZWNhdXNlIGl0IGlzIG5vdCBhbGwgdG8gdXNlIGFzeW5jIGluIGNvbnN0cnVjdG9yXHJcblxyXG4gICAgdGhpcy5iYnNmVHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5jdXJyZW50TGFuZ3VhZ2UgIT0gZXZlbnQubGFuZykge1xyXG4gICAgICAgIHRoaXMuY3VycmVudExhbmd1YWdlID0gZXZlbnQubGFuZztcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRMdWNreU51bWJlcigpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG5cclxuICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgoc3ViamVjdDogU3ViamVjdDxudW1iZXI+KSA9PiB7XHJcbiAgICAgIHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgICBjb25zdCBudW1iZXIgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMCk7XHJcbiAgICAgICAgY29uc29sZS5sb2cobnVtYmVyKVxyXG4gICAgICAgIHN1YmplY3QubmV4dChudW1iZXIpO1xyXG4gICAgICB9LCAxMDAwKTtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKTtcclxuICB9XHJcblxyXG5cclxuICBnZXQ8VD4oVXJsOiBzdHJpbmcsIHBhcmFtcz86IEh0dHBQYXJhbXMsIHJlc3BvbnNlVHlwZT86IG5ldyAoKSA9PiBULCByZXF1ZXN0T3B0aW9ucz86IFJlcXVlc3RPcHRpb25zTW9kZWwpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIGlmIChyZXF1ZXN0T3B0aW9ucylcclxuICAgICAgdGhpcy5yZXF1ZXN0T3B0aW9ucyA9IHJlcXVlc3RPcHRpb25zO1xyXG5cclxuICAgIGxldCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoIXRoaXMucmVxdWVzdE9wdGlvbnMuZGlzYWJsZUJsb2NrVUkpXHJcbiAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RhcnRCbG9ja1VJKCk7XHJcbiAgICBsZXQgb2JqZWN0OiBUO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VD4odGhpcy5lbnZpcm9ubWVudFNlcnZpY2UuZ2V0QXBpVXJsKCkgKyBVcmwsIHsgaGVhZGVyczogaGVhZGVycywgcGFyYW1zOiBwYXJhbXMgfSkucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JCksXHJcbiAgICAgIHRhcCgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJlcXVlc3RPcHRpb25zLmRpc2FibGVCbG9ja1VJKVxyXG4gICAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gICAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJlcXVlc3RPcHRpb25zLmRpc2FibGVFcnJvckhhbmRsZXIpXHJcbiAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcclxuICAgICAgfSksIG1hcCgoZGF0YTogVCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnJlcXVlc3RPcHRpb25zLmNhc3RSZXNwb25zZXRvQ2xhc3MpXHJcbiAgICAgICAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKHJlc3BvbnNlVHlwZSwgZGF0YSwgeyBleGNsdWRlRXh0cmFuZW91c1ZhbHVlczogdHJ1ZSB9KTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgfSlcclxuICAgICkgYXMgT2JzZXJ2YWJsZTxUPjtcclxuICB9XHJcblxyXG4gIHBvc3Q8VD4oVXJsOiBzdHJpbmcsIG1vZGVsPzogYW55LCByZXNwb25zZVR5cGU/OiBuZXcgKCkgPT4gVCwgcGFyYW1zPzogSHR0cFBhcmFtcywgcmVxdWVzdE9wdGlvbnM/OiBSZXF1ZXN0T3B0aW9uc01vZGVsKTogT2JzZXJ2YWJsZTxUPiB7XHJcblxyXG4gICAgaWYgKHJlcXVlc3RPcHRpb25zKVxyXG4gICAgICB0aGlzLnJlcXVlc3RPcHRpb25zID0gcmVxdWVzdE9wdGlvbnM7XHJcblxyXG4gICAgbGV0IGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoKTtcclxuICAgIGlmICghdGhpcy5yZXF1ZXN0T3B0aW9ucy5kaXNhYmxlQmxvY2tVSSlcclxuICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5zdGFydEJsb2NrVUkoKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUPih0aGlzLmVudmlyb25tZW50U2VydmljZS5nZXRBcGlVcmwoKSArIFVybCwgbW9kZWwsIHsgaGVhZGVyczogaGVhZGVycywgcGFyYW1zOiBwYXJhbXMsIHJlc3BvbnNlVHlwZTogdGhpcy5yZXF1ZXN0T3B0aW9ucy5yZXNwb25zZVR5cGUgfSkucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JCksXHJcbiAgICAgIHRhcCgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJlcXVlc3RPcHRpb25zLmRpc2FibGVCbG9ja1VJKVxyXG4gICAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gICAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJlcXVlc3RPcHRpb25zLmRpc2FibGVFcnJvckhhbmRsZXIpXHJcbiAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcclxuICAgICAgfSksIG1hcCgoZGF0YTogVCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnJlcXVlc3RPcHRpb25zLmNhc3RSZXNwb25zZXRvQ2xhc3MpXHJcbiAgICAgICAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKHJlc3BvbnNlVHlwZSwgZGF0YSwgeyBleGNsdWRlRXh0cmFuZW91c1ZhbHVlczogdHJ1ZSB9KTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBkZWxldGU8VD4oVXJsOiBzdHJpbmcsIGRlbGV0ZWRJZDogc3RyaW5nLCByZXF1ZXN0T3B0aW9ucz86IFJlcXVlc3RPcHRpb25zTW9kZWwsIHJlc3BvbnNlVHlwZT86IG5ldyAoKSA9PiBULCBwYXJhbXM/OiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICBpZiAocmVxdWVzdE9wdGlvbnMpXHJcbiAgICAgIHRoaXMucmVxdWVzdE9wdGlvbnMgPSByZXF1ZXN0T3B0aW9ucztcclxuXHJcbiAgICBsZXQgaGVhZGVycyA9IHRoaXMuZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKCF0aGlzLnJlcXVlc3RPcHRpb25zLmRpc2FibGVCbG9ja1VJKVxyXG4gICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0YXJ0QmxvY2tVSSgpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8VD4odGhpcy5lbnZpcm9ubWVudFNlcnZpY2UuZ2V0QXBpVXJsKCkgKyBVcmwgKyBgLyR7ZGVsZXRlZElkfWAsIHsgaGVhZGVyczogaGVhZGVycywgcGFyYW1zOiBwYXJhbXMgfSkucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JCksXHJcbiAgICAgIHRhcCgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJlcXVlc3RPcHRpb25zLmRpc2FibGVCbG9ja1VJKVxyXG4gICAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gICAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJlcXVlc3RPcHRpb25zLmRpc2FibGVFcnJvckhhbmRsZXIpXHJcbiAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcclxuICAgICAgfSksIG1hcCgoZGF0YTogVCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnJlcXVlc3RPcHRpb25zLmNhc3RSZXNwb25zZXRvQ2xhc3MpXHJcbiAgICAgICAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKHJlc3BvbnNlVHlwZSwgZGF0YSwgeyBleGNsdWRlRXh0cmFuZW91c1ZhbHVlczogdHJ1ZSB9KTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdXQ8VD4oVXJsOiBzdHJpbmcsIG1vZGVsPzogYW55LCBwYXJhbXM/OiBIdHRwUGFyYW1zLCByZXNwb25zZVR5cGU/OiBuZXcgKCkgPT4gVCwgcmVxdWVzdE9wdGlvbnM/OiBSZXF1ZXN0T3B0aW9uc01vZGVsKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICBpZiAocmVxdWVzdE9wdGlvbnMpXHJcbiAgICAgIHRoaXMucmVxdWVzdE9wdGlvbnMgPSByZXF1ZXN0T3B0aW9ucztcclxuXHJcbiAgICBsZXQgaGVhZGVycyA9IHRoaXMuZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKCF0aGlzLnJlcXVlc3RPcHRpb25zLmRpc2FibGVCbG9ja1VJKVxyXG4gICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0YXJ0QmxvY2tVSSgpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8VD4odGhpcy5lbnZpcm9ubWVudFNlcnZpY2UuZ2V0QXBpVXJsKCkgKyBVcmwsIG1vZGVsLCB7IGhlYWRlcnM6IGhlYWRlcnMsIHBhcmFtczogcGFyYW1zLCByZXNwb25zZVR5cGU6IHRoaXMucmVxdWVzdE9wdGlvbnMucmVzcG9uc2VUeXBlIH0pLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpLFxyXG4gICAgICB0YXAoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5yZXF1ZXN0T3B0aW9ucy5kaXNhYmxlQmxvY2tVSSlcclxuICAgICAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RvcEJsb2NrVUkoKTtcclxuICAgICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5yZXF1ZXN0T3B0aW9ucy5kaXNhYmxlRXJyb3JIYW5kbGVyKVxyXG4gICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcik7XHJcbiAgICAgIH0pLCBtYXAoKGRhdGE6IFQpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5yZXF1ZXN0T3B0aW9ucy5jYXN0UmVzcG9uc2V0b0NsYXNzKVxyXG4gICAgICAgICAgcmV0dXJuIHBsYWluVG9DbGFzcyhyZXNwb25zZVR5cGUsIGRhdGEsIHsgZXhjbHVkZUV4dHJhbmVvdXNWYWx1ZXM6IHRydWUgfSk7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcGF0Y2g8VD4oVXJsOiBzdHJpbmcsIG1vZGVsPzogYW55LCByZXNwb25zZVR5cGU/OiBuZXcgKCkgPT4gVCwgcGFyYW1zPzogSHR0cFBhcmFtcywgcmVxdWVzdE9wdGlvbnM/OiBSZXF1ZXN0T3B0aW9uc01vZGVsKTogT2JzZXJ2YWJsZTxUPiB7XHJcblxyXG4gICAgaWYgKHJlcXVlc3RPcHRpb25zKVxyXG4gICAgICB0aGlzLnJlcXVlc3RPcHRpb25zID0gcmVxdWVzdE9wdGlvbnM7XHJcblxyXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAnQXV0aG9yaXphdGlvbic6IHRoaXMuYXV0aFNlcnZpY2UuYXV0aG9yaXphdGlvbkhlYWRlclZhbHVlKCksXHJcblxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmN1cnJlbnRMYW5ndWFnZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5ndWFnZScpO1xyXG4gICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQtTGFuZ3VhZ2UnLCB0aGlzLmN1cnJlbnRMYW5ndWFnZS50b1N0cmluZygpKTtcclxuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnaWdub3JlLWNvb2tpZXMnLCAndHJ1ZScpO1xyXG4gICAgaWYgKCF0aGlzLnJlcXVlc3RPcHRpb25zLmRpc2FibGVCbG9ja1VJKVxyXG4gICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0YXJ0QmxvY2tVSSgpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8VD4odGhpcy5lbnZpcm9ubWVudFNlcnZpY2UuZ2V0QXBpVXJsKCkgKyBVcmwsIG1vZGVsLCB7IGhlYWRlcnM6IGhlYWRlcnMsIHBhcmFtczogcGFyYW1zLCByZXNwb25zZVR5cGU6IHRoaXMucmVxdWVzdE9wdGlvbnMucmVzcG9uc2VUeXBlIH0pLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpLFxyXG4gICAgICB0YXAoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5yZXF1ZXN0T3B0aW9ucy5kaXNhYmxlQmxvY2tVSSlcclxuICAgICAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RvcEJsb2NrVUkoKTtcclxuICAgICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5yZXF1ZXN0T3B0aW9ucy5kaXNhYmxlRXJyb3JIYW5kbGVyKVxyXG4gICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcik7XHJcbiAgICAgIH0pLCBtYXAoKGRhdGE6IFQpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5yZXF1ZXN0T3B0aW9ucy5jYXN0UmVzcG9uc2V0b0NsYXNzKVxyXG4gICAgICAgICAgcmV0dXJuIHBsYWluVG9DbGFzcyhyZXNwb25zZVR5cGUsIGRhdGEsIHsgZXhjbHVkZUV4dHJhbmVvdXNWYWx1ZXM6IHRydWUgfSlcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIGRvd25sb2FkPFQ+KFVybDogc3RyaW5nLCBwYXJhbXM/OiBIdHRwUGFyYW1zLCByZXF1ZXN0T3B0aW9ucz86IFJlcXVlc3RPcHRpb25zTW9kZWwpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIGlmIChyZXF1ZXN0T3B0aW9ucylcclxuICAgICAgdGhpcy5yZXF1ZXN0T3B0aW9ucyA9IHJlcXVlc3RPcHRpb25zO1xyXG5cclxuICAgIGxldCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoIXRoaXMucmVxdWVzdE9wdGlvbnMuZGlzYWJsZUJsb2NrVUkpXHJcbiAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RhcnRCbG9ja1VJKCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUPih0aGlzLmVudmlyb25tZW50U2VydmljZS5nZXRBcGlVcmwoKSArIFVybCwgeyBoZWFkZXJzOiBoZWFkZXJzLCBwYXJhbXM6IHBhcmFtcywgcmVzcG9uc2VUeXBlOiB0aGlzLnJlcXVlc3RPcHRpb25zLnJlc3BvbnNlVHlwZSB9KS5waXBlKFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSxcclxuICAgICAgdGFwKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMucmVxdWVzdE9wdGlvbnMuZGlzYWJsZUJsb2NrVUkpXHJcbiAgICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKCk7XHJcbiAgICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMucmVxdWVzdE9wdGlvbnMuZGlzYWJsZUVycm9ySGFuZGxlcilcclxuICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkZXN0cm95SGFuZGxlcigpOiB2b2lkIHtcclxuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKFwiY2xlYXJJbnRlcnZhbFwiKVxyXG4gICAgdGhpcy5kZXN0cm95SGFuZGxlcigpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycjogSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgIHZhciBpc0VuZ2xpc2ggPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldEN1cnJlbnRMYW5ndWFnZSgpID09IFwiZW5cIjtcclxuICAgIGlmIChlcnIuZXJyb3IgaW5zdGFuY2VvZiBFcnJvckV2ZW50KSB7XHJcbiAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uubm90aWZ5RXJyb3JNZXNzYWdlKClcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgIGlmIChlcnIuc3RhdHVzID09IDQwMClcclxuICAgICAgICB0aHJvd0Vycm9yKGVycik7Ly9lcnJvciA0MDAgaXMgdGhyb3duIHRvIGJlIGNhdGNoIGJ5IHRoZSBGb3JtIGNvbXBvbmVudCB0byBoYW5kbGUgRmx1ZW50IHZhbGlkYXRpb24gZXJyb3JzXHJcbiAgICAgIGVsc2UgaWYgKGVyci5zdGF0dXMgPT0gNDAxKVxyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9BZG1pbi9hY2NvdW50L2xvZ2luXCJdKVxyXG4gICAgICBlbHNlIGlmIChlcnIuc3RhdHVzID09IDQwMylcclxuICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLm5vdGlmeUVycm9yTWVzc2FnZShpc0VuZ2xpc2ggPyBcIlNvcnJ5LCBZb3UncmUgbm90IGF1dGhvcml6ZWQgdG8gYWNjZXNzIHRoaXMgYWN0aW9uXCIgOiBcIti52LDYsdinINmE2YrYsyDZhNiv2YrZgyDYp9mE2LXZhNin2K3ZitmHINmE2YfYsNinINin2YTYt9mE2KhcIilcclxuICAgICAgZWxzZSBpZiAoZXJyLnN0YXR1cyA9PSA1MTApXHJcbiAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5ub3RpZnlFcnJvck1lc3NhZ2UoaXNFbmdsaXNoID8gXCJDYW4gbm90IGRlbGV0ZSB0aGlzIGl0ZW0gYXMgaXQgaXMgcmVsYXRlZCB0byBvdGhlcnNcIiA6IFwi2YTYpyDZitmF2YPZhiDYrdiw2YEg2YfYsNinINin2YTYudmG2LXYsSDZhNij2YbZhyDZhdix2KrYqNi3INio2LnZhtin2LXYsSDYo9iu2LHZiVwiKVxyXG4gICAgICBlbHNlIGlmIChlcnIuc3RhdHVzID09IDUxNSlcclxuICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLm5vdGlmeUVycm9yTWVzc2FnZSgoZXJyLmVycm9yID8gZXJyLmVycm9yLk1lc3NhZ2UgOiBlcnIubWVzc2FnZSkpXHJcbiAgICAgIGVsc2VcclxuICAgICAgICB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhgZXJyb3IgbWVzc2FnZSBpczogJHtlcnIuZXJyb3IgPyBlcnIuZXJyb3IuTWVzc2FnZSA6IGVyci5tZXNzYWdlfWApXHJcbiAgICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLm5vdGlmeUVycm9yTWVzc2FnZSh0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFcnJvck1hc3NhZ2VcIikpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKCkge1xyXG4gICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICdBdXRob3JpemF0aW9uJzogdGhpcy5hdXRoU2VydmljZS5hdXRob3JpemF0aW9uSGVhZGVyVmFsdWUoKSxcclxuICAgICAgJ0NsaWVudC1Mb2NhbC1UaW1lLVpvbmUnOiBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmUsXHJcbiAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFuZ3VhZ2UnKSxcclxuICAgICAgJ2lnbm9yZS1jb29raWVzJzogJ3RydWUnXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,55 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Inject, Injectable } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./translate.service";
5
- export class StylesBundleService {
6
- constructor(document, translateService) {
7
- this.document = document;
8
- this.translateService = translateService;
9
- }
10
- loadThemes(lang, bundleEnglishName, bundleArabicName) {
11
- if (lang == "ar") {
12
- this.loadStyleBundle(bundleArabicName.toString());
13
- document.querySelector('html').setAttribute("b-lang", "ar"); //use b-lang instead of lang to fix firefox number inputs in Arabic locale
14
- document.querySelector('html').setAttribute("dir", "rtl");
15
- }
16
- else {
17
- this.loadStyleBundle(bundleEnglishName.toString());
18
- document.querySelector('html').setAttribute("b-lang", "en");
19
- document.querySelector('html').setAttribute("dir", "ltr");
20
- }
21
- }
22
- loadThemesColor(theme, bundleDarkName, bundleLightName) {
23
- if (theme == "Light")
24
- this.loadStyleBundle(bundleLightName.toString());
25
- else
26
- this.loadStyleBundle(bundleDarkName.toString());
27
- }
28
- loadStyleBundle(styleName) {
29
- const head = this.document.getElementsByTagName('head')[0];
30
- let themeLink = this.document.getElementById('client-theme');
31
- if (themeLink && themeLink.href.includes(styleName)) {
32
- return;
33
- }
34
- else if (themeLink && !themeLink.href.includes(styleName)) {
35
- themeLink.remove();
36
- }
37
- const style = this.document.createElement('link');
38
- style.id = 'client-theme';
39
- style.rel = 'stylesheet';
40
- style.href = `${styleName}`;
41
- head.appendChild(style);
42
- }
43
- }
44
- StylesBundleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StylesBundleService, deps: [{ token: DOCUMENT }, { token: i1.BBSFTranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
45
- StylesBundleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StylesBundleService, providedIn: 'root' });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StylesBundleService, decorators: [{
47
- type: Injectable,
48
- args: [{
49
- providedIn: 'root'
50
- }]
51
- }], ctorParameters: function () { return [{ type: Document, decorators: [{
52
- type: Inject,
53
- args: [DOCUMENT]
54
- }] }, { type: i1.BBSFTranslateService }]; } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzYnVuZGxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9zdHlsZXNidW5kbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU9uRCxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQXNDLFFBQWtCLEVBQVUsZ0JBQXNDO1FBQWxFLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXNCO0lBQUksQ0FBQztJQUU3RyxVQUFVLENBQUMsSUFBWSxFQUFFLGlCQUF5QixFQUFFLGdCQUF3QjtRQUMxRSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7WUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1lBQ2pELFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLDBFQUEwRTtZQUN2SSxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDM0Q7YUFBTTtZQUNMLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtZQUNsRCxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDNUQsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzNEO0lBRUgsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhLEVBQUUsY0FBc0IsRUFBRSxlQUF1QjtRQUM1RSxJQUFJLEtBQUssSUFBSSxPQUFPO1lBQ2xCLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7O1lBRWpELElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVELGVBQWUsQ0FBQyxTQUFpQjtRQUMvQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTNELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBb0IsQ0FBQztRQUVoRixJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNuRCxPQUFPO1NBQ1I7YUFDSSxJQUFJLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3pELFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNwQjtRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELEtBQUssQ0FBQyxFQUFFLEdBQUcsY0FBYyxDQUFDO1FBQzFCLEtBQUssQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDO1FBQ3pCLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxTQUFTLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7O2lIQXhDVSxtQkFBbUIsa0JBRVYsUUFBUTtxSEFGakIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjswREFHaUQsUUFBUTswQkFBM0MsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmxvY2tVSSwgTmdCbG9ja1VJIH0gZnJvbSAnbmctYmxvY2stdWknO1xyXG5pbXBvcnQgeyBCQlNGVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3R5bGVzQnVuZGxlU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LCBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbG9hZFRoZW1lcyhsYW5nOiBzdHJpbmcsIGJ1bmRsZUVuZ2xpc2hOYW1lOiBzdHJpbmcsIGJ1bmRsZUFyYWJpY05hbWU6IHN0cmluZykge1xyXG4gICAgaWYgKGxhbmcgPT0gXCJhclwiKSB7XHJcbiAgICAgIHRoaXMubG9hZFN0eWxlQnVuZGxlKGJ1bmRsZUFyYWJpY05hbWUudG9TdHJpbmcoKSlcclxuICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaHRtbCcpLnNldEF0dHJpYnV0ZShcImItbGFuZ1wiLCBcImFyXCIpOyAvL3VzZSBiLWxhbmcgaW5zdGVhZCBvZiBsYW5nIHRvIGZpeCBmaXJlZm94IG51bWJlciBpbnB1dHMgaW4gQXJhYmljIGxvY2FsZVxyXG4gICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdodG1sJykuc2V0QXR0cmlidXRlKFwiZGlyXCIsIFwicnRsXCIpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5sb2FkU3R5bGVCdW5kbGUoYnVuZGxlRW5nbGlzaE5hbWUudG9TdHJpbmcoKSlcclxuICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaHRtbCcpLnNldEF0dHJpYnV0ZShcImItbGFuZ1wiLCBcImVuXCIpO1xyXG4gICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdodG1sJykuc2V0QXR0cmlidXRlKFwiZGlyXCIsIFwibHRyXCIpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGxvYWRUaGVtZXNDb2xvcih0aGVtZTogc3RyaW5nLCBidW5kbGVEYXJrTmFtZTogc3RyaW5nLCBidW5kbGVMaWdodE5hbWU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoZW1lID09IFwiTGlnaHRcIilcclxuICAgICAgdGhpcy5sb2FkU3R5bGVCdW5kbGUoYnVuZGxlTGlnaHROYW1lLnRvU3RyaW5nKCkpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmxvYWRTdHlsZUJ1bmRsZShidW5kbGVEYXJrTmFtZS50b1N0cmluZygpKVxyXG4gIH1cclxuXHJcbiAgbG9hZFN0eWxlQnVuZGxlKHN0eWxlTmFtZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBoZWFkID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xyXG5cclxuICAgIGxldCB0aGVtZUxpbmsgPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbGllbnQtdGhlbWUnKSBhcyBIVE1MTGlua0VsZW1lbnQ7XHJcblxyXG4gICAgaWYgKHRoZW1lTGluayAmJiB0aGVtZUxpbmsuaHJlZi5pbmNsdWRlcyhzdHlsZU5hbWUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoZW1lTGluayAmJiAhdGhlbWVMaW5rLmhyZWYuaW5jbHVkZXMoc3R5bGVOYW1lKSkge1xyXG4gICAgICB0aGVtZUxpbmsucmVtb3ZlKCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBzdHlsZSA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xyXG4gICAgc3R5bGUuaWQgPSAnY2xpZW50LXRoZW1lJztcclxuICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JztcclxuICAgIHN0eWxlLmhyZWYgPSBgJHtzdHlsZU5hbWV9YDtcclxuICAgIGhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbiJdfQ==
@@ -1,14 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { TranslateService } from "@ngx-translate/core";
3
- import * as i0 from "@angular/core";
4
- export class BBSFTranslateService extends TranslateService {
5
- }
6
- BBSFTranslateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BBSFTranslateService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
7
- BBSFTranslateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BBSFTranslateService, providedIn: 'root' });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BBSFTranslateService, decorators: [{
9
- type: Injectable,
10
- args: [{
11
- providedIn: 'root'
12
- }]
13
- }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUt2RCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZ0JBQWdCOztrSEFBN0Msb0JBQW9CO3NIQUFwQixvQkFBb0IsY0FGakIsTUFBTTs0RkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCQlNGVHJhbnNsYXRlU2VydmljZSBleHRlbmRzIFRyYW5zbGF0ZVNlcnZpY2Uge1xyXG59Il19
@@ -1,18 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./translate.service";
4
- export class TranslationResolverService {
5
- constructor(translateService) {
6
- this.translateService = translateService;
7
- }
8
- resolve() {
9
- return this.translateService.getTranslation(this.translateService.currentLang);
10
- }
11
- }
12
- TranslationResolverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslationResolverService, deps: [{ token: i1.BBSFTranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
13
- TranslationResolverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslationResolverService, providedIn: 'root' });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslationResolverService, decorators: [{
15
- type: Injectable,
16
- args: [{ providedIn: 'root' }]
17
- }], ctorParameters: function () { return [{ type: i1.BBSFTranslateService }]; } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25yZXNvbHZlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvdHJhbnNsYXRpb25yZXNvbHZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8zQyxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLFlBQW9CLGdCQUFzQztRQUF0QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXNCO0lBQUcsQ0FBQztJQUU5RCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUN6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUNsQyxDQUFDO0lBQ0osQ0FBQzs7d0hBUFUsMEJBQTBCOzRIQUExQiwwQkFBMEIsY0FEYixNQUFNOzRGQUNuQiwwQkFBMEI7a0JBRHRDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJlc29sdmUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBCQlNGVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCIuL3RyYW5zbGF0ZS5zZXJ2aWNlXCI7XHJcblxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0aW9uUmVzb2x2ZXJTZXJ2aWNlIGltcGxlbWVudHMgUmVzb2x2ZTxhbnk+IHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlKSB7fVxyXG5cclxuICByZXNvbHZlKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldFRyYW5zbGF0aW9uKFxyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmdcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,90 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { ToastrService } from 'ngx-toastr';
4
- import { BlockUI } from 'ng-block-ui';
5
- import { AppInjector } from '../../bbsf-utilities.module';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./translate.service";
8
- import * as i2 from "../authentication/auth.service";
9
- import * as i3 from "./environment.service";
10
- export class UtilityService {
11
- constructor(translator, authService, environmentService) {
12
- this.translator = translator;
13
- this.authService = authService;
14
- this.environmentService = environmentService;
15
- this.isCreatedBefore = false;
16
- }
17
- getResourceValue(Key) {
18
- let ResourceValue = this.translator.instant(Key);
19
- return ResourceValue;
20
- }
21
- getCurrentLanguage() {
22
- let currentLanguage = this.environmentService.getDefaultLanguage();
23
- let lang = localStorage.getItem('language');
24
- if (lang)
25
- currentLanguage = lang;
26
- else
27
- localStorage.setItem('language', currentLanguage);
28
- return currentLanguage;
29
- }
30
- isCurrentLanguageEnglish() {
31
- return this.getCurrentLanguage() == "en";
32
- }
33
- isCurrentLanguageArabic() {
34
- return this.getCurrentLanguage() == "ar";
35
- }
36
- notifySuccessMessage(Message, title, time, showHeader = true) {
37
- let MessageTemplate = this.getResourceValue("SuccessMessage");
38
- let titleTemplate;
39
- if (Message) {
40
- MessageTemplate = Message;
41
- }
42
- if (title) {
43
- titleTemplate = title;
44
- }
45
- let toaster = AppInjector.get(ToastrService);
46
- showHeader ? toaster.success(MessageTemplate, titleTemplate) : toaster.success(MessageTemplate);
47
- }
48
- notifyErrorMessage(Message, title, time, showHeader = true) {
49
- let MessageTemplate = this.getResourceValue("ErrorMessage");
50
- let titleTemplate = this.getResourceValue("Error");
51
- if (Message) {
52
- MessageTemplate = Message;
53
- }
54
- if (title) {
55
- titleTemplate = title;
56
- }
57
- const toaster = AppInjector.get(ToastrService);
58
- showHeader ? toaster.error(MessageTemplate, titleTemplate) : toaster.error(MessageTemplate);
59
- }
60
- notifyWarningMessage(Message, title, time, showHeader = true) {
61
- let MessageTemplate = this.getResourceValue("WarningMessage");
62
- let titleTemplate = this.getResourceValue("Warning");
63
- if (Message) {
64
- MessageTemplate = Message;
65
- }
66
- if (title) {
67
- titleTemplate = title;
68
- }
69
- const toaster = AppInjector.get(ToastrService);
70
- showHeader ? toaster.warning(MessageTemplate, titleTemplate) : toaster.warning(MessageTemplate);
71
- }
72
- startBlockUI() {
73
- this.blockUI.start();
74
- }
75
- stopBlockUI() {
76
- this.blockUI.stop();
77
- }
78
- }
79
- UtilityService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UtilityService, deps: [{ token: i1.BBSFTranslateService }, { token: i2.AuthService }, { token: i3.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable });
80
- UtilityService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UtilityService, providedIn: 'root' });
81
- __decorate([
82
- BlockUI()
83
- ], UtilityService.prototype, "blockUI", void 0);
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UtilityService, decorators: [{
85
- type: Injectable,
86
- args: [{
87
- providedIn: 'root'
88
- }]
89
- }], ctorParameters: function () { return [{ type: i1.BBSFTranslateService }, { type: i2.AuthService }, { type: i3.EnvironmentService }]; }, propDecorators: { blockUI: [] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvdXRpbGl0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQWEsTUFBTSxhQUFhLENBQUM7QUFHakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7OztBQVExRCxNQUFNLE9BQU8sY0FBYztJQUt6QixZQUFvQixVQUFnQyxFQUFVLFdBQXdCLEVBQVUsa0JBQXNDO1FBQWxILGVBQVUsR0FBVixVQUFVLENBQXNCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBSHRJLG9CQUFlLEdBQUcsS0FBSyxDQUFDO0lBS3hCLENBQUM7SUFHRCxnQkFBZ0IsQ0FBQyxHQUFXO1FBQzFCLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2hELE9BQU8sYUFBYSxDQUFDO0lBRXZCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDbkUsSUFBSSxJQUFJLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QyxJQUFJLElBQUk7WUFDTixlQUFlLEdBQUcsSUFBSSxDQUFDOztZQUV2QixZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNwRCxPQUFPLGVBQWUsQ0FBQztJQUN6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SG9zdCwgU2tpcFNlbGYsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcbmltcG9ydCB7IEJsb2NrVUksIE5nQmxvY2tVSSB9IGZyb20gJ25nLWJsb2NrLXVpJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoZW50aWNhdGlvbi9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCQlNGVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBJbmplY3RvciB9IGZyb20gJy4uLy4uL2Jic2YtdXRpbGl0aWVzLm1vZHVsZSc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4vZW52aXJvbm1lbnQuc2VydmljZSc7XHJcblxyXG5cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFV0aWxpdHlTZXJ2aWNlIHtcclxuXHJcbiAgaXNDcmVhdGVkQmVmb3JlID0gZmFsc2U7XHJcbiAgQEJsb2NrVUkoKSBibG9ja1VJOiBOZ0Jsb2NrVUk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRvcjogQkJTRlRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwcml2YXRlIGVudmlyb25tZW50U2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLCkge1xyXG5cclxuICB9XHJcblxyXG5cclxuICBnZXRSZXNvdXJjZVZhbHVlKEtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCBSZXNvdXJjZVZhbHVlID0gdGhpcy50cmFuc2xhdG9yLmluc3RhbnQoS2V5KVxyXG4gICAgcmV0dXJuIFJlc291cmNlVmFsdWU7XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0Q3VycmVudExhbmd1YWdlKCkge1xyXG4gICAgbGV0IGN1cnJlbnRMYW5ndWFnZSA9IHRoaXMuZW52aXJvbm1lbnRTZXJ2aWNlLmdldERlZmF1bHRMYW5ndWFnZSgpO1xyXG4gICAgbGV0IGxhbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFuZ3VhZ2UnKTtcclxuICAgIGlmIChsYW5nKVxyXG4gICAgICBjdXJyZW50TGFuZ3VhZ2UgPSBsYW5nO1xyXG4gICAgZWxzZVxyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbGFuZ3VhZ2UnLCBjdXJyZW50TGFuZ3VhZ2UpO1xyXG4gICAgcmV0dXJuIGN1cnJlbnRMYW5ndWFnZTtcclxuICB9XHJcbiAgaXNDdXJyZW50TGFuZ3VhZ2VFbmdsaXNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0Q3VycmVudExhbmd1YWdlKCkgPT0gXCJlblwiXHJcbiAgfVxyXG4gIGlzQ3VycmVudExhbmd1YWdlQXJhYmljKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0Q3VycmVudExhbmd1YWdlKCkgPT0gXCJhclwiXHJcbiAgfVxyXG5cclxuICBub3RpZnlTdWNjZXNzTWVzc2FnZShNZXNzYWdlPzogc3RyaW5nLCB0aXRsZT86IHN0cmluZywgdGltZT86IG51bWJlciwgc2hvd0hlYWRlcjogYm9vbGVhbiA9IHRydWUpIHtcclxuXHJcbiAgICBsZXQgTWVzc2FnZVRlbXBsYXRlID0gdGhpcy5nZXRSZXNvdXJjZVZhbHVlKFwiU3VjY2Vzc01lc3NhZ2VcIik7XHJcbiAgICBsZXQgdGl0bGVUZW1wbGF0ZTogc3RyaW5nO1xyXG4gICAgaWYgKE1lc3NhZ2UpIHtcclxuICAgICAgTWVzc2FnZVRlbXBsYXRlID0gTWVzc2FnZTtcclxuICAgIH1cclxuICAgIGlmICh0aXRsZSkge1xyXG4gICAgICB0aXRsZVRlbXBsYXRlID0gdGl0bGU7XHJcbiAgICB9XHJcbiAgICBsZXQgdG9hc3RlciA9IEFwcEluamVjdG9yLmdldChUb2FzdHJTZXJ2aWNlKTtcclxuICAgIHNob3dIZWFkZXIgPyB0b2FzdGVyLnN1Y2Nlc3MoTWVzc2FnZVRlbXBsYXRlLCB0aXRsZVRlbXBsYXRlKSA6IHRvYXN0ZXIuc3VjY2VzcyhNZXNzYWdlVGVtcGxhdGUpO1xyXG4gIH1cclxuXHJcbiAgbm90aWZ5RXJyb3JNZXNzYWdlKE1lc3NhZ2U/OiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nLCB0aW1lPzogbnVtYmVyLCBzaG93SGVhZGVyOiBib29sZWFuID0gdHJ1ZSkge1xyXG5cclxuICAgIGxldCBNZXNzYWdlVGVtcGxhdGUgPSB0aGlzLmdldFJlc291cmNlVmFsdWUoXCJFcnJvck1lc3NhZ2VcIik7XHJcbiAgICBsZXQgdGl0bGVUZW1wbGF0ZSA9IHRoaXMuZ2V0UmVzb3VyY2VWYWx1ZShcIkVycm9yXCIpO1xyXG4gICAgaWYgKE1lc3NhZ2UpIHtcclxuICAgICAgTWVzc2FnZVRlbXBsYXRlID0gTWVzc2FnZTtcclxuICAgIH1cclxuICAgIGlmICh0aXRsZSkge1xyXG4gICAgICB0aXRsZVRlbXBsYXRlID0gdGl0bGU7XHJcbiAgICB9XHJcbiAgICBjb25zdCB0b2FzdGVyID0gQXBwSW5qZWN0b3IuZ2V0KFRvYXN0clNlcnZpY2UpO1xyXG4gICAgc2hvd0hlYWRlciA/IHRvYXN0ZXIuZXJyb3IoTWVzc2FnZVRlbXBsYXRlLCB0aXRsZVRlbXBsYXRlKSA6IHRvYXN0ZXIuZXJyb3IoTWVzc2FnZVRlbXBsYXRlKTtcclxuICB9XHJcblxyXG4gIG5vdGlmeVdhcm5pbmdNZXNzYWdlKE1lc3NhZ2U/OiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nLCB0aW1lPzogbnVtYmVyLCBzaG93SGVhZGVyOiBib29sZWFuID0gdHJ1ZSkge1xyXG5cclxuICAgIGxldCBNZXNzYWdlVGVtcGxhdGUgPSB0aGlzLmdldFJlc291cmNlVmFsdWUoXCJXYXJuaW5nTWVzc2FnZVwiKTtcclxuICAgIGxldCB0aXRsZVRlbXBsYXRlID0gdGhpcy5nZXRSZXNvdXJjZVZhbHVlKFwiV2FybmluZ1wiKTtcclxuICAgIGlmIChNZXNzYWdlKSB7XHJcbiAgICAgIE1lc3NhZ2VUZW1wbGF0ZSA9IE1lc3NhZ2U7XHJcbiAgICB9XHJcbiAgICBpZiAodGl0bGUpIHtcclxuICAgICAgdGl0bGVUZW1wbGF0ZSA9IHRpdGxlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdG9hc3RlciA9IEFwcEluamVjdG9yLmdldChUb2FzdHJTZXJ2aWNlKTtcclxuICAgIHNob3dIZWFkZXIgPyB0b2FzdGVyLndhcm5pbmcoTWVzc2FnZVRlbXBsYXRlLCB0aXRsZVRlbXBsYXRlKSA6IHRvYXN0ZXIud2FybmluZyhNZXNzYWdlVGVtcGxhdGUpO1xyXG4gIH1cclxuXHJcbiAgc3RhcnRCbG9ja1VJKCkge1xyXG4gICAgdGhpcy5ibG9ja1VJLnN0YXJ0KCk7XHJcbiAgfVxyXG4gIHN0b3BCbG9ja1VJKCkge1xyXG4gICAgdGhpcy5ibG9ja1VJLnN0b3AoKTtcclxuICB9XHJcbn1cclxuIl19