@csmart/ngc-smart-core 0.7.95 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/csmart-ngc-smart-core.d.ts +1 -5
  2. package/esm2020/csmart-ngc-smart-core.mjs +5 -0
  3. package/esm2020/lib/ngc-smart-core.module.mjs +97 -0
  4. package/esm2020/lib/smart-auth/smart-access-control-config.mjs +12 -0
  5. package/esm2020/lib/smart-auth/smart-access-control.directive.mjs +40 -0
  6. package/esm2020/lib/smart-auth/smart-auth.service.mjs +475 -0
  7. package/esm2020/lib/smart-auth/smart-authorization-guard.service.mjs +35 -0
  8. package/esm2020/lib/smart-auth/smart-error.component.mjs +37 -0
  9. package/esm2020/lib/smart-auth/smart-login-staff-resolver.service.mjs +59 -0
  10. package/esm2020/lib/smart-auth/smart-selected-offender-resolver.service.mjs +49 -0
  11. package/esm2020/lib/smart-navbar/smart-navbar-config.mjs +2 -0
  12. package/esm2020/lib/smart-navbar/smart-navbar.component.mjs +132 -0
  13. package/esm2020/lib/smart-navbar/smart-navbar.service.mjs +63 -0
  14. package/esm2020/lib/smart-offender-header/smart-offender-header.component.mjs +151 -0
  15. package/esm2020/lib/smart-offender-header/smart-offender-header.service.mjs +41 -0
  16. package/esm2020/lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service.mjs +25 -0
  17. package/esm2020/lib/smart-staff-offender-options/smart-staff-offender-options.component.mjs +78 -0
  18. package/esm2020/lib/smart-staff-offender-options/smart-staff-offender-options.service.mjs +134 -0
  19. package/esm2020/lib/smart-storage/smart-storage-model.mjs +30 -0
  20. package/esm2020/lib/smart-storage/xdm.service.mjs +158 -0
  21. package/esm2020/public-api.mjs +20 -0
  22. package/fesm2015/csmart-ngc-smart-core.mjs +1525 -0
  23. package/fesm2015/csmart-ngc-smart-core.mjs.map +1 -0
  24. package/fesm2020/csmart-ngc-smart-core.mjs +1510 -0
  25. package/fesm2020/csmart-ngc-smart-core.mjs.map +1 -0
  26. package/lib/ngc-smart-core.module.d.ts +18 -0
  27. package/lib/smart-auth/smart-access-control.directive.d.ts +3 -0
  28. package/lib/smart-auth/smart-auth.service.d.ts +4 -0
  29. package/lib/smart-auth/smart-authorization-guard.service.d.ts +3 -0
  30. package/lib/smart-auth/smart-error.component.d.ts +3 -0
  31. package/lib/smart-auth/smart-login-staff-resolver.service.d.ts +3 -0
  32. package/lib/smart-auth/smart-selected-offender-resolver.service.d.ts +3 -0
  33. package/lib/smart-navbar/smart-navbar.component.d.ts +6 -3
  34. package/lib/smart-navbar/smart-navbar.service.d.ts +3 -0
  35. package/lib/smart-offender-header/smart-offender-header.component.d.ts +4 -1
  36. package/lib/smart-offender-header/smart-offender-header.service.d.ts +3 -0
  37. package/lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service.d.ts +3 -0
  38. package/lib/smart-staff-offender-options/smart-staff-offender-options.component.d.ts +3 -0
  39. package/lib/smart-staff-offender-options/smart-staff-offender-options.service.d.ts +6 -3
  40. package/lib/smart-storage/xdm.service.d.ts +3 -0
  41. package/package.json +25 -14
  42. package/public-api.d.ts +3 -0
  43. package/bundles/csmart-ngc-smart-core.umd.js +0 -2620
  44. package/bundles/csmart-ngc-smart-core.umd.js.map +0 -1
  45. package/bundles/csmart-ngc-smart-core.umd.min.js +0 -2
  46. package/bundles/csmart-ngc-smart-core.umd.min.js.map +0 -1
  47. package/csmart-ngc-smart-core.metadata.json +0 -1
  48. package/esm2015/csmart-ngc-smart-core.js +0 -15
  49. package/esm2015/lib/ngc-smart-core.module.js +0 -59
  50. package/esm2015/lib/smart-auth/smart-access-control-config.js +0 -32
  51. package/esm2015/lib/smart-auth/smart-access-control.directive.js +0 -70
  52. package/esm2015/lib/smart-auth/smart-auth.service.js +0 -693
  53. package/esm2015/lib/smart-auth/smart-authorization-guard.service.js +0 -63
  54. package/esm2015/lib/smart-auth/smart-error.component.js +0 -77
  55. package/esm2015/lib/smart-auth/smart-login-staff-resolver.service.js +0 -94
  56. package/esm2015/lib/smart-auth/smart-selected-offender-resolver.service.js +0 -101
  57. package/esm2015/lib/smart-navbar/smart-navbar-config.js +0 -22
  58. package/esm2015/lib/smart-navbar/smart-navbar.component.js +0 -224
  59. package/esm2015/lib/smart-navbar/smart-navbar.service.js +0 -89
  60. package/esm2015/lib/smart-offender-header/smart-offender-header.component.js +0 -253
  61. package/esm2015/lib/smart-offender-header/smart-offender-header.service.js +0 -85
  62. package/esm2015/lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service.js +0 -49
  63. package/esm2015/lib/smart-staff-offender-options/smart-staff-offender-options.component.js +0 -151
  64. package/esm2015/lib/smart-staff-offender-options/smart-staff-offender-options.service.js +0 -222
  65. package/esm2015/lib/smart-storage/smart-storage-model.js +0 -131
  66. package/esm2015/lib/smart-storage/xdm.service.js +0 -317
  67. package/esm2015/public-api.js +0 -22
  68. package/esm5/csmart-ngc-smart-core.js +0 -15
  69. package/esm5/lib/ngc-smart-core.module.js +0 -63
  70. package/esm5/lib/smart-auth/smart-access-control-config.js +0 -32
  71. package/esm5/lib/smart-auth/smart-access-control.directive.js +0 -74
  72. package/esm5/lib/smart-auth/smart-auth.service.js +0 -762
  73. package/esm5/lib/smart-auth/smart-authorization-guard.service.js +0 -67
  74. package/esm5/lib/smart-auth/smart-error.component.js +0 -83
  75. package/esm5/lib/smart-auth/smart-login-staff-resolver.service.js +0 -98
  76. package/esm5/lib/smart-auth/smart-selected-offender-resolver.service.js +0 -108
  77. package/esm5/lib/smart-navbar/smart-navbar-config.js +0 -22
  78. package/esm5/lib/smart-navbar/smart-navbar.component.js +0 -251
  79. package/esm5/lib/smart-navbar/smart-navbar.service.js +0 -114
  80. package/esm5/lib/smart-offender-header/smart-offender-header.component.js +0 -283
  81. package/esm5/lib/smart-offender-header/smart-offender-header.service.js +0 -76
  82. package/esm5/lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service.js +0 -52
  83. package/esm5/lib/smart-staff-offender-options/smart-staff-offender-options.component.js +0 -165
  84. package/esm5/lib/smart-staff-offender-options/smart-staff-offender-options.service.js +0 -232
  85. package/esm5/lib/smart-storage/smart-storage-model.js +0 -155
  86. package/esm5/lib/smart-storage/xdm.service.js +0 -389
  87. package/esm5/public-api.js +0 -22
  88. package/fesm2015/csmart-ngc-smart-core.js +0 -2231
  89. package/fesm2015/csmart-ngc-smart-core.js.map +0 -1
  90. package/fesm5/csmart-ngc-smart-core.js +0 -2502
  91. package/fesm5/csmart-ngc-smart-core.js.map +0 -1
@@ -1,2502 +0,0 @@
1
- import { DOCUMENT, CommonModule } from '@angular/common';
2
- import { connectToChild } from 'penpal';
3
- import { MatSnackBar, MatButtonModule, MatMenuModule, MatTabsModule, MatSelectModule, MatCheckboxModule, MatCardModule } from '@angular/material';
4
- import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
5
- import { __spread, __awaiter, __generator } from 'tslib';
6
- import { HttpClient, HttpClientModule } from '@angular/common/http';
7
- import { MsalService } from '@azure/msal-angular';
8
- import { Router, ActivatedRoute } from '@angular/router';
9
- import { Subject, of, from, throwError, EMPTY, concat } from 'rxjs';
10
- import { InjectionToken, Injectable, Inject, isDevMode, Directive, Input, ElementRef, Component, ViewChild, ViewEncapsulation, NgModule, NgZone, defineInjectable, inject } from '@angular/core';
11
- import { map, switchMap, take, catchError, mergeMap, retryWhen, delay } from 'rxjs/operators';
12
-
13
- /**
14
- * @fileoverview added by tsickle
15
- * Generated from: lib/smart-storage/smart-storage-model.ts
16
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17
- */
18
- var Permission = /** @class */ (function () {
19
- function Permission() {
20
- }
21
- return Permission;
22
- }());
23
- var Role = /** @class */ (function () {
24
- function Role() {
25
- }
26
- return Role;
27
- }());
28
- var Option = /** @class */ (function () {
29
- function Option() {
30
- }
31
- return Option;
32
- }());
33
- var LoginStaff = /** @class */ (function () {
34
- function LoginStaff() {
35
- this.selectedRole = '*';
36
- }
37
- return LoginStaff;
38
- }());
39
- var SelectedOffender = /** @class */ (function () {
40
- function SelectedOffender() {
41
- this.intakeFlag = false;
42
- }
43
- return SelectedOffender;
44
- }());
45
- var OffenderQuery = /** @class */ (function () {
46
- function OffenderQuery() {
47
- }
48
- return OffenderQuery;
49
- }());
50
- var StorageKey = /** @class */ (function () {
51
- function StorageKey() {
52
- }
53
- StorageKey.selectedOffender = 'smart-selected-offender';
54
- StorageKey.loginStaff = 'smart-login-staff';
55
- StorageKey.offenderQuery = 'smart-offender-query';
56
- return StorageKey;
57
- }());
58
- /** @type {?} */
59
- var SMART_WEB_STORAGE_LISTENER_URL = new InjectionToken('SMART Web Storage Listener URL');
60
- /** @type {?} */
61
- var SMART_WEB_PORTAL_URL = new InjectionToken('SMART Web Portal URL');
62
- /** @type {?} */
63
- var SMART_DATA_SERVICE_URL = new InjectionToken('SMART Data Service URL');
64
- //exception for redirection
65
- /** @type {?} */
66
- var SMART_DOMAIN_FORMAT = new InjectionToken('SMART Domain Format URL');
67
-
68
- /**
69
- * @fileoverview added by tsickle
70
- * Generated from: lib/smart-storage/xdm.service.ts
71
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
72
- */
73
- var XdmService = /** @class */ (function () {
74
- function XdmService(document, smartStorageListenerUrl, httpClient, smartDataServiceUrl) {
75
- this.document = document;
76
- this.smartStorageListenerUrl = smartStorageListenerUrl;
77
- this.httpClient = httpClient;
78
- this.smartDataServiceUrl = smartDataServiceUrl;
79
- this.offenderSubject = new Subject();
80
- this.staffSubject = new Subject();
81
- this.offenderQuerySubject = new Subject();
82
- if (isDevMode) {
83
- console.log('SmartStorage XdmService (Client) - constructor()');
84
- }
85
- this.init();
86
- }
87
- /**
88
- * @private
89
- * @return {?}
90
- */
91
- XdmService.prototype.init = /**
92
- * @private
93
- * @return {?}
94
- */
95
- function () {
96
- /** @type {?} */
97
- var frame = this.document.createElement('iframe');
98
- frame.src = this.smartStorageListenerUrl;
99
- frame.id = 'childframe';
100
- frame.name = Math.random().toString();
101
- frame.onload = null;
102
- frame.style.visibility = 'hidden';
103
- this.document.body.appendChild(frame);
104
- this.connection = connectToChild({
105
- iframe: frame,
106
- debug: false,
107
- });
108
- };
109
- /**
110
- * @private
111
- * @param {?} staffId
112
- * @return {?}
113
- */
114
- XdmService.prototype.getStaffOffenderListOptions = /**
115
- * @private
116
- * @param {?} staffId
117
- * @return {?}
118
- */
119
- function (staffId) {
120
- /** @type {?} */
121
- var queryString = "{findvStaffOffenderListOptions(input:{\n where:{\n staffId: " + staffId + "\n }\n }){\n data{\n offenderListOptionId\n name\n serviceApiFieldName\n selectedFlag\n }\n } }";
122
- return this.httpClient
123
- .post(this.smartDataServiceUrl, { query: queryString })
124
- .pipe(map((/**
125
- * @param {?} __0
126
- * @return {?}
127
- */
128
- function (_a) {
129
- var data = _a.data;
130
- data.findvStaffOffenderListOptions.data['offenderOptionListId'] =
131
- data.findvStaffOffenderListOptions.data['offenderListOptionId'];
132
- return data.findvStaffOffenderListOptions.data;
133
- })));
134
- /*return of([
135
- { offenderListOptionId: 'genderCode', name: '', selectedFlag: true }]);*/
136
- };
137
- /**
138
- * @return {?}
139
- */
140
- XdmService.prototype.clearAll = /**
141
- * @return {?}
142
- */
143
- function () {
144
- var _this = this;
145
- this.connection.promise.then((/**
146
- * @param {?} child
147
- * @return {?}
148
- */
149
- function (child) {
150
- child.clearAll();
151
- _this.offenderSubject.next();
152
- _this.staffSubject.next();
153
- }));
154
- };
155
- /*************************************
156
- * Offender
157
- **************************************/
158
- /**
159
- * **********************************
160
- * Offender
161
- * ************************************
162
- * @param {?} selectedOffender
163
- * @return {?}
164
- */
165
- XdmService.prototype.setSelectedOffender = /**
166
- * **********************************
167
- * Offender
168
- * ************************************
169
- * @param {?} selectedOffender
170
- * @return {?}
171
- */
172
- function (selectedOffender) {
173
- var _this = this;
174
- this.connection.promise.then((/**
175
- * @param {?} child
176
- * @return {?}
177
- */
178
- function (child) {
179
- child.setSelectedOffender(selectedOffender);
180
- _this.offenderSubject.next(selectedOffender);
181
- }));
182
- };
183
- /**
184
- * @return {?}
185
- */
186
- XdmService.prototype.getSelectedOffender = /**
187
- * @return {?}
188
- */
189
- function () {
190
- return this.connection.promise.then((/**
191
- * @param {?} child
192
- * @return {?}
193
- */
194
- function (child) {
195
- return child.getSelectedOffender(StorageKey.selectedOffender);
196
- }));
197
- };
198
- /**
199
- * @return {?}
200
- */
201
- XdmService.prototype.clearSelectedOffender = /**
202
- * @return {?}
203
- */
204
- function () {
205
- var _this = this;
206
- this.connection.promise.then((/**
207
- * @param {?} child
208
- * @return {?}
209
- */
210
- function (child) {
211
- child.clearSelectedOffender();
212
- _this.offenderSubject.next();
213
- }));
214
- };
215
- /**
216
- * @return {?}
217
- */
218
- XdmService.prototype.getOffenderUpdate = /**
219
- * @return {?}
220
- */
221
- function () {
222
- return this.offenderSubject.asObservable();
223
- };
224
- /************************************************************************
225
- * Staff
226
- ************************************************************************/
227
- /**
228
- * *********************************************************************
229
- * Staff
230
- * **********************************************************************
231
- * @param {?} loginStaff
232
- * @return {?}
233
- */
234
- XdmService.prototype.setLoginStaff = /**
235
- * *********************************************************************
236
- * Staff
237
- * **********************************************************************
238
- * @param {?} loginStaff
239
- * @return {?}
240
- */
241
- function (loginStaff) {
242
- var _this = this;
243
- this.connection.promise.then((/**
244
- * @param {?} child
245
- * @return {?}
246
- */
247
- function (child) {
248
- child.setLoginStaff(loginStaff);
249
- _this.staffSubject.next(loginStaff);
250
- }));
251
- };
252
- /**
253
- * @return {?}
254
- */
255
- XdmService.prototype.getLoginStaff = /**
256
- * @return {?}
257
- */
258
- function () {
259
- return this.connection.promise.then((/**
260
- * @param {?} child
261
- * @return {?}
262
- */
263
- function (child) {
264
- return child.getLoginStaff(StorageKey.loginStaff);
265
- }));
266
- };
267
- /**
268
- * @return {?}
269
- */
270
- XdmService.prototype.clearLoginStaff = /**
271
- * @return {?}
272
- */
273
- function () {
274
- var _this = this;
275
- this.connection.promise.then((/**
276
- * @param {?} child
277
- * @return {?}
278
- */
279
- function (child) {
280
- child.clearLoginStaff();
281
- _this.staffSubject.next();
282
- }));
283
- };
284
- /**
285
- * @return {?}
286
- */
287
- XdmService.prototype.getStaffUpdate = /**
288
- * @return {?}
289
- */
290
- function () {
291
- return this.staffSubject.asObservable();
292
- };
293
- /**
294
- * @return {?}
295
- */
296
- XdmService.prototype.refreshLoginStaffOptions = /**
297
- * @return {?}
298
- */
299
- function () {
300
- var _this = this;
301
- this.getLoginStaff().then((/**
302
- * @param {?} oldLoginStaff
303
- * @return {?}
304
- */
305
- function (oldLoginStaff) {
306
- _this.getStaffOffenderListOptions(oldLoginStaff.staffId).subscribe((/**
307
- * @param {?} optionData
308
- * @return {?}
309
- */
310
- function (optionData) {
311
- console.log(optionData);
312
- oldLoginStaff.options = optionData;
313
- _this.setLoginStaff(oldLoginStaff);
314
- }));
315
- }));
316
- };
317
- /************************************************************************
318
- * Offender Query
319
- ************************************************************************/
320
- /**
321
- * *********************************************************************
322
- * Offender Query
323
- * **********************************************************************
324
- * @param {?} offenderQuery
325
- * @return {?}
326
- */
327
- XdmService.prototype.setOffenderQuery = /**
328
- * *********************************************************************
329
- * Offender Query
330
- * **********************************************************************
331
- * @param {?} offenderQuery
332
- * @return {?}
333
- */
334
- function (offenderQuery) {
335
- var _this = this;
336
- this.connection.promise.then((/**
337
- * @param {?} child
338
- * @return {?}
339
- */
340
- function (child) {
341
- child.setOffenderQuery(offenderQuery);
342
- _this.offenderQuerySubject.next(offenderQuery);
343
- }));
344
- };
345
- /**
346
- * @return {?}
347
- */
348
- XdmService.prototype.getOffenderQuery = /**
349
- * @return {?}
350
- */
351
- function () {
352
- return this.connection.promise.then((/**
353
- * @param {?} child
354
- * @return {?}
355
- */
356
- function (child) {
357
- return child.getOffenderQuery(StorageKey.offenderQuery);
358
- }));
359
- };
360
- /**
361
- * @return {?}
362
- */
363
- XdmService.prototype.clearOffenderQuery = /**
364
- * @return {?}
365
- */
366
- function () {
367
- var _this = this;
368
- this.connection.promise.then((/**
369
- * @param {?} child
370
- * @return {?}
371
- */
372
- function (child) {
373
- child.clearOffenderQuery();
374
- _this.offenderQuerySubject.next();
375
- }));
376
- };
377
- /**
378
- * @return {?}
379
- */
380
- XdmService.prototype.getOffenderQueryUpdate = /**
381
- * @return {?}
382
- */
383
- function () {
384
- return this.offenderQuerySubject.asObservable();
385
- };
386
- XdmService.decorators = [
387
- { type: Injectable, args: [{
388
- providedIn: 'root',
389
- },] }
390
- ];
391
- /** @nocollapse */
392
- XdmService.ctorParameters = function () { return [
393
- { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
394
- { type: String, decorators: [{ type: Inject, args: [SMART_WEB_STORAGE_LISTENER_URL,] }] },
395
- { type: HttpClient },
396
- { type: undefined, decorators: [{ type: Inject, args: [SMART_DATA_SERVICE_URL,] }] }
397
- ]; };
398
- /** @nocollapse */ XdmService.ngInjectableDef = defineInjectable({ factory: function XdmService_Factory() { return new XdmService(inject(DOCUMENT), inject(SMART_WEB_STORAGE_LISTENER_URL), inject(HttpClient), inject(SMART_DATA_SERVICE_URL)); }, token: XdmService, providedIn: "root" });
399
- return XdmService;
400
- }());
401
-
402
- /**
403
- * @fileoverview added by tsickle
404
- * Generated from: lib/smart-offender-header/smart-offender-header.service.ts
405
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
406
- */
407
- var SmartOffenderHeaderService = /** @class */ (function () {
408
- function SmartOffenderHeaderService(smartDataServiceUrl, http) {
409
- this.smartDataServiceUrl = smartDataServiceUrl;
410
- this.http = http;
411
- }
412
- /**
413
- * @param {?} staffId
414
- * @return {?}
415
- */
416
- SmartOffenderHeaderService.prototype.getStaffOffenders = /**
417
- * @param {?} staffId
418
- * @return {?}
419
- */
420
- function (staffId) {
421
- /** @type {?} */
422
- var queryString = "\n query getStaffOffenderList{\n filterOffenderList(input: {staffId: " + staffId + "}) {\n data {\n offenderId\n offenderName\n pdId\n birthDate\n gender\n }\n }\n }\n ";
423
- return this.http
424
- .post(this.smartDataServiceUrl, { query: queryString })
425
- .pipe(map((/**
426
- * @param {?} __0
427
- * @return {?}
428
- */
429
- function (_a) {
430
- var data = _a.data;
431
- return data.filterOffenderList.data;
432
- })));
433
- };
434
- SmartOffenderHeaderService.decorators = [
435
- { type: Injectable }
436
- ];
437
- /** @nocollapse */
438
- SmartOffenderHeaderService.ctorParameters = function () { return [
439
- { type: undefined, decorators: [{ type: Inject, args: [SMART_DATA_SERVICE_URL,] }] },
440
- { type: HttpClient }
441
- ]; };
442
- return SmartOffenderHeaderService;
443
- }());
444
-
445
- /**
446
- * @fileoverview added by tsickle
447
- * Generated from: lib/smart-offender-header/smart-offender-header.component.ts
448
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
449
- */
450
- var SmartOffenderHeaderComponent = /** @class */ (function () {
451
- function SmartOffenderHeaderComponent(xdmService, authnService, smartOffenderHeaderService, router) {
452
- this.xdmService = xdmService;
453
- this.authnService = authnService;
454
- this.smartOffenderHeaderService = smartOffenderHeaderService;
455
- this.router = router;
456
- this.selectedOffenderControl$ = new FormControl();
457
- }
458
- /**
459
- * @return {?}
460
- */
461
- SmartOffenderHeaderComponent.prototype.ngOnInit = /**
462
- * @return {?}
463
- */
464
- function () {
465
- var _this = this;
466
- this.isAuthenticated = this.authnService.getAccount() ? true : false;
467
- this.xdmService.getLoginStaff().then((/**
468
- * @param {?} loginStaff
469
- * @return {?}
470
- */
471
- function (loginStaff) {
472
- _this.loginStaff = loginStaff ? loginStaff : null;
473
- }));
474
- this.xdmService.getSelectedOffender().then((/**
475
- * @param {?} selectedOffender
476
- * @return {?}
477
- */
478
- function (selectedOffender) {
479
- _this.selectedOffender =
480
- selectedOffender && selectedOffender.offenderId
481
- ? selectedOffender
482
- : null;
483
- }));
484
- this.subscription = this.xdmService
485
- .getOffenderUpdate()
486
- .subscribe((/**
487
- * @param {?} selectedOffender
488
- * @return {?}
489
- */
490
- function (selectedOffender) {
491
- _this.selectedOffender = selectedOffender;
492
- _this.setSelectedOffenderControl();
493
- }));
494
- this.xdmService.getOffenderQuery().then((/**
495
- * @param {?} offenderQuery
496
- * @return {?}
497
- */
498
- function (offenderQuery) {
499
- if (offenderQuery) {
500
- _this.offenderQueryList = offenderQuery.offenders;
501
- _this.setSelectedOffenderControl();
502
- }
503
- }));
504
- this.offenderQuerySubscription = this.xdmService.getOffenderQueryUpdate()
505
- .subscribe((/**
506
- * @param {?} offenderList
507
- * @return {?}
508
- */
509
- function (offenderList) {
510
- if (offenderList && offenderList.offenders) {
511
- _this.offenderQueryList = __spread(offenderList.offenders);
512
- }
513
- }));
514
- this.selectedOffenderControl$.valueChanges.subscribe((/**
515
- * @param {?} o
516
- * @return {?}
517
- */
518
- function (o) {
519
- return _this.onOffenderSelected(o);
520
- }));
521
- this.router.routeReuseStrategy.shouldReuseRoute = (/**
522
- * @return {?}
523
- */
524
- function () {
525
- return false;
526
- });
527
- };
528
- /**
529
- * @return {?}
530
- */
531
- SmartOffenderHeaderComponent.prototype.ngOnDestroy = /**
532
- * @return {?}
533
- */
534
- function () {
535
- this.subscription.unsubscribe();
536
- };
537
- /**
538
- * @private
539
- * @param {?} offender
540
- * @return {?}
541
- */
542
- SmartOffenderHeaderComponent.prototype.onOffenderSelected = /**
543
- * @private
544
- * @param {?} offender
545
- * @return {?}
546
- */
547
- function (offender) {
548
- if (offender) {
549
- // const o = offender.offenderName.split(',');
550
- // if (o.length === 2) {
551
- // const offenderName = `${o[1]} ${o[0]}`;
552
- // this.selectedOffender = {
553
- // offenderId: offender.offenderId,
554
- // name: offenderName,
555
- // pdId: offender.pdId,
556
- // birthDate: offender.birthDate,
557
- // gender: offender.genderCode,
558
- // assignmentStaffRelationId: '',
559
- // intakeFlag: this.loginStaff
560
- // ? this.hasIntakeRole(this.loginStaff.roles)
561
- // : false,
562
- // } as SelectedOffender;
563
- this.selectedOffender = offender;
564
- this.xdmService.setSelectedOffender(this.selectedOffender);
565
- this.reloadCurrentRoute();
566
- }
567
- };
568
- /**
569
- * @private
570
- * @return {?}
571
- */
572
- SmartOffenderHeaderComponent.prototype.setSelectedOffenderControl = /**
573
- * @private
574
- * @return {?}
575
- */
576
- function () {
577
- var _this = this;
578
- if (this.selectedOffender &&
579
- this.offenderQueryList &&
580
- this.offenderQueryList.length > 0) {
581
- /** @type {?} */
582
- var o = this.offenderQueryList.find((/**
583
- * @param {?} x
584
- * @return {?}
585
- */
586
- function (x) { return x.offenderId === _this.selectedOffender.offenderId; }));
587
- if (o) {
588
- this.selectedOffenderControl$.setValue(o, { emitEvent: false });
589
- }
590
- if (!o && this.offenderQueryList.length > 0) {
591
- this.selectedOffenderControl$.setValue(this.offenderQueryList[0], {
592
- emitEvent: false,
593
- });
594
- }
595
- }
596
- };
597
- /**
598
- * @private
599
- * @return {?}
600
- */
601
- SmartOffenderHeaderComponent.prototype.reloadCurrentRoute = /**
602
- * @private
603
- * @return {?}
604
- */
605
- function () {
606
- try {
607
- /** @type {?} */
608
- var urlTree = this.router.parseUrl(this.router.url);
609
- if (urlTree
610
- && urlTree.root
611
- && urlTree.root.segments
612
- && urlTree.root.segments.length > 1) {
613
- this.router.navigate([urlTree.root.segments[0].path]);
614
- }
615
- else if (urlTree
616
- && urlTree.root
617
- && urlTree.root.children
618
- && urlTree.root.children.primary
619
- && urlTree.root.children.primary.segments
620
- && urlTree.root.children.primary.segments.length > 1) {
621
- this.router.navigate([urlTree.root.children.primary.segments[0].path]);
622
- }
623
- else {
624
- this.router.navigate([this.router.url]);
625
- }
626
- }
627
- catch (_a) {
628
- this.router.navigateByUrl('/');
629
- }
630
- };
631
- /**
632
- * @private
633
- * @param {?} roles
634
- * @return {?}
635
- */
636
- SmartOffenderHeaderComponent.prototype.hasIntakeRole = /**
637
- * @private
638
- * @param {?} roles
639
- * @return {?}
640
- */
641
- function (roles) {
642
- if (roles && roles.length > 0) {
643
- return roles.findIndex(this.isIntakeRole) > -1;
644
- }
645
- return false;
646
- };
647
- /**
648
- * @private
649
- * @param {?} role
650
- * @return {?}
651
- */
652
- SmartOffenderHeaderComponent.prototype.isIntakeRole = /**
653
- * @private
654
- * @param {?} role
655
- * @return {?}
656
- */
657
- function (role) {
658
- switch (role.roleId) {
659
- case 'OPA':
660
- case 'OPS':
661
- case 'SOPS':
662
- return true;
663
- default:
664
- return false;
665
- }
666
- };
667
- SmartOffenderHeaderComponent.decorators = [
668
- { type: Component, args: [{
669
- selector: 'app-smart-offender-header',
670
- template: "<div\r\n class=\"offender-header-container\"\r\n *ngIf=\"selectedOffender && isAuthenticated\">\r\n <div class=\"offender-header-name-item\">\r\n <mat-form-field appearance=\"standard\" class=\"switch-offender\">\r\n <mat-label>Switch Offender</mat-label>\r\n <mat-select [formControl]=\"selectedOffenderControl$\">\r\n <mat-option\r\n *ngFor=\"let offender of offenderQueryList\"\r\n [value]=\"offender\">\r\n {{ offender?.name}} ({{offender?.offenderId}})\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div>\r\n <div class=\"offender-header-id-item\">\r\n <span class=\"item-label\">PDID:</span> {{ selectedOffender.pdId }}\r\n </div>\r\n <div class=\"offender-header-id-item\">\r\n <span class=\"item-label\">CSOSA ID:</span>\r\n {{ selectedOffender.offenderId }}\r\n </div>\r\n </div>\r\n</div>\r\n",
671
- styles: [".offender-header-container{display:-ms-grid;display:grid;-ms-grid-columns:2fr 1fr;grid-template-columns:2fr 1fr;grid-column-gap:20px;width:100%;margin:4px;background-color:#eae9e9;font-family:Roboto,'Helvetica Neue',sans-serif;font-size:14px;font-weight:500;padding-top:8px;justify-items:end}.offender-header-name-item{width:50%}.offender-header-id-item{text-align:left;display:-ms-grid;display:grid;-ms-grid-columns:80px 80px;grid-template-columns:80px 80px;margin-top:8px}.switch-offender{width:100%!important}@media only screen and (max-width:740px){.offender-header-container{display:-ms-grid;display:grid;-ms-grid-rows:1fr 1fr;grid-template-rows:1fr 1fr;-ms-grid-columns:1fr;grid-template-columns:1fr;align-items:center;background-color:#eae9e9;font-family:Roboto,'Helvetica Neue',sans-serif;font-size:14px;font-weight:500;height:100%;margin:4px;padding-left:16px;justify-items:start}.offender-header-name-item{text-align:left}}"]
672
- }] }
673
- ];
674
- /** @nocollapse */
675
- SmartOffenderHeaderComponent.ctorParameters = function () { return [
676
- { type: XdmService },
677
- { type: MsalService },
678
- { type: SmartOffenderHeaderService },
679
- { type: Router }
680
- ]; };
681
- return SmartOffenderHeaderComponent;
682
- }());
683
-
684
- /**
685
- * @fileoverview added by tsickle
686
- * Generated from: lib/smart-navbar/smart-navbar.service.ts
687
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
688
- */
689
- var SmartNavbarService = /** @class */ (function () {
690
- function SmartNavbarService(http) {
691
- this.http = http;
692
- }
693
- /*
694
- public getNavbarConfigs(): SmartNavbarConfig[] {
695
- this.configs = [
696
- {appModuleId: 'SMART', name: 'SMART', url: 'http://localhost:4200', offenderSpecific: false, displayOrder: 1 },
697
- {appModuleId: 'OFFENDER', name: 'Offender', url: 'http://localhost:4200', offenderSpecific: true, displayOrder: 2 },
698
- {appModuleId: 'SPRVSN', name: 'Supervision', url: 'http://localhost:4200', offenderSpecific: true, displayOrder: 3 },
699
- ];
700
-
701
- return this.configs;
702
- }
703
- */
704
- /*
705
- public getNavbarConfigs(serviceApiUrl: string): Observable<SmartNavbarConfig[]> {
706
- return this.http.get<SmartNavbarConfig[]>(serviceApiUrl + '/AppModules');
707
- }
708
- */
709
- /*
710
- public getNavbarConfigs(): SmartNavbarConfig[] {
711
- this.configs = [
712
- {appModuleId: 'SMART', name: 'SMART', url: 'http://localhost:4200', offenderSpecific: false, displayOrder: 1 },
713
- {appModuleId: 'OFFENDER', name: 'Offender', url: 'http://localhost:4200', offenderSpecific: true, displayOrder: 2 },
714
- {appModuleId: 'SPRVSN', name: 'Supervision', url: 'http://localhost:4200', offenderSpecific: true, displayOrder: 3 },
715
- ];
716
-
717
- return this.configs;
718
- }
719
- */
720
- /*
721
- public getNavbarConfigs(serviceApiUrl: string): Observable<SmartNavbarConfig[]> {
722
- return this.http.get<SmartNavbarConfig[]>(serviceApiUrl + '/AppModules');
723
- }
724
- */
725
- /**
726
- * @param {?} serviceApiUrl
727
- * @return {?}
728
- */
729
- SmartNavbarService.prototype.getNavbarConfigs = /*
730
- public getNavbarConfigs(): SmartNavbarConfig[] {
731
- this.configs = [
732
- {appModuleId: 'SMART', name: 'SMART', url: 'http://localhost:4200', offenderSpecific: false, displayOrder: 1 },
733
- {appModuleId: 'OFFENDER', name: 'Offender', url: 'http://localhost:4200', offenderSpecific: true, displayOrder: 2 },
734
- {appModuleId: 'SPRVSN', name: 'Supervision', url: 'http://localhost:4200', offenderSpecific: true, displayOrder: 3 },
735
- ];
736
-
737
- return this.configs;
738
- }
739
- */
740
- /*
741
- public getNavbarConfigs(serviceApiUrl: string): Observable<SmartNavbarConfig[]> {
742
- return this.http.get<SmartNavbarConfig[]>(serviceApiUrl + '/AppModules');
743
- }
744
- */
745
- /**
746
- * @param {?} serviceApiUrl
747
- * @return {?}
748
- */
749
- function (serviceApiUrl) {
750
- /** @type {?} */
751
- var queryString = "\n {\n findAppModules {\n data {\n appModuleId\n name\n url\n offenderSpecificFlag\n displayOrder\n }\n }\n }";
752
- /*
753
- const httpHeaders = new HttpHeaders({
754
- 'Content-Type': 'application/json',
755
- 'Cache-Control': 'no-cache'
756
- });
757
- const options = {
758
- headers: httpHeaders
759
- };
760
- */
761
- return this.http
762
- .post(serviceApiUrl, { query: queryString })
763
- .pipe(map((/**
764
- * @param {?} __0
765
- * @return {?}
766
- */
767
- function (_a) {
768
- var data = _a.data;
769
- if (isDevMode()) {
770
- console.log(data);
771
- }
772
- return data.findAppModules.data;
773
- })));
774
- };
775
- SmartNavbarService.decorators = [
776
- { type: Injectable }
777
- ];
778
- /** @nocollapse */
779
- SmartNavbarService.ctorParameters = function () { return [
780
- { type: HttpClient }
781
- ]; };
782
- return SmartNavbarService;
783
- }());
784
-
785
- /**
786
- * @fileoverview added by tsickle
787
- * Generated from: lib/smart-navbar/smart-navbar.component.ts
788
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
789
- */
790
- var SmartNavbarComponent = /** @class */ (function () {
791
- function SmartNavbarComponent(navbarConfigService, xdmService, authnService) {
792
- this.navbarConfigService = navbarConfigService;
793
- this.xdmService = xdmService;
794
- this.authnService = authnService;
795
- this.appModuleId = 'SMART';
796
- this.isAuthenticated = false;
797
- }
798
- /**
799
- * @return {?}
800
- */
801
- SmartNavbarComponent.prototype.ngOnChanges = /**
802
- * @return {?}
803
- */
804
- function () {
805
- /*
806
- console.log(this.selectedTab);
807
- setTimeout(() => {
808
- this.tabGroup.selectedIndex = this.selectedTab;
809
- }, 1000);
810
- */
811
- };
812
- /**
813
- * @return {?}
814
- */
815
- SmartNavbarComponent.prototype.ngOnInit = /**
816
- * @return {?}
817
- */
818
- function () {
819
- var _this = this;
820
- this.xdmService.getSelectedOffender().then((/**
821
- * @param {?} selectedOffender
822
- * @return {?}
823
- */
824
- function (selectedOffender) {
825
- _this.selectedOffender =
826
- selectedOffender && selectedOffender.offenderId
827
- ? selectedOffender
828
- : null;
829
- }));
830
- this.xdmService.getLoginStaff().then((/**
831
- * @param {?} loginStaff
832
- * @return {?}
833
- */
834
- function (loginStaff) {
835
- // this.zone.run(() => {
836
- _this.loginStaff = loginStaff ? loginStaff : null;
837
- // });
838
- }));
839
- this.offenderSubscription = this.xdmService
840
- .getOffenderUpdate()
841
- .subscribe((/**
842
- * @param {?} selectedOffender
843
- * @return {?}
844
- */
845
- function (selectedOffender) {
846
- // this.zone.run(() => {
847
- _this.selectedOffender = selectedOffender;
848
- // });
849
- }));
850
- this.staffSubscription = this.xdmService
851
- .getStaffUpdate()
852
- .subscribe((/**
853
- * @param {?} loginStaff
854
- * @return {?}
855
- */
856
- function (loginStaff) {
857
- // this.zone.run(() => {
858
- _this.loginStaff = loginStaff;
859
- // });
860
- }));
861
- this.navbarConfigService
862
- .getNavbarConfigs(this.serviceApiUrl)
863
- .subscribe((/**
864
- * @param {?} configs
865
- * @return {?}
866
- */
867
- function (configs) {
868
- _this.navbarConfigs = configs.sort((/**
869
- * @param {?} a
870
- * @param {?} b
871
- * @return {?}
872
- */
873
- function (a, b) {
874
- if (a.displayOrder < b.displayOrder) {
875
- return -1;
876
- }
877
- else if (a.displayOrder > b.displayOrder) {
878
- return 1;
879
- }
880
- return 0;
881
- }));
882
- }));
883
- this.isAuthenticated = this.authnService.getAccount() ? true : false;
884
- };
885
- /**
886
- * @return {?}
887
- */
888
- SmartNavbarComponent.prototype.ngOnDestroy = /**
889
- * @return {?}
890
- */
891
- function () {
892
- this.offenderSubscription.unsubscribe();
893
- this.staffSubscription.unsubscribe();
894
- };
895
- /**
896
- * @return {?}
897
- */
898
- SmartNavbarComponent.prototype.logout = /**
899
- * @return {?}
900
- */
901
- function () {
902
- this.xdmService.clearAll();
903
- this.authnService.logout();
904
- };
905
- /**
906
- * @param {?} config
907
- * @return {?}
908
- */
909
- SmartNavbarComponent.prototype.getAppModuleUrl = /**
910
- * @param {?} config
911
- * @return {?}
912
- */
913
- function (config) {
914
- return (config && this.selectedOffender && config.appModuleId === 'PPMAS') ?
915
- config.url + "?skipAppMetadata=true&OffenderId=" + this.selectedOffender.offenderId : config.url;
916
- };
917
- /**
918
- * @param {?} appModuleId
919
- * @return {?}
920
- */
921
- SmartNavbarComponent.prototype.hasAppModulePermission = /**
922
- * @param {?} appModuleId
923
- * @return {?}
924
- */
925
- function (appModuleId) {
926
- if (this.loginStaff && this.loginStaff.permissions && this.loginStaff.permissions.length > 0) {
927
- return this.loginStaff.permissions.findIndex((/**
928
- * @param {?} p
929
- * @return {?}
930
- */
931
- function (p) { return p.appModuleId === appModuleId; })) > -1;
932
- }
933
- return false;
934
- };
935
- Object.defineProperty(SmartNavbarComponent.prototype, "hasExternalUserRole", {
936
- get: /**
937
- * @return {?}
938
- */
939
- function () {
940
- if (this.loginStaff && this.loginStaff.roles && this.loginStaff.roles.length > 0) {
941
- return this.loginStaff.roles.findIndex(this.isExternalRole) > -1;
942
- }
943
- return false;
944
- },
945
- enumerable: true,
946
- configurable: true
947
- });
948
- /**
949
- * @private
950
- * @param {?} role
951
- * @return {?}
952
- */
953
- SmartNavbarComponent.prototype.isExternalRole = /**
954
- * @private
955
- * @param {?} role
956
- * @return {?}
957
- */
958
- function (role) {
959
- switch (role.roleId) {
960
- case 'EUDTL':
961
- case 'EUDUSM':
962
- case 'EUJDG':
963
- case 'EUMPD':
964
- case 'EUSOTV':
965
- case 'EUUSA2':
966
- case 'EUUSAO':
967
- case 'EUUSPC':
968
- return true;
969
- default:
970
- return false;
971
- }
972
- };
973
- SmartNavbarComponent.decorators = [
974
- { type: Component, args: [{
975
- selector: 'app-smart-navbar',
976
- template: "<!--\r\n<a class=\"smart-navbar-toggle open\" href=\"#nav\">\r\n <i class=\"material-icons\">menu</i>\r\n</a>\r\n\r\n<nav id=\"nav\" role=\"navigation\" class=\"smart-navbar-container\">\r\n <a class=\"smart-navbar-toggle close\" href=\"#\">\r\n <i class=\"material-icons\">close</i>\r\n </a>\r\n\r\n <span *ngFor=\"let config of navbarConfigs\">\r\n <a mat-button class=\"smart-navbar-item\" \r\n *ngIf=\"(config.offenderSpecificFlag === false || selectedOffender) && isAuthenticated && loginStaff\" href=\"{{config.url}}\">{{config.name}}</a>\r\n </span>\r\n\r\n <button mat-button class=\"smart-navbar-item\" [matMenuTriggerFor]=\"menuTheme\">Set Theme</button>\r\n <mat-menu #menuTheme=\"matMenu\">\r\n <button mat-menu-item (click)=\"onSetTheme('blue-theme')\">Blue</button>\r\n <button mat-menu-item (click)=\"onSetTheme('red-theme')\">Red</button>\r\n <button mat-menu-item (click)=\"onSetTheme('green-theme')\">Green</button>\r\n </mat-menu>\r\n <button mat-button class=\"smart-navbar-item smart-navbar-last-item\" [matMenuTriggerFor]=\"menu\"\r\n *ngIf=\"isAuthenticated && loginStaff\">{{loginStaff.firstName + ' ' + loginStaff.lastName}}</button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button mat-menu-item>Profile</button>\r\n <button mat-menu-item (click)=\"logout()\">Sign Out</button>\r\n </mat-menu>\r\n</nav>\r\n-->\r\n\r\n<!-- <nav mat-tab-nav-bar>\r\n <a mat-tab-link mat-flat-button *ngFor=\"let config of navbarConfigs\" [active]=\"appModuleId == config.appModuleId\" href=\"{{config.url}}\">{{config.name}}</a>\r\n</nav> -->\r\n\r\n<mat-tab-group class=\"nav-tab-group\" [selectedIndex]=\"null\">\r\n <ng-container *ngFor=\"let config of navbarConfigs\">\r\n <mat-tab\r\n *ngIf=\"\r\n ((hasExternalUserRole && hasAppModulePermission(config.appModuleId)) ||\r\n (!hasExternalUserRole && (config.offenderSpecificFlag === false || selectedOffender))) &&\r\n isAuthenticated &&\r\n loginStaff \r\n \"\r\n label=\"config.name\"\r\n >\r\n <ng-template mat-tab-label>\r\n <a\r\n mat-flat-button\r\n [ngClass]=\"{ 'main-menu-active': appModuleId == config.appModuleId }\"\r\n [href]=\"getAppModuleUrl(config)\"\r\n >{{ config.name }}</a\r\n >\r\n </ng-template>\r\n </mat-tab>\r\n </ng-container>\r\n</mat-tab-group>\r\n",
977
- encapsulation: ViewEncapsulation.None,
978
- styles: [".smart-navbar-container{display:flex;flex-wrap:wrap;flex-direction:column}.smart-navbar-item{font-size:1.2rem;line-height:1.2rem;padding:.5rem;background-color:var(--primary-color,#9fa8da);-webkit-text-decoration-line:none;text-decoration-line:none;display:block;text-align:left;border-radius:.3rem;margin:.1rem}.smart-navbar-last-item{margin-left:auto}.main-menu-active{border-bottom:3px solid #00008b!important;border-radius:0!important}.nav-tab-group.mat-primary .mat-ink-bar{background-color:inherit!important}.mat-tab-links{flex-direction:row;margin:4px;flex-wrap:wrap;font-family:Roboto,arial,sans-serif;font-size:13px}.mat-tab-link{min-width:16px!important}@media only screen and (min-width:768px){.smart-navbar-container{flex-direction:row}.smart-navbar-item{text-align:center}.smart-navbar-toggle{display:none}}@media only screen and (max-width:767px){#nav{position:fixed;top:0;bottom:0;width:300px;left:-340px;transition:transform .3s ease-in-out}#nav:target{transform:translateX(340px)}}.mat-tab-labels{display:flex!important;justify-content:flex-start!important}.mat-tab-label,.mat-tab-label.mat-tab-label-active{min-width:25px!important;padding:0 5px!important;justify-content:flex-start!important;font-weight:700}"]
979
- }] }
980
- ];
981
- /** @nocollapse */
982
- SmartNavbarComponent.ctorParameters = function () { return [
983
- { type: SmartNavbarService },
984
- { type: XdmService },
985
- { type: MsalService }
986
- ]; };
987
- SmartNavbarComponent.propDecorators = {
988
- serviceApiUrl: [{ type: Input }],
989
- appModuleId: [{ type: Input }],
990
- tabGroup: [{ type: ViewChild, args: ['tabs',] }]
991
- };
992
- return SmartNavbarComponent;
993
- }());
994
-
995
- /**
996
- * @fileoverview added by tsickle
997
- * Generated from: lib/smart-auth/smart-error.component.ts
998
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
999
- */
1000
- var SmartErrorComponent = /** @class */ (function () {
1001
- function SmartErrorComponent(authnService, route, smartWebPortalUrl) {
1002
- this.authnService = authnService;
1003
- this.route = route;
1004
- this.smartWebPortalUrl = smartWebPortalUrl;
1005
- }
1006
- /**
1007
- * @return {?}
1008
- */
1009
- SmartErrorComponent.prototype.ngOnInit = /**
1010
- * @return {?}
1011
- */
1012
- function () {
1013
- this.type = this.route.snapshot.queryParamMap.get('type') || 'staff';
1014
- this.message =
1015
- this.route.snapshot.queryParamMap.get('message') || 'Error occured.';
1016
- };
1017
- /**
1018
- * @return {?}
1019
- */
1020
- SmartErrorComponent.prototype.logout = /**
1021
- * @return {?}
1022
- */
1023
- function () {
1024
- this.authnService.logout();
1025
- };
1026
- /**
1027
- * @return {?}
1028
- */
1029
- SmartErrorComponent.prototype.portal = /**
1030
- * @return {?}
1031
- */
1032
- function () {
1033
- window.location.href = this.smartWebPortalUrl;
1034
- };
1035
- SmartErrorComponent.decorators = [
1036
- { type: Component, args: [{
1037
- selector: 'app-smart-error',
1038
- template: "<div>\r\n <h2>\r\n {{ message }}\r\n </h2>\r\n <p>\r\n Please contact help desk if needed.\r\n </p>\r\n <div>\r\n <button (click)=\"logout()\" *ngIf=\"type === 'staff'\">OK</button>\r\n <button (click)=\"portal()\" *ngIf=\"type === 'offender'\">OK</button>\r\n </div>\r\n</div>\r\n",
1039
- styles: ["div{text-align:center}"]
1040
- }] }
1041
- ];
1042
- /** @nocollapse */
1043
- SmartErrorComponent.ctorParameters = function () { return [
1044
- { type: MsalService },
1045
- { type: ActivatedRoute },
1046
- { type: String, decorators: [{ type: Inject, args: [SMART_WEB_PORTAL_URL,] }] }
1047
- ]; };
1048
- return SmartErrorComponent;
1049
- }());
1050
-
1051
- /**
1052
- * @fileoverview added by tsickle
1053
- * Generated from: lib/smart-staff-offender-options/smart-staff-offender-options.service.ts
1054
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1055
- */
1056
- var SmartStaffOffenderOptionsService = /** @class */ (function () {
1057
- function SmartStaffOffenderOptionsService(serviceApiUrl, http, matSnackBar) {
1058
- this.serviceApiUrl = serviceApiUrl;
1059
- this.http = http;
1060
- this.matSnackBar = matSnackBar;
1061
- }
1062
- /**
1063
- * @param {?} message
1064
- * @return {?}
1065
- */
1066
- SmartStaffOffenderOptionsService.prototype.showMessage = /**
1067
- * @param {?} message
1068
- * @return {?}
1069
- */
1070
- function (message) {
1071
- this.matSnackBar.open(message, null, {
1072
- duration: 2000,
1073
- });
1074
- };
1075
- /**
1076
- * @private
1077
- * @param {?} jsonObject
1078
- * @return {?}
1079
- */
1080
- SmartStaffOffenderOptionsService.prototype.convertEmptyToNull = /**
1081
- * @private
1082
- * @param {?} jsonObject
1083
- * @return {?}
1084
- */
1085
- function (jsonObject) {
1086
- var _this = this;
1087
- if (!jsonObject) {
1088
- return;
1089
- }
1090
- if (jsonObject instanceof Array) {
1091
- jsonObject.forEach((/**
1092
- * @param {?} obj
1093
- * @return {?}
1094
- */
1095
- function (obj) {
1096
- _this.convertEmptyToNull(obj);
1097
- }));
1098
- }
1099
- /** @type {?} */
1100
- var keys = Object.keys(jsonObject);
1101
- keys.forEach((/**
1102
- * @param {?} key
1103
- * @return {?}
1104
- */
1105
- function (key) {
1106
- if (typeof jsonObject[key] === 'object') {
1107
- _this.convertEmptyToNull(jsonObject[key]);
1108
- }
1109
- else if (typeof jsonObject[key] === 'string' && jsonObject[key].trim() === '') {
1110
- jsonObject[key] = null;
1111
- }
1112
- }));
1113
- };
1114
- /**
1115
- * @private
1116
- * @param {?} queryName
1117
- * @param {?} queryString
1118
- * @return {?}
1119
- */
1120
- SmartStaffOffenderOptionsService.prototype.getGraphQueryData = /**
1121
- * @private
1122
- * @param {?} queryName
1123
- * @param {?} queryString
1124
- * @return {?}
1125
- */
1126
- function (queryName, queryString) {
1127
- return this.http
1128
- .post(this.serviceApiUrl, { query: queryString })
1129
- .pipe(map((/**
1130
- * @param {?} __0
1131
- * @return {?}
1132
- */
1133
- function (_a) {
1134
- var data = _a.data;
1135
- return data[queryName];
1136
- })));
1137
- };
1138
- /**
1139
- * @return {?}
1140
- */
1141
- SmartStaffOffenderOptionsService.prototype.getOffenderListOptions = /**
1142
- * @return {?}
1143
- */
1144
- function () {
1145
- /** @type {?} */
1146
- var queryName = 'findOffenderListOptions';
1147
- /** @type {?} */
1148
- var queryString = "{\n " + queryName + " {\n data {\n offenderListOptionId\n name\n serviceApiFieldName\n }\n message\n }\n }";
1149
- return this.getGraphQueryData(queryName, queryString);
1150
- };
1151
- /**
1152
- * @param {?} staffId
1153
- * @return {?}
1154
- */
1155
- SmartStaffOffenderOptionsService.prototype.getStaffOffenderListOptions = /**
1156
- * @param {?} staffId
1157
- * @return {?}
1158
- */
1159
- function (staffId) {
1160
- /** @type {?} */
1161
- var queryString = "{findStaffOffenderListOptions(input:{\n where:{\n staffId: " + staffId + "\n }\n }){\n data{\n offenderListOptionId\n }\n } }";
1162
- return this.http
1163
- .post(this.serviceApiUrl, { query: queryString })
1164
- .pipe(map((/**
1165
- * @param {?} __0
1166
- * @return {?}
1167
- */
1168
- function (_a) {
1169
- var data = _a.data;
1170
- return data.findStaffOffenderListOptions.data;
1171
- })));
1172
- };
1173
- /**
1174
- * @param {?} dataToSave
1175
- * @return {?}
1176
- */
1177
- SmartStaffOffenderOptionsService.prototype.saveStaffOffenderListOptionsData = /**
1178
- * @param {?} dataToSave
1179
- * @return {?}
1180
- */
1181
- function (dataToSave) {
1182
- /** @type {?} */
1183
- var query = "mutation {\n upsertStaffOffenderListOption(input: " + this.convertToString(dataToSave) + ") {\n message\n }\n }";
1184
- return this.http
1185
- .post(this.serviceApiUrl, { query: query });
1186
- /*.pipe(
1187
- map(({ data }) => {
1188
- return data[queryName];
1189
- }));*/
1190
- };
1191
- /**
1192
- * @param {?} obj
1193
- * @return {?}
1194
- */
1195
- SmartStaffOffenderOptionsService.prototype.convertToString = /**
1196
- * @param {?} obj
1197
- * @return {?}
1198
- */
1199
- function (obj) {
1200
- var _this = this;
1201
- /** @type {?} */
1202
- var result = '';
1203
- if (!obj) {
1204
- return result;
1205
- }
1206
- if (obj instanceof Array) {
1207
- result += ' [';
1208
- obj.forEach((/**
1209
- * @param {?} eObj
1210
- * @return {?}
1211
- */
1212
- function (eObj) {
1213
- result += _this.convertToString(eObj);
1214
- }));
1215
- result += '],';
1216
- }
1217
- else {
1218
- result += '{';
1219
- /** @type {?} */
1220
- var keys = Object.keys(obj);
1221
- keys.forEach((/**
1222
- * @param {?} key
1223
- * @return {?}
1224
- */
1225
- function (key) {
1226
- if (typeof obj[key] === 'object') {
1227
- result += key + ':' + _this.convertToString(obj[key]);
1228
- }
1229
- else {
1230
- if (isNaN(obj[key])) {
1231
- result += key + ':"' + obj[key] + '",';
1232
- }
1233
- else {
1234
- result += key + ':' + obj[key] + ',';
1235
- }
1236
- }
1237
- }));
1238
- result = result.substring(0, result.length - 1);
1239
- result += '},';
1240
- }
1241
- return result;
1242
- };
1243
- SmartStaffOffenderOptionsService.decorators = [
1244
- { type: Injectable }
1245
- ];
1246
- /** @nocollapse */
1247
- SmartStaffOffenderOptionsService.ctorParameters = function () { return [
1248
- { type: undefined, decorators: [{ type: Inject, args: [SMART_DATA_SERVICE_URL,] }] },
1249
- { type: HttpClient },
1250
- { type: MatSnackBar }
1251
- ]; };
1252
- return SmartStaffOffenderOptionsService;
1253
- }());
1254
-
1255
- /**
1256
- * @fileoverview added by tsickle
1257
- * Generated from: lib/smart-staff-offender-options/smart-staff-offender-options.component.ts
1258
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1259
- */
1260
- var SmartStaffOffenderOptionsComponent = /** @class */ (function () {
1261
- function SmartStaffOffenderOptionsComponent(route, offenderService, xdmService) {
1262
- this.route = route;
1263
- this.offenderService = offenderService;
1264
- this.xdmService = xdmService;
1265
- this.offenderListOptions = [];
1266
- }
1267
- /**
1268
- * @return {?}
1269
- */
1270
- SmartStaffOffenderOptionsComponent.prototype.ngOnInit = /**
1271
- * @return {?}
1272
- */
1273
- function () {
1274
- var _this = this;
1275
- /** @type {?} */
1276
- var routData = this.route.snapshot.data;
1277
- this.loginStaff = routData.loginStaff;
1278
- this.offenderListOptions = routData.selectedOffenderResolverService;
1279
- this.frmGroup = this.createForm();
1280
- this.offenderService.getStaffOffenderListOptions(this.loginStaff.staffId).subscribe((/**
1281
- * @param {?} data
1282
- * @return {?}
1283
- */
1284
- function (data) {
1285
- _this.fillForm(data);
1286
- }));
1287
- };
1288
- /**
1289
- * @private
1290
- * @param {?} data
1291
- * @return {?}
1292
- */
1293
- SmartStaffOffenderOptionsComponent.prototype.fillForm = /**
1294
- * @private
1295
- * @param {?} data
1296
- * @return {?}
1297
- */
1298
- function (data) {
1299
- if (data) {
1300
- /** @type {?} */
1301
- var offenderListOptionsFg_1 = this.frmGroup.get('offenderListOptions');
1302
- data.forEach((/**
1303
- * @param {?} element
1304
- * @return {?}
1305
- */
1306
- function (element) {
1307
- offenderListOptionsFg_1.get(element.offenderListOptionId).setValue(true);
1308
- }));
1309
- }
1310
- };
1311
- /**
1312
- * @private
1313
- * @return {?}
1314
- */
1315
- SmartStaffOffenderOptionsComponent.prototype.createForm = /**
1316
- * @private
1317
- * @return {?}
1318
- */
1319
- function () {
1320
- /** @type {?} */
1321
- var offenderListOptionsFg = new FormGroup({});
1322
- this.offenderListOptions.forEach((/**
1323
- * @param {?} dt
1324
- * @param {?} i
1325
- * @return {?}
1326
- */
1327
- function (dt, i) {
1328
- offenderListOptionsFg.addControl(dt.offenderListOptionId, new FormControl(false));
1329
- }));
1330
- return new FormGroup({
1331
- offenderListOptions: offenderListOptionsFg,
1332
- });
1333
- };
1334
- /**
1335
- * @return {?}
1336
- */
1337
- SmartStaffOffenderOptionsComponent.prototype.onSave = /**
1338
- * @return {?}
1339
- */
1340
- function () {
1341
- var _this = this;
1342
- /** @type {?} */
1343
- var data = {
1344
- options: [],
1345
- staffId: this.loginStaff.staffId,
1346
- modifiedBy: this.loginStaff.staffId
1347
- };
1348
- /** @type {?} */
1349
- var offenderListOptionsVal = this.frmGroup.get('offenderListOptions').value;
1350
- /** @type {?} */
1351
- var keys = Object.keys(offenderListOptionsVal);
1352
- keys.forEach((/**
1353
- * @param {?} key
1354
- * @return {?}
1355
- */
1356
- function (key) {
1357
- if (offenderListOptionsVal[key]) {
1358
- data.options.push({ 'offenderListOptionId': key });
1359
- }
1360
- }));
1361
- this.offenderService.saveStaffOffenderListOptionsData(data).subscribe((/**
1362
- * @param {?} rtrDatea
1363
- * @return {?}
1364
- */
1365
- function (rtrDatea) {
1366
- if (rtrDatea.message) {
1367
- _this.offenderService.showMessage(rtrDatea.message);
1368
- }
1369
- else {
1370
- _this.offenderService.showMessage('Saved successfully');
1371
- _this.xdmService.refreshLoginStaffOptions();
1372
- }
1373
- }));
1374
- };
1375
- SmartStaffOffenderOptionsComponent.decorators = [
1376
- { type: Component, args: [{
1377
- selector: 'lib-smart-staff-offender-options',
1378
- template: "<form class=\"main-form\" [formGroup]=\"frmGroup\">\r\n <mat-card role=\"group\">\r\n <mat-card-content>\r\n <div formGroupName=\"offenderListOptions\">\r\n <div style=\"float:left;\">\r\n <div *ngFor=\"let offenderListOption of offenderListOptions; let i = index\">\r\n <mat-checkbox *ngIf=\"i%2!=0\" color=\"primary\" formControlName=\"{{offenderListOption.offenderListOptionId}}\">\r\n {{offenderListOption.name}}\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n <div>\r\n <div *ngFor=\"let offenderListOption of offenderListOptions; let i = index\" >\r\n <mat-checkbox *ngIf=\"i%2==0\" color=\"primary\" formControlName=\"{{offenderListOption.offenderListOptionId}}\">\r\n {{offenderListOption.name}}\r\n </mat-checkbox> \r\n </div>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n <div align=\"center\">\r\n <button mat-raised-button color=\"accent\" (click)=\"onSave()\">Save</button>\r\n </div>\r\n </mat-card>\r\n </form>\r\n ",
1379
- styles: [""]
1380
- }] }
1381
- ];
1382
- /** @nocollapse */
1383
- SmartStaffOffenderOptionsComponent.ctorParameters = function () { return [
1384
- { type: ActivatedRoute },
1385
- { type: SmartStaffOffenderOptionsService },
1386
- { type: XdmService }
1387
- ]; };
1388
- return SmartStaffOffenderOptionsComponent;
1389
- }());
1390
-
1391
- /**
1392
- * @fileoverview added by tsickle
1393
- * Generated from: lib/smart-auth/smart-auth.service.ts
1394
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1395
- */
1396
- // import { stringify } from 'querystring';
1397
- var SmartAuthService = /** @class */ (function () {
1398
- function SmartAuthService(http, authnService, xdmService, smartDataServiceUrl, smartDomainFormatUrl) {
1399
- this.http = http;
1400
- this.authnService = authnService;
1401
- this.xdmService = xdmService;
1402
- this.smartDataServiceUrl = smartDataServiceUrl;
1403
- this.smartDomainFormatUrl = smartDomainFormatUrl;
1404
- }
1405
- /**
1406
- * @return {?}
1407
- */
1408
- SmartAuthService.prototype.getLoginStaff = /**
1409
- * @return {?}
1410
- */
1411
- function () {
1412
- var _this = this;
1413
- if (isDevMode) {
1414
- console.log('SmartAuthService - getLoginStaff()');
1415
- }
1416
- if (!isDevMode && this.loginStaff) {
1417
- if (this.loginStaff.staffId) {
1418
- if (isDevMode) {
1419
- console.log('##### getLoginStaff(): get internal instance in service', this.loginStaff);
1420
- }
1421
- return of(this.loginStaff);
1422
- }
1423
- else if (this.loginStaff.userName) {
1424
- if (isDevMode) {
1425
- console.log('##### getLoginStaff(): get using preset user name', this.loginStaff);
1426
- }
1427
- return this.getStaff(this.loginStaff.userName);
1428
- }
1429
- }
1430
- return from(this.xdmService.getLoginStaff()).pipe(switchMap((/**
1431
- * @param {?} storedResult
1432
- * @return {?}
1433
- */
1434
- function (storedResult) {
1435
- if (storedResult && storedResult.staffId) {
1436
- if (isDevMode) {
1437
- console.log('##### getLoginStaff(): get from session.', storedResult);
1438
- }
1439
- _this.loginStaff = storedResult;
1440
- return of(storedResult);
1441
- }
1442
- else if (storedResult && storedResult.userName) {
1443
- if (isDevMode) {
1444
- console.log('##### getLoginStaff(): get using preset user name', _this.loginStaff);
1445
- }
1446
- return _this.getStaff(storedResult.userName);
1447
- }
1448
- else {
1449
- /** @type {?} */
1450
- var userName = _this.authnService.getAccount().userName;
1451
- /** @type {?} */
1452
- var staffName = userName.substring(0, userName.indexOf('@'));
1453
- if (isDevMode) {
1454
- console.log('##### loginLoginStaff(): get using login staff name ', staffName);
1455
- }
1456
- return _this.getStaff(staffName);
1457
- }
1458
- })));
1459
- };
1460
- /**
1461
- * @private
1462
- * @param {?} app
1463
- * @param {?} afterHash
1464
- * @return {?}
1465
- */
1466
- SmartAuthService.prototype.getTeamUrl = /**
1467
- * @private
1468
- * @param {?} app
1469
- * @param {?} afterHash
1470
- * @return {?}
1471
- */
1472
- function (app, afterHash) {
1473
- return this.smartDomainFormatUrl.replace('${APP}', app) + afterHash;
1474
- };
1475
- /**
1476
- * @private
1477
- * @param {?} url
1478
- * @param {?} app
1479
- * @return {?}
1480
- */
1481
- SmartAuthService.prototype.isSameHost = /**
1482
- * @private
1483
- * @param {?} url
1484
- * @param {?} app
1485
- * @return {?}
1486
- */
1487
- function (url, app) {
1488
- return this.smartDomainFormatUrl.replace('${APP}', app) === url;
1489
- };
1490
- /**
1491
- * @param {?} loginStaff
1492
- * @return {?}
1493
- */
1494
- SmartAuthService.prototype.redirectToTeam = /**
1495
- * @param {?} loginStaff
1496
- * @return {?}
1497
- */
1498
- function (loginStaff) {
1499
- if (loginStaff.roles.findIndex((/**
1500
- * @param {?} role
1501
- * @return {?}
1502
- */
1503
- function (role) { return role.roleId === 'EUUSPC'; })) > -1) {
1504
- if (!this.isSameHost(window.location.origin, 'investigation')) {
1505
- window.location.href = this.getTeamUrl('investigation', '/assignment');
1506
- }
1507
- }
1508
- else if (loginStaff.roles.findIndex((/**
1509
- * @param {?} role
1510
- * @return {?}
1511
- */
1512
- function (role) { return role.roleId.substring(0, 3) === 'RSC'; })) > -1) {
1513
- if (!this.isSameHost(window.location.origin, 'rsc')) {
1514
- window.location.href = this.getTeamUrl('rsc', '/offender-list');
1515
- }
1516
- }
1517
- };
1518
- /**
1519
- * @param {?} selectedOffender
1520
- * @return {?}
1521
- */
1522
- SmartAuthService.prototype.setSelectedOffender = /**
1523
- * @param {?} selectedOffender
1524
- * @return {?}
1525
- */
1526
- function (selectedOffender) {
1527
- return __awaiter(this, void 0, void 0, function () {
1528
- var relation;
1529
- return __generator(this, function (_a) {
1530
- switch (_a.label) {
1531
- case 0:
1532
- if (!selectedOffender) return [3 /*break*/, 2];
1533
- // if (!selectedOffender.assignmentStaffRelationId) {
1534
- return [4 /*yield*/, this.getStaffOffenderRelation(this.loginStaff.staffId, selectedOffender.offenderId).toPromise()];
1535
- case 1:
1536
- relation = _a.sent();
1537
- if (relation) {
1538
- selectedOffender.assignmentStaffRelationId = relation;
1539
- }
1540
- else {
1541
- selectedOffender.assignmentStaffRelationId = 'NOASSIGN';
1542
- }
1543
- _a.label = 2;
1544
- case 2:
1545
- this.xdmService.setSelectedOffender(selectedOffender);
1546
- this.selectedOffender = selectedOffender;
1547
- return [2 /*return*/];
1548
- }
1549
- });
1550
- });
1551
- };
1552
- /**
1553
- * @return {?}
1554
- */
1555
- SmartAuthService.prototype.logout = /**
1556
- * @return {?}
1557
- */
1558
- function () {
1559
- this.xdmService.clearAll();
1560
- this.authnService.logout();
1561
- };
1562
- /**
1563
- * @param {?} appModuleId
1564
- * @param {?} route
1565
- * @return {?}
1566
- */
1567
- SmartAuthService.prototype.setPermission = /**
1568
- * @param {?} appModuleId
1569
- * @param {?} route
1570
- * @return {?}
1571
- */
1572
- function (appModuleId, route) {
1573
- return __awaiter(this, void 0, void 0, function () {
1574
- var _a, permissions, resource, _b, relation, assignmentStaffRelationId, elements, pattern;
1575
- var _this = this;
1576
- return __generator(this, function (_c) {
1577
- switch (_c.label) {
1578
- case 0:
1579
- if (!!this.loginStaff) return [3 /*break*/, 2];
1580
- _a = this;
1581
- return [4 /*yield*/, this.xdmService.getLoginStaff()];
1582
- case 1:
1583
- _a.loginStaff = _c.sent();
1584
- _c.label = 2;
1585
- case 2:
1586
- permissions = this.loginStaff.permissions;
1587
- resource = route.url[0].path;
1588
- if (!!this.selectedOffender) return [3 /*break*/, 4];
1589
- _b = this;
1590
- return [4 /*yield*/, this.xdmService.getSelectedOffender()];
1591
- case 3:
1592
- _b.selectedOffender = _c.sent();
1593
- _c.label = 4;
1594
- case 4:
1595
- if (!this.selectedOffender) return [3 /*break*/, 6];
1596
- // if (!this.selectedOffender.assignmentStaffRelationId) {
1597
- return [4 /*yield*/, this.getStaffOffenderRelation(this.loginStaff.staffId, this.selectedOffender.offenderId).toPromise()];
1598
- case 5:
1599
- relation = _c.sent();
1600
- if (relation) {
1601
- this.selectedOffender.assignmentStaffRelationId = relation;
1602
- }
1603
- else {
1604
- this.selectedOffender.assignmentStaffRelationId = 'NOASSIGN';
1605
- }
1606
- this.xdmService.setSelectedOffender(this.selectedOffender);
1607
- _c.label = 6;
1608
- case 6:
1609
- assignmentStaffRelationId = this.selectedOffender
1610
- .assignmentStaffRelationId;
1611
- elements = document.querySelectorAll('[class^="sac-"]');
1612
- pattern = /^sac-(\S+)-(\S+)$/i;
1613
- Array.from(elements).forEach((/**
1614
- * @param {?} element
1615
- * @return {?}
1616
- */
1617
- function (element) {
1618
- /** @type {?} */
1619
- var hide;
1620
- /** @type {?} */
1621
- var disable;
1622
- element.classList.forEach((/**
1623
- * @param {?} c
1624
- * @return {?}
1625
- */
1626
- function (c) {
1627
- /** @type {?} */
1628
- var results = c.match(pattern);
1629
- // console.log(results);
1630
- if (results && results.length > 2) {
1631
- /** @type {?} */
1632
- var roleId_1 = results[1] ? results[1].toUpperCase() : null;
1633
- /** @type {?} */
1634
- var right = results[2];
1635
- // console.log(results[0]);
1636
- // console.log(results[1]);
1637
- // console.log(results[2]);
1638
- /** @type {?} */
1639
- var permission = permissions.find((/**
1640
- * @param {?} p
1641
- * @return {?}
1642
- */
1643
- function (p) {
1644
- return (p.appModuleId === appModuleId &&
1645
- p.resource === resource &&
1646
- p.roleId === roleId_1 &&
1647
- p.assignmentStaffRelationId === assignmentStaffRelationId);
1648
- }));
1649
- /*
1650
- console.log('##### setPermission() resource: ', resource);
1651
- console.log('##### setPermission() appModuleId: ', appModuleId);
1652
- console.log('##### setPermission() roleId: ', roleId);
1653
- console.log(
1654
- '##### setPermission() assignment relation: ',
1655
- assignmentStaffRelationId,
1656
- );
1657
- */
1658
- console.log('##### Matched permission: ', permission);
1659
- if (permission) {
1660
- if (right === 'read') {
1661
- if (!permission.readFlag) {
1662
- if (hide !== false) {
1663
- hide = true;
1664
- }
1665
- }
1666
- else {
1667
- hide = false;
1668
- }
1669
- }
1670
- else if ((right === 'create' && !permission.createFlag) ||
1671
- (right === 'update' && !permission.updateFlag) ||
1672
- (right === 'delete' && !permission.deleteFlag) ||
1673
- (right === 'assign' && !permission.assignFlag) ||
1674
- (right === 'close' && !permission.closeFlag) ||
1675
- (right === 'expunge' && !permission.expungeFlag) ||
1676
- (right === 'reopen' && !permission.reopenFlag)) {
1677
- if (element.nodeName === 'BUTTON') {
1678
- if (hide !== false) {
1679
- hide = true;
1680
- }
1681
- }
1682
- else {
1683
- if (disable !== false) {
1684
- disable = true;
1685
- }
1686
- }
1687
- }
1688
- else {
1689
- if (element.nodeName === 'BUTTON') {
1690
- hide = false;
1691
- }
1692
- else {
1693
- disable = false;
1694
- }
1695
- }
1696
- }
1697
- else {
1698
- if (right === 'read') {
1699
- if (hide !== false) {
1700
- hide = true;
1701
- }
1702
- }
1703
- else if (element.nodeName === 'BUTTON') {
1704
- if (hide !== false) {
1705
- hide = true;
1706
- }
1707
- }
1708
- else if (disable !== false) {
1709
- disable = true;
1710
- }
1711
- }
1712
- }
1713
- }));
1714
- console.log('hide: ', hide);
1715
- console.log('disable: ', disable);
1716
- if (hide === true) {
1717
- _this.hideHtmlElement(element);
1718
- }
1719
- else if (disable === true) {
1720
- _this.disableHtmlElement(element);
1721
- }
1722
- }));
1723
- return [2 /*return*/];
1724
- }
1725
- });
1726
- });
1727
- };
1728
- /**
1729
- * @param {?} accessControlConfig
1730
- * @return {?}
1731
- */
1732
- SmartAuthService.prototype.checkPermission = /**
1733
- * @param {?} accessControlConfig
1734
- * @return {?}
1735
- */
1736
- function (accessControlConfig) {
1737
- /** @type {?} */
1738
- var selData = accessControlConfig.route.data;
1739
- this.loginStaff = selData.loginStaff;
1740
- this.selectedOffender = selData.selectedOffender;
1741
- /** @type {?} */
1742
- var permissions = this.loginStaff.permissions;
1743
- /** @type {?} */
1744
- var resource = accessControlConfig.route.url[0].path;
1745
- /** @type {?} */
1746
- var roleId = accessControlConfig.roleId
1747
- ? accessControlConfig.roleId.toUpperCase()
1748
- : null;
1749
- /** @type {?} */
1750
- var accessType = accessControlConfig.accessType;
1751
- /** @type {?} */
1752
- var assignmentStaffRelationId = !this.selectedOffender
1753
- .assignmentStaffRelationId
1754
- ? 'N/A'
1755
- : this.selectedOffender.assignmentStaffRelationId;
1756
- /** @type {?} */
1757
- var permission = permissions.find((/**
1758
- * @param {?} p
1759
- * @return {?}
1760
- */
1761
- function (p) {
1762
- return (p.appModuleId === accessControlConfig.appModuleId
1763
- && p.resource === resource
1764
- && (!roleId || p.roleId === roleId)
1765
- && (p.assignmentStaffRelationId === 'N/A' ||
1766
- p.assignmentStaffRelationId === assignmentStaffRelationId));
1767
- }));
1768
- if (permission) {
1769
- if (accessType === 'read') {
1770
- if (!permission.readFlag) {
1771
- return false;
1772
- }
1773
- else {
1774
- return true;
1775
- }
1776
- }
1777
- else if ((accessType === 'create' && !permission.createFlag) ||
1778
- (accessType === 'update' && !permission.updateFlag) ||
1779
- (accessType === 'delete' && !permission.deleteFlag) ||
1780
- (accessType === 'assign' && !permission.assignFlag) ||
1781
- (accessType === 'close' && !permission.closeFlag) ||
1782
- (accessType === 'expunge' && !permission.expungeFlag) ||
1783
- (accessType === 'reopen' && !permission.reopenFlag)) {
1784
- return false;
1785
- }
1786
- else {
1787
- return true;
1788
- }
1789
- }
1790
- else {
1791
- if (accessType === 'read') {
1792
- return false;
1793
- }
1794
- }
1795
- return false;
1796
- };
1797
- /**
1798
- * @param {?} loginStaff
1799
- * @param {?} feature
1800
- * @param {?=} appModuleId
1801
- * @return {?}
1802
- */
1803
- SmartAuthService.prototype.canAppFeatureActivate = /**
1804
- * @param {?} loginStaff
1805
- * @param {?} feature
1806
- * @param {?=} appModuleId
1807
- * @return {?}
1808
- */
1809
- function (loginStaff, feature, appModuleId) {
1810
- if (appModuleId === void 0) { appModuleId = null; }
1811
- // if (!this.isAuthEnable(loginStaff.roles, appModuleId)) {
1812
- // return true;
1813
- // }
1814
- return this.hasAppFeaturePermission(loginStaff.permissions, feature, appModuleId);
1815
- };
1816
- // public isAuthEnable(roles: Role[], appModuleId: string) {
1817
- // if (roles && roles.length > 0) {
1818
- // return roles.map(r => r.roleId).findIndex(this.isExternalRole) > -1 || appModuleId === 'RR';
1819
- // }
1820
- // return false;
1821
- // }
1822
- // public isAuthEnable(roles: Role[], appModuleId: string) {
1823
- // if (roles && roles.length > 0) {
1824
- // return roles.map(r => r.roleId).findIndex(this.isExternalRole) > -1 || appModuleId === 'RR';
1825
- // }
1826
- // return false;
1827
- // }
1828
- /**
1829
- * @param {?} roles
1830
- * @return {?}
1831
- */
1832
- SmartAuthService.prototype.hasIntakeRole =
1833
- // public isAuthEnable(roles: Role[], appModuleId: string) {
1834
- // if (roles && roles.length > 0) {
1835
- // return roles.map(r => r.roleId).findIndex(this.isExternalRole) > -1 || appModuleId === 'RR';
1836
- // }
1837
- // return false;
1838
- // }
1839
- /**
1840
- * @param {?} roles
1841
- * @return {?}
1842
- */
1843
- function (roles) {
1844
- if (roles && roles.length > 0) {
1845
- return roles.findIndex(this.isIntakeRole) > -1;
1846
- }
1847
- return false;
1848
- };
1849
- /**
1850
- * @private
1851
- * @param {?} permissions
1852
- * @param {?} feature
1853
- * @param {?} appModuleId
1854
- * @return {?}
1855
- */
1856
- SmartAuthService.prototype.hasAppFeaturePermission = /**
1857
- * @private
1858
- * @param {?} permissions
1859
- * @param {?} feature
1860
- * @param {?} appModuleId
1861
- * @return {?}
1862
- */
1863
- function (permissions, feature, appModuleId) {
1864
- if (permissions && permissions.length > 0) {
1865
- if (appModuleId) {
1866
- return (permissions.findIndex((/**
1867
- * @param {?} p
1868
- * @return {?}
1869
- */
1870
- function (p) { return p.resource === feature && p.appModuleId === appModuleId; })) > -1);
1871
- }
1872
- else {
1873
- return permissions.findIndex((/**
1874
- * @param {?} p
1875
- * @return {?}
1876
- */
1877
- function (p) { return p.resource === feature; })) > -1;
1878
- }
1879
- }
1880
- return false;
1881
- };
1882
- /**
1883
- * @private
1884
- * @param {?} roleId
1885
- * @return {?}
1886
- */
1887
- SmartAuthService.prototype.isExternalRole = /**
1888
- * @private
1889
- * @param {?} roleId
1890
- * @return {?}
1891
- */
1892
- function (roleId) {
1893
- switch (roleId) {
1894
- case 'EUDTL':
1895
- case 'EUDUSM':
1896
- case 'EUJDG':
1897
- case 'EUMPD':
1898
- case 'EUSOTV':
1899
- case 'EUUSA2':
1900
- case 'EUUSAO':
1901
- case 'EUUSPC':
1902
- return true;
1903
- default:
1904
- return false;
1905
- }
1906
- };
1907
- /**
1908
- * @private
1909
- * @param {?} role
1910
- * @return {?}
1911
- */
1912
- SmartAuthService.prototype.isIntakeRole = /**
1913
- * @private
1914
- * @param {?} role
1915
- * @return {?}
1916
- */
1917
- function (role) {
1918
- switch (role.roleId) {
1919
- case 'OPA':
1920
- case 'OPS':
1921
- case 'SOPS':
1922
- return true;
1923
- default:
1924
- return false;
1925
- }
1926
- };
1927
- /**
1928
- * @private
1929
- * @param {?} element
1930
- * @return {?}
1931
- */
1932
- SmartAuthService.prototype.disableHtmlElement = /**
1933
- * @private
1934
- * @param {?} element
1935
- * @return {?}
1936
- */
1937
- function (element) {
1938
- // console.log(element);
1939
- switch (element.nodeName) {
1940
- case 'A':
1941
- element.setAttribute('style', 'pointer-events: none;cursor: not-allowed;');
1942
- element.setAttribute('tabIndex', '-1');
1943
- break;
1944
- default:
1945
- element.setAttribute('disabled', 'disabled');
1946
- break;
1947
- }
1948
- };
1949
- /**
1950
- * @private
1951
- * @param {?} element
1952
- * @return {?}
1953
- */
1954
- SmartAuthService.prototype.hideHtmlElement = /**
1955
- * @private
1956
- * @param {?} element
1957
- * @return {?}
1958
- */
1959
- function (element) {
1960
- // element.setAttribute('hidden', 'hidden');
1961
- element.setAttribute('style', 'display: none;');
1962
- };
1963
- /**
1964
- * @private
1965
- * @param {?} userName
1966
- * @return {?}
1967
- */
1968
- SmartAuthService.prototype.getStaff = /**
1969
- * @private
1970
- * @param {?} userName
1971
- * @return {?}
1972
- */
1973
- function (userName) {
1974
- var _this = this;
1975
- /** @type {?} */
1976
- var queryString = "\n {\n findvStaffs(input: {where: {userName: \"" + userName + "\", activeFlag: true}}) {\n totalCount\n message\n data {\n staffId\n userName\n lastName\n firstName\n phone\n email\n roles {\n roleId\n role\n }\n permissions {\n roleId\n appModuleId\n resource\n assignmentStaffRelationId\n readFlag\n createFlag\n updateFlag\n deleteFlag\n assignFlag\n reopenFlag\n closeFlag\n expungeFlag\n }\n options {\n offenderListOptionId\n name\n serviceApiFieldName\n selectedFlag\n }\n }\n }\n }";
1977
- return this.http
1978
- .post(this.smartDataServiceUrl, { query: queryString })
1979
- .pipe(take(1), map((/**
1980
- * @param {?} result
1981
- * @return {?}
1982
- */
1983
- function (result) {
1984
- if (isDevMode) {
1985
- console.log('##### getStaff() from service ', result);
1986
- }
1987
- if (result.data.findvStaffs.data.length > 0) {
1988
- /** @type {?} */
1989
- var data = result.data.findvStaffs.data[0];
1990
- _this.xdmService.setLoginStaff(data);
1991
- _this.loginStaff = data;
1992
- return data;
1993
- }
1994
- else {
1995
- return null;
1996
- // return throwError('No access right.');
1997
- }
1998
- })), catchError((/**
1999
- * @param {?} error
2000
- * @return {?}
2001
- */
2002
- function (error) {
2003
- console.log('error ' + error);
2004
- return null;
2005
- })));
2006
- };
2007
- /**
2008
- * @private
2009
- * @param {?} staffId
2010
- * @param {?} offenderId
2011
- * @return {?}
2012
- */
2013
- SmartAuthService.prototype.getStaffOffenderRelation = /**
2014
- * @private
2015
- * @param {?} staffId
2016
- * @param {?} offenderId
2017
- * @return {?}
2018
- */
2019
- function (staffId, offenderId) {
2020
- /** @type {?} */
2021
- var queryString = "\n {\n findvStaffOffenderRelations(input: {where: {staffId: " + staffId + ", offenderId: " + offenderId + "}}) {\n data {\n assignmentStaffRelationId\n }\n }\n }";
2022
- return this.http
2023
- .post(this.smartDataServiceUrl, { query: queryString })
2024
- .pipe(take(1), map((/**
2025
- * @param {?} result
2026
- * @return {?}
2027
- */
2028
- function (result) {
2029
- if (isDevMode) {
2030
- console.log('##### getStaffOffenderRelation() from service ', result);
2031
- }
2032
- if (result.data.findvStaffOffenderRelations.data.length > 0) {
2033
- /** @type {?} */
2034
- var data = result.data.findvStaffOffenderRelations.data[0];
2035
- return data.assignmentStaffRelationId;
2036
- }
2037
- else {
2038
- return null;
2039
- // return throwError('No access right.');
2040
- }
2041
- })), catchError((/**
2042
- * @param {?} error
2043
- * @return {?}
2044
- */
2045
- function (error) {
2046
- console.log('error ' + error);
2047
- return null;
2048
- })));
2049
- };
2050
- /**
2051
- * @private
2052
- * @param {?} appModuleId
2053
- * @param {?} resource
2054
- * @return {?}
2055
- */
2056
- SmartAuthService.prototype.getRolePermissions = /**
2057
- * @private
2058
- * @param {?} appModuleId
2059
- * @param {?} resource
2060
- * @return {?}
2061
- */
2062
- function (appModuleId, resource) {
2063
- /** @type {?} */
2064
- var queryString = "\n query findvRolePermissionPivots{\n findvRolePermissionPivots(input: {where: {appModuleId: " + appModuleId + ", resource: " + resource + "}}){\n totalCount\n message\n }\n }";
2065
- return this.http
2066
- .post(this.smartDataServiceUrl, { query: queryString })
2067
- .pipe(take(1), map((/**
2068
- * @param {?} result
2069
- * @return {?}
2070
- */
2071
- function (result) {
2072
- if (isDevMode) {
2073
- console.log('##### findvRolePermissionPivots() from service ', result);
2074
- }
2075
- if (result.data.findvRolePermissionPivots.totalCount > 0) {
2076
- return true;
2077
- }
2078
- else {
2079
- return false;
2080
- // return throwError('No access right.');
2081
- }
2082
- })), catchError((/**
2083
- * @param {?} error
2084
- * @return {?}
2085
- */
2086
- function (error) {
2087
- console.log('error ' + error);
2088
- return throwError(error);
2089
- })));
2090
- };
2091
- SmartAuthService.decorators = [
2092
- { type: Injectable, args: [{
2093
- providedIn: 'root',
2094
- },] }
2095
- ];
2096
- /** @nocollapse */
2097
- SmartAuthService.ctorParameters = function () { return [
2098
- { type: HttpClient },
2099
- { type: MsalService },
2100
- { type: XdmService },
2101
- { type: undefined, decorators: [{ type: Inject, args: [SMART_DATA_SERVICE_URL,] }] },
2102
- { type: String, decorators: [{ type: Inject, args: [SMART_DOMAIN_FORMAT,] }] }
2103
- ]; };
2104
- /** @nocollapse */ SmartAuthService.ngInjectableDef = defineInjectable({ factory: function SmartAuthService_Factory() { return new SmartAuthService(inject(HttpClient), inject(MsalService), inject(XdmService), inject(SMART_DATA_SERVICE_URL), inject(SMART_DOMAIN_FORMAT)); }, token: SmartAuthService, providedIn: "root" });
2105
- return SmartAuthService;
2106
- }());
2107
-
2108
- /**
2109
- * @fileoverview added by tsickle
2110
- * Generated from: lib/smart-auth/smart-access-control.directive.ts
2111
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2112
- */
2113
- var SmartAccessControlDirective = /** @class */ (function () {
2114
- function SmartAccessControlDirective(elementRef, auth) {
2115
- this.elementRef = elementRef;
2116
- this.auth = auth;
2117
- }
2118
- /**
2119
- * @return {?}
2120
- */
2121
- SmartAccessControlDirective.prototype.ngOnInit = /**
2122
- * @return {?}
2123
- */
2124
- function () {
2125
- this.checkAccess();
2126
- };
2127
- /**
2128
- * @return {?}
2129
- */
2130
- SmartAccessControlDirective.prototype.checkAccess = /**
2131
- * @return {?}
2132
- */
2133
- function () {
2134
- if (!this.accessControlConfig ||
2135
- !this.accessControlConfig.route ||
2136
- !this.accessControlConfig.route.data ||
2137
- !this.accessControlConfig.route.data.loginStaff ||
2138
- !this.accessControlConfig.route.data.selectedOffender) {
2139
- return;
2140
- }
2141
- // const loginStaff = this.accessControlConfig.route.data.loginStaff;
2142
- // if (!this.auth.isAuthEnable(loginStaff.roles, this.accessControlConfig.appModuleId)) {
2143
- // return;
2144
- // }
2145
- this.elementRef.nativeElement.style.display = this.auth.checkPermission(this.accessControlConfig)
2146
- ? 'block'
2147
- : 'none';
2148
- };
2149
- SmartAccessControlDirective.decorators = [
2150
- { type: Directive, args: [{
2151
- selector: '[accessControl]',
2152
- },] }
2153
- ];
2154
- /** @nocollapse */
2155
- SmartAccessControlDirective.ctorParameters = function () { return [
2156
- { type: ElementRef },
2157
- { type: SmartAuthService }
2158
- ]; };
2159
- SmartAccessControlDirective.propDecorators = {
2160
- accessControlConfig: [{ type: Input }]
2161
- };
2162
- return SmartAccessControlDirective;
2163
- }());
2164
-
2165
- /**
2166
- * @fileoverview added by tsickle
2167
- * Generated from: lib/smart-auth/smart-authorization-guard.service.ts
2168
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2169
- */
2170
- var SmartAuthorizationGuard = /** @class */ (function () {
2171
- function SmartAuthorizationGuard(authnService) {
2172
- this.authnService = authnService;
2173
- }
2174
- /**
2175
- * @param {?} route
2176
- * @return {?}
2177
- */
2178
- SmartAuthorizationGuard.prototype.canActivate = /**
2179
- * @param {?} route
2180
- * @return {?}
2181
- */
2182
- function (route) {
2183
- var _this = this;
2184
- return this.authnService.getLoginStaff().pipe(take(1), mergeMap((/**
2185
- * @param {?} loginStaff
2186
- * @return {?}
2187
- */
2188
- function (loginStaff) {
2189
- if (!loginStaff || !route || !route.routeConfig) {
2190
- return of(false);
2191
- }
2192
- // if (!this.authnService.isAuthEnable(loginStaff.roles, null)) {
2193
- // return of(true);
2194
- // }
2195
- /** @type {?} */
2196
- var resource = route.routeConfig.path
2197
- ? route.routeConfig.path.split('/')[0]
2198
- : '';
2199
- /** @type {?} */
2200
- var isFeatureValid = _this.authnService.canAppFeatureActivate(loginStaff, resource);
2201
- return of(isFeatureValid);
2202
- })), catchError((/**
2203
- * @param {?} error
2204
- * @return {?}
2205
- */
2206
- function (error) {
2207
- return of(false);
2208
- })));
2209
- };
2210
- SmartAuthorizationGuard.decorators = [
2211
- { type: Injectable }
2212
- ];
2213
- /** @nocollapse */
2214
- SmartAuthorizationGuard.ctorParameters = function () { return [
2215
- { type: SmartAuthService }
2216
- ]; };
2217
- return SmartAuthorizationGuard;
2218
- }());
2219
-
2220
- /**
2221
- * @fileoverview added by tsickle
2222
- * Generated from: lib/ngc-smart-core.module.ts
2223
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2224
- */
2225
- var NgcSmartCoreModule = /** @class */ (function () {
2226
- function NgcSmartCoreModule() {
2227
- }
2228
- NgcSmartCoreModule.decorators = [
2229
- { type: NgModule, args: [{
2230
- declarations: [
2231
- SmartOffenderHeaderComponent,
2232
- SmartNavbarComponent,
2233
- SmartErrorComponent,
2234
- SmartStaffOffenderOptionsComponent,
2235
- SmartAccessControlDirective,
2236
- ],
2237
- imports: [
2238
- CommonModule,
2239
- HttpClientModule,
2240
- MatButtonModule,
2241
- MatMenuModule,
2242
- MatTabsModule,
2243
- MatSelectModule,
2244
- MatCardModule,
2245
- MatCheckboxModule,
2246
- ReactiveFormsModule,
2247
- ],
2248
- exports: [
2249
- SmartOffenderHeaderComponent,
2250
- SmartNavbarComponent,
2251
- SmartErrorComponent,
2252
- SmartStaffOffenderOptionsComponent,
2253
- SmartAccessControlDirective,
2254
- ],
2255
- providers: [
2256
- SmartNavbarService,
2257
- SmartOffenderHeaderService,
2258
- SmartStaffOffenderOptionsService,
2259
- SmartAuthorizationGuard,
2260
- MatSnackBar,
2261
- ],
2262
- },] }
2263
- ];
2264
- return NgcSmartCoreModule;
2265
- }());
2266
-
2267
- /**
2268
- * @fileoverview added by tsickle
2269
- * Generated from: lib/smart-auth/smart-login-staff-resolver.service.ts
2270
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2271
- */
2272
- var LoginStaffResolverService = /** @class */ (function () {
2273
- function LoginStaffResolverService(authnService, router) {
2274
- this.authnService = authnService;
2275
- this.router = router;
2276
- }
2277
- /**
2278
- * @param {?} route
2279
- * @param {?} state
2280
- * @return {?}
2281
- */
2282
- LoginStaffResolverService.prototype.resolve = /**
2283
- * @param {?} route
2284
- * @param {?} state
2285
- * @return {?}
2286
- */
2287
- function (route, state) {
2288
- var _this = this;
2289
- return this.authnService.getLoginStaff().pipe(take(1), mergeMap((/**
2290
- * @param {?} loginStaff
2291
- * @return {?}
2292
- */
2293
- function (loginStaff) {
2294
- if (isDevMode) {
2295
- console.log('LoginStaffResolverService: ', loginStaff);
2296
- }
2297
- if (loginStaff) {
2298
- return of(loginStaff);
2299
- }
2300
- else {
2301
- return throwError('Not authorized to access SMART.');
2302
- // return EMPTY;
2303
- /*
2304
- this.zone.run(() => {
2305
- this.router.navigate(['/smart-error'], {
2306
- queryParams: {
2307
- type: 'staff',
2308
- message: 'Not authorized to access SMART.'
2309
- }
2310
- });
2311
- });
2312
- return EMPTY;
2313
- */
2314
- }
2315
- })), catchError((/**
2316
- * @param {?} error
2317
- * @return {?}
2318
- */
2319
- function (error) {
2320
- console.log('LoginStaffResolverService: ' + error);
2321
- _this.router.navigate(['/smart-error'], {
2322
- queryParams: {
2323
- type: 'staff',
2324
- message: 'SMART Authentication: ' + error,
2325
- },
2326
- });
2327
- return EMPTY;
2328
- })));
2329
- };
2330
- LoginStaffResolverService.decorators = [
2331
- { type: Injectable, args: [{
2332
- providedIn: 'root',
2333
- },] }
2334
- ];
2335
- /** @nocollapse */
2336
- LoginStaffResolverService.ctorParameters = function () { return [
2337
- { type: SmartAuthService },
2338
- { type: Router }
2339
- ]; };
2340
- /** @nocollapse */ LoginStaffResolverService.ngInjectableDef = defineInjectable({ factory: function LoginStaffResolverService_Factory() { return new LoginStaffResolverService(inject(SmartAuthService), inject(Router)); }, token: LoginStaffResolverService, providedIn: "root" });
2341
- return LoginStaffResolverService;
2342
- }());
2343
-
2344
- /**
2345
- * @fileoverview added by tsickle
2346
- * Generated from: lib/smart-auth/smart-selected-offender-resolver.service.ts
2347
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2348
- */
2349
- var SelectedOffenderResolverService = /** @class */ (function () {
2350
- function SelectedOffenderResolverService(service, zone, router) {
2351
- this.service = service;
2352
- this.zone = zone;
2353
- this.router = router;
2354
- }
2355
- /**
2356
- * @param {?} route
2357
- * @param {?} state
2358
- * @return {?}
2359
- */
2360
- SelectedOffenderResolverService.prototype.resolve = /**
2361
- * @param {?} route
2362
- * @param {?} state
2363
- * @return {?}
2364
- */
2365
- function (route, state) {
2366
- var _this = this;
2367
- return from(this.service.getSelectedOffender()).pipe(mergeMap((/**
2368
- * @param {?} selectedOffender
2369
- * @return {?}
2370
- */
2371
- function (selectedOffender) {
2372
- if (isDevMode) {
2373
- console.log(selectedOffender);
2374
- }
2375
- if (!selectedOffender) {
2376
- return throwError('No offender selected.');
2377
- }
2378
- return of(selectedOffender);
2379
- })), retryWhen((/**
2380
- * @param {?} errors
2381
- * @return {?}
2382
- */
2383
- function (errors) {
2384
- return errors.pipe(
2385
- // tap(() => console.log('Retry getting selected offender.')),
2386
- delay(1000), take(5), (/**
2387
- * @param {?} o
2388
- * @return {?}
2389
- */
2390
- function (o) {
2391
- return concat(o, throwError('No offender selected (failed after retries).'));
2392
- }));
2393
- })), catchError((/**
2394
- * @param {?} error
2395
- * @return {?}
2396
- */
2397
- function (error) {
2398
- /*
2399
- this.zone.run(() => {
2400
- this.router.navigate(['/smart-error'], {
2401
- queryParams: { type: 'offender', message: error }
2402
- });
2403
- });
2404
- */
2405
- _this.router.navigate(['/smart-error'], {
2406
- queryParams: { type: 'offender', message: error },
2407
- });
2408
- return EMPTY;
2409
- })));
2410
- };
2411
- SelectedOffenderResolverService.decorators = [
2412
- { type: Injectable, args: [{
2413
- providedIn: 'root',
2414
- },] }
2415
- ];
2416
- /** @nocollapse */
2417
- SelectedOffenderResolverService.ctorParameters = function () { return [
2418
- { type: XdmService },
2419
- { type: NgZone },
2420
- { type: Router }
2421
- ]; };
2422
- /** @nocollapse */ SelectedOffenderResolverService.ngInjectableDef = defineInjectable({ factory: function SelectedOffenderResolverService_Factory() { return new SelectedOffenderResolverService(inject(XdmService), inject(NgZone), inject(Router)); }, token: SelectedOffenderResolverService, providedIn: "root" });
2423
- return SelectedOffenderResolverService;
2424
- }());
2425
-
2426
- /**
2427
- * @fileoverview added by tsickle
2428
- * Generated from: lib/smart-navbar/smart-navbar-config.ts
2429
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2430
- */
2431
-
2432
- /**
2433
- * @fileoverview added by tsickle
2434
- * Generated from: lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service.ts
2435
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2436
- */
2437
- var SmartStaffOffenderOptionsResolverService = /** @class */ (function () {
2438
- function SmartStaffOffenderOptionsResolverService(offenderService) {
2439
- this.offenderService = offenderService;
2440
- }
2441
- /**
2442
- * @return {?}
2443
- */
2444
- SmartStaffOffenderOptionsResolverService.prototype.resolve = /**
2445
- * @return {?}
2446
- */
2447
- function () {
2448
- return this.offenderService.getOffenderListOptions()
2449
- .pipe(map((/**
2450
- * @param {?} __0
2451
- * @return {?}
2452
- */
2453
- function (_a) {
2454
- var data = _a.data;
2455
- return data;
2456
- })));
2457
- };
2458
- SmartStaffOffenderOptionsResolverService.decorators = [
2459
- { type: Injectable, args: [{
2460
- providedIn: 'root',
2461
- },] }
2462
- ];
2463
- /** @nocollapse */
2464
- SmartStaffOffenderOptionsResolverService.ctorParameters = function () { return [
2465
- { type: SmartStaffOffenderOptionsService }
2466
- ]; };
2467
- /** @nocollapse */ SmartStaffOffenderOptionsResolverService.ngInjectableDef = defineInjectable({ factory: function SmartStaffOffenderOptionsResolverService_Factory() { return new SmartStaffOffenderOptionsResolverService(inject(SmartStaffOffenderOptionsService)); }, token: SmartStaffOffenderOptionsResolverService, providedIn: "root" });
2468
- return SmartStaffOffenderOptionsResolverService;
2469
- }());
2470
-
2471
- /**
2472
- * @fileoverview added by tsickle
2473
- * Generated from: lib/smart-auth/smart-access-control-config.ts
2474
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2475
- */
2476
- /** @enum {string} */
2477
- var AccessType = {
2478
- READ: "read",
2479
- CREATE: "create",
2480
- UPDATE: "update",
2481
- DELETE: "delete",
2482
- EXPUNGE: "expunge",
2483
- ASSIGN: "assign",
2484
- REOPEN: "reopen",
2485
- CLOSE: "close",
2486
- };
2487
-
2488
- /**
2489
- * @fileoverview added by tsickle
2490
- * Generated from: public-api.ts
2491
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2492
- */
2493
-
2494
- /**
2495
- * @fileoverview added by tsickle
2496
- * Generated from: csmart-ngc-smart-core.ts
2497
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2498
- */
2499
-
2500
- export { NgcSmartCoreModule, SmartAuthService, LoginStaffResolverService, SelectedOffenderResolverService, SmartErrorComponent, SmartNavbarService, XdmService, Permission, Role, Option, LoginStaff, SelectedOffender, OffenderQuery, StorageKey, SMART_WEB_STORAGE_LISTENER_URL, SMART_WEB_PORTAL_URL, SMART_DATA_SERVICE_URL, SMART_DOMAIN_FORMAT, SmartStaffOffenderOptionsComponent, SmartStaffOffenderOptionsResolverService, AccessType, SmartAuthorizationGuard, SmartAccessControlDirective as ɵe, SmartNavbarComponent as ɵc, SmartOffenderHeaderComponent as ɵa, SmartOffenderHeaderService as ɵb, SmartStaffOffenderOptionsService as ɵd };
2501
-
2502
- //# sourceMappingURL=csmart-ngc-smart-core.js.map