vc-create-dashboard 3.0.4 → 3.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/README.md +24 -24
  2. package/esm2022/lib/configurations.mjs +7 -7
  3. package/esm2022/lib/create-dashboard-container/categories/categories-config.mjs +2 -2
  4. package/esm2022/lib/create-dashboard-container/categories/categories.component.mjs +212 -210
  5. package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.mjs +551 -549
  6. package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.mjs +2 -2
  7. package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets.module.mjs +47 -47
  8. package/esm2022/lib/create-dashboard-container/constants/assets.constant.mjs +35 -10
  9. package/esm2022/lib/create-dashboard-container/create-dashboard-config.mjs +2 -2
  10. package/esm2022/lib/create-dashboard-container/create-dashboard.component.mjs +1119 -1121
  11. package/esm2022/lib/create-dashboard-container/create-dashboard.module.mjs +132 -132
  12. package/esm2022/lib/create-dashboard-container/directives/directives.module.mjs +24 -24
  13. package/esm2022/lib/create-dashboard-container/directives/scroll-in-view.directive.mjs +36 -36
  14. package/esm2022/lib/create-dashboard-container/form-group/form-group.component.mjs +153 -153
  15. package/esm2022/lib/create-dashboard-container/frequency/frequency.component.mjs +309 -309
  16. package/esm2022/lib/create-dashboard-container/interfaces/widget-data-model.mjs +2 -2
  17. package/esm2022/lib/create-dashboard-container/pipes/filter.pipe.mjs +30 -30
  18. package/esm2022/lib/create-dashboard-container/pipes/search.pipe.mjs +25 -25
  19. package/esm2022/lib/create-dashboard-container/pipes/text-count.pipe.mjs +19 -19
  20. package/esm2022/lib/create-dashboard-container/responsibility-center/responsibility-center.component.mjs +149 -145
  21. package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories-config.mjs +2 -2
  22. package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories.component.mjs +206 -195
  23. package/esm2022/lib/create-dashboard-container/services/auth.service.mjs +31 -31
  24. package/esm2022/lib/create-dashboard-container/services/configure-widgets.service.mjs +230 -227
  25. package/esm2022/lib/create-dashboard-container/services/create-dashboard.service.mjs +160 -160
  26. package/esm2022/lib/create-dashboard-container/services/pagination.service.mjs +28 -28
  27. package/esm2022/lib/create-dashboard-container/services/urlConfig.service.mjs +29 -29
  28. package/esm2022/lib/create-dashboard-container/user-list/user-list.component.mjs +440 -421
  29. package/esm2022/lib/create-dashboard-container/user-list/user-list.config.mjs +2 -2
  30. package/esm2022/lib/create-dashboard.service.mjs +14 -14
  31. package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.mjs +52 -52
  32. package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer-config.mjs +2 -2
  33. package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer.module.mjs +32 -32
  34. package/esm2022/lib/ui-kit/dialog/dialog-config.mjs +7 -7
  35. package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +17 -17
  36. package/esm2022/lib/ui-kit/dialog/dialog-ref.mjs +11 -11
  37. package/esm2022/lib/ui-kit/dialog/dialog.component.mjs +99 -99
  38. package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +20 -20
  39. package/esm2022/lib/ui-kit/dialog/dialog.service.mjs +56 -56
  40. package/esm2022/lib/ui-kit/dialog/insertion.directive.mjs +17 -17
  41. package/esm2022/lib/ui-kit/floating-bar/floating-bar.component.mjs +57 -57
  42. package/esm2022/lib/ui-kit/floating-bar/floating-bar.module.mjs +32 -32
  43. package/esm2022/lib/ui-kit/formgroup/click-outside.directive.mjs +30 -30
  44. package/esm2022/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +29 -29
  45. package/esm2022/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +34 -34
  46. package/esm2022/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -14
  47. package/esm2022/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +119 -119
  48. package/esm2022/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +39 -39
  49. package/esm2022/lib/ui-kit/formgroup/formgroup.module.mjs +55 -55
  50. package/esm2022/lib/ui-kit/formgroup/pipes/pascal.pipe.mjs +19 -19
  51. package/esm2022/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +24 -24
  52. package/esm2022/lib/ui-kit/no-data/no-data.component.mjs +47 -47
  53. package/esm2022/lib/ui-kit/no-data/no-data.module.mjs +18 -18
  54. package/esm2022/lib/ui-kit/pagination/pagination.component.mjs +130 -130
  55. package/esm2022/lib/ui-kit/pagination/pagination.module.mjs +18 -18
  56. package/esm2022/lib/ui-kit/popover/popover.component.mjs +142 -142
  57. package/esm2022/lib/ui-kit/popover/popover.directive.mjs +93 -93
  58. package/esm2022/lib/ui-kit/popover/popover.module.mjs +21 -21
  59. package/esm2022/lib/ui-kit/popover/popover.service.mjs +23 -23
  60. package/esm2022/lib/ui-kit/select/cs-option/cs-option.component.mjs +41 -41
  61. package/esm2022/lib/ui-kit/select/cs-select/cs-select.component.mjs +107 -107
  62. package/esm2022/lib/ui-kit/select/safe-html.pipe.mjs +21 -21
  63. package/esm2022/lib/ui-kit/select/select.module.mjs +21 -21
  64. package/esm2022/lib/ui-kit/services/cs-select.service.mjs +16 -16
  65. package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.component.mjs +52 -52
  66. package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.module.mjs +18 -18
  67. package/esm2022/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +46 -46
  68. package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +18 -18
  69. package/esm2022/lib/ui-kit/snack-bar/snack-bar.service.mjs +23 -23
  70. package/esm2022/lib/ui-kit/tooltip/tooltip.directive.mjs +168 -168
  71. package/esm2022/lib/ui-kit/tooltip/tooltip.module.mjs +18 -18
  72. package/esm2022/lib/ui-kit/v-loader/loader/loader.component.mjs +24 -24
  73. package/esm2022/lib/ui-kit/v-loader/loader-inline/loader-inline.component.mjs +24 -24
  74. package/esm2022/lib/ui-kit/v-loader/v-loader.module.mjs +19 -19
  75. package/esm2022/public-api.mjs +10 -10
  76. package/esm2022/vc-create-dashboard.mjs +4 -4
  77. package/fesm2022/vc-create-dashboard.mjs +5367 -5309
  78. package/fesm2022/vc-create-dashboard.mjs.map +1 -1
  79. package/index.d.ts +5 -5
  80. package/lib/configurations.d.ts +4 -4
  81. package/lib/create-dashboard-container/categories/categories-config.d.ts +18 -18
  82. package/lib/create-dashboard-container/categories/categories.component.d.ts +65 -31
  83. package/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.d.ts +122 -88
  84. package/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.d.ts +9 -9
  85. package/lib/create-dashboard-container/configure-widgets/configure-widgets.module.d.ts +14 -14
  86. package/lib/create-dashboard-container/constants/assets.constant.d.ts +34 -9
  87. package/lib/create-dashboard-container/create-dashboard-config.d.ts +18 -18
  88. package/lib/create-dashboard-container/create-dashboard.component.d.ts +178 -178
  89. package/lib/create-dashboard-container/create-dashboard.module.d.ts +40 -40
  90. package/lib/create-dashboard-container/directives/directives.module.d.ts +8 -8
  91. package/lib/create-dashboard-container/directives/scroll-in-view.directive.d.ts +12 -12
  92. package/lib/create-dashboard-container/form-group/form-group.component.d.ts +48 -48
  93. package/lib/create-dashboard-container/frequency/frequency.component.d.ts +39 -39
  94. package/lib/create-dashboard-container/interfaces/widget-data-model.d.ts +8 -8
  95. package/lib/create-dashboard-container/pipes/filter.pipe.d.ts +7 -7
  96. package/lib/create-dashboard-container/pipes/search.pipe.d.ts +7 -7
  97. package/lib/create-dashboard-container/pipes/text-count.pipe.d.ts +7 -7
  98. package/lib/create-dashboard-container/responsibility-center/responsibility-center.component.d.ts +61 -27
  99. package/lib/create-dashboard-container/risk-categories/risk-categories-config.d.ts +18 -18
  100. package/lib/create-dashboard-container/risk-categories/risk-categories.component.d.ts +65 -31
  101. package/lib/create-dashboard-container/services/auth.service.d.ts +11 -11
  102. package/lib/create-dashboard-container/services/configure-widgets.service.d.ts +38 -38
  103. package/lib/create-dashboard-container/services/create-dashboard.service.d.ts +45 -45
  104. package/lib/create-dashboard-container/services/pagination.service.d.ts +12 -12
  105. package/lib/create-dashboard-container/services/urlConfig.service.d.ts +10 -10
  106. package/lib/create-dashboard-container/user-list/user-list.component.d.ts +122 -88
  107. package/lib/create-dashboard-container/user-list/user-list.config.d.ts +13 -13
  108. package/lib/create-dashboard.service.d.ts +6 -6
  109. package/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.d.ts +17 -17
  110. package/lib/ui-kit/dashboard-footer/dashboard-footer-config.d.ts +11 -11
  111. package/lib/ui-kit/dashboard-footer/dashboard-footer.module.d.ts +10 -10
  112. package/lib/ui-kit/dialog/dialog-config.d.ts +6 -6
  113. package/lib/ui-kit/dialog/dialog-injector.d.ts +7 -7
  114. package/lib/ui-kit/dialog/dialog-ref.d.ts +7 -7
  115. package/lib/ui-kit/dialog/dialog.component.d.ts +33 -33
  116. package/lib/ui-kit/dialog/dialog.module.d.ts +9 -9
  117. package/lib/ui-kit/dialog/dialog.service.d.ts +17 -17
  118. package/lib/ui-kit/dialog/insertion.directive.d.ts +8 -8
  119. package/lib/ui-kit/floating-bar/floating-bar.component.d.ts +20 -20
  120. package/lib/ui-kit/floating-bar/floating-bar.module.d.ts +10 -10
  121. package/lib/ui-kit/formgroup/click-outside.directive.d.ts +10 -10
  122. package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +13 -13
  123. package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +15 -15
  124. package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +8 -8
  125. package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +36 -36
  126. package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +15 -15
  127. package/lib/ui-kit/formgroup/formgroup.module.d.ts +17 -17
  128. package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts +7 -7
  129. package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts +7 -7
  130. package/lib/ui-kit/no-data/no-data.component.d.ts +19 -19
  131. package/lib/ui-kit/no-data/no-data.module.d.ts +8 -8
  132. package/lib/ui-kit/pagination/pagination.component.d.ts +21 -21
  133. package/lib/ui-kit/pagination/pagination.module.d.ts +8 -8
  134. package/lib/ui-kit/popover/popover.component.d.ts +28 -28
  135. package/lib/ui-kit/popover/popover.directive.d.ts +17 -17
  136. package/lib/ui-kit/popover/popover.module.d.ts +9 -9
  137. package/lib/ui-kit/popover/popover.service.d.ts +13 -13
  138. package/lib/ui-kit/select/cs-option/cs-option.component.d.ts +16 -16
  139. package/lib/ui-kit/select/cs-select/cs-select.component.d.ts +32 -32
  140. package/lib/ui-kit/select/safe-html.pipe.d.ts +10 -10
  141. package/lib/ui-kit/select/select.module.d.ts +11 -11
  142. package/lib/ui-kit/services/cs-select.service.d.ts +7 -7
  143. package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +17 -17
  144. package/lib/ui-kit/smiley-dialog/smiley-dialog.module.d.ts +8 -8
  145. package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.d.ts +17 -17
  146. package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +8 -8
  147. package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +9 -9
  148. package/lib/ui-kit/tooltip/tooltip.directive.d.ts +28 -28
  149. package/lib/ui-kit/tooltip/tooltip.module.d.ts +8 -8
  150. package/lib/ui-kit/v-loader/loader/loader.component.d.ts +11 -11
  151. package/lib/ui-kit/v-loader/loader-inline/loader-inline.component.d.ts +11 -11
  152. package/lib/ui-kit/v-loader/v-loader.module.d.ts +9 -9
  153. package/package.json +1 -1
  154. package/public-api.d.ts +3 -3
@@ -1,31 +1,31 @@
1
- import { Injectable, Optional } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common/http";
4
- import * as i2 from "../../configurations";
5
- export class AuthService {
6
- http;
7
- env;
8
- constructor(http, config) {
9
- this.http = http;
10
- if (config) {
11
- this.env = config.envConfig;
12
- }
13
- }
14
- getAuthorizationToken() {
15
- if (localStorage.getItem('currentUser')) {
16
- const currentUser = JSON.parse(localStorage.getItem('currentUser') || '{}');
17
- return currentUser.token;
18
- }
19
- }
20
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i2.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
21
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthService, providedIn: 'root' });
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthService, decorators: [{
24
- type: Injectable,
25
- args: [{
26
- providedIn: 'root'
27
- }]
28
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Configurations, decorators: [{
29
- type: Optional
30
- }] }]; } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVVyRCxNQUFNLE9BQU8sV0FBVztJQUdGO0lBRmIsR0FBRyxDQUFRO0lBRWxCLFlBQW9CLElBQWdCLEVBQWMsTUFBdUI7UUFBckQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNsQyxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFDRCxxQkFBcUI7UUFDbkIsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3ZDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUM1RSxPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUM7U0FDMUI7SUFDSCxDQUFDO3dHQWJVLFdBQVc7NEdBQVgsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFJd0MsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEp3dEhlbHBlclNlcnZpY2UgfSBmcm9tICdAYXV0aDAvYW5ndWxhci1qd3QnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IG9mLCBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLCBzaGFyZVJlcGxheSwgY2F0Y2hFcnJvciwgZGVsYXl9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9ucyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XHJcbiAgcHVibGljIGVudiAhOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnMpIHsgXHJcbiAgICBpZiAoY29uZmlnKSB7XHJcbiAgICAgIHRoaXMuZW52ID0gY29uZmlnLmVudkNvbmZpZztcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0QXV0aG9yaXphdGlvblRva2VuKCkge1xyXG4gICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjdXJyZW50VXNlcicpKSB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnY3VycmVudFVzZXInKSB8fCAne30nKTtcclxuICAgICAgcmV0dXJuIGN1cnJlbnRVc2VyLnRva2VuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgXHJcbn1cclxuIl19
1
+ import { Injectable, Optional } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common/http";
4
+ import * as i2 from "../../configurations";
5
+ export class AuthService {
6
+ http;
7
+ env;
8
+ constructor(http, config) {
9
+ this.http = http;
10
+ if (config) {
11
+ this.env = config.envConfig;
12
+ }
13
+ }
14
+ getAuthorizationToken() {
15
+ if (localStorage.getItem('currentUser')) {
16
+ const currentUser = JSON.parse(localStorage.getItem('currentUser') || '{}');
17
+ return currentUser.token;
18
+ }
19
+ }
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i2.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
21
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthService, providedIn: 'root' });
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthService, decorators: [{
24
+ type: Injectable,
25
+ args: [{
26
+ providedIn: 'root'
27
+ }]
28
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Configurations, decorators: [{
29
+ type: Optional
30
+ }] }]; } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVVyRCxNQUFNLE9BQU8sV0FBVztJQUdGO0lBRmIsR0FBRyxDQUFRO0lBRWxCLFlBQW9CLElBQWdCLEVBQWMsTUFBdUI7UUFBckQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNsQyxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFDRCxxQkFBcUI7UUFDbkIsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3ZDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUM1RSxPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUM7U0FDMUI7SUFDSCxDQUFDO3dHQWJVLFdBQVc7NEdBQVgsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFJd0MsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBKd3RIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQGF1dGgwL2FuZ3VsYXItand0JztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IG9mLCBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXksIGNhdGNoRXJyb3IsIGRlbGF5fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xuICBwdWJsaWMgZW52ICE6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zKSB7IFxuICAgIGlmIChjb25maWcpIHtcbiAgICAgIHRoaXMuZW52ID0gY29uZmlnLmVudkNvbmZpZztcbiAgICB9XG4gIH1cbiAgZ2V0QXV0aG9yaXphdGlvblRva2VuKCkge1xuICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnY3VycmVudFVzZXInKSkge1xuICAgICAgY29uc3QgY3VycmVudFVzZXIgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjdXJyZW50VXNlcicpIHx8ICd7fScpO1xuICAgICAgcmV0dXJuIGN1cnJlbnRVc2VyLnRva2VuO1xuICAgIH1cbiAgfVxuXG4gIFxufVxuIl19
@@ -1,227 +1,230 @@
1
- import { Injectable, Optional } from '@angular/core';
2
- import { HttpHeaders } from '@angular/common/http';
3
- import { retry } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- import * as i2 from "./auth.service";
7
- import * as i3 from "../../configurations";
8
- export class ConfigureWidgetsService {
9
- http;
10
- authService;
11
- env;
12
- constructor(http, authService, config) {
13
- this.http = http;
14
- this.authService = authService;
15
- if (config) {
16
- this.env = config.envConfig;
17
- }
18
- }
19
- complianceWidgetsData = [
20
- {
21
- title: 'Overview',
22
- id: 'overview_flag',
23
- description: 'Displays all responsibilities that have been assigned to you.',
24
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/overview.png',
25
- value: 0,
26
- },
27
- {
28
- title: 'Responsibility Calendar',
29
- id: 'compliance_calendar_flag',
30
- description: 'Displays all responsibilities that are due on a particular day.',
31
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/responsibility-calender.png',
32
- value: 0,
33
- },
34
- {
35
- title: 'Responsibility Center Overview',
36
- id: 'responsibility_center_overview_flag',
37
- description: 'Displays all responsibilities that have been assigned to you.',
38
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/overview.png',
39
- value: 0,
40
- },
41
- {
42
- title: 'My Responsibilities',
43
- id: 'my_responsibilities',
44
- description: 'Displays all responsibilities that have been assigned to you.',
45
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/my-responsibilities.png',
46
- tabOption: true,
47
- value: 0,
48
- },
49
- {
50
- title: 'Key Responsibilities',
51
- id: 'key_responsibilities',
52
- description: 'Displays all responsibilities that are due on a particular day.',
53
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/key-responsibilities.png',
54
- tabOption: true,
55
- value: 0,
56
- },
57
- {
58
- title: 'Trend Analysis',
59
- id: 'trend_analysis_flag',
60
- description: 'Displays all responsibilities that have been assigned to you.',
61
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/trend-analysis.png',
62
- value: 0,
63
- },
64
- {
65
- title: 'Workroom Updates',
66
- id: 'workroom_alert_flag',
67
- description: 'Displays all responsibilities that have been assigned to you.',
68
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/workroom-updates.png',
69
- value: 0,
70
- },
71
- {
72
- title: 'Recent Activities',
73
- id: 'recent_activity_flag',
74
- description: 'Displays all responsibilities that have been assigned to you.',
75
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/recent-activities.png',
76
- value: 0,
77
- },
78
- {
79
- title: 'Exception Summary',
80
- id: 'exception_summary_flag',
81
- description: 'Displays all responsibilities that have been assigned to you.',
82
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/exception-summary.png',
83
- value: 0,
84
- }
85
- ];
86
- riskWidgetsData = [
87
- {
88
- title: 'Risk Overview',
89
- id: 'risk_overview',
90
- description: 'description',
91
- // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-overview.png',
92
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/riskV2/risk-overview.png',
93
- value: 0,
94
- },
95
- {
96
- title: 'Risk Appetite & Tolerance',
97
- id: 'risk_appetite_tolerance',
98
- description: 'description',
99
- // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',
100
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/riskV2/appetite-tolerance.png',
101
- value: 0,
102
- },
103
- {
104
- title: 'Risk Ratings',
105
- id: 'risk_ratings',
106
- description: 'Description.',
107
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',
108
- value: 0,
109
- },
110
- {
111
- title: 'Risks Without Controls',
112
- id: 'risks_without_controls',
113
- description: 'Description',
114
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',
115
- value: 0,
116
- },
117
- {
118
- title: 'Risks Exceeding Risk Tolerance',
119
- id: 'exceeds_risk_tolerance',
120
- description: 'description',
121
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',
122
- value: 0,
123
- },
124
- {
125
- title: 'Inherent Risk Rating by Responsibility Centers ',
126
- id: 'inherent_risk_rating_by_responsibility_centers',
127
- description: 'Description.',
128
- // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-RC.png',
129
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/riskV2/inherent-RC.png',
130
- value: 0,
131
- },
132
- {
133
- title: 'Residual Risk Rating by Responsibility Centers ',
134
- id: 'residual_risk_rating_by_responsibility_centers',
135
- description: 'Description.',
136
- // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-RC.png',
137
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/riskV2/residual-RC.png',
138
- value: 0,
139
- },
140
- {
141
- title: 'Risk Category Overview',
142
- id: 'risk_category_overview',
143
- description: 'description',
144
- // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-category-overview.png',
145
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/riskV2/risk-category-overview.png',
146
- value: 0,
147
- },
148
- {
149
- title: 'Risk Heatmap',
150
- id: 'risk_heatmap',
151
- description: 'Description.',
152
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-heatmap.png',
153
- value: 0,
154
- },
155
- {
156
- title: 'Inherent Risk Rating by Categories',
157
- id: 'inherent_risk_rating_by_categories',
158
- description: 'Description.',
159
- // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-categories.png',
160
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/riskV2/inherent-categories.png',
161
- value: 0,
162
- },
163
- {
164
- title: 'Residual Risk Rating by Categories',
165
- id: 'residual_risk_rating_by_categories',
166
- description: 'description',
167
- // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-categories.png',
168
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/riskV2/residual-categories.png',
169
- value: 0,
170
- },
171
- {
172
- title: 'Inherent Risk Rating Trend by Responsibility Centers',
173
- id: 'inherent_risk_rating_trend_by_responsibility_centers',
174
- description: 'Description.',
175
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-trend.png',
176
- value: 0,
177
- },
178
- {
179
- title: 'Residual Risk Rating Trend by Responsibility Centers',
180
- id: 'residual_risk_rating_trend_by_responsibility_centers',
181
- description: 'Description.',
182
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-trend.png',
183
- value: 0,
184
- },
185
- {
186
- title: 'Risk Rating Trend by Categories',
187
- id: 'risk_rating_trend_by_categories',
188
- description: 'Description.',
189
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-trend.png',
190
- value: 0,
191
- },
192
- {
193
- title: 'Top 5 Risk Ratings',
194
- id: 'top_5_residual_risk_ratings',
195
- description: 'Description.',
196
- // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/5-risk-ratings.png',
197
- widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/10-risk-ratings.png',
198
- value: 0,
199
- },
200
- ];
201
- auditWidgetsData = [];
202
- policyWidgetsData = [];
203
- // For dashboard view
204
- dashBoardWidgetUpdate(widGetJson) {
205
- const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
206
- return this.http.put(this.env.OrganizationPut + 'dashboardWidgets', widGetJson).pipe(retry(2));
207
- }
208
- moduleType(identifier) {
209
- if (JSON.stringify(this.complianceWidgetsData).includes(identifier)) {
210
- return 'COMPLIANCE';
211
- }
212
- else if (JSON.stringify(this.riskWidgetsData).includes(identifier)) {
213
- return 'RISK';
214
- }
215
- }
216
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsService, deps: [{ token: i1.HttpClient }, { token: i2.AuthService }, { token: i3.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
217
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsService, providedIn: 'root' });
218
- }
219
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsService, decorators: [{
220
- type: Injectable,
221
- args: [{
222
- providedIn: 'root'
223
- }]
224
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.AuthService }, { type: i3.Configurations, decorators: [{
225
- type: Optional
226
- }] }]; } });
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLXdpZGdldHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9zZXJ2aWNlcy9jb25maWd1cmUtd2lkZ2V0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBZSxXQUFXLEVBQXNCLE1BQU0sc0JBQXNCLENBQUM7QUFDcEYsT0FBTyxFQUFtQixLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFVeEQsTUFBTSxPQUFPLHVCQUF1QjtJQUl4QjtJQUNBO0lBSkgsR0FBRyxDQUFRO0lBRWxCLFlBQ1UsSUFBZ0IsRUFDaEIsV0FBd0IsRUFDbkIsTUFBdUI7UUFGNUIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUU5QixJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztTQUM3QjtJQUFBLENBQUM7SUFFTixxQkFBcUIsR0FBRztRQUN0QjtZQUNFLEtBQUssRUFBRSxVQUFVO1lBQ2pCLEVBQUUsRUFBRSxlQUFlO1lBQ25CLFdBQVcsRUFBRSwrREFBK0Q7WUFDNUUsV0FBVyxFQUFFLGdGQUFnRjtZQUM3RixLQUFLLEVBQUUsQ0FBQztTQUNUO1FBQ0Q7WUFDRSxLQUFLLEVBQUUseUJBQXlCO1lBQ2hDLEVBQUUsRUFBRSwwQkFBMEI7WUFDOUIsV0FBVyxFQUFFLGlFQUFpRTtZQUM5RSxXQUFXLEVBQUUsK0ZBQStGO1lBQzVHLEtBQUssRUFBRSxDQUFDO1NBQ1Q7UUFDRDtZQUNFLEtBQUssRUFBRSxnQ0FBZ0M7WUFDdkMsRUFBRSxFQUFFLHFDQUFxQztZQUN6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Qix1R0FBdUc7WUFDdkcsV0FBVyxFQUFFLHVGQUF1RjtZQUNwRyxLQUFLLEVBQUUsQ0FBQztTQUNUO0tBQ0YsQ0FBQztJQUNGLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUN0QixpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFHdkIscUJBQXFCO0lBQ3JCLHFCQUFxQixDQUFDLFVBQWU7UUFDbkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEdBQUcsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRCxVQUFVLENBQUMsVUFBaUI7UUFDM0IsSUFBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBQztZQUNsRSxPQUFPLFlBQVksQ0FBQTtTQUNuQjthQUFLLElBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFDO1lBQ2xFLE9BQU8sTUFBTSxDQUFBO1NBQ2I7SUFDRixDQUFDO3dHQXJOVSx1QkFBdUI7NEdBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzs0RkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgd2lkZ2V0RGF0YU1vZGVsfSBmcm9tICcuLi9pbnRlcmZhY2VzL3dpZGdldC1kYXRhLW1vZGVsJ1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCAgSHR0cEhlYWRlcnMsIEpzb25wQ2xpZW50QmFja2VuZCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCByZXRyeSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSnd0SGVscGVyU2VydmljZSB9IGZyb20gJ0BhdXRoMC9hbmd1bGFyLWp3dCc7XHJcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25maWd1cmVXaWRnZXRzU2VydmljZSB7XHJcbiAgcHVibGljIGVudiAhOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICAgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnMpIHsgXHJcbiAgICAgIGlmIChjb25maWcpIHtcclxuICAgICAgICB0aGlzLmVudiA9IGNvbmZpZy5lbnZDb25maWc7XHJcbiAgICAgIH19XHJcblxyXG4gIGNvbXBsaWFuY2VXaWRnZXRzRGF0YSA9IFtcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICdPdmVydmlldycsXHJcbiAgICAgIGlkOiAnb3ZlcnZpZXdfZmxhZycsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGlzcGxheXMgYWxsIHJlc3BvbnNpYmlsaXRpZXMgdGhhdCBoYXZlIGJlZW4gYXNzaWduZWQgdG8geW91LicsXHJcbiAgICAgIHdpZGdldEltYWdlOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvb3ZlcnZpZXcucG5nJyxcclxuICAgICAgdmFsdWU6IDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ1Jlc3BvbnNpYmlsaXR5IENhbGVuZGFyJyxcclxuICAgICAgaWQ6ICdjb21wbGlhbmNlX2NhbGVuZGFyX2ZsYWcnLFxyXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rpc3BsYXlzIGFsbCByZXNwb25zaWJpbGl0aWVzIHRoYXQgYXJlIGR1ZSBvbiBhIHBhcnRpY3VsYXIgZGF5LicsXHJcbiAgICAgIHdpZGdldEltYWdlOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmVzcG9uc2liaWxpdHktY2FsZW5kZXIucG5nJyxcclxuICAgICAgdmFsdWU6IDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ1Jlc3BvbnNpYmlsaXR5IENlbnRlciBPdmVydmlldycsXHJcbiAgICAgIGlkOiAncmVzcG9uc2liaWxpdHlfY2VudGVyX292ZXJ2aWV3X2ZsYWcnLFxyXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rpc3BsYXlzIGFsbCByZXNwb25zaWJpbGl0aWVzIHRoYXQgaGF2ZSBiZWVuIGFzc2lnbmVkIHRvIHlvdS4nLFxyXG4gICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL292ZXJ2aWV3LnBuZycsXHJcbiAgICAgIHZhbHVlOiAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICdNeSBSZXNwb25zaWJpbGl0aWVzJyxcclxuICAgICAgaWQ6ICdteV9yZXNwb25zaWJpbGl0aWVzJyxcclxuICAgICAgZGVzY3JpcHRpb246ICdEaXNwbGF5cyBhbGwgcmVzcG9uc2liaWxpdGllcyB0aGF0IGhhdmUgYmVlbiBhc3NpZ25lZCB0byB5b3UuJyxcclxuICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9teS1yZXNwb25zaWJpbGl0aWVzLnBuZycsXHJcbiAgICAgIHRhYk9wdGlvbjogdHJ1ZSxcclxuICAgICAgdmFsdWU6IDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ0tleSBSZXNwb25zaWJpbGl0aWVzJyxcclxuICAgICAgaWQ6ICdrZXlfcmVzcG9uc2liaWxpdGllcycsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGlzcGxheXMgYWxsIHJlc3BvbnNpYmlsaXRpZXMgdGhhdCBhcmUgZHVlIG9uIGEgcGFydGljdWxhciBkYXkuJyxcclxuICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9rZXktcmVzcG9uc2liaWxpdGllcy5wbmcnLFxyXG4gICAgICB0YWJPcHRpb246IHRydWUsXHJcbiAgICAgIHZhbHVlOiAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICdUcmVuZCBBbmFseXNpcycsXHJcbiAgICAgIGlkOiAndHJlbmRfYW5hbHlzaXNfZmxhZycsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGlzcGxheXMgYWxsIHJlc3BvbnNpYmlsaXRpZXMgdGhhdCBoYXZlIGJlZW4gYXNzaWduZWQgdG8geW91LicsXHJcbiAgICAgIHdpZGdldEltYWdlOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvdHJlbmQtYW5hbHlzaXMucG5nJyxcclxuICAgICAgdmFsdWU6IDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ1dvcmtyb29tIFVwZGF0ZXMnLFxyXG4gICAgICBpZDogJ3dvcmtyb29tX2FsZXJ0X2ZsYWcnLFxyXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rpc3BsYXlzIGFsbCByZXNwb25zaWJpbGl0aWVzIHRoYXQgaGF2ZSBiZWVuIGFzc2lnbmVkIHRvIHlvdS4nLFxyXG4gICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3dvcmtyb29tLXVwZGF0ZXMucG5nJyxcclxuICAgICAgdmFsdWU6IDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ1JlY2VudCBBY3Rpdml0aWVzJyxcclxuICAgICAgaWQ6ICdyZWNlbnRfYWN0aXZpdHlfZmxhZycsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGlzcGxheXMgYWxsIHJlc3BvbnNpYmlsaXRpZXMgdGhhdCBoYXZlIGJlZW4gYXNzaWduZWQgdG8geW91LicsXHJcbiAgICAgIHdpZGdldEltYWdlOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmVjZW50LWFjdGl2aXRpZXMucG5nJyxcclxuICAgICAgdmFsdWU6IDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ0V4Y2VwdGlvbiBTdW1tYXJ5JyxcclxuICAgICAgaWQ6ICdleGNlcHRpb25fc3VtbWFyeV9mbGFnJyxcclxuICAgICAgZGVzY3JpcHRpb246ICdEaXNwbGF5cyBhbGwgcmVzcG9uc2liaWxpdGllcyB0aGF0IGhhdmUgYmVlbiBhc3NpZ25lZCB0byB5b3UuJyxcclxuICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9leGNlcHRpb24tc3VtbWFyeS5wbmcnLFxyXG4gICAgICB2YWx1ZTogMCxcclxuICAgIH1cclxuICBdO1xyXG5cclxuXHJcblxyXG4gIHJpc2tXaWRnZXRzRGF0YSA9IFtcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICdSaXNrIE92ZXJ2aWV3JyxcclxuICAgICAgaWQ6ICdyaXNrX292ZXJ2aWV3JyxcclxuICAgICAgZGVzY3JpcHRpb246ICdkZXNjcmlwdGlvbicsXHJcbiAgICAgIC8vIHdpZGdldEltYWdlOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmlzay1vdmVydmlldy5wbmcnLFxyXG4gICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jpc2tWMi9yaXNrLW92ZXJ2aWV3LnBuZycsXHJcbiAgICAgIHZhbHVlOiAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICdSaXNrIEFwcGV0aXRlICYgVG9sZXJhbmNlJyxcclxuICAgICAgaWQ6ICdyaXNrX2FwcGV0aXRlX3RvbGVyYW5jZScsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiAnZGVzY3JpcHRpb24nLFxyXG4gICAgICAvLyB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2FwcGV0aXRlLXRvbGVyYW5jZS5wbmcnLFxyXG4gICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jpc2tWMi9hcHBldGl0ZS10b2xlcmFuY2UucG5nJyxcclxuICAgICAgdmFsdWU6IDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ1Jpc2sgUmF0aW5ncycsXHJcbiAgICAgIGlkOiAncmlza19yYXRpbmdzJyxcclxuICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbi4nLFxyXG4gICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2FwcGV0aXRlLXRvbGVyYW5jZS5wbmcnLFxyXG4gICAgICB2YWx1ZTogMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRpdGxlOiAnUmlza3MgV2l0aG91dCBDb250cm9scycsXHJcbiAgICAgIGlkOiAncmlza3Nfd2l0aG91dF9jb250cm9scycsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxyXG4gICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2FwcGV0aXRlLXRvbGVyYW5jZS5wbmcnLFxyXG4gICAgICB2YWx1ZTogMCxcclxuICAgIH0sICAgICBcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICdSaXNrcyBFeGNlZWRpbmcgUmlzayBUb2xlcmFuY2UnLFxyXG4gICAgICBpZDogJ2V4Y2VlZHNfcmlza190b2xlcmFuY2UnLFxyXG4gICAgICBkZXNjcmlwdGlvbjogJ2Rlc2NyaXB0aW9uJyxcclxuICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9hcHBldGl0ZS10b2xlcmFuY2UucG5nJyxcclxuICAgICAgdmFsdWU6IDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ0luaGVyZW50IFJpc2sgUmF0aW5nIGJ5IFJlc3BvbnNpYmlsaXR5IENlbnRlcnMgJyxcclxuICAgICAgaWQ6ICdpbmhlcmVudF9yaXNrX3JhdGluZ19ieV9yZXNwb25zaWJpbGl0eV9jZW50ZXJzJyxcclxuICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbi4nLFxyXG4gICAgICAvLyB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2luaGVyZW50LVJDLnBuZycsXHJcbiAgICAgIHdpZGdldEltYWdlOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmlza1YyL2luaGVyZW50LVJDLnBuZycsXHJcbiAgICAgIHZhbHVlOiAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICdSZXNpZHVhbCBSaXNrIFJhdGluZyBieSBSZXNwb25zaWJpbGl0eSBDZW50ZXJzICcsXHJcbiAgICAgIGlkOiAncmVzaWR1YWxfcmlza19yYXRpbmdfYnlfcmVzcG9uc2liaWxpdHlfY2VudGVycycsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24uJyxcclxuICAgICAgLy8gd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yZXNpZHVhbC1SQy5wbmcnLFxyXG4gICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jpc2tWMi9yZXNpZHVhbC1SQy5wbmcnLFxyXG4gICAgICB2YWx1ZTogMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRpdGxlOiAnUmlzayBDYXRlZ29yeSBPdmVydmlldycsXHJcbiAgICAgIGlkOiAncmlza19jYXRlZ29yeV9vdmVydmlldycsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiAnZGVzY3JpcHRpb24nLFxyXG4gICAgICAvLyB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jpc2stY2F0ZWdvcnktb3ZlcnZpZXcucG5nJyxcclxuICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yaXNrVjIvcmlzay1jYXRlZ29yeS1vdmVydmlldy5wbmcnLFxyXG4gICAgICB2YWx1ZTogMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRpdGxlOiAnUmlzayBIZWF0bWFwJyxcclxuICAgICAgaWQ6ICdyaXNrX2hlYXRtYXAnLFxyXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uLicsXHJcbiAgICAgIHdpZGdldEltYWdlOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmlzay1oZWF0bWFwLnBuZycsXHJcbiAgICAgIHZhbHVlOiAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICdJbmhlcmVudCBSaXNrIFJhdGluZyBieSBDYXRlZ29yaWVzJyxcclxuICAgICAgaWQ6ICdpbmhlcmVudF9yaXNrX3JhdGluZ19ieV9jYXRlZ29yaWVzJyxcclxuICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbi4nLFxyXG4gICAgICAvLyB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2luaGVyZW50LWNhdGVnb3JpZXMucG5nJyxcclxuICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yaXNrVjIvaW5oZXJlbnQtY2F0ZWdvcmllcy5wbmcnLFxyXG4gICAgICB2YWx1ZTogMCxcclxuICAgIH0sXHJcbiAgICAgXHJcbiAgICB7XHJcbiAgICAgIHRpdGxlOiAnUmVzaWR1YWwgUmlzayBSYXRpbmcgYnkgQ2F0ZWdvcmllcycsXHJcbiAgICAgIGlkOiAncmVzaWR1YWxfcmlza19yYXRpbmdfYnlfY2F0ZWdvcmllcycsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiAnZGVzY3JpcHRpb24nLFxyXG4gICAgICAvLyB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jlc2lkdWFsLWNhdGVnb3JpZXMucG5nJyxcclxuICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yaXNrVjIvcmVzaWR1YWwtY2F0ZWdvcmllcy5wbmcnLFxyXG4gICAgICB2YWx1ZTogMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRpdGxlOiAnSW5oZXJlbnQgUmlzayBSYXRpbmcgVHJlbmQgYnkgUmVzcG9uc2liaWxpdHkgQ2VudGVycycsXHJcbiAgICAgIGlkOiAnaW5oZXJlbnRfcmlza19yYXRpbmdfdHJlbmRfYnlfcmVzcG9uc2liaWxpdHlfY2VudGVycycsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24uJyxcclxuICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9pbmhlcmVudC10cmVuZC5wbmcnLFxyXG4gICAgICB2YWx1ZTogMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRpdGxlOiAnUmVzaWR1YWwgUmlzayBSYXRpbmcgVHJlbmQgYnkgUmVzcG9uc2liaWxpdHkgQ2VudGVycycsXHJcbiAgICAgIGlkOiAncmVzaWR1YWxfcmlza19yYXRpbmdfdHJlbmRfYnlfcmVzcG9uc2liaWxpdHlfY2VudGVycycsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24uJyxcclxuICAgICAgd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yZXNpZHVhbC10cmVuZC5wbmcnLFxyXG4gICAgICB2YWx1ZTogMCxcclxuICAgIH0sICAgICAgICBcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICdSaXNrIFJhdGluZyBUcmVuZCBieSBDYXRlZ29yaWVzJyxcclxuICAgICAgaWQ6ICdyaXNrX3JhdGluZ190cmVuZF9ieV9jYXRlZ29yaWVzJyxcclxuICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbi4nLFxyXG4gICAgICB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jpc2stdHJlbmQucG5nJyxcclxuICAgICAgdmFsdWU6IDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ1RvcCA1IFJpc2sgUmF0aW5ncycsXHJcbiAgICAgIGlkOiAndG9wXzVfcmVzaWR1YWxfcmlza19yYXRpbmdzJyxcclxuICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbi4nLFxyXG4gICAgICAvLyB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzLzUtcmlzay1yYXRpbmdzLnBuZycsXHJcbiAgICAgIHdpZGdldEltYWdlOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvMTAtcmlzay1yYXRpbmdzLnBuZycsXHJcbiAgICAgIHZhbHVlOiAwLFxyXG4gICAgfSxcclxuICBdO1xyXG4gIGF1ZGl0V2lkZ2V0c0RhdGEgPSBbXTtcclxuICBwb2xpY3lXaWRnZXRzRGF0YSA9IFtdO1xyXG5cclxuXHJcbiAgLy8gRm9yIGRhc2hib2FyZCB2aWV3XHJcbiAgZGFzaEJvYXJkV2lkZ2V0VXBkYXRlKHdpZEdldEpzb246IGFueSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuZW52Lk9yZ2FuaXphdGlvblB1dCArICdkYXNoYm9hcmRXaWRnZXRzJywgd2lkR2V0SnNvbikucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBtb2R1bGVUeXBlKGlkZW50aWZpZXI6c3RyaW5nKXtcclxuICAgaWYoSlNPTi5zdHJpbmdpZnkodGhpcy5jb21wbGlhbmNlV2lkZ2V0c0RhdGEpLmluY2x1ZGVzKGlkZW50aWZpZXIpKXtcclxuICAgIHJldHVybiAnQ09NUExJQU5DRSdcclxuICAgfWVsc2UgaWYoSlNPTi5zdHJpbmdpZnkodGhpcy5yaXNrV2lkZ2V0c0RhdGEpLmluY2x1ZGVzKGlkZW50aWZpZXIpKXtcclxuICAgIHJldHVybiAnUklTSydcclxuICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { Injectable, Optional } from '@angular/core';
2
+ import { HttpHeaders, } from '@angular/common/http';
3
+ import { retry } from 'rxjs/operators';
4
+ import { ASSETS } from '../constants/assets.constant';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common/http";
7
+ import * as i2 from "./auth.service";
8
+ import * as i3 from "../../configurations";
9
+ export class ConfigureWidgetsService {
10
+ http;
11
+ authService;
12
+ env;
13
+ constructor(http, authService, config) {
14
+ this.http = http;
15
+ this.authService = authService;
16
+ if (config) {
17
+ this.env = config.envConfig;
18
+ }
19
+ }
20
+ complianceWidgetsData = [
21
+ {
22
+ title: 'Overview',
23
+ id: 'overview_flag',
24
+ description: 'Displays all responsibilities that have been assigned to you.',
25
+ widgetImage: ASSETS.overviewWidget,
26
+ value: 0,
27
+ },
28
+ {
29
+ title: 'Responsibility Calendar',
30
+ id: 'compliance_calendar_flag',
31
+ description: 'Displays all responsibilities that are due on a particular day.',
32
+ widgetImage: ASSETS.responsibilityCalenderWidget,
33
+ value: 0,
34
+ },
35
+ {
36
+ title: 'Responsibility Center Overview',
37
+ id: 'responsibility_center_overview_flag',
38
+ description: 'Displays all responsibilities that have been assigned to you.',
39
+ widgetImage: ASSETS.overviewWidget,
40
+ value: 0,
41
+ },
42
+ {
43
+ title: 'My Responsibilities',
44
+ id: 'my_responsibilities',
45
+ description: 'Displays all responsibilities that have been assigned to you.',
46
+ widgetImage: ASSETS.myResponsibilitiesWidget,
47
+ tabOption: true,
48
+ value: 0,
49
+ },
50
+ {
51
+ title: 'Key Responsibilities',
52
+ id: 'key_responsibilities',
53
+ description: 'Displays all responsibilities that are due on a particular day.',
54
+ widgetImage: ASSETS.keyResponsibilitiesWidget,
55
+ tabOption: true,
56
+ value: 0,
57
+ },
58
+ {
59
+ title: 'Trend Analysis',
60
+ id: 'trend_analysis_flag',
61
+ description: 'Displays all responsibilities that have been assigned to you.',
62
+ widgetImage: ASSETS.trendAnalysisWidget,
63
+ value: 0,
64
+ },
65
+ {
66
+ title: 'Workroom Updates',
67
+ id: 'workroom_alert_flag',
68
+ description: 'Displays all responsibilities that have been assigned to you.',
69
+ widgetImage: ASSETS.workroomUpdatesWidget,
70
+ value: 0,
71
+ },
72
+ {
73
+ title: 'Recent Activities',
74
+ id: 'recent_activity_flag',
75
+ description: 'Displays all responsibilities that have been assigned to you.',
76
+ widgetImage: ASSETS.recentActivitiesWidget,
77
+ value: 0,
78
+ },
79
+ {
80
+ title: 'Exception Summary',
81
+ id: 'exception_summary_flag',
82
+ description: 'Displays all responsibilities that have been assigned to you.',
83
+ widgetImage: ASSETS.exceptionSummaryWidget,
84
+ value: 0,
85
+ },
86
+ ];
87
+ riskWidgetsData = [
88
+ {
89
+ title: 'Risk Overview',
90
+ id: 'risk_overview',
91
+ description: 'description',
92
+ // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-overview.png',
93
+ widgetImage: ASSETS.riskOverviewWidget,
94
+ value: 0,
95
+ },
96
+ {
97
+ title: 'Risk Appetite & Tolerance',
98
+ id: 'risk_appetite_tolerance',
99
+ description: 'description',
100
+ // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',
101
+ widgetImage: ASSETS.appetiteToleranceWidget,
102
+ value: 0,
103
+ },
104
+ {
105
+ title: 'Risk Ratings',
106
+ id: 'risk_ratings',
107
+ description: 'Description.',
108
+ widgetImage: ASSETS.appetite_tolerance,
109
+ value: 0,
110
+ },
111
+ {
112
+ title: 'Risks Without Controls',
113
+ id: 'risks_without_controls',
114
+ description: 'Description',
115
+ widgetImage: ASSETS.appetite_tolerance,
116
+ value: 0,
117
+ },
118
+ {
119
+ title: 'Risks Exceeding Risk Tolerance',
120
+ id: 'exceeds_risk_tolerance',
121
+ description: 'description',
122
+ widgetImage: ASSETS.appetite_tolerance,
123
+ value: 0,
124
+ },
125
+ {
126
+ title: 'Inherent Risk Rating by Responsibility Centers ',
127
+ id: 'inherent_risk_rating_by_responsibility_centers',
128
+ description: 'Description.',
129
+ // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-RC.png',
130
+ widgetImage: ASSETS.inherentRCWidget,
131
+ value: 0,
132
+ },
133
+ {
134
+ title: 'Residual Risk Rating by Responsibility Centers ',
135
+ id: 'residual_risk_rating_by_responsibility_centers',
136
+ description: 'Description.',
137
+ // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-RC.png',
138
+ widgetImage: ASSETS.residualRCWidget,
139
+ value: 0,
140
+ },
141
+ {
142
+ title: 'Risk Category Overview',
143
+ id: 'risk_category_overview',
144
+ description: 'description',
145
+ // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-category-overview.png',
146
+ widgetImage: ASSETS.riskCategoryOverviewWidget,
147
+ value: 0,
148
+ },
149
+ {
150
+ title: 'Risk Heatmap',
151
+ id: 'risk_heatmap',
152
+ description: 'Description.',
153
+ widgetImage: ASSETS.riskHeatmapWidget,
154
+ value: 0,
155
+ },
156
+ {
157
+ title: 'Inherent Risk Rating by Categories',
158
+ id: 'inherent_risk_rating_by_categories',
159
+ description: 'Description.',
160
+ // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-categories.png',
161
+ widgetImage: ASSETS.inherentCategoriesWidget,
162
+ value: 0,
163
+ },
164
+ {
165
+ title: 'Residual Risk Rating by Categories',
166
+ id: 'residual_risk_rating_by_categories',
167
+ description: 'description',
168
+ // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-categories.png',
169
+ widgetImage: ASSETS.residualCategoriesWidget,
170
+ value: 0,
171
+ },
172
+ {
173
+ title: 'Inherent Risk Rating Trend by Responsibility Centers',
174
+ id: 'inherent_risk_rating_trend_by_responsibility_centers',
175
+ description: 'Description.',
176
+ widgetImage: ASSETS.inherent_trend,
177
+ value: 0,
178
+ },
179
+ {
180
+ title: 'Residual Risk Rating Trend by Responsibility Centers',
181
+ id: 'residual_risk_rating_trend_by_responsibility_centers',
182
+ description: 'Description.',
183
+ widgetImage: ASSETS.residual_trend,
184
+ value: 0,
185
+ },
186
+ {
187
+ title: 'Risk Rating Trend by Categories',
188
+ id: 'risk_rating_trend_by_categories',
189
+ description: 'Description.',
190
+ widgetImage: ASSETS.risk_trend,
191
+ value: 0,
192
+ },
193
+ {
194
+ title: 'Top 5 Risk Ratings',
195
+ id: 'top_5_residual_risk_ratings',
196
+ description: 'Description.',
197
+ // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/5-risk-ratings.png',
198
+ widgetImage: ASSETS.tenRiskRatingsWidget,
199
+ value: 0,
200
+ },
201
+ ];
202
+ auditWidgetsData = [];
203
+ policyWidgetsData = [];
204
+ // For dashboard view
205
+ dashBoardWidgetUpdate(widGetJson) {
206
+ const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
207
+ return this.http
208
+ .put(this.env.OrganizationPut + 'dashboardWidgets', widGetJson)
209
+ .pipe(retry(2));
210
+ }
211
+ moduleType(identifier) {
212
+ if (JSON.stringify(this.complianceWidgetsData).includes(identifier)) {
213
+ return 'COMPLIANCE';
214
+ }
215
+ else if (JSON.stringify(this.riskWidgetsData).includes(identifier)) {
216
+ return 'RISK';
217
+ }
218
+ }
219
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsService, deps: [{ token: i1.HttpClient }, { token: i2.AuthService }, { token: i3.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
220
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsService, providedIn: 'root' });
221
+ }
222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsService, decorators: [{
223
+ type: Injectable,
224
+ args: [{
225
+ providedIn: 'root',
226
+ }]
227
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.AuthService }, { type: i3.Configurations, decorators: [{
228
+ type: Optional
229
+ }] }]; } });
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLXdpZGdldHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9zZXJ2aWNlcy9jb25maWd1cmUtd2lkZ2V0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFFTCxXQUFXLEdBRVosTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQW1CLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7QUFLdEQsTUFBTSxPQUFPLHVCQUF1QjtJQUl4QjtJQUNBO0lBSkgsR0FBRyxDQUFPO0lBRWpCLFlBQ1UsSUFBZ0IsRUFDaEIsV0FBd0IsRUFDcEIsTUFBdUI7UUFGM0IsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUdoQyxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFRCxxQkFBcUIsR0FBRztRQUN0QjtZQUNFLEtBQUssRUFBRSxVQUFVO1lBQ2pCLEVBQUUsRUFBRSxlQUFlO1lBQ25CLFdBQVcsRUFDVCwrREFBK0Q7WUFDakUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxjQUFjO1lBQ2xDLEtBQUssRUFBRSxDQUFDO1NBQ1Q7UUFDRDtZQUNFLEtBQUssRUFBRSx5QkFBeUI7WUFDaEMsRUFBRSxFQUFFLDBCQUEwQjtZQUM5QixXQUFXLEVBQ1QsaUVBQWlFO1lBQ25FLFdBQVcsRUFBRSxNQUFNLENBQUMsNEJBQTRCO1lBQ2hELEtBQUssRUFBRSxDQUFD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RSxPQUFPLE1BQU0sQ0FBQztTQUNmO0lBQ0gsQ0FBQzt3R0FsT1UsdUJBQXVCOzRHQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs7NEZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB3aWRnZXREYXRhTW9kZWwgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3dpZGdldC1kYXRhLW1vZGVsJztcbmltcG9ydCB7XG4gIEh0dHBDbGllbnQsXG4gIEh0dHBIZWFkZXJzLFxuICBKc29ucENsaWVudEJhY2tlbmQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgcmV0cnkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBKd3RIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQGF1dGgwL2FuZ3VsYXItand0JztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbnMnO1xuaW1wb3J0IHsgQVNTRVRTIH0gZnJvbSAnLi4vY29uc3RhbnRzL2Fzc2V0cy5jb25zdGFudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDb25maWd1cmVXaWRnZXRzU2VydmljZSB7XG4gIHB1YmxpYyBlbnYhOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zXG4gICkge1xuICAgIGlmIChjb25maWcpIHtcbiAgICAgIHRoaXMuZW52ID0gY29uZmlnLmVudkNvbmZpZztcbiAgICB9XG4gIH1cblxuICBjb21wbGlhbmNlV2lkZ2V0c0RhdGEgPSBbXG4gICAge1xuICAgICAgdGl0bGU6ICdPdmVydmlldycsXG4gICAgICBpZDogJ292ZXJ2aWV3X2ZsYWcnLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdEaXNwbGF5cyBhbGwgcmVzcG9uc2liaWxpdGllcyB0aGF0IGhhdmUgYmVlbiBhc3NpZ25lZCB0byB5b3UuJyxcbiAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMub3ZlcnZpZXdXaWRnZXQsXG4gICAgICB2YWx1ZTogMCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnUmVzcG9uc2liaWxpdHkgQ2FsZW5kYXInLFxuICAgICAgaWQ6ICdjb21wbGlhbmNlX2NhbGVuZGFyX2ZsYWcnLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdEaXNwbGF5cyBhbGwgcmVzcG9uc2liaWxpdGllcyB0aGF0IGFyZSBkdWUgb24gYSBwYXJ0aWN1bGFyIGRheS4nLFxuICAgICAgd2lkZ2V0SW1hZ2U6IEFTU0VUUy5yZXNwb25zaWJpbGl0eUNhbGVuZGVyV2lkZ2V0LFxuICAgICAgdmFsdWU6IDAsXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ1Jlc3BvbnNpYmlsaXR5IENlbnRlciBPdmVydmlldycsXG4gICAgICBpZDogJ3Jlc3BvbnNpYmlsaXR5X2NlbnRlcl9vdmVydmlld19mbGFnJyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnRGlzcGxheXMgYWxsIHJlc3BvbnNpYmlsaXRpZXMgdGhhdCBoYXZlIGJlZW4gYXNzaWduZWQgdG8geW91LicsXG4gICAgICB3aWRnZXRJbWFnZTogQVNTRVRTLm92ZXJ2aWV3V2lkZ2V0LFxuICAgICAgdmFsdWU6IDAsXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ015IFJlc3BvbnNpYmlsaXRpZXMnLFxuICAgICAgaWQ6ICdteV9yZXNwb25zaWJpbGl0aWVzJyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnRGlzcGxheXMgYWxsIHJlc3BvbnNpYmlsaXRpZXMgdGhhdCBoYXZlIGJlZW4gYXNzaWduZWQgdG8geW91LicsXG4gICAgICB3aWRnZXRJbWFnZTogQVNTRVRTLm15UmVzcG9uc2liaWxpdGllc1dpZGdldCxcbiAgICAgIHRhYk9wdGlvbjogdHJ1ZSxcbiAgICAgIHZhbHVlOiAwLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdLZXkgUmVzcG9uc2liaWxpdGllcycsXG4gICAgICBpZDogJ2tleV9yZXNwb25zaWJpbGl0aWVzJyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnRGlzcGxheXMgYWxsIHJlc3BvbnNpYmlsaXRpZXMgdGhhdCBhcmUgZHVlIG9uIGEgcGFydGljdWxhciBkYXkuJyxcbiAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMua2V5UmVzcG9uc2liaWxpdGllc1dpZGdldCxcbiAgICAgIHRhYk9wdGlvbjogdHJ1ZSxcbiAgICAgIHZhbHVlOiAwLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdUcmVuZCBBbmFseXNpcycsXG4gICAgICBpZDogJ3RyZW5kX2FuYWx5c2lzX2ZsYWcnLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdEaXNwbGF5cyBhbGwgcmVzcG9uc2liaWxpdGllcyB0aGF0IGhhdmUgYmVlbiBhc3NpZ25lZCB0byB5b3UuJyxcbiAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMudHJlbmRBbmFseXNpc1dpZGdldCxcbiAgICAgIHZhbHVlOiAwLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdXb3Jrcm9vbSBVcGRhdGVzJyxcbiAgICAgIGlkOiAnd29ya3Jvb21fYWxlcnRfZmxhZycsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ0Rpc3BsYXlzIGFsbCByZXNwb25zaWJpbGl0aWVzIHRoYXQgaGF2ZSBiZWVuIGFzc2lnbmVkIHRvIHlvdS4nLFxuICAgICAgd2lkZ2V0SW1hZ2U6IEFTU0VUUy53b3Jrcm9vbVVwZGF0ZXNXaWRnZXQsXG4gICAgICB2YWx1ZTogMCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnUmVjZW50IEFjdGl2aXRpZXMnLFxuICAgICAgaWQ6ICdyZWNlbnRfYWN0aXZpdHlfZmxhZycsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ0Rpc3BsYXlzIGFsbCByZXNwb25zaWJpbGl0aWVzIHRoYXQgaGF2ZSBiZWVuIGFzc2lnbmVkIHRvIHlvdS4nLFxuICAgICAgd2lkZ2V0SW1hZ2U6IEFTU0VUUy5yZWNlbnRBY3Rpdml0aWVzV2lkZ2V0LFxuICAgICAgdmFsdWU6IDAsXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ0V4Y2VwdGlvbiBTdW1tYXJ5JyxcbiAgICAgIGlkOiAnZXhjZXB0aW9uX3N1bW1hcnlfZmxhZycsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ0Rpc3BsYXlzIGFsbCByZXNwb25zaWJpbGl0aWVzIHRoYXQgaGF2ZSBiZWVuIGFzc2lnbmVkIHRvIHlvdS4nLFxuICAgICAgd2lkZ2V0SW1hZ2U6IEFTU0VUUy5leGNlcHRpb25TdW1tYXJ5V2lkZ2V0LFxuICAgICAgdmFsdWU6IDAsXG4gICAgfSxcbiAgXTtcblxuICByaXNrV2lkZ2V0c0RhdGEgPSBbXG4gICAge1xuICAgICAgdGl0bGU6ICdSaXNrIE92ZXJ2aWV3JyxcbiAgICAgIGlkOiAncmlza19vdmVydmlldycsXG4gICAgICBkZXNjcmlwdGlvbjogJ2Rlc2NyaXB0aW9uJyxcbiAgICAgIC8vIHdpZGdldEltYWdlOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmlzay1vdmVydmlldy5wbmcnLFxuICAgICAgd2lkZ2V0SW1hZ2U6IEFTU0VUUy5yaXNrT3ZlcnZpZXdXaWRnZXQsXG4gICAgICB2YWx1ZTogMCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnUmlzayBBcHBldGl0ZSAmIFRvbGVyYW5jZScsXG4gICAgICBpZDogJ3Jpc2tfYXBwZXRpdGVfdG9sZXJhbmNlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnZGVzY3JpcHRpb24nLFxuICAgICAgLy8gd2lkZ2V0SW1hZ2U6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9hcHBldGl0ZS10b2xlcmFuY2UucG5nJyxcbiAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMuYXBwZXRpdGVUb2xlcmFuY2VXaWRnZXQsXG4gICAgICB2YWx1ZTogMCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnUmlzayBSYXRpbmdzJyxcbiAgICAgIGlkOiAncmlza19yYXRpbmdzJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24uJyxcbiAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMuYXBwZXRpdGVfdG9sZXJhbmNlLFxuICAgICAgdmFsdWU6IDAsXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ1Jpc2tzIFdpdGhvdXQgQ29udHJvbHMnLFxuICAgICAgaWQ6ICdyaXNrc193aXRob3V0X2NvbnRyb2xzJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgd2lkZ2V0SW1hZ2U6IEFTU0VUUy5hcHBldGl0ZV90b2xlcmFuY2UsXG4gICAgICB2YWx1ZTogMCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnUmlza3MgRXhjZWVkaW5nIFJpc2sgVG9sZXJhbmNlJyxcbiAgICAgIGlkOiAnZXhjZWVkc19yaXNrX3RvbGVyYW5jZScsXG4gICAgICBkZXNjcmlwdGlvbjogJ2Rlc2NyaXB0aW9uJyxcbiAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMuYXBwZXRpdGVfdG9sZXJhbmNlLFxuICAgICAgdmFsdWU6IDAsXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ0luaGVyZW50IFJpc2sgUmF0aW5nIGJ5IFJlc3BvbnNpYmlsaXR5IENlbnRlcnMgJyxcbiAgICAgIGlkOiAnaW5oZXJlbnRfcmlza19yYXRpbmdfYnlfcmVzcG9uc2liaWxpdHlfY2VudGVycycsXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uLicsXG4gICAgICAvLyB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2luaGVyZW50LVJDLnBuZycsXG4gICAgICB3aWRnZXRJbWFnZTogQVNTRVRTLmluaGVyZW50UkNXaWRnZXQsXG4gICAgICB2YWx1ZTogMCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnUmVzaWR1YWwgUmlzayBSYXRpbmcgYnkgUmVzcG9uc2liaWxpdHkgQ2VudGVycyAnLFxuICAgICAgaWQ6ICdyZXNpZHVhbF9yaXNrX3JhdGluZ19ieV9yZXNwb25zaWJpbGl0eV9jZW50ZXJzJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24uJyxcbiAgICAgIC8vIHdpZGdldEltYWdlOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmVzaWR1YWwtUkMucG5nJyxcbiAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMucmVzaWR1YWxSQ1dpZGdldCxcbiAgICAgIHZhbHVlOiAwLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdSaXNrIENhdGVnb3J5IE92ZXJ2aWV3JyxcbiAgICAgIGlkOiAncmlza19jYXRlZ29yeV9vdmVydmlldycsXG4gICAgICBkZXNjcmlwdGlvbjogJ2Rlc2NyaXB0aW9uJyxcbiAgICAgIC8vIHdpZGdldEltYWdlOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmlzay1jYXRlZ29yeS1vdmVydmlldy5wbmcnLFxuICAgICAgd2lkZ2V0SW1hZ2U6IEFTU0VUUy5yaXNrQ2F0ZWdvcnlPdmVydmlld1dpZGdldCxcbiAgICAgIHZhbHVlOiAwLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdSaXNrIEhlYXRtYXAnLFxuICAgICAgaWQ6ICdyaXNrX2hlYXRtYXAnLFxuICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbi4nLFxuICAgICAgd2lkZ2V0SW1hZ2U6IEFTU0VUUy5yaXNrSGVhdG1hcFdpZGdldCxcbiAgICAgIHZhbHVlOiAwLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdJbmhlcmVudCBSaXNrIFJhdGluZyBieSBDYXRlZ29yaWVzJyxcbiAgICAgIGlkOiAnaW5oZXJlbnRfcmlza19yYXRpbmdfYnlfY2F0ZWdvcmllcycsXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uLicsXG4gICAgICAvLyB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2luaGVyZW50LWNhdGVnb3JpZXMucG5nJyxcbiAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMuaW5oZXJlbnRDYXRlZ29yaWVzV2lkZ2V0LFxuICAgICAgdmFsdWU6IDAsXG4gICAgfSxcblxuICAgIHtcbiAgICAgIHRpdGxlOiAnUmVzaWR1YWwgUmlzayBSYXRpbmcgYnkgQ2F0ZWdvcmllcycsXG4gICAgICBpZDogJ3Jlc2lkdWFsX3Jpc2tfcmF0aW5nX2J5X2NhdGVnb3JpZXMnLFxuICAgICAgZGVzY3JpcHRpb246ICdkZXNjcmlwdGlvbicsXG4gICAgICAvLyB3aWRnZXRJbWFnZTogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jlc2lkdWFsLWNhdGVnb3JpZXMucG5nJyxcbiAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMucmVzaWR1YWxDYXRlZ29yaWVzV2lkZ2V0LFxuICAgICAgdmFsdWU6IDAsXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ0luaGVyZW50IFJpc2sgUmF0aW5nIFRyZW5kIGJ5IFJlc3BvbnNpYmlsaXR5IENlbnRlcnMnLFxuICAgICAgaWQ6ICdpbmhlcmVudF9yaXNrX3JhdGluZ190cmVuZF9ieV9yZXNwb25zaWJpbGl0eV9jZW50ZXJzJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24uJyxcbiAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMuaW5oZXJlbnRfdHJlbmQsXG4gICAgICB2YWx1ZTogMCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnUmVzaWR1YWwgUmlzayBSYXRpbmcgVHJlbmQgYnkgUmVzcG9uc2liaWxpdHkgQ2VudGVycycsXG4gICAgICBpZDogJ3Jlc2lkdWFsX3Jpc2tfcmF0aW5nX3RyZW5kX2J5X3Jlc3BvbnNpYmlsaXR5X2NlbnRlcnMnLFxuICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbi4nLFxuICAgICAgd2lkZ2V0SW1hZ2U6IEFTU0VUUy5yZXNpZHVhbF90cmVuZCxcbiAgICAgIHZhbHVlOiAwLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdSaXNrIFJhdGluZyBUcmVuZCBieSBDYXRlZ29yaWVzJyxcbiAgICAgIGlkOiAncmlza19yYXRpbmdfdHJlbmRfYnlfY2F0ZWdvcmllcycsXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uLicsXG4gICAgICB3aWRnZXRJbWFnZTogQVNTRVRTLnJpc2tfdHJlbmQsXG4gICAgICB2YWx1ZTogMCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnVG9wIDUgUmlzayBSYXRpbmdzJyxcbiAgICAgIGlkOiAndG9wXzVfcmVzaWR1YWxfcmlza19yYXRpbmdzJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24uJyxcbiAgICAgIC8vIHdpZGdldEltYWdlOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvNS1yaXNrLXJhdGluZ3MucG5nJyxcbiAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMudGVuUmlza1JhdGluZ3NXaWRnZXQsXG4gICAgICB2YWx1ZTogMCxcbiAgICB9LFxuICBdO1xuICBhdWRpdFdpZGdldHNEYXRhID0gW107XG4gIHBvbGljeVdpZGdldHNEYXRhID0gW107XG5cbiAgLy8gRm9yIGRhc2hib2FyZCB2aWV3XG4gIGRhc2hCb2FyZFdpZGdldFVwZGF0ZSh3aWRHZXRKc29uOiBhbnkpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wdXQodGhpcy5lbnYuT3JnYW5pemF0aW9uUHV0ICsgJ2Rhc2hib2FyZFdpZGdldHMnLCB3aWRHZXRKc29uKVxuICAgICAgLnBpcGUocmV0cnkoMikpO1xuICB9XG5cbiAgbW9kdWxlVHlwZShpZGVudGlmaWVyOiBzdHJpbmcpIHtcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkodGhpcy5jb21wbGlhbmNlV2lkZ2V0c0RhdGEpLmluY2x1ZGVzKGlkZW50aWZpZXIpKSB7XG4gICAgICByZXR1cm4gJ0NPTVBMSUFOQ0UnO1xuICAgIH0gZWxzZSBpZiAoSlNPTi5zdHJpbmdpZnkodGhpcy5yaXNrV2lkZ2V0c0RhdGEpLmluY2x1ZGVzKGlkZW50aWZpZXIpKSB7XG4gICAgICByZXR1cm4gJ1JJU0snO1xuICAgIH1cbiAgfVxufVxuIl19