common-header-lib 0.0.1

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 (195) hide show
  1. package/README.md +24 -0
  2. package/assets/.gitkeep +0 -0
  3. package/assets/i18n/ar.json +83 -0
  4. package/assets/i18n/de.json +83 -0
  5. package/assets/i18n/en.json +83 -0
  6. package/assets/i18n/es.json +83 -0
  7. package/assets/i18n/fr.json +83 -0
  8. package/assets/i18n/hi.json +83 -0
  9. package/assets/i18n/ja.json +83 -0
  10. package/assets/i18n/ko.json +83 -0
  11. package/assets/images/APP019.svg +6 -0
  12. package/assets/images/APP020.svg +4 -0
  13. package/assets/images/APP021.svg +6 -0
  14. package/assets/images/APP022.svg +6 -0
  15. package/assets/images/APP023.svg +11 -0
  16. package/assets/images/APP024.svg +9 -0
  17. package/assets/images/APP025.svg +8 -0
  18. package/assets/images/APP026.svg +4 -0
  19. package/assets/images/APP027.svg +5 -0
  20. package/assets/images/APP028.svg +6 -0
  21. package/assets/images/APP029.svg +12 -0
  22. package/assets/images/APP030.svg +20 -0
  23. package/assets/images/APP031.svg +14 -0
  24. package/assets/images/APP032.svg +17 -0
  25. package/assets/images/Frame.svg +104 -0
  26. package/assets/images/apps-1.svg +22 -0
  27. package/assets/images/bell-icon.svg +3 -0
  28. package/assets/images/check_circle.svg +3 -0
  29. package/assets/images/close copy.svg +5 -0
  30. package/assets/images/close.svg +5 -0
  31. package/assets/images/copy-img.svg +3 -0
  32. package/assets/images/cross-search.svg +4 -0
  33. package/assets/images/domain_img.svg +3 -0
  34. package/assets/images/east.svg +3 -0
  35. package/assets/images/error.svg +3 -0
  36. package/assets/images/filepath.svg +8 -0
  37. package/assets/images/flag1.svg +3 -0
  38. package/assets/images/gc-mail.svg +3 -0
  39. package/assets/images/grey-arrow.svg +3 -0
  40. package/assets/images/info.svg +3 -0
  41. package/assets/images/local.svg +3 -0
  42. package/assets/images/lock-pass.svg +3 -0
  43. package/assets/images/lock1.svg +3 -0
  44. package/assets/images/login-bg/default_bg.svg +448 -0
  45. package/assets/images/login-bg/visibility.svg +3 -0
  46. package/assets/images/login-bg/visibility_off.svg +3 -0
  47. package/assets/images/logo.png +0 -0
  48. package/assets/images/logout.svg +3 -0
  49. package/assets/images/mail-icon.svg +3 -0
  50. package/assets/images/marker-pin.svg +4 -0
  51. package/assets/images/noti_ticket.svg +3 -0
  52. package/assets/images/pass-img.svg +3 -0
  53. package/assets/images/refresh-1.svg +3 -0
  54. package/assets/images/schedule.svg +1 -0
  55. package/assets/images/search-filter.svg +3 -0
  56. package/assets/images/search-icon.svg +3 -0
  57. package/assets/images/settings.svg +3 -0
  58. package/assets/images/successful.svg +10 -0
  59. package/assets/images/user-name.svg +3 -0
  60. package/assets/scss/_sidebar.scss +267 -0
  61. package/assets/scss/styles.scss +577 -0
  62. package/esm2020/common-header-lib.mjs +5 -0
  63. package/esm2020/lib/Validators/noSpaceAllowed.mjs +16 -0
  64. package/esm2020/lib/common-header-lib.component.mjs +612 -0
  65. package/esm2020/lib/common-header-lib.module.mjs +208 -0
  66. package/esm2020/lib/common-header-lib.service.mjs +200 -0
  67. package/esm2020/lib/components/confirm-dialog/confirm-dialog.component.mjs +49 -0
  68. package/esm2020/lib/components/general-configuration/general-configuration.component.mjs +402 -0
  69. package/esm2020/lib/components/general-configuration/landingpg-config/landingpg-config.component.mjs +124 -0
  70. package/esm2020/lib/components/general-configuration/timezone-configuration/timezone-configuration.component.mjs +138 -0
  71. package/esm2020/lib/components/grid-pagination/grid-pagination.component.mjs +39 -0
  72. package/esm2020/lib/components/ng-translation/ng-translation.component.mjs +65 -0
  73. package/esm2020/lib/components/no-service-my-access-pg/no-service-my-access-pg.component.mjs +19 -0
  74. package/esm2020/lib/components/notification-sidebar/notification-sidebar.component.mjs +40 -0
  75. package/esm2020/lib/components/side-popup/side-popup.component.mjs +34 -0
  76. package/esm2020/lib/components/user-mailbox/user-mailbox.component.mjs +173 -0
  77. package/esm2020/lib/components/user-sidebar/user-sidebar.component.mjs +279 -0
  78. package/esm2020/lib/components/viewpassword-popup/viewpassword-popup.component.mjs +196 -0
  79. package/esm2020/lib/model/data_model.mjs +217 -0
  80. package/esm2020/lib/pipes/custome-dateformat.pipe.mjs +27 -0
  81. package/esm2020/lib/pipes/date-diff.pipe.mjs +56 -0
  82. package/esm2020/lib/pipes/slice-to-two.pipe.mjs +34 -0
  83. package/esm2020/lib/services/EncrypDecryp_RSA.service.mjs +100 -0
  84. package/esm2020/lib/services/async-passwordcheck.service.mjs +72 -0
  85. package/esm2020/lib/services/cookie-storage-manager.service.mjs +78 -0
  86. package/esm2020/lib/services/encrpdata.service.mjs +55 -0
  87. package/esm2020/lib/services/encrydecrydata.service.mjs +207 -0
  88. package/esm2020/lib/services/event.service.mjs +133 -0
  89. package/esm2020/lib/services/http/http-common.service.mjs +216 -0
  90. package/esm2020/lib/services/http/http-general-config.service.mjs +84 -0
  91. package/esm2020/lib/services/rest-login-form.service.mjs +296 -0
  92. package/esm2020/lib/services/rest-signalr.service.mjs +100 -0
  93. package/esm2020/lib/services/storage.service.mjs +33 -0
  94. package/esm2020/lib/services/toast-msg.service.mjs +95 -0
  95. package/esm2020/lib/services/vapt-validation.service.mjs +31 -0
  96. package/esm2020/public-api.mjs +13 -0
  97. package/fesm2015/common-header-lib.mjs +4165 -0
  98. package/fesm2015/common-header-lib.mjs.map +1 -0
  99. package/fesm2020/common-header-lib.mjs +4146 -0
  100. package/fesm2020/common-header-lib.mjs.map +1 -0
  101. package/index.d.ts +5 -0
  102. package/lib/Validators/noSpaceAllowed.d.ts +2 -0
  103. package/lib/common-header-lib.component.d.ts +148 -0
  104. package/lib/common-header-lib.module.d.ts +43 -0
  105. package/lib/common-header-lib.service.d.ts +25 -0
  106. package/lib/components/confirm-dialog/confirm-dialog.component.d.ts +13 -0
  107. package/lib/components/general-configuration/general-configuration.component.d.ts +86 -0
  108. package/lib/components/general-configuration/landingpg-config/landingpg-config.component.d.ts +37 -0
  109. package/lib/components/general-configuration/timezone-configuration/timezone-configuration.component.d.ts +38 -0
  110. package/lib/components/grid-pagination/grid-pagination.component.d.ts +20 -0
  111. package/lib/components/ng-translation/ng-translation.component.d.ts +22 -0
  112. package/lib/components/no-service-my-access-pg/no-service-my-access-pg.component.d.ts +8 -0
  113. package/lib/components/notification-sidebar/notification-sidebar.component.d.ts +16 -0
  114. package/lib/components/side-popup/side-popup.component.d.ts +14 -0
  115. package/lib/components/user-mailbox/user-mailbox.component.d.ts +40 -0
  116. package/lib/components/user-sidebar/user-sidebar.component.d.ts +61 -0
  117. package/lib/components/viewpassword-popup/viewpassword-popup.component.d.ts +47 -0
  118. package/lib/model/data_model.d.ts +184 -0
  119. package/lib/pipes/custome-dateformat.pipe.d.ts +8 -0
  120. package/lib/pipes/date-diff.pipe.d.ts +9 -0
  121. package/lib/pipes/slice-to-two.pipe.d.ts +7 -0
  122. package/lib/services/EncrypDecryp_RSA.service.d.ts +15 -0
  123. package/lib/services/async-passwordcheck.service.d.ts +18 -0
  124. package/lib/services/cookie-storage-manager.service.d.ts +16 -0
  125. package/lib/services/encrpdata.service.d.ts +12 -0
  126. package/lib/services/encrydecrydata.service.d.ts +33 -0
  127. package/lib/services/event.service.d.ts +30 -0
  128. package/lib/services/http/http-common.service.d.ts +30 -0
  129. package/lib/services/http/http-general-config.service.d.ts +15 -0
  130. package/lib/services/rest-login-form.service.d.ts +39 -0
  131. package/lib/services/rest-signalr.service.d.ts +23 -0
  132. package/lib/services/storage.service.d.ts +11 -0
  133. package/lib/services/toast-msg.service.d.ts +21 -0
  134. package/lib/services/vapt-validation.service.d.ts +7 -0
  135. package/package.json +49 -0
  136. package/public-api.d.ts +8 -0
  137. package/src/assets/i18n/ar.json +83 -0
  138. package/src/assets/i18n/de.json +83 -0
  139. package/src/assets/i18n/en.json +83 -0
  140. package/src/assets/i18n/es.json +83 -0
  141. package/src/assets/i18n/fr.json +83 -0
  142. package/src/assets/i18n/hi.json +83 -0
  143. package/src/assets/i18n/ja.json +83 -0
  144. package/src/assets/i18n/ko.json +83 -0
  145. package/src/assets/images/APP019.svg +6 -0
  146. package/src/assets/images/APP020.svg +4 -0
  147. package/src/assets/images/APP021.svg +6 -0
  148. package/src/assets/images/APP022.svg +6 -0
  149. package/src/assets/images/APP023.svg +11 -0
  150. package/src/assets/images/APP024.svg +9 -0
  151. package/src/assets/images/APP025.svg +8 -0
  152. package/src/assets/images/APP026.svg +4 -0
  153. package/src/assets/images/APP027.svg +5 -0
  154. package/src/assets/images/APP028.svg +6 -0
  155. package/src/assets/images/APP029.svg +12 -0
  156. package/src/assets/images/APP030.svg +20 -0
  157. package/src/assets/images/APP031.svg +14 -0
  158. package/src/assets/images/APP032.svg +17 -0
  159. package/src/assets/images/Frame.svg +104 -0
  160. package/src/assets/images/apps-1.svg +22 -0
  161. package/src/assets/images/bell-icon.svg +3 -0
  162. package/src/assets/images/check_circle.svg +3 -0
  163. package/src/assets/images/close copy.svg +5 -0
  164. package/src/assets/images/close.svg +5 -0
  165. package/src/assets/images/copy-img.svg +3 -0
  166. package/src/assets/images/cross-search.svg +4 -0
  167. package/src/assets/images/domain_img.svg +3 -0
  168. package/src/assets/images/east.svg +3 -0
  169. package/src/assets/images/error.svg +3 -0
  170. package/src/assets/images/filepath.svg +8 -0
  171. package/src/assets/images/flag1.svg +3 -0
  172. package/src/assets/images/gc-mail.svg +3 -0
  173. package/src/assets/images/grey-arrow.svg +3 -0
  174. package/src/assets/images/info.svg +3 -0
  175. package/src/assets/images/local.svg +3 -0
  176. package/src/assets/images/lock-pass.svg +3 -0
  177. package/src/assets/images/lock1.svg +3 -0
  178. package/src/assets/images/login-bg/default_bg.svg +448 -0
  179. package/src/assets/images/login-bg/visibility.svg +3 -0
  180. package/src/assets/images/login-bg/visibility_off.svg +3 -0
  181. package/src/assets/images/logo.png +0 -0
  182. package/src/assets/images/logout.svg +3 -0
  183. package/src/assets/images/mail-icon.svg +3 -0
  184. package/src/assets/images/marker-pin.svg +4 -0
  185. package/src/assets/images/noti_ticket.svg +3 -0
  186. package/src/assets/images/pass-img.svg +3 -0
  187. package/src/assets/images/refresh-1.svg +3 -0
  188. package/src/assets/images/schedule.svg +1 -0
  189. package/src/assets/images/search-filter.svg +3 -0
  190. package/src/assets/images/search-icon.svg +3 -0
  191. package/src/assets/images/settings.svg +3 -0
  192. package/src/assets/images/successful.svg +10 -0
  193. package/src/assets/images/user-name.svg +3 -0
  194. package/src/assets/scss/_sidebar.scss +267 -0
  195. package/src/assets/scss/styles.scss +577 -0
@@ -0,0 +1,208 @@
1
+ import { APP_INITIALIZER, NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { HttpClient, HttpClientModule } from '@angular/common/http';
5
+ import { TranslateLoader, TranslateModule, TranslateService, } from '@ngx-translate/core';
6
+ import { TranslateHttpLoader } from '@ngx-translate/http-loader';
7
+ /* PrimeNG */
8
+ import { InputTextModule } from 'primeng/inputtext';
9
+ import { DropdownModule } from 'primeng/dropdown';
10
+ import { OverlayPanelModule } from 'primeng/overlaypanel';
11
+ import { BadgeModule } from 'primeng/badge';
12
+ import { DialogModule } from 'primeng/dialog';
13
+ import { SkeletonModule } from 'primeng/skeleton';
14
+ import { PaginatorModule } from 'primeng/paginator';
15
+ import { TableModule } from 'primeng/table';
16
+ import { ButtonModule } from 'primeng/button';
17
+ import { ConfirmDialogModule } from 'primeng/confirmdialog';
18
+ /* Bootstrap */
19
+ import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
20
+ /* Components */
21
+ import { CommonHeaderLibComponent } from './common-header-lib.component';
22
+ import { SidePopupComponent } from './components/side-popup/side-popup.component';
23
+ import { UserSidebarComponent } from './components/user-sidebar/user-sidebar.component';
24
+ import { NgTranslationComponent } from './components/ng-translation/ng-translation.component';
25
+ import { UserMailboxComponent } from './components/user-mailbox/user-mailbox.component';
26
+ import { NotificationSidebarComponent } from './components/notification-sidebar/notification-sidebar.component';
27
+ import { GeneralConfigurationComponent } from './components/general-configuration/general-configuration.component';
28
+ import { LandingpgConfigComponent } from './components/general-configuration/landingpg-config/landingpg-config.component';
29
+ import { TimezoneConfigurationComponent } from './components/general-configuration/timezone-configuration/timezone-configuration.component';
30
+ import { NoServiceMyAccessPgComponent } from './components/no-service-my-access-pg/no-service-my-access-pg.component';
31
+ import { GridPaginationComponent } from './components/grid-pagination/grid-pagination.component';
32
+ import { ConfirmDialogComponent } from './components/confirm-dialog/confirm-dialog.component';
33
+ import { ViewpasswordPopupComponent } from './components/viewpassword-popup/viewpassword-popup.component';
34
+ /* Pipes */
35
+ import { SliceToTwoPipe } from './pipes/slice-to-two.pipe';
36
+ import { customDateFormatPipe } from './pipes/custome-dateformat.pipe';
37
+ import { DateDiffPipe } from './pipes/date-diff.pipe';
38
+ import { COOKIECONSTANT, GlobalConstants } from './model/data_model';
39
+ import { StorageService } from './services/storage.service';
40
+ import * as i0 from "@angular/core";
41
+ import * as i1 from "@ngx-translate/core";
42
+ export class CommonHeaderLibModule {
43
+ }
44
+ CommonHeaderLibModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CommonHeaderLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
45
+ CommonHeaderLibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: CommonHeaderLibModule, declarations: [CommonHeaderLibComponent,
46
+ SliceToTwoPipe,
47
+ customDateFormatPipe,
48
+ DateDiffPipe,
49
+ UserSidebarComponent,
50
+ SidePopupComponent,
51
+ NgTranslationComponent,
52
+ UserMailboxComponent,
53
+ NotificationSidebarComponent,
54
+ GeneralConfigurationComponent,
55
+ TimezoneConfigurationComponent,
56
+ LandingpgConfigComponent,
57
+ NoServiceMyAccessPgComponent,
58
+ GridPaginationComponent,
59
+ ConfirmDialogComponent,
60
+ ViewpasswordPopupComponent], imports: [CommonModule,
61
+ HttpClientModule,
62
+ ReactiveFormsModule,
63
+ /* UI Modules */
64
+ InputTextModule,
65
+ DropdownModule,
66
+ OverlayPanelModule,
67
+ BadgeModule,
68
+ DialogModule,
69
+ SkeletonModule,
70
+ PaginatorModule,
71
+ TableModule,
72
+ ButtonModule,
73
+ ConfirmDialogModule,
74
+ NgbModule, i1.TranslateModule], exports: [CommonHeaderLibComponent,
75
+ SliceToTwoPipe,
76
+ DateDiffPipe,
77
+ customDateFormatPipe,
78
+ ConfirmDialogComponent,
79
+ ViewpasswordPopupComponent,
80
+ TranslateModule] });
81
+ CommonHeaderLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CommonHeaderLibModule, providers: [
82
+ {
83
+ provide: APP_INITIALIZER,
84
+ useFactory: initTranslateService,
85
+ deps: [TranslateService, StorageService],
86
+ multi: true,
87
+ },
88
+ ], imports: [CommonModule,
89
+ HttpClientModule,
90
+ ReactiveFormsModule,
91
+ /* UI Modules */
92
+ InputTextModule,
93
+ DropdownModule,
94
+ OverlayPanelModule,
95
+ BadgeModule,
96
+ DialogModule,
97
+ SkeletonModule,
98
+ PaginatorModule,
99
+ TableModule,
100
+ ButtonModule,
101
+ ConfirmDialogModule,
102
+ NgbModule,
103
+ /* ngx-translate (isolated for library) */
104
+ TranslateModule.forChild({
105
+ loader: {
106
+ provide: TranslateLoader,
107
+ useFactory: createLibTranslateLoader,
108
+ deps: [HttpClient],
109
+ },
110
+ isolate: true,
111
+ }), TranslateModule] });
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CommonHeaderLibModule, decorators: [{
113
+ type: NgModule,
114
+ args: [{
115
+ declarations: [
116
+ CommonHeaderLibComponent,
117
+ SliceToTwoPipe,
118
+ customDateFormatPipe,
119
+ DateDiffPipe,
120
+ UserSidebarComponent,
121
+ SidePopupComponent,
122
+ NgTranslationComponent,
123
+ UserMailboxComponent,
124
+ NotificationSidebarComponent,
125
+ GeneralConfigurationComponent,
126
+ TimezoneConfigurationComponent,
127
+ LandingpgConfigComponent,
128
+ NoServiceMyAccessPgComponent,
129
+ GridPaginationComponent,
130
+ ConfirmDialogComponent,
131
+ ViewpasswordPopupComponent,
132
+ ],
133
+ imports: [
134
+ CommonModule,
135
+ HttpClientModule,
136
+ ReactiveFormsModule,
137
+ /* UI Modules */
138
+ InputTextModule,
139
+ DropdownModule,
140
+ OverlayPanelModule,
141
+ BadgeModule,
142
+ DialogModule,
143
+ SkeletonModule,
144
+ PaginatorModule,
145
+ TableModule,
146
+ ButtonModule,
147
+ ConfirmDialogModule,
148
+ NgbModule,
149
+ /* ngx-translate (isolated for library) */
150
+ TranslateModule.forChild({
151
+ loader: {
152
+ provide: TranslateLoader,
153
+ useFactory: createLibTranslateLoader,
154
+ deps: [HttpClient],
155
+ },
156
+ isolate: true,
157
+ }),
158
+ ],
159
+ exports: [
160
+ CommonHeaderLibComponent,
161
+ SliceToTwoPipe,
162
+ DateDiffPipe,
163
+ customDateFormatPipe,
164
+ ConfirmDialogComponent,
165
+ ViewpasswordPopupComponent,
166
+ TranslateModule,
167
+ ],
168
+ providers: [
169
+ {
170
+ provide: APP_INITIALIZER,
171
+ useFactory: initTranslateService,
172
+ deps: [TranslateService, StorageService],
173
+ multi: true,
174
+ },
175
+ ],
176
+ }]
177
+ }] });
178
+ export function initTranslateService(translate, localStorageService) {
179
+ return () => {
180
+ const supportedLangs = GlobalConstants.USERLANGUAGES;
181
+ const defaultLang = GlobalConstants.DEFAULTLANG;
182
+ let selectedLang = defaultLang;
183
+ /* 1. Read from localStorage */
184
+ const saved = localStorageService.getData(COOKIECONSTANT.USERLANG);
185
+ if (saved) {
186
+ try {
187
+ const parsed = JSON.parse(saved);
188
+ const isValid = supportedLangs.some((lang) => lang.langKey === parsed?.langKey);
189
+ if (isValid) {
190
+ selectedLang = parsed;
191
+ }
192
+ }
193
+ catch {
194
+ // corrupted JSON → fallback to default
195
+ selectedLang = defaultLang;
196
+ }
197
+ }
198
+ /* 2. Persist corrected value */
199
+ localStorageService.saveData(COOKIECONSTANT.USERLANG, JSON.stringify(selectedLang));
200
+ /* 3. Apply language */
201
+ translate.setDefaultLang(selectedLang.langKey);
202
+ return translate.use(selectedLang.langKey).subscribe();
203
+ };
204
+ }
205
+ export function createLibTranslateLoader(http) {
206
+ return new TranslateHttpLoader(http, 'assets/common-header-lib/i18n/', '.json');
207
+ }
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWhlYWRlci1saWIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uLWhlYWRlci1saWIvc3JjL2xpYi9jb21tb24taGVhZGVyLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRSxPQUFPLEVBQ0wsZUFBZSxFQUNmLGVBQWUsRUFDZixnQkFBZ0IsR0FDakIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVqRSxhQUFhO0FBQ2IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIs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QyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6RCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUFDLElBQWdCO0lBQ3ZELE9BQU8sSUFBSSxtQkFBbUIsQ0FDNUIsSUFBSSxFQUNKLGdDQUFnQyxFQUNoQyxPQUFPLENBQ1IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7XG4gIFRyYW5zbGF0ZUxvYWRlcixcbiAgVHJhbnNsYXRlTW9kdWxlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxufSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZUh0dHBMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9odHRwLWxvYWRlcic7XG5cbi8qIFByaW1lTkcgKi9cbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XG5pbXBvcnQgeyBPdmVybGF5UGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL292ZXJsYXlwYW5lbCc7XG5pbXBvcnQgeyBCYWRnZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYmFkZ2UnO1xuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xuaW1wb3J0IHsgU2tlbGV0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL3NrZWxldG9uJztcbmltcG9ydCB7IFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcGFnaW5hdG9yJztcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQgeyBDb25maXJtRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jb25maXJtZGlhbG9nJztcblxuLyogQm9vdHN0cmFwICovXG5pbXBvcnQgeyBOZ2JNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5cbi8qIENvbXBvbmVudHMgKi9cbmltcG9ydCB7IENvbW1vbkhlYWRlckxpYkNvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uLWhlYWRlci1saWIuY29tcG9uZW50JztcbmltcG9ydCB7IFNpZGVQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaWRlLXBvcHVwL3NpZGUtcG9wdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXJTaWRlYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItc2lkZWJhci91c2VyLXNpZGViYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5nVHJhbnNsYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbmctdHJhbnNsYXRpb24vbmctdHJhbnNsYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXJNYWlsYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItbWFpbGJveC91c2VyLW1haWxib3guY29tcG9uZW50JztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLXNpZGViYXIvbm90aWZpY2F0aW9uLXNpZGViYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEdlbmVyYWxDb25maWd1cmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2dlbmVyYWwtY29uZmlndXJhdGlvbi9nZW5lcmFsLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IExhbmRpbmdwZ0NvbmZpZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nZW5lcmFsLWNvbmZpZ3VyYXRpb24vbGFuZGluZ3BnLWNvbmZpZy9sYW5kaW5ncGctY29uZmlnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaW1lem9uZUNvbmZpZ3VyYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZ2VuZXJhbC1jb25maWd1cmF0aW9uL3RpbWV6b25lLWNvbmZpZ3VyYXRpb24vdGltZXpvbmUtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9TZXJ2aWNlTXlBY2Nlc3NQZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uby1zZXJ2aWNlLW15LWFjY2Vzcy1wZy9uby1zZXJ2aWNlLW15LWFjY2Vzcy1wZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3JpZFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZ3JpZC1wYWdpbmF0aW9uL2dyaWQtcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmlld3Bhc3N3b3JkUG9wdXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdmlld3Bhc3N3b3JkLXBvcHVwL3ZpZXdwYXNzd29yZC1wb3B1cC5jb21wb25lbnQnO1xuXG4vKiBQaXBlcyAqL1xuaW1wb3J0IHsgU2xpY2VUb1R3b1BpcGUgfSBmcm9tICcuL3BpcGVzL3NsaWNlLXRvLXR3by5waXBlJztcbmltcG9ydCB7IGN1c3RvbURhdGVGb3JtYXRQaXBlIH0gZnJvbSAnLi9waXBlcy9jdXN0b21lLWRhdGVmb3JtYXQucGlwZSc7XG5pbXBvcnQgeyBEYXRlRGlmZlBpcGUgfSBmcm9tICcuL3BpcGVzL2RhdGUtZGlmZi5waXBlJztcbmltcG9ydCB7IENPT0tJRUNPTlNUQU5ULCBHbG9iYWxDb25zdGFudHMgfSBmcm9tICcuL21vZGVsL2RhdGFfbW9kZWwnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIENvbW1vbkhlYWRlckxpYkNvbXBvbmVudCxcbiAgICBTbGljZVRvVHdvUGlwZSxcbiAgICBjdXN0b21EYXRlRm9ybWF0UGlwZSxcbiAgICBEYXRlRGlmZlBpcGUsXG4gICAgVXNlclNpZGViYXJDb21wb25lbnQsXG4gICAgU2lkZVBvcHVwQ29tcG9uZW50LFxuICAgIE5nVHJhbnNsYXRpb25Db21wb25lbnQsXG4gICAgVXNlck1haWxib3hDb21wb25lbnQsXG4gICAgTm90aWZpY2F0aW9uU2lkZWJhckNvbXBvbmVudCxcbiAgICBHZW5lcmFsQ29uZmlndXJhdGlvbkNvbXBvbmVudCxcbiAgICBUaW1lem9uZUNvbmZpZ3VyYXRpb25Db21wb25lbnQsXG4gICAgTGFuZGluZ3BnQ29uZmlnQ29tcG9uZW50LFxuICAgIE5vU2VydmljZU15QWNjZXNzUGdDb21wb25lbnQsXG4gICAgR3JpZFBhZ2luYXRpb25Db21wb25lbnQsXG4gICAgQ29uZmlybURpYWxvZ0NvbXBvbmVudCxcbiAgICBWaWV3cGFzc3dvcmRQb3B1cENvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG5cbiAgICAvKiBVSSBNb2R1bGVzICovXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxuICAgIERyb3Bkb3duTW9kdWxlLFxuICAgIE92ZXJsYXlQYW5lbE1vZHVsZSxcbiAgICBCYWRnZU1vZHVsZSxcbiAgICBEaWFsb2dNb2R1bGUsXG4gICAgU2tlbGV0b25Nb2R1bGUsXG4gICAgUGFnaW5hdG9yTW9kdWxlLFxuICAgIFRhYmxlTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBDb25maXJtRGlhbG9nTW9kdWxlLFxuICAgIE5nYk1vZHVsZSxcblxuICAgIC8qIG5neC10cmFuc2xhdGUgKGlzb2xhdGVkIGZvciBsaWJyYXJ5KSAqL1xuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCh7XG4gICAgICBsb2FkZXI6IHtcbiAgICAgICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxuICAgICAgICB1c2VGYWN0b3J5OiBjcmVhdGVMaWJUcmFuc2xhdGVMb2FkZXIsXG4gICAgICAgIGRlcHM6IFtIdHRwQ2xpZW50XSxcbiAgICAgIH0sXG4gICAgICBpc29sYXRlOiB0cnVlLFxuICAgIH0pLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ29tbW9uSGVhZGVyTGliQ29tcG9uZW50LFxuICAgIFNsaWNlVG9Ud29QaXBlLFxuICAgIERhdGVEaWZmUGlwZSxcbiAgICBjdXN0b21EYXRlRm9ybWF0UGlwZSxcbiAgICBDb25maXJtRGlhbG9nQ29tcG9uZW50LFxuICAgIFZpZXdwYXNzd29yZFBvcHVwQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgdXNlRmFjdG9yeTogaW5pdFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICBkZXBzOiBbVHJhbnNsYXRlU2VydmljZSwgU3RvcmFnZVNlcnZpY2VdLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29tbW9uSGVhZGVyTGliTW9kdWxlIHt9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0VHJhbnNsYXRlU2VydmljZShcbiAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICBsb2NhbFN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbikge1xuICByZXR1cm4gKCkgPT4ge1xuICAgIGNvbnN0IHN1cHBvcnRlZExhbmdzID0gR2xvYmFsQ29uc3RhbnRzLlVTRVJMQU5HVUFHRVM7XG4gICAgY29uc3QgZGVmYXVsdExhbmcgPSBHbG9iYWxDb25zdGFudHMuREVGQVVMVExBTkc7XG5cbiAgICBsZXQgc2VsZWN0ZWRMYW5nID0gZGVmYXVsdExhbmc7XG5cbiAgICAvKiAxLiBSZWFkIGZyb20gbG9jYWxTdG9yYWdlICovXG4gICAgY29uc3Qgc2F2ZWQgPSBsb2NhbFN0b3JhZ2VTZXJ2aWNlLmdldERhdGEoQ09PS0lFQ09OU1RBTlQuVVNFUkxBTkcpO1xuXG4gICAgaWYgKHNhdmVkKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHNhdmVkKTtcblxuICAgICAgICBjb25zdCBpc1ZhbGlkID0gc3VwcG9ydGVkTGFuZ3Muc29tZShcbiAgICAgICAgICAobGFuZykgPT4gbGFuZy5sYW5nS2V5ID09PSBwYXJzZWQ/LmxhbmdLZXksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgICAgICBzZWxlY3RlZExhbmcgPSBwYXJzZWQ7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICAvLyBjb3JydXB0ZWQgSlNPTiDihpIgZmFsbGJhY2sgdG8gZGVmYXVsdFxuICAgICAgICBzZWxlY3RlZExhbmcgPSBkZWZhdWx0TGFuZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAyLiBQZXJzaXN0IGNvcnJlY3RlZCB2YWx1ZSAqL1xuICAgIGxvY2FsU3RvcmFnZVNlcnZpY2Uuc2F2ZURhdGEoXG4gICAgICBDT09LSUVDT05TVEFOVC5VU0VSTEFORyxcbiAgICAgIEpTT04uc3RyaW5naWZ5KHNlbGVjdGVkTGFuZyksXG4gICAgKTtcbiAgICAvKiAzLiBBcHBseSBsYW5ndWFnZSAqL1xuICAgIHRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZyhzZWxlY3RlZExhbmcubGFuZ0tleSk7XG4gICAgcmV0dXJuIHRyYW5zbGF0ZS51c2Uoc2VsZWN0ZWRMYW5nLmxhbmdLZXkpLnN1YnNjcmliZSgpO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTGliVHJhbnNsYXRlTG9hZGVyKGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgcmV0dXJuIG5ldyBUcmFuc2xhdGVIdHRwTG9hZGVyKFxuICAgIGh0dHAsXG4gICAgJ2Fzc2V0cy9jb21tb24taGVhZGVyLWxpYi9pMThuLycsXG4gICAgJy5qc29uJyxcbiAgKTtcbn1cbiJdfQ==
@@ -0,0 +1,200 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { catchError, map } from 'rxjs/operators';
3
+ import { HttpClient, HttpParams } from '@angular/common/http';
4
+ import { throwError } from 'rxjs';
5
+ import { GlobalConstants } from './model/data_model';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common/http";
8
+ export class CommonHeaderLibService {
9
+ constructor(http) {
10
+ this.http = http;
11
+ this.apiUrl = '';
12
+ }
13
+ getGlobalTimeZone() {
14
+ return this.http
15
+ .get(GlobalConstants.baseURL + 'xaccess/api/SecureAccess/GetSystemTimeZones')
16
+ .pipe(map((response) => {
17
+ if (response && response['success']) {
18
+ return response['result'];
19
+ }
20
+ else {
21
+ return [];
22
+ }
23
+ }));
24
+ }
25
+ getLoggedInUserDetails(url) {
26
+ return this.http
27
+ .post(url + 'xaccess/api/SecureAccess/GetUsersDetailsById', {})
28
+ .pipe(map((response) => {
29
+ // return response['result'];
30
+ return response;
31
+ }));
32
+ }
33
+ getLOBList(url) {
34
+ return this.http.get(url + 'meta/api/metadata/Lobs').pipe(map((response) => {
35
+ let result = [];
36
+ if (response['statusCode'] === 200) {
37
+ // let result = response['result'];
38
+ let result = response;
39
+ return result;
40
+ }
41
+ }));
42
+ }
43
+ getUserAssignedApps(url) {
44
+ return this.http
45
+ .post(url + 'xaccess/api/SecureAccess/GetUserPriviledgesList', {})
46
+ .pipe(map((response) => {
47
+ if (response && response['success']) {
48
+ return response['result'].filter((x) => x.appCode != null
49
+ // (x) => x.appCode !== 'APP026' && x.appCode != null
50
+ );
51
+ }
52
+ else {
53
+ return [];
54
+ }
55
+ }));
56
+ }
57
+ getUnreadUserEmailsCount(url) {
58
+ return this.http.get(url + 'xservice/api/CIInfraAsset/MailBoxCount').pipe(map((response) => {
59
+ if (response && response['success'] && response['result'] > 0) {
60
+ return response['result'];
61
+ }
62
+ else {
63
+ return 0;
64
+ }
65
+ }));
66
+ }
67
+ getUserAssignedMails(userDetails, url) {
68
+ return this.http
69
+ .post(url + 'xservice/api/CIInfraAsset/MailBox', userDetails)
70
+ .pipe(map((response) => {
71
+ if (response && response['success']) {
72
+ return response['result'];
73
+ }
74
+ else {
75
+ return [];
76
+ }
77
+ }));
78
+ }
79
+ getWorkFlowTicketEventwiseCount(userDetails, url) {
80
+ return this.http
81
+ .post(url + 'workflow/api/Workflow/Workflow/GetWorkFlowTicketCountEventWise', userDetails)
82
+ .pipe(map((response) => {
83
+ if (response && response[0]['Success']) {
84
+ return response[0]['Data'];
85
+ }
86
+ else {
87
+ return [];
88
+ }
89
+ }), catchError((e) => throwError(this.errorHandler(e))));
90
+ }
91
+ errorHandler(e) {
92
+ throw new Error('Method not implemented.');
93
+ }
94
+ getUserPreferredAssetTypeDetails(url) {
95
+ return this.http
96
+ .get(url + 'xaccess/api/PagePreference/GetAssetTypeDetails')
97
+ .pipe(map((response) => {
98
+ if (response && response['success']) {
99
+ return response['result'];
100
+ }
101
+ else {
102
+ return [];
103
+ }
104
+ }), catchError((e) => throwError(this.errorHandler(e))));
105
+ }
106
+ getUserPreferredAssetName(payload, url) {
107
+ return this.http
108
+ .post(url + 'xaccess/api/PagePreference/GetAssetName', payload)
109
+ .pipe(map((response) => {
110
+ if (response && response['success']) {
111
+ return response['result'];
112
+ }
113
+ else {
114
+ return [];
115
+ }
116
+ }), catchError((e) => throwError(this.errorHandler(e))));
117
+ }
118
+ getServiceNameByAssetTypeEvent(payload, url) {
119
+ return this.http
120
+ .post(url + 'xaccess/api/PagePreference/GetServiceDetails', payload)
121
+ .pipe(map((response) => {
122
+ if (response && response['success']) {
123
+ return response['result'];
124
+ }
125
+ else {
126
+ return [];
127
+ }
128
+ }), catchError((e) => throwError(this.errorHandler(e))));
129
+ }
130
+ getPreferencePathDetails(payload, url) {
131
+ return this.http
132
+ .post(url + 'xaccess/api/PagePreference/CurrentPreferencepathDetails', payload)
133
+ .pipe(map((response) => {
134
+ if (response && response['success']) {
135
+ return response['result'];
136
+ }
137
+ else {
138
+ return {};
139
+ }
140
+ }), catchError((e) => throwError(this.errorHandler(e))));
141
+ }
142
+ updatePreferencePath(payload, url) {
143
+ return this.http
144
+ .post(url + 'xaccess/api/PagePreference/UpdatePreferencePath', payload)
145
+ .pipe(map((response) => {
146
+ if (response && response['success']) {
147
+ return true;
148
+ }
149
+ else {
150
+ return false;
151
+ }
152
+ }), catchError((e) => throwError(this.errorHandler(e))));
153
+ }
154
+ updateUserTimeZone(tz, url) {
155
+ const params = new HttpParams().set('timezone', tz);
156
+ return this.http
157
+ .post(url + 'xaccess/api/SecureAccess/UpdateTimeZone', {}, { params: params })
158
+ .pipe(map((response) => {
159
+ if (response && response['success']) {
160
+ return response['result'];
161
+ }
162
+ else {
163
+ return '';
164
+ }
165
+ }), catchError((e) => throwError(this.errorHandler(e))));
166
+ }
167
+ setLandingPgPreference(moduleId, url) {
168
+ return this.http
169
+ .post(url + 'xaccess/api/SecureAccess/SetLandingPage', {
170
+ moduleId: moduleId,
171
+ })
172
+ .pipe(map((response) => {
173
+ if (response && response['success']) {
174
+ return response['result'];
175
+ }
176
+ else {
177
+ return '';
178
+ }
179
+ }), catchError((e) => throwError(this.errorHandler(e))));
180
+ }
181
+ getInitiateUserLogout() {
182
+ return this.http.post(GlobalConstants.baseURL + 'xaccess/api/SecureAccess/logout', {}).pipe(map((response) => {
183
+ if (response && response['success']) {
184
+ return response['result'];
185
+ }
186
+ else {
187
+ return {};
188
+ }
189
+ }), catchError((e) => throwError(this.errorHandler(e))));
190
+ }
191
+ }
192
+ CommonHeaderLibService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CommonHeaderLibService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
193
+ CommonHeaderLibService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CommonHeaderLibService, providedIn: 'root' });
194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CommonHeaderLibService, decorators: [{
195
+ type: Injectable,
196
+ args: [{
197
+ providedIn: 'root',
198
+ }]
199
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWhlYWRlci1saWIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXItbGliL3NyYy9saWIvY29tbW9uLWhlYWRlci1saWIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBSXJELE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsWUFBNkIsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUQ3QyxXQUFNLEdBQVcsRUFBRSxDQUFDO0lBQzRCLENBQUM7SUFDakQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FDRixlQUFlLENBQUMsT0FBTyxHQUFHLDZDQUE2QyxDQUN4RTthQUNBLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNwQixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ25DLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzNCO2lCQUFNO2dCQUNMLE9BQU8sRUFBRSxDQUFDO2FBQ1g7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUNELHNCQUFzQixDQUFDLEdBQVc7UUFDaEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLElBQUksQ0FBQyxHQUFHLEdBQUcsOENBQThDLEVBQUUsRUFBRSxDQUFDO2FB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QUNyRCxRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDO2FBQ0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3BCLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDbkMsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDM0I7aUJBQU07Z0JBQ0wsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNwRCxDQUFDO0lBQ04sQ0FBQztJQUNELHFCQUFxQjtRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEdBQUcsaUNBQWlDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN6RixHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNwQixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ25DLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzNCO2lCQUFNO2dCQUNMLE9BQU8sRUFBRSxDQUFDO2FBQ1g7UUFDSCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDcEQsQ0FBQztJQUNKLENBQUM7O21IQTVOVSxzQkFBc0I7dUhBQXRCLHNCQUFzQixjQUZyQixNQUFNOzJGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgR2xvYmFsQ29uc3RhbnRzIH0gZnJvbSAnLi9tb2RlbC9kYXRhX21vZGVsJztcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDb21tb25IZWFkZXJMaWJTZXJ2aWNlIHtcbiAgYXBpVXJsOiBzdHJpbmcgPSAnJztcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50KSB7fVxuICBnZXRHbG9iYWxUaW1lWm9uZSgpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KFxuICAgICAgICBHbG9iYWxDb25zdGFudHMuYmFzZVVSTCArICd4YWNjZXNzL2FwaS9TZWN1cmVBY2Nlc3MvR2V0U3lzdGVtVGltZVpvbmVzJ1xuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZVsnc3VjY2VzcyddKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2VbJ3Jlc3VsdCddO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuICBnZXRMb2dnZWRJblVzZXJEZXRhaWxzKHVybDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QodXJsICsgJ3hhY2Nlc3MvYXBpL1NlY3VyZUFjY2Vzcy9HZXRVc2Vyc0RldGFpbHNCeUlkJywge30pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgLy8gcmV0dXJuIHJlc3BvbnNlWydyZXN1bHQnXTtcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG4gIGdldExPQkxpc3QodXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwgKyAnbWV0YS9hcGkvbWV0YWRhdGEvTG9icycpLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IFtdO1xuICAgICAgICBpZiAocmVzcG9uc2VbJ3N0YXR1c0NvZGUnXSA9PT0gMjAwKSB7XG4gICAgICAgICAgLy8gbGV0IHJlc3VsdCA9IHJlc3BvbnNlWydyZXN1bHQnXTtcbiAgICAgICAgICBsZXQgcmVzdWx0ID0gcmVzcG9uc2U7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG4gIGdldFVzZXJBc3NpZ25lZEFwcHModXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdCh1cmwgKyAneGFjY2Vzcy9hcGkvU2VjdXJlQWNjZXNzL0dldFVzZXJQcml2aWxlZGdlc0xpc3QnLCB7fSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2VbJ3N1Y2Nlc3MnXSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlWydyZXN1bHQnXS5maWx0ZXIoXG4gICAgICAgICAgICAgICh4OiBhbnkpID0+IHguYXBwQ29kZSAhPSBudWxsXG4gICAgICAgICAgICAgIC8vICh4KSA9PiB4LmFwcENvZGUgIT09ICdBUFAwMjYnICYmIHguYXBwQ29kZSAhPSBudWxsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuICBnZXRVbnJlYWRVc2VyRW1haWxzQ291bnQodXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwgKyAneHNlcnZpY2UvYXBpL0NJSW5mcmFBc3NldC9NYWlsQm94Q291bnQnKS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZVsnc3VjY2VzcyddICYmIHJlc3BvbnNlWydyZXN1bHQnXSA+IDApIHtcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2VbJ3Jlc3VsdCddO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cbiAgZ2V0VXNlckFzc2lnbmVkTWFpbHModXNlckRldGFpbHM6IGFueSwgdXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdCh1cmwgKyAneHNlcnZpY2UvYXBpL0NJSW5mcmFBc3NldC9NYWlsQm94JywgdXNlckRldGFpbHMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlWydzdWNjZXNzJ10pIHtcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZVsncmVzdWx0J107XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG4gIGdldFdvcmtGbG93VGlja2V0RXZlbnR3aXNlQ291bnQodXNlckRldGFpbHM6IGFueSwgdXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdChcbiAgICAgICAgdXJsICsgJ3dvcmtmbG93L2FwaS9Xb3JrZmxvdy9Xb3JrZmxvdy9HZXRXb3JrRmxvd1RpY2tldENvdW50RXZlbnRXaXNlJyxcbiAgICAgICAgdXNlckRldGFpbHNcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2VbMF1bJ1N1Y2Nlc3MnXSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlWzBdWydEYXRhJ107XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlKSA9PiB0aHJvd0Vycm9yKHRoaXMuZXJyb3JIYW5kbGVyKGUpKSlcbiAgICAgICk7XG4gIH1cbiAgZXJyb3JIYW5kbGVyKGU6IGFueSk6IGFueSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG4gIGdldFVzZXJQcmVmZXJyZWRBc3NldFR5cGVEZXRhaWxzKHVybDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh1cmwgKyAneGFjY2Vzcy9hcGkvUGFnZVByZWZlcmVuY2UvR2V0QXNzZXRUeXBlRGV0YWlscycpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlWydzdWNjZXNzJ10pIHtcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZVsncmVzdWx0J107XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlKSA9PiB0aHJvd0Vycm9yKHRoaXMuZXJyb3JIYW5kbGVyKGUpKSlcbiAgICAgICk7XG4gIH1cbiAgZ2V0VXNlclByZWZlcnJlZEFzc2V0TmFtZShwYXlsb2FkOiBhbnksIHVybDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QodXJsICsgJ3hhY2Nlc3MvYXBpL1BhZ2VQcmVmZXJlbmNlL0dldEFzc2V0TmFtZScsIHBheWxvYWQpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlWydzdWNjZXNzJ10pIHtcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZVsncmVzdWx0J107XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlKSA9PiB0aHJvd0Vycm9yKHRoaXMuZXJyb3JIYW5kbGVyKGUpKSlcbiAgICAgICk7XG4gIH1cbiAgZ2V0U2VydmljZU5hbWVCeUFzc2V0VHlwZUV2ZW50KHBheWxvYWQ6IGFueSwgdXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdCh1cmwgKyAneGFjY2Vzcy9hcGkvUGFnZVByZWZlcmVuY2UvR2V0U2VydmljZURldGFpbHMnLCBwYXlsb2FkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZVsnc3VjY2VzcyddKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2VbJ3Jlc3VsdCddO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZSkgPT4gdGhyb3dFcnJvcih0aGlzLmVycm9ySGFuZGxlcihlKSkpXG4gICAgICApO1xuICB9XG4gIGdldFByZWZlcmVuY2VQYXRoRGV0YWlscyhwYXlsb2FkOiBhbnksIHVybDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QoXG4gICAgICAgIHVybCArICd4YWNjZXNzL2FwaS9QYWdlUHJlZmVyZW5jZS9DdXJyZW50UHJlZmVyZW5jZXBhdGhEZXRhaWxzJyxcbiAgICAgICAgcGF5bG9hZFxuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZVsnc3VjY2VzcyddKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2VbJ3Jlc3VsdCddO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZSkgPT4gdGhyb3dFcnJvcih0aGlzLmVycm9ySGFuZGxlcihlKSkpXG4gICAgICApO1xuICB9XG4gIHVwZGF0ZVByZWZlcmVuY2VQYXRoKHBheWxvYWQ6IGFueSwgdXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdCh1cmwgKyAneGFjY2Vzcy9hcGkvUGFnZVByZWZlcmVuY2UvVXBkYXRlUHJlZmVyZW5jZVBhdGgnLCBwYXlsb2FkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZVsnc3VjY2VzcyddKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHRocm93RXJyb3IodGhpcy5lcnJvckhhbmRsZXIoZSkpKVxuICAgICAgKTtcbiAgfVxuXG4gIHVwZGF0ZVVzZXJUaW1lWm9uZSh0ejogc3RyaW5nLCB1cmw6IHN0cmluZykge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCd0aW1lem9uZScsIHR6KTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdChcbiAgICAgICAgdXJsICsgJ3hhY2Nlc3MvYXBpL1NlY3VyZUFjY2Vzcy9VcGRhdGVUaW1lWm9uZScsXG4gICAgICAgIHt9LFxuICAgICAgICB7IHBhcmFtczogcGFyYW1zIH1cbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2VbJ3N1Y2Nlc3MnXSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlWydyZXN1bHQnXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHRocm93RXJyb3IodGhpcy5lcnJvckhhbmRsZXIoZSkpKVxuICAgICAgKTtcbiAgfVxuICBzZXRMYW5kaW5nUGdQcmVmZXJlbmNlKG1vZHVsZUlkOiBzdHJpbmcsIHVybDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QodXJsICsgJ3hhY2Nlc3MvYXBpL1NlY3VyZUFjY2Vzcy9TZXRMYW5kaW5nUGFnZScsIHtcbiAgICAgICAgbW9kdWxlSWQ6IG1vZHVsZUlkLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2VbJ3N1Y2Nlc3MnXSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlWydyZXN1bHQnXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHRocm93RXJyb3IodGhpcy5lcnJvckhhbmRsZXIoZSkpKVxuICAgICAgKTtcbiAgfVxuICBnZXRJbml0aWF0ZVVzZXJMb2dvdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KEdsb2JhbENvbnN0YW50cy5iYXNlVVJMICsgJ3hhY2Nlc3MvYXBpL1NlY3VyZUFjY2Vzcy9sb2dvdXQnLCB7fSkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2VbJ3N1Y2Nlc3MnXSkge1xuICAgICAgICAgIHJldHVybiByZXNwb25zZVsncmVzdWx0J107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHRocm93RXJyb3IodGhpcy5lcnJvckhhbmRsZXIoZSkpKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,49 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { ConfirmationService } from 'primeng/api';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "primeng/api";
5
+ import * as i2 from "primeng/confirmdialog";
6
+ export class ConfirmDialogComponent {
7
+ constructor(confirmationService) {
8
+ this.confirmationService = confirmationService;
9
+ this.header = '';
10
+ this.message = '';
11
+ this.result = new EventEmitter();
12
+ }
13
+ openConfirmModal(event) {
14
+ this.confirmationService.confirm({
15
+ target: event.target,
16
+ message: this.message,
17
+ header: this.header,
18
+ closeOnEscape: true,
19
+ // icon: 'pi pi-exclamation-triangle',
20
+ // ✔ PrimeNG 14 button config
21
+ acceptLabel: 'Yes',
22
+ rejectLabel: 'No',
23
+ acceptButtonStyleClass: 'p-button-primary',
24
+ rejectButtonStyleClass: 'p-button-secondary p-button-outlined',
25
+ accept: () => {
26
+ this.result.emit(true);
27
+ },
28
+ reject: () => {
29
+ this.result.emit(false);
30
+ },
31
+ });
32
+ }
33
+ }
34
+ ConfirmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: i1.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
35
+ ConfirmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ConfirmDialogComponent, selector: "confirm-dialog", inputs: { header: "header", message: "message" }, outputs: { result: "result" }, providers: [ConfirmationService], ngImport: i0, template: "<div class=\"card flex justify-center gap-2 view-pass-details confirmtion-modal\">\n <p-confirmDialog icon=\"none\" acceptIcon=\"\" rejectIcon=\"\"></p-confirmDialog>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i2.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }] });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ selector: 'confirm-dialog', providers: [ConfirmationService], template: "<div class=\"card flex justify-center gap-2 view-pass-details confirmtion-modal\">\n <p-confirmDialog icon=\"none\" acceptIcon=\"\" rejectIcon=\"\"></p-confirmDialog>\n</div>\n" }]
39
+ }], ctorParameters: function () { return [{ type: i1.ConfirmationService }]; }, propDecorators: { header: [{
40
+ type: Input,
41
+ args: ['header']
42
+ }], message: [{
43
+ type: Input,
44
+ args: ['message']
45
+ }], result: [{
46
+ type: Output,
47
+ args: ['result']
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uLWhlYWRlci1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXItbGliL3NyYy9saWIvY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQVFsRCxNQUFNLE9BQU8sc0JBQXNCO0lBS2pDLFlBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBSjNDLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFDbkIsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUVRLENBQUM7SUFFaEUsZ0JBQWdCLENBQUMsS0FBWTtRQUMzQixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDO1lBQy9CLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBcUI7WUFDbkMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixhQUFhLEVBQUUsSUFBSTtZQUNuQixzQ0FBc0M7WUFFdEMsNkJBQTZCO1lBQzdCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFdBQVcsRUFBRSxJQUFJO1lBRWpCLHNCQUFzQixFQUFFLGtCQUFrQjtZQUMxQyxzQkFBc0IsRUFBRSxzQ0FBc0M7WUFFOUQsTUFBTSxFQUFFLEdBQUcsRUFBRTtnQkFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QixDQUFDO1lBQ0QsTUFBTSxFQUFFLEdBQUcsRUFBRTtnQkFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7bUhBN0JVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDBIQUZ0QixDQUFDLG1CQUFtQixDQUFDLDBCQ1BsQyxtTEFHQTsyRkRNYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0UsZ0JBQWdCLGFBR2YsQ0FBQyxtQkFBbUIsQ0FBQzswR0FHZixNQUFNO3NCQUF0QixLQUFLO3VCQUFDLFFBQVE7Z0JBQ0csT0FBTztzQkFBeEIsS0FBSzt1QkFBQyxTQUFTO2dCQUNFLE1BQU07c0JBQXZCLE1BQU07dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb25maXJtLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0NvbmZpcm1hdGlvblNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBDb25maXJtRGlhbG9nQ29tcG9uZW50IHtcbiAgQElucHV0KCdoZWFkZXInKSBoZWFkZXI6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoJ21lc3NhZ2UnKSBtZXNzYWdlOiBzdHJpbmcgPSAnJztcbiAgQE91dHB1dCgncmVzdWx0JykgcmVzdWx0ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSkge31cblxuICBvcGVuQ29uZmlybU1vZGFsKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgIHRhcmdldDogZXZlbnQudGFyZ2V0IGFzIEV2ZW50VGFyZ2V0LFxuICAgICAgbWVzc2FnZTogdGhpcy5tZXNzYWdlLFxuICAgICAgaGVhZGVyOiB0aGlzLmhlYWRlcixcbiAgICAgIGNsb3NlT25Fc2NhcGU6IHRydWUsXG4gICAgICAvLyBpY29uOiAncGkgcGktZXhjbGFtYXRpb24tdHJpYW5nbGUnLFxuXG4gICAgICAvLyDinJQgUHJpbWVORyAxNCBidXR0b24gY29uZmlnXG4gICAgICBhY2NlcHRMYWJlbDogJ1llcycsXG4gICAgICByZWplY3RMYWJlbDogJ05vJyxcblxuICAgICAgYWNjZXB0QnV0dG9uU3R5bGVDbGFzczogJ3AtYnV0dG9uLXByaW1hcnknLFxuICAgICAgcmVqZWN0QnV0dG9uU3R5bGVDbGFzczogJ3AtYnV0dG9uLXNlY29uZGFyeSBwLWJ1dHRvbi1vdXRsaW5lZCcsXG5cbiAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICB0aGlzLnJlc3VsdC5lbWl0KHRydWUpO1xuICAgICAgfSxcbiAgICAgIHJlamVjdDogKCkgPT4ge1xuICAgICAgICB0aGlzLnJlc3VsdC5lbWl0KGZhbHNlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIGZsZXgganVzdGlmeS1jZW50ZXIgZ2FwLTIgdmlldy1wYXNzLWRldGFpbHMgY29uZmlybXRpb24tbW9kYWxcIj5cbiAgPHAtY29uZmlybURpYWxvZyBpY29uPVwibm9uZVwiIGFjY2VwdEljb249XCJcIiByZWplY3RJY29uPVwiXCI+PC9wLWNvbmZpcm1EaWFsb2c+XG48L2Rpdj5cbiJdfQ==