@csmart/ngc-smart-core 1.14.11 → 1.14.14

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.
@@ -13,17 +13,26 @@ export class SelectedOffenderResolverService {
13
13
  this.router = router;
14
14
  }
15
15
  resolve(route, state) {
16
+ let offenderId = null;
17
+ if (route && route.queryParams["offenderId"]) {
18
+ offenderId = parseInt(route.queryParams["offenderId"]);
19
+ }
16
20
  return from(this.service.getSelectedOffender()).pipe(mergeMap((selectedOffender) => {
17
21
  if (isDevMode) {
18
22
  console.log(selectedOffender);
19
23
  }
20
24
  if (!selectedOffender) {
21
- return throwError('No offender selected.');
25
+ if (offenderId) {
26
+ return this.service.setSelectedOffenderFromRoute(offenderId);
27
+ }
28
+ else {
29
+ return throwError(() => new Error('No offender selected.'));
30
+ }
22
31
  }
23
32
  return of(selectedOffender);
24
33
  }), retryWhen((errors) => errors.pipe(
25
34
  // tap(() => console.log('Retry getting selected offender.')),
26
- delay(1000), take(5), (o) => concat(o, throwError('No offender selected (failed after retries).')))), catchError((error) => {
35
+ delay(1000), take(5), (o) => concat(o, throwError(() => new Error('No offender selected (failed after retries).'))))), catchError((error) => {
27
36
  /*
28
37
  this.zone.run(() => {
29
38
  this.router.navigate(['/smart-error'], {
@@ -46,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
46
55
  providedIn: 'root',
47
56
  }]
48
57
  }], ctorParameters: function () { return [{ type: i1.XdmService }, { type: i0.NgZone }, { type: i2.Router }]; } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2VsZWN0ZWQtb2ZmZW5kZXItcmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NzbWFydC9uZ2Mtc21hcnQtY29yZS9zcmMvbGliL3NtYXJ0LWF1dGgvc21hcnQtc2VsZWN0ZWQtb2ZmZW5kZXItcmVzb2x2ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUlMLE1BQU0sR0FDUCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBYyxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFDTCxVQUFVLEVBQ1YsUUFBUSxFQUVSLElBQUksRUFDSixTQUFTLEVBRVQsS0FBSyxHQUNOLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBSzFELE1BQU0sT0FBTywrQkFBK0I7SUFFMUMsWUFDVSxPQUFtQixFQUNuQixJQUFZLEVBQ1osTUFBYztRQUZkLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDckIsQ0FBQztJQUVKLE9BQU8sQ0FDTCxLQUE2QixFQUM3QixLQUEwQjtRQUUxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ2xELFFBQVEsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLEVBQUU7WUFDNUIsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQy9CO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUNyQixPQUFPLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2FBQzVDO1lBQ0QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNuQixNQUFNLENBQUMsSUFBSTtRQUNULDhEQUE4RDtRQUM5RCxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQ1gsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDSixNQUFNLENBQ0osQ0FBQyxFQUNELFVBQVUsQ0FBQyw4Q0FBOEMsQ0FBQyxDQUMzRCxDQUNKLENBQ0YsRUFDRCxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQjs7Ozs7O2NBTUU7WUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUNyQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7YUFDbEQsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7K0lBaERVLCtCQUErQjttSkFBL0IsK0JBQStCLGNBRjlCLE1BQU07MkZBRVAsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSwgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgUmVzb2x2ZSxcclxuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXHJcbiAgUm91dGVyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20sIG9mLCBFTVBUWSwgdGhyb3dFcnJvciwgY29uY2F0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgY2F0Y2hFcnJvcixcclxuICBtZXJnZU1hcCxcclxuICBtYXAsXHJcbiAgdGFrZSxcclxuICByZXRyeVdoZW4sXHJcbiAgdGFwLFxyXG4gIGRlbGF5LFxyXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU2VsZWN0ZWRPZmZlbmRlciB9IGZyb20gJy4uL3NtYXJ0LXN0b3JhZ2Uvc21hcnQtc3RvcmFnZS1tb2RlbCc7XHJcbmltcG9ydCB7IFhkbVNlcnZpY2UgfSBmcm9tICcuLi9zbWFydC1zdG9yYWdlL3hkbS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RlZE9mZmVuZGVyUmVzb2x2ZXJTZXJ2aWNlXHJcbiAgaW1wbGVtZW50cyBSZXNvbHZlPFNlbGVjdGVkT2ZmZW5kZXI+IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2VydmljZTogWGRtU2VydmljZSxcclxuICAgIHByaXZhdGUgem9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICApIHt9XHJcblxyXG4gIHJlc29sdmUoXHJcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxyXG4gICk6IE9ic2VydmFibGU8U2VsZWN0ZWRPZmZlbmRlcj4gfCBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICByZXR1cm4gZnJvbSh0aGlzLnNlcnZpY2UuZ2V0U2VsZWN0ZWRPZmZlbmRlcigpKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcCgoc2VsZWN0ZWRPZmZlbmRlcikgPT4ge1xyXG4gICAgICAgIGlmIChpc0Rldk1vZGUpIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKHNlbGVjdGVkT2ZmZW5kZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXNlbGVjdGVkT2ZmZW5kZXIpIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCdObyBvZmZlbmRlciBzZWxlY3RlZC4nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG9mKHNlbGVjdGVkT2ZmZW5kZXIpO1xyXG4gICAgICB9KSxcclxuICAgICAgcmV0cnlXaGVuKChlcnJvcnMpID0+XHJcbiAgICAgICAgZXJyb3JzLnBpcGUoXHJcbiAgICAgICAgICAvLyB0YXAoKCkgPT4gY29uc29sZS5sb2coJ1JldHJ5IGdldHRpbmcgc2VsZWN0ZWQgb2ZmZW5kZXIuJykpLFxyXG4gICAgICAgICAgZGVsYXkoMTAwMCksXHJcbiAgICAgICAgICB0YWtlKDUpLFxyXG4gICAgICAgICAgKG8pID0+XHJcbiAgICAgICAgICAgIGNvbmNhdChcclxuICAgICAgICAgICAgICBvLFxyXG4gICAgICAgICAgICAgIHRocm93RXJyb3IoJ05vIG9mZmVuZGVyIHNlbGVjdGVkIChmYWlsZWQgYWZ0ZXIgcmV0cmllcykuJyksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgKSxcclxuICAgICAgKSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICAvKlxyXG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvc21hcnQtZXJyb3InXSwge1xyXG4gICAgICAgICAgICBxdWVyeVBhcmFtczogeyB0eXBlOiAnb2ZmZW5kZXInLCBtZXNzYWdlOiBlcnJvciB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICAqL1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3NtYXJ0LWVycm9yJ10sIHtcclxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IHR5cGU6ICdvZmZlbmRlcicsIG1lc3NhZ2U6IGVycm9yIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gICAgICB9KSxcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2VsZWN0ZWQtb2ZmZW5kZXItcmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NzbWFydC9uZ2Mtc21hcnQtY29yZS9zcmMvbGliL3NtYXJ0LWF1dGgvc21hcnQtc2VsZWN0ZWQtb2ZmZW5kZXItcmVzb2x2ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUlMLE1BQU0sR0FDUCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBYyxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFDTCxVQUFVLEVBQ1YsUUFBUSxFQUVSLElBQUksRUFDSixTQUFTLEVBRVQsS0FBSyxHQUNOLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBSzFELE1BQU0sT0FBTywrQkFBK0I7SUFFMUMsWUFDVSxPQUFtQixFQUNuQixJQUFZLEVBQ1osTUFBYztRQUZkLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDckIsQ0FBQztJQUNKLE9BQU8sQ0FDTCxLQUE2QixFQUM3QixLQUEwQjtRQUUxQixJQUFJLFVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBQ3JDLElBQUcsS0FBSyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDM0MsVUFBVSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7U0FDeEQ7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ2xELFFBQVEsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLEVBQUU7WUFDNUIsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQy9CO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUNyQixJQUFHLFVBQVUsRUFBRTtvQkFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsNEJBQTRCLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQzlEO3FCQUFNO29CQUNMLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQztpQkFDN0Q7YUFDRjtZQUNELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDbkIsTUFBTSxDQUFDLElBQUk7UUFDVCw4REFBOEQ7UUFDOUQsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUNYLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0osTUFBTSxDQUNKLENBQUMsRUFDRCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQyxDQUM1RSxDQUNKLENBQ0YsRUFDRCxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQjs7Ozs7O2NBTUU7WUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUNyQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7YUFDbEQsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7K0lBdkRVLCtCQUErQjttSkFBL0IsK0JBQStCLGNBRjlCLE1BQU07MkZBRVAsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSwgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgUmVzb2x2ZSxcclxuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXHJcbiAgUm91dGVyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20sIG9mLCBFTVBUWSwgdGhyb3dFcnJvciwgY29uY2F0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgY2F0Y2hFcnJvcixcclxuICBtZXJnZU1hcCxcclxuICBtYXAsXHJcbiAgdGFrZSxcclxuICByZXRyeVdoZW4sXHJcbiAgdGFwLFxyXG4gIGRlbGF5LFxyXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU2VsZWN0ZWRPZmZlbmRlciB9IGZyb20gJy4uL3NtYXJ0LXN0b3JhZ2Uvc21hcnQtc3RvcmFnZS1tb2RlbCc7XHJcbmltcG9ydCB7IFhkbVNlcnZpY2UgfSBmcm9tICcuLi9zbWFydC1zdG9yYWdlL3hkbS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RlZE9mZmVuZGVyUmVzb2x2ZXJTZXJ2aWNlXHJcbiAgaW1wbGVtZW50cyBSZXNvbHZlPFNlbGVjdGVkT2ZmZW5kZXI+IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2VydmljZTogWGRtU2VydmljZSxcclxuICAgIHByaXZhdGUgem9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICApIHt9XHJcbiAgcmVzb2x2ZShcclxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gICAgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsXHJcbiAgKTogT2JzZXJ2YWJsZTxTZWxlY3RlZE9mZmVuZGVyPiB8IE9ic2VydmFibGU8bmV2ZXI+IHtcclxuICAgIGxldCBvZmZlbmRlcklkOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAgIGlmKHJvdXRlICYmIHJvdXRlLnF1ZXJ5UGFyYW1zW1wib2ZmZW5kZXJJZFwiXSkge1xyXG4gICAgICBvZmZlbmRlcklkID0gcGFyc2VJbnQocm91dGUucXVlcnlQYXJhbXNbXCJvZmZlbmRlcklkXCJdKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmcm9tKHRoaXMuc2VydmljZS5nZXRTZWxlY3RlZE9mZmVuZGVyKCkpLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKChzZWxlY3RlZE9mZmVuZGVyKSA9PiB7XHJcbiAgICAgICAgaWYgKGlzRGV2TW9kZSkge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coc2VsZWN0ZWRPZmZlbmRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghc2VsZWN0ZWRPZmZlbmRlcikge1xyXG4gICAgICAgICAgaWYob2ZmZW5kZXJJZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLnNldFNlbGVjdGVkT2ZmZW5kZXJGcm9tUm91dGUob2ZmZW5kZXJJZCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ05vIG9mZmVuZGVyIHNlbGVjdGVkLicpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG9mKHNlbGVjdGVkT2ZmZW5kZXIpO1xyXG4gICAgICB9KSxcclxuICAgICAgcmV0cnlXaGVuKChlcnJvcnMpID0+XHJcbiAgICAgICAgZXJyb3JzLnBpcGUoXHJcbiAgICAgICAgICAvLyB0YXAoKCkgPT4gY29uc29sZS5sb2coJ1JldHJ5IGdldHRpbmcgc2VsZWN0ZWQgb2ZmZW5kZXIuJykpLFxyXG4gICAgICAgICAgZGVsYXkoMTAwMCksXHJcbiAgICAgICAgICB0YWtlKDUpLFxyXG4gICAgICAgICAgKG8pID0+XHJcbiAgICAgICAgICAgIGNvbmNhdChcclxuICAgICAgICAgICAgICBvLFxyXG4gICAgICAgICAgICAgIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdObyBvZmZlbmRlciBzZWxlY3RlZCAoZmFpbGVkIGFmdGVyIHJldHJpZXMpLicpKSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICApLFxyXG4gICAgICApLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgIC8qXHJcbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9zbWFydC1lcnJvciddLCB7XHJcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IHR5cGU6ICdvZmZlbmRlcicsIG1lc3NhZ2U6IGVycm9yIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgICovXHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvc21hcnQtZXJyb3InXSwge1xyXG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHsgdHlwZTogJ29mZmVuZGVyJywgbWVzc2FnZTogZXJyb3IgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,7 +1,7 @@
1
1
  import { Injectable, Inject, isDevMode } from '@angular/core';
2
2
  import { DOCUMENT } from '@angular/common';
3
3
  import { Subject } from 'rxjs';
4
- import { map } from 'rxjs/operators';
4
+ import { map, switchMap } from 'rxjs/operators';
5
5
  import { StorageKey, SMART_WEB_STORAGE_LISTENER_URL, SMART_DATA_SERVICE_URL, } from './smart-storage-model';
6
6
  // import connectToChild from "penpal/lib/connectToChild";
7
7
  import { connectToChild } from 'penpal';
@@ -150,6 +150,28 @@ export class XdmService {
150
150
  getOffenderQueryUpdate() {
151
151
  return this.offenderQuerySubject.asObservable();
152
152
  }
153
+ setSelectedOffenderFromRoute(offenderId) {
154
+ return this.getStaffUpdate().pipe(switchMap(loginStaff => {
155
+ const queryString = `{
156
+ getSelectedOffender(input: {
157
+ offenderId: ${offenderId},
158
+ staffId: ${loginStaff.staffId}
159
+ }){
160
+ data{
161
+ offenderId
162
+ name: offenderName
163
+ pdId
164
+ birthDate
165
+ gender
166
+ }
167
+ }
168
+ }`;
169
+ return this.httpClient.post(this.smartDataServiceUrl, { query: queryString }).pipe(map(({ data }) => data.getSelectedOffender.data));
170
+ }), map(selectedOffender => {
171
+ this.setSelectedOffender(selectedOffender);
172
+ return selectedOffender;
173
+ }));
174
+ }
153
175
  }
154
176
  /** @nocollapse */ XdmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: XdmService, deps: [{ token: DOCUMENT }, { token: SMART_WEB_STORAGE_LISTENER_URL }, { token: i1.HttpClient }, { token: SMART_DATA_SERVICE_URL }], target: i0.ɵɵFactoryTarget.Injectable });
155
177
  /** @nocollapse */ XdmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: XdmService, providedIn: 'root' });
@@ -168,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
168
190
  type: Inject,
169
191
  args: [SMART_DATA_SERVICE_URL]
170
192
  }] }]; } });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGRtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jc21hcnQvbmdjLXNtYXJ0LWNvcmUvc3JjL2xpYi9zbWFydC1zdG9yYWdlL3hkbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUlMLFVBQVUsRUFDViw4QkFBOEIsRUFDOUIsc0JBQXNCLEdBRXZCLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsMERBQTBEO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFLbEQsTUFBTSxPQUFPLFVBQVU7SUFNckIsWUFDNEIsUUFBYSxFQUUvQix1QkFBK0IsRUFDL0IsVUFBc0IsRUFDVSxtQkFBbUI7UUFKakMsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUUvQiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQVE7UUFDL0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBQTtRQVZyRCxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUEyQixDQUFDO1FBQ3pELGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQXFCLENBQUM7UUFDaEQseUJBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQXdCLENBQUM7UUFVakUsSUFBSSxTQUFTLEVBQUU7WUFDYixPQUFPLENBQUMsR0FBRyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7U0FD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LENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBK0IsQ0FBQztJQUMvRSxDQUFDOzswSEEvS1UsVUFBVSxrQkFPWCxRQUFRLGFBQ1IsOEJBQThCLHVDQUc5QixzQkFBc0I7OEhBWHJCLFVBQVUsY0FGVCxNQUFNOzJGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsOEJBQThCOzswQkFHckMsTUFBTTsyQkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge1xyXG4gIFNlbGVjdGVkT2ZmZW5kZXIsXHJcbiAgTG9naW5TdGFmZixcclxuICBPZmZlbmRlclF1ZXJ5LFxyXG4gIFN0b3JhZ2VLZXksXHJcbiAgU01BUlRfV0VCX1NUT1JBR0VfTElTVEVORVJfVVJMLFxyXG4gIFNNQVJUX0RBVEFfU0VSVklDRV9VUkwsXHJcbiAgT3B0aW9uLFxyXG59IGZyb20gJy4vc21hcnQtc3RvcmFnZS1tb2RlbCc7XHJcblxyXG4vLyBpbXBvcnQgY29ubmVjdFRvQ2hpbGQgZnJvbSBcInBlbnBhbC9saWIvY29ubmVjdFRvQ2hpbGRcIjtcclxuaW1wb3J0IHsgY29ubmVjdFRvQ2hpbGQgfSBmcm9tICdwZW5wYWwnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFhkbVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgb2ZmZW5kZXJTdWJqZWN0ID0gbmV3IFN1YmplY3Q8U2VsZWN0ZWRPZmZlbmRlciB8IHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBzdGFmZlN1YmplY3QgPSBuZXcgU3ViamVjdDxMb2dpblN0YWZmIHwgdm9pZD4oKTtcclxuICBwcml2YXRlIG9mZmVuZGVyUXVlcnlTdWJqZWN0ID0gbmV3IFN1YmplY3Q8T2ZmZW5kZXJRdWVyeSB8IHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBjb25uZWN0aW9uOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55LFxyXG4gICAgQEluamVjdChTTUFSVF9XRUJfU1RPUkFHRV9MSVNURU5FUl9VUkwpXHJcbiAgICBwcml2YXRlIHNtYXJ0U3RvcmFnZUxpc3RlbmVyVXJsOiBzdHJpbmcsXHJcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBASW5qZWN0KFNNQVJUX0RBVEFfU0VSVklDRV9VUkwpIHByaXZhdGUgc21hcnREYXRhU2VydmljZVVybCxcclxuICApIHtcclxuICAgIGlmIChpc0Rldk1vZGUpIHtcclxuICAgICAgY29uc29sZS5sb2coJ1NtYXJ0U3RvcmFnZSBYZG1TZXJ2aWNlIChDbGllbnQpIC0gY29uc3RydWN0b3IoKScpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBmcmFtZSA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7XHJcbiAgICBmcmFtZS5zcmMgPSB0aGlzLnNtYXJ0U3RvcmFnZUxpc3RlbmVyVXJsO1xyXG4gICAgZnJhbWUuaWQgPSAnY2hpbGRmcmFtZSc7XHJcbiAgICBmcmFtZS5uYW1lID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygpO1xyXG4gICAgZnJhbWUub25sb2FkID0gbnVsbDtcclxuICAgIGZyYW1lLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcclxuICAgIHRoaXMuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZSk7XHJcblxyXG4gICAgdGhpcy5jb25uZWN0aW9uID0gY29ubmVjdFRvQ2hpbGQoe1xyXG4gICAgICBpZnJhbWU6IGZyYW1lLFxyXG4gICAgICBkZWJ1ZzogZmFsc2UsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U3RhZmZPZmZlbmRlckxpc3RPcHRpb25zKFxyXG4gICAgc3RhZmZJZDogbnVtYmVyLFxyXG4gICk6IE9ic2VydmFibGU8QXJyYXk8T3B0aW9uPj4ge1xyXG4gICAgY29uc3QgcXVlcnlTdHJpbmcgPSBge2ZpbmR2U3RhZmZPZmZlbmRlckxpc3RPcHRpb25zKGlucHV0OntcclxuICAgICAgICB3aGVyZTp7XHJcbiAgICAgICAgICBzdGFmZklkOiAke3N0YWZmSWR9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KXtcclxuICAgICAgICBkYXRhe1xyXG4gICAgICAgICAgb2ZmZW5kZXJMaXN0T3B0aW9uSWRcclxuICAgICAgICAgIG5hbWVcclxuICAgICAgICAgIHNlcnZpY2VBcGlGaWVsZE5hbWVcclxuICAgICAgICAgIHNlbGVjdGVkRmxhZ1xyXG4gICAgICAgIH1cclxuICAgIH0gfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XHJcbiAgICAgIC5wb3N0PGFueT4odGhpcy5zbWFydERhdGFTZXJ2aWNlVXJsLCB7IHF1ZXJ5OiBxdWVyeVN0cmluZyB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHsgZGF0YSB9KSA9PiB7XHJcbiAgICAgICAgICBkYXRhLmZpbmR2U3RhZmZPZmZlbmRlckxpc3RPcHRpb25zLmRhdGFbJ29mZmVuZGVyT3B0aW9uTGlzdElkJ10gPVxyXG4gICAgICAgICAgICBkYXRhLmZpbmR2U3RhZmZPZmZlbmRlckxpc3RPcHRpb25zLmRhdGFbJ29mZmVuZGVyTGlzdE9wdGlvbklkJ107XHJcbiAgICAgICAgICByZXR1cm4gZGF0YS5maW5kdlN0YWZmT2ZmZW5kZXJMaXN0T3B0aW9ucy5kYXRhO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICApO1xyXG4gICAgLypyZXR1cm4gb2YoW1xyXG4gICAgICB7IG9mZmVuZGVyTGlzdE9wdGlvbklkOiAnZ2VuZGVyQ29kZScsIG5hbWU6ICcnLCBzZWxlY3RlZEZsYWc6IHRydWUgfV0pOyovXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXJBbGwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbm5lY3Rpb24ucHJvbWlzZS50aGVuKChjaGlsZCkgPT4ge1xyXG4gICAgICBjaGlsZC5jbGVhckFsbCgpO1xyXG4gICAgICB0aGlzLm9mZmVuZGVyU3ViamVjdC5uZXh0KCk7XHJcbiAgICAgIHRoaXMuc3RhZmZTdWJqZWN0Lm5leHQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgKiBPZmZlbmRlclxyXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICBwdWJsaWMgc2V0U2VsZWN0ZWRPZmZlbmRlcihzZWxlY3RlZE9mZmVuZGVyOiBTZWxlY3RlZE9mZmVuZGVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbm5lY3Rpb24ucHJvbWlzZS50aGVuKChjaGlsZCkgPT4ge1xyXG4gICAgICBjaGlsZC5zZXRTZWxlY3RlZE9mZmVuZGVyKHNlbGVjdGVkT2ZmZW5kZXIpO1xyXG4gICAgICB0aGlzLm9mZmVuZGVyU3ViamVjdC5uZXh0KHNlbGVjdGVkT2ZmZW5kZXIpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5nZXRMb2dpblN0YWZmKCkudGhlbigobG9naW5TdGFmZikgPT4ge1xyXG4gICAgICBsZXQgbm93ID0gKG5ldyBEYXRlKCkpLnRvSVNPU3RyaW5nKCk7XHJcbiAgICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID0gYG11dGF0aW9uIHsgY3JlYXRlU3RhZmZPZmZlbmRlckFjY2VzcyhpbnB1dDoge1xyXG4gICAgICAgIHN0YWZmSWQ6ICR7bG9naW5TdGFmZi5zdGFmZklkfSxcclxuICAgICAgICBvZmZlbmRlcklkOiAke3NlbGVjdGVkT2ZmZW5kZXIub2ZmZW5kZXJJZH0sXHJcbiAgICAgICAgYWNjZXNzRGF0ZTogXCIke25vd31cIlxyXG4gICAgICB9KSB7XHJcbiAgICAgICAgZGF0YSB7XHJcbiAgICAgICAgICBzdGFmZk9mZmVuZGVyQWNjZXNzSWRcclxuICAgICAgICB9XHJcbiAgICAgIH19YDtcclxuICAgICAgdGhpcy5odHRwQ2xpZW50LnBvc3Q8YW55Pih0aGlzLnNtYXJ0RGF0YVNlcnZpY2VVcmwsIHsgcXVlcnk6IHF1ZXJ5U3RyaW5nIH0pLnN1YnNjcmliZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRPZmZlbmRlcigpOiBQcm9taXNlPFNlbGVjdGVkT2ZmZW5kZXI+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb24ucHJvbWlzZS50aGVuKChjaGlsZCkgPT5cclxuICAgICAgY2hpbGQuZ2V0U2VsZWN0ZWRPZmZlbmRlcihTdG9yYWdlS2V5LnNlbGVjdGVkT2ZmZW5kZXIpLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGVhclNlbGVjdGVkT2ZmZW5kZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbm5lY3Rpb24ucHJvbWlzZS50aGVuKChjaGlsZCkgPT4ge1xyXG4gICAgICBjaGlsZC5jbGVhclNlbGVjdGVkT2ZmZW5kZXIoKTtcclxuICAgICAgdGhpcy5vZmZlbmRlclN1YmplY3QubmV4dCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0T2ZmZW5kZXJVcGRhdGUoKTogT2JzZXJ2YWJsZTxTZWxlY3RlZE9mZmVuZGVyPiB7XHJcbiAgICByZXR1cm4gdGhpcy5vZmZlbmRlclN1YmplY3QuYXNPYnNlcnZhYmxlKCkgYXMgT2JzZXJ2YWJsZTxTZWxlY3RlZE9mZmVuZGVyPjtcclxuICB9XHJcblxyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgKiBTdGFmZlxyXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgcHVibGljIHNldExvZ2luU3RhZmYobG9naW5TdGFmZjogTG9naW5TdGFmZikge1xyXG4gICAgdGhpcy5jb25uZWN0aW9uLnByb21pc2UudGhlbigoY2hpbGQpID0+IHtcclxuICAgICAgY2hpbGQuc2V0TG9naW5TdGFmZihsb2dpblN0YWZmKTtcclxuICAgICAgdGhpcy5zdGFmZlN1YmplY3QubmV4dChsb2dpblN0YWZmKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldExvZ2luU3RhZmYoKTogUHJvbWlzZTxMb2dpblN0YWZmPiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25uZWN0aW9uLnByb21pc2UudGhlbigoY2hpbGQpID0+XHJcbiAgICAgIGNoaWxkLmdldExvZ2luU3RhZmYoU3RvcmFnZUtleS5sb2dpblN0YWZmKSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXJMb2dpblN0YWZmKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25uZWN0aW9uLnByb21pc2UudGhlbigoY2hpbGQpID0+IHtcclxuICAgICAgY2hpbGQuY2xlYXJMb2dpblN0YWZmKCk7XHJcbiAgICAgIHRoaXMuc3RhZmZTdWJqZWN0Lm5leHQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFN0YWZmVXBkYXRlKCk6IE9ic2VydmFibGU8TG9naW5TdGFmZj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhZmZTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpIGFzIE9ic2VydmFibGU8TG9naW5TdGFmZj47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVmcmVzaExvZ2luU3RhZmZPcHRpb25zKCkge1xyXG4gICAgdGhpcy5nZXRMb2dpblN0YWZmKCkudGhlbigob2xkTG9naW5TdGFmZikgPT4ge1xyXG4gICAgICB0aGlzLmdldFN0YWZmT2ZmZW5kZXJMaXN0T3B0aW9ucyhvbGRMb2dpblN0YWZmLnN0YWZmSWQpLnN1YnNjcmliZShcclxuICAgICAgICAob3B0aW9uRGF0YSkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2cob3B0aW9uRGF0YSk7XHJcbiAgICAgICAgICBvbGRMb2dpblN0YWZmLm9wdGlvbnMgPSBvcHRpb25EYXRhO1xyXG4gICAgICAgICAgdGhpcy5zZXRMb2dpblN0YWZmKG9sZExvZ2luU3RhZmYpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgKiBPZmZlbmRlciBRdWVyeVxyXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgcHVibGljIHNldE9mZmVuZGVyUXVlcnkob2ZmZW5kZXJRdWVyeTogT2ZmZW5kZXJRdWVyeSkge1xyXG4gICAgdGhpcy5jb25uZWN0aW9uLnByb21pc2UudGhlbigoY2hpbGQpID0+IHtcclxuICAgICAgY2hpbGQuc2V0T2ZmZW5kZXJRdWVyeShvZmZlbmRlclF1ZXJ5KTtcclxuICAgICAgdGhpcy5vZmZlbmRlclF1ZXJ5U3ViamVjdC5uZXh0KG9mZmVuZGVyUXVlcnkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0T2ZmZW5kZXJRdWVyeSgpOiBQcm9taXNlPE9mZmVuZGVyUXVlcnk+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb24ucHJvbWlzZS50aGVuKChjaGlsZCkgPT5cclxuICAgICAgY2hpbGQuZ2V0T2ZmZW5kZXJRdWVyeShTdG9yYWdlS2V5Lm9mZmVuZGVyUXVlcnkpLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGVhck9mZmVuZGVyUXVlcnkoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbm5lY3Rpb24ucHJvbWlzZS50aGVuKChjaGlsZCkgPT4ge1xyXG4gICAgICBjaGlsZC5jbGVhck9mZmVuZGVyUXVlcnkoKTtcclxuICAgICAgdGhpcy5vZmZlbmRlclF1ZXJ5U3ViamVjdC5uZXh0KCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRPZmZlbmRlclF1ZXJ5VXBkYXRlKCk6IE9ic2VydmFibGU8T2ZmZW5kZXJRdWVyeT4ge1xyXG4gICAgcmV0dXJuIHRoaXMub2ZmZW5kZXJRdWVyeVN1YmplY3QuYXNPYnNlcnZhYmxlKCkgYXMgT2JzZXJ2YWJsZTxPZmZlbmRlclF1ZXJ5PjtcclxuICB9XHJcbn1cclxuIl19
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGRtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jc21hcnQvbmdjLXNtYXJ0LWNvcmUvc3JjL2xpYi9zbWFydC1zdG9yYWdlL3hkbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFJTCxVQUFVLEVBQ1YsOEJBQThCLEVBQzlCLHNCQUFzQixHQUV2QixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLDBEQUEwRDtBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBS2xELE1BQU0sT0FBTyxVQUFVO0lBTXJCLFlBQzRCLFFBQWEsRUFFL0IsdUJBQStCLEVBQy9CLFVBQXNCLEVBQ1UsbUJBQW1CO1FBSmpDLGFBQVEsR0FBUixRQUFRLENBQUs7UUFFL0IsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFRO1FBQy9CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDVSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQUE7UUFWckQsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBMkIsQ0FBQztRQUN6RCxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFxQixDQUFDO1FBQ2hELHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUF3QixDQUFDO1FBVWpFLElBQUksU0FBUyxFQUFFO1lBQ2IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrREFBa0QsQ0FB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LCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge1xyXG4gIFNlbGVjdGVkT2ZmZW5kZXIsXHJcbiAgTG9naW5TdGFmZixcclxuICBPZmZlbmRlclF1ZXJ5LFxyXG4gIFN0b3JhZ2VLZXksXHJcbiAgU01BUlRfV0VCX1NUT1JBR0VfTElTVEVORVJfVVJMLFxyXG4gIFNNQVJUX0RBVEFfU0VSVklDRV9VUkwsXHJcbiAgT3B0aW9uLFxyXG59IGZyb20gJy4vc21hcnQtc3RvcmFnZS1tb2RlbCc7XHJcblxyXG4vLyBpbXBvcnQgY29ubmVjdFRvQ2hpbGQgZnJvbSBcInBlbnBhbC9saWIvY29ubmVjdFRvQ2hpbGRcIjtcclxuaW1wb3J0IHsgY29ubmVjdFRvQ2hpbGQgfSBmcm9tICdwZW5wYWwnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFhkbVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgb2ZmZW5kZXJTdWJqZWN0ID0gbmV3IFN1YmplY3Q8U2VsZWN0ZWRPZmZlbmRlciB8IHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBzdGFmZlN1YmplY3QgPSBuZXcgU3ViamVjdDxMb2dpblN0YWZmIHwgdm9pZD4oKTtcclxuICBwcml2YXRlIG9mZmVuZGVyUXVlcnlTdWJqZWN0ID0gbmV3IFN1YmplY3Q8T2ZmZW5kZXJRdWVyeSB8IHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBjb25uZWN0aW9uOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55LFxyXG4gICAgQEluamVjdChTTUFSVF9XRUJfU1RPUkFHRV9MSVNURU5FUl9VUkwpXHJcbiAgICBwcml2YXRlIHNtYXJ0U3RvcmFnZUxpc3RlbmVyVXJsOiBzdHJpbmcsXHJcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBASW5qZWN0KFNNQVJUX0RBVEFfU0VSVklDRV9VUkwpIHByaXZhdGUgc21hcnREYXRhU2VydmljZVVybCxcclxuICApIHtcclxuICAgIGlmIChpc0Rldk1vZGUpIHtcclxuICAgICAgY29uc29sZS5sb2coJ1NtYXJ0U3RvcmFnZSBYZG1TZXJ2aWNlIChDbGllbnQpIC0gY29uc3RydWN0b3IoKScpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBmcmFtZSA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7XHJcbiAgICBmcmFtZS5zcmMgPSB0aGlzLnNtYXJ0U3RvcmFnZUxpc3RlbmVyVXJsO1xyXG4gICAgZnJhbWUuaWQgPSAnY2hpbGRmcmFtZSc7XHJcbiAgICBmcmFtZS5uYW1lID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygpO1xyXG4gICAgZnJhbWUub25sb2FkID0gbnVsbDtcclxuICAgIGZyYW1lLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcclxuICAgIHRoaXMuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZSk7XHJcblxyXG4gICAgdGhpcy5jb25uZWN0aW9uID0gY29ubmVjdFRvQ2hpbGQoe1xyXG4gICAgICBpZnJhbWU6IGZyYW1lLFxyXG4gICAgICBkZWJ1ZzogZmFsc2UsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U3RhZmZPZmZlbmRlckxpc3RPcHRpb25zKFxyXG4gICAgc3RhZmZJZDogbnVtYmVyLFxyXG4gICk6IE9ic2VydmFibGU8QXJyYXk8T3B0aW9uPj4ge1xyXG4gICAgY29uc3QgcXVlcnlTdHJpbmcgPSBge2ZpbmR2U3RhZmZPZmZlbmRlckxpc3RPcHRpb25zKGlucHV0OntcclxuICAgICAgICB3aGVyZTp7XHJcbiAgICAgICAgICBzdGFmZklkOiAke3N0YWZmSWR9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KXtcclxuICAgICAgICBkYXRhe1xyXG4gICAgICAgICAgb2ZmZW5kZXJMaXN0T3B0aW9uSWRcclxuICAgICAgICAgIG5hbWVcclxuICAgICAgICAgIHNlcnZpY2VBcGlGaWVsZE5hbWVcclxuICAgICAgICAgIHNlbGVjdGVkRmxhZ1xyXG4gICAgICAgIH1cclxuICAgIH0gfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XHJcbiAgICAgIC5wb3N0PGFueT4odGhpcy5zbWFydERhdGFTZXJ2aWNlVXJsLCB7IHF1ZXJ5OiBxdWVyeVN0cmluZyB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHsgZGF0YSB9KSA9PiB7XHJcbiAgICAgICAgICBkYXRhLmZpbmR2U3RhZmZPZmZlbmRlckxpc3RPcHRpb25zLmRhdGFbJ29mZmVuZGVyT3B0aW9uTGlzdElkJ10gPVxyXG4gICAgICAgICAgICBkYXRhLmZpbmR2U3RhZmZPZmZlbmRlckxpc3RPcHRpb25zLmRhdGFbJ29mZmVuZGVyTGlzdE9wdGlvbklkJ107XHJcbiAgICAgICAgICByZXR1cm4gZGF0YS5maW5kdlN0YWZmT2ZmZW5kZXJMaXN0T3B0aW9ucy5kYXRhO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICApO1xyXG4gICAgLypyZXR1cm4gb2YoW1xyXG4gICAgICB7IG9mZmVuZGVyTGlzdE9wdGlvbklkOiAnZ2VuZGVyQ29kZScsIG5hbWU6ICcnLCBzZWxlY3RlZEZsYWc6IHRydWUgfV0pOyovXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXJBbGwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbm5lY3Rpb24ucHJvbWlzZS50aGVuKChjaGlsZCkgPT4ge1xyXG4gICAgICBjaGlsZC5jbGVhckFsbCgpO1xyXG4gICAgICB0aGlzLm9mZmVuZGVyU3ViamVjdC5uZXh0KCk7XHJcbiAgICAgIHRoaXMuc3RhZmZTdWJqZWN0Lm5leHQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgKiBPZmZlbmRlclxyXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICBwdWJsaWMgc2V0U2VsZWN0ZWRPZmZlbmRlcihzZWxlY3RlZE9mZmVuZGVyOiBTZWxlY3RlZE9mZmVuZGVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbm5lY3Rpb24ucHJvbWlzZS50aGVuKChjaGlsZCkgPT4ge1xyXG4gICAgICBjaGlsZC5zZXRTZWxlY3RlZE9mZmVuZGVyKHNlbGVjdGVkT2ZmZW5kZXIpO1xyXG4gICAgICB0aGlzLm9mZmVuZGVyU3ViamVjdC5uZXh0KHNlbGVjdGVkT2ZmZW5kZXIpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5nZXRMb2dpblN0YWZmKCkudGhlbigobG9naW5TdGFmZikgPT4ge1xyXG4gICAgICBsZXQgbm93ID0gKG5ldyBEYXRlKCkpLnRvSVNPU3RyaW5nKCk7XHJcbiAgICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID0gYG11dGF0aW9uIHsgY3JlYXRlU3RhZmZPZmZlbmRlckFjY2VzcyhpbnB1dDoge1xyXG4gICAgICAgIHN0YWZmSWQ6ICR7bG9naW5TdGFmZi5zdGFmZklkfSxcclxuICAgICAgICBvZmZlbmRlcklkOiAke3NlbGVjdGVkT2ZmZW5kZXIub2ZmZW5kZXJJZH0sXHJcbiAgICAgICAgYWNjZXNzRGF0ZTogXCIke25vd31cIlxyXG4gICAgICB9KSB7XHJcbiAgICAgICAgZGF0YSB7XHJcbiAgICAgICAgICBzdGFmZk9mZmVuZGVyQWNjZXNzSWRcclxuICAgICAgICB9XHJcbiAgICAgIH19YDtcclxuICAgICAgdGhpcy5odHRwQ2xpZW50LnBvc3Q8YW55Pih0aGlzLnNtYXJ0RGF0YVNlcnZpY2VVcmwsIHsgcXVlcnk6IHF1ZXJ5U3RyaW5nIH0pLnN1YnNjcmliZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRPZmZlbmRlcigpOiBQcm9taXNlPFNlbGVjdGVkT2ZmZW5kZXI+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb24ucHJvbWlzZS50aGVuKChjaGlsZCkgPT5cclxuICAgICAgY2hpbGQuZ2V0U2VsZWN0ZWRPZmZlbmRlcihTdG9yYWdlS2V5LnNlbGVjdGVkT2ZmZW5kZXIpLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGVhclNlbGVjdGVkT2ZmZW5kZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbm5lY3Rpb24ucHJvbWlzZS50aGVuKChjaGlsZCkgPT4ge1xyXG4gICAgICBjaGlsZC5jbGVhclNlbGVjdGVkT2ZmZW5kZXIoKTtcclxuICAgICAgdGhpcy5vZmZlbmRlclN1YmplY3QubmV4dCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0T2ZmZW5kZXJVcGRhdGUoKTogT2JzZXJ2YWJsZTxTZWxlY3RlZE9mZmVuZGVyPiB7XHJcbiAgICByZXR1cm4gdGhpcy5vZmZlbmRlclN1YmplY3QuYXNPYnNlcnZhYmxlKCkgYXMgT2JzZXJ2YWJsZTxTZWxlY3RlZE9mZmVuZGVyPjtcclxuICB9XHJcblxyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgKiBTdGFmZlxyXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgcHVibGljIHNldExvZ2luU3RhZmYobG9naW5TdGFmZjogTG9naW5TdGFmZikge1xyXG4gICAgdGhpcy5jb25uZWN0aW9uLnByb21pc2UudGhlbigoY2hpbGQpID0+IHtcclxuICAgICAgY2hpbGQuc2V0TG9naW5TdGFmZihsb2dpblN0YWZmKTtcclxuICAgICAgdGhpcy5zdGFmZlN1YmplY3QubmV4dChsb2dpblN0YWZmKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldExvZ2luU3RhZmYoKTogUHJvbWlzZTxMb2dpblN0YWZmPiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25uZWN0aW9uLnByb21pc2UudGhlbigoY2hpbGQpID0+XHJcbiAgICAgIGNoaWxkLmdldExvZ2luU3RhZmYoU3RvcmFnZUtleS5sb2dpblN0YWZmKSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXJMb2dpblN0YWZmKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25uZWN0aW9uLnByb21pc2UudGhlbigoY2hpbGQpID0+IHtcclxuICAgICAgY2hpbGQuY2xlYXJMb2dpblN0YWZmKCk7XHJcbiAgICAgIHRoaXMuc3RhZmZTdWJqZWN0Lm5leHQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFN0YWZmVXBkYXRlKCk6IE9ic2VydmFibGU8TG9naW5TdGFmZj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhZmZTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpIGFzIE9ic2VydmFibGU8TG9naW5TdGFmZj47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVmcmVzaExvZ2luU3RhZmZPcHRpb25zKCkge1xyXG4gICAgdGhpcy5nZXRMb2dpblN0YWZmKCkudGhlbigob2xkTG9naW5TdGFmZikgPT4ge1xyXG4gICAgICB0aGlzLmdldFN0YWZmT2ZmZW5kZXJMaXN0T3B0aW9ucyhvbGRMb2dpblN0YWZmLnN0YWZmSWQpLnN1YnNjcmliZShcclxuICAgICAgICAob3B0aW9uRGF0YSkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2cob3B0aW9uRGF0YSk7XHJcbiAgICAgICAgICBvbGRMb2dpblN0YWZmLm9wdGlvbnMgPSBvcHRpb25EYXRhO1xyXG4gICAgICAgICAgdGhpcy5zZXRMb2dpblN0YWZmKG9sZExvZ2luU3RhZmYpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgKiBPZmZlbmRlciBRdWVyeVxyXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgcHVibGljIHNldE9mZmVuZGVyUXVlcnkob2ZmZW5kZXJRdWVyeTogT2ZmZW5kZXJRdWVyeSkge1xyXG4gICAgdGhpcy5jb25uZWN0aW9uLnByb21pc2UudGhlbigoY2hpbGQpID0+IHtcclxuICAgICAgY2hpbGQuc2V0T2ZmZW5kZXJRdWVyeShvZmZlbmRlclF1ZXJ5KTtcclxuICAgICAgdGhpcy5vZmZlbmRlclF1ZXJ5U3ViamVjdC5uZXh0KG9mZmVuZGVyUXVlcnkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0T2ZmZW5kZXJRdWVyeSgpOiBQcm9taXNlPE9mZmVuZGVyUXVlcnk+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb24ucHJvbWlzZS50aGVuKChjaGlsZCkgPT5cclxuICAgICAgY2hpbGQuZ2V0T2ZmZW5kZXJRdWVyeShTdG9yYWdlS2V5Lm9mZmVuZGVyUXVlcnkpLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGVhck9mZmVuZGVyUXVlcnkoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbm5lY3Rpb24ucHJvbWlzZS50aGVuKChjaGlsZCkgPT4ge1xyXG4gICAgICBjaGlsZC5jbGVhck9mZmVuZGVyUXVlcnkoKTtcclxuICAgICAgdGhpcy5vZmZlbmRlclF1ZXJ5U3ViamVjdC5uZXh0KCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRPZmZlbmRlclF1ZXJ5VXBkYXRlKCk6IE9ic2VydmFibGU8T2ZmZW5kZXJRdWVyeT4ge1xyXG4gICAgcmV0dXJuIHRoaXMub2ZmZW5kZXJRdWVyeVN1YmplY3QuYXNPYnNlcnZhYmxlKCkgYXMgT2JzZXJ2YWJsZTxPZmZlbmRlclF1ZXJ5PjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRTZWxlY3RlZE9mZmVuZGVyRnJvbVJvdXRlKG9mZmVuZGVySWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2VsZWN0ZWRPZmZlbmRlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RhZmZVcGRhdGUoKS5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAobG9naW5TdGFmZiA9PiB7XHJcbiAgICAgICAgY29uc3QgcXVlcnlTdHJpbmcgPSBge1xyXG4gICAgICAgICAgZ2V0U2VsZWN0ZWRPZmZlbmRlcihpbnB1dDogeyBcclxuICAgICAgICAgICAgb2ZmZW5kZXJJZDogJHtvZmZlbmRlcklkfSxcclxuICAgICAgICAgICAgc3RhZmZJZDogJHtsb2dpblN0YWZmLnN0YWZmSWR9XHJcbiAgICAgICAgICB9KXtcclxuICAgICAgICAgICAgZGF0YXtcclxuICAgICAgICAgICAgICBvZmZlbmRlcklkXHJcbiAgICAgICAgICAgICAgbmFtZTogb2ZmZW5kZXJOYW1lXHJcbiAgICAgICAgICAgICAgcGRJZFxyXG4gICAgICAgICAgICAgIGJpcnRoRGF0ZVxyXG4gICAgICAgICAgICAgIGdlbmRlclxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfWA7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PGFueT4odGhpcy5zbWFydERhdGFTZXJ2aWNlVXJsLCB7IHF1ZXJ5OiBxdWVyeVN0cmluZyB9KS5waXBlKFxyXG4gICAgICAgICAgbWFwKCh7IGRhdGEgfSkgPT4gZGF0YS5nZXRTZWxlY3RlZE9mZmVuZGVyLmRhdGEpXHJcbiAgICAgICAgKTtcclxuICAgICAgfSksXHJcbiAgICAgIG1hcChzZWxlY3RlZE9mZmVuZGVyID0+IHtcclxuICAgICAgICB0aGlzLnNldFNlbGVjdGVkT2ZmZW5kZXIoc2VsZWN0ZWRPZmZlbmRlcik7XHJcbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkT2ZmZW5kZXI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufSJdfQ==
@@ -17,5 +17,4 @@ export * from './lib/smart-navbar/smart-navbar.component';
17
17
  export * from './lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service';
18
18
  export * from './lib/smart-auth/smart-access-control-config';
19
19
  export * from './lib/smart-auth/smart-authorization-guard.service';
20
- export * from './lib/smart-storage/smart-storage.service';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NzbWFydC9uZ2Mtc21hcnQtY29yZS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywyQ0FBMkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ2Mtc21hcnQtY29yZVxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25nYy1zbWFydC1jb3JlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LWF1dGgvc21hcnQtYXV0aC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtYXV0aC9zbWFydC1sb2dpbi1zdGFmZi1yZXNvbHZlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtYXV0aC9zbWFydC1zZWxlY3RlZC1vZmZlbmRlci1yZXNvbHZlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtYXV0aC9zbWFydC1lcnJvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1uYXZiYXIvc21hcnQtbmF2YmFyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1uYXZiYXIvc21hcnQtbmF2YmFyLWNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LXN0b3JhZ2UveGRtLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1zdG9yYWdlL3NtYXJ0LXN0b3JhZ2UtbW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1zdGFmZi1vZmZlbmRlci1vcHRpb25zL3NtYXJ0LXN0YWZmLW9mZmVuZGVyLW9wdGlvbnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtb2ZmZW5kZXItaGVhZGVyL3NtYXJ0LW9mZmVuZGVyLWhlYWRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1hdXRoL3NtYXJ0LWFjY2Vzcy1jb250cm9sLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LW5hdmJhci9zbWFydC1uYXZiYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtc3RhZmYtb2ZmZW5kZXItb3B0aW9ucy9zbWFydC1zdGFmZi1vZmZlbmRlci1vcHRpb25zLXJlc29sdmVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1hdXRoL3NtYXJ0LWFjY2Vzcy1jb250cm9sLWNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LWF1dGgvc21hcnQtYXV0aG9yaXphdGlvbi1ndWFyZC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtc3RvcmFnZS9zbWFydC1zdG9yYWdlLnNlcnZpY2UnO1xyXG5cclxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NzbWFydC9uZ2Mtc21hcnQtY29yZS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsb0RBQW9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbmdjLXNtYXJ0LWNvcmVcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ2Mtc21hcnQtY29yZS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1hdXRoL3NtYXJ0LWF1dGguc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LWF1dGgvc21hcnQtbG9naW4tc3RhZmYtcmVzb2x2ZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LWF1dGgvc21hcnQtc2VsZWN0ZWQtb2ZmZW5kZXItcmVzb2x2ZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LWF1dGgvc21hcnQtZXJyb3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtbmF2YmFyL3NtYXJ0LW5hdmJhci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtbmF2YmFyL3NtYXJ0LW5hdmJhci1jb25maWcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1zdG9yYWdlL3hkbS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtc3RvcmFnZS9zbWFydC1zdG9yYWdlLW1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtc3RhZmYtb2ZmZW5kZXItb3B0aW9ucy9zbWFydC1zdGFmZi1vZmZlbmRlci1vcHRpb25zLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LW9mZmVuZGVyLWhlYWRlci9zbWFydC1vZmZlbmRlci1oZWFkZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtYXV0aC9zbWFydC1hY2Nlc3MtY29udHJvbC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1uYXZiYXIvc21hcnQtbmF2YmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LXN0YWZmLW9mZmVuZGVyLW9wdGlvbnMvc21hcnQtc3RhZmYtb2ZmZW5kZXItb3B0aW9ucy1yZXNvbHZlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtYXV0aC9zbWFydC1hY2Nlc3MtY29udHJvbC1jb25maWcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1hdXRoL3NtYXJ0LWF1dGhvcml6YXRpb24tZ3VhcmQuc2VydmljZSc7XHJcblxyXG4iXX0=
@@ -19,7 +19,7 @@ import * as i1 from '@angular/common/http';
19
19
  import { HttpHeaders, HttpClientModule } from '@angular/common/http';
20
20
  import * as i8$1 from '@angular/forms';
21
21
  import { UntypedFormControl, UntypedFormGroup, ReactiveFormsModule } from '@angular/forms';
22
- import { Subject, of, from, lastValueFrom, throwError, EMPTY, concat, ReplaySubject } from 'rxjs';
22
+ import { Subject, of, from, lastValueFrom, throwError, EMPTY, concat } from 'rxjs';
23
23
  import { map, switchMap, take, catchError, mergeMap, retryWhen, delay } from 'rxjs/operators';
24
24
  import { connectToChild } from 'penpal';
25
25
  import * as i2 from '@azure/msal-angular';
@@ -199,6 +199,28 @@ class XdmService {
199
199
  getOffenderQueryUpdate() {
200
200
  return this.offenderQuerySubject.asObservable();
201
201
  }
202
+ setSelectedOffenderFromRoute(offenderId) {
203
+ return this.getStaffUpdate().pipe(switchMap(loginStaff => {
204
+ const queryString = `{
205
+ getSelectedOffender(input: {
206
+ offenderId: ${offenderId},
207
+ staffId: ${loginStaff.staffId}
208
+ }){
209
+ data{
210
+ offenderId
211
+ name: offenderName
212
+ pdId
213
+ birthDate
214
+ gender
215
+ }
216
+ }
217
+ }`;
218
+ return this.httpClient.post(this.smartDataServiceUrl, { query: queryString }).pipe(map(({ data }) => data.getSelectedOffender.data));
219
+ }), map(selectedOffender => {
220
+ this.setSelectedOffender(selectedOffender);
221
+ return selectedOffender;
222
+ }));
223
+ }
202
224
  }
203
225
  /** @nocollapse */ XdmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: XdmService, deps: [{ token: DOCUMENT }, { token: SMART_WEB_STORAGE_LISTENER_URL }, { token: i1.HttpClient }, { token: SMART_DATA_SERVICE_URL }], target: i0.ɵɵFactoryTarget.Injectable });
204
226
  /** @nocollapse */ XdmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: XdmService, providedIn: 'root' });
@@ -1519,17 +1541,26 @@ class SelectedOffenderResolverService {
1519
1541
  this.router = router;
1520
1542
  }
1521
1543
  resolve(route, state) {
1544
+ let offenderId = null;
1545
+ if (route && route.queryParams["offenderId"]) {
1546
+ offenderId = parseInt(route.queryParams["offenderId"]);
1547
+ }
1522
1548
  return from(this.service.getSelectedOffender()).pipe(mergeMap((selectedOffender) => {
1523
1549
  if (isDevMode) {
1524
1550
  console.log(selectedOffender);
1525
1551
  }
1526
1552
  if (!selectedOffender) {
1527
- return throwError('No offender selected.');
1553
+ if (offenderId) {
1554
+ return this.service.setSelectedOffenderFromRoute(offenderId);
1555
+ }
1556
+ else {
1557
+ return throwError(() => new Error('No offender selected.'));
1558
+ }
1528
1559
  }
1529
1560
  return of(selectedOffender);
1530
1561
  }), retryWhen((errors) => errors.pipe(
1531
1562
  // tap(() => console.log('Retry getting selected offender.')),
1532
- delay(1000), take(5), (o) => concat(o, throwError('No offender selected (failed after retries).')))), catchError((error) => {
1563
+ delay(1000), take(5), (o) => concat(o, throwError(() => new Error('No offender selected (failed after retries).'))))), catchError((error) => {
1533
1564
  /*
1534
1565
  this.zone.run(() => {
1535
1566
  this.router.navigate(['/smart-error'], {
@@ -1585,20 +1616,6 @@ var AccessType;
1585
1616
  AccessType["CLOSE"] = "close";
1586
1617
  })(AccessType || (AccessType = {}));
1587
1618
 
1588
- class SmartStorageService {
1589
- constructor() {
1590
- this.selectedOffender = new ReplaySubject(1);
1591
- }
1592
- }
1593
- /** @nocollapse */ SmartStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SmartStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1594
- /** @nocollapse */ SmartStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SmartStorageService, providedIn: 'root' });
1595
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SmartStorageService, decorators: [{
1596
- type: Injectable,
1597
- args: [{
1598
- providedIn: 'root',
1599
- }]
1600
- }], ctorParameters: function () { return []; } });
1601
-
1602
1619
  /*
1603
1620
  * Public API Surface of ngc-smart-core
1604
1621
  */
@@ -1607,5 +1624,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
1607
1624
  * Generated bundle index. Do not edit.
1608
1625
  */
1609
1626
 
1610
- export { AccessType, LoginStaff, LoginStaffResolverService, NgcSmartCoreModule, OffenderQuery, Option, Permission, Role, SMART_DATA_SERVICE_URL, SMART_DOMAIN_FORMAT, SMART_WEB_PORTAL_URL, SMART_WEB_STORAGE_LISTENER_URL, SelectedOffender, SelectedOffenderResolverService, SmartAccessControlDirective, SmartAuthService, SmartAuthorizationGuard, SmartErrorComponent, SmartNavbarComponent, SmartNavbarService, SmartOffenderHeaderComponent, SmartStaffOffenderOptionsComponent, SmartStaffOffenderOptionsResolverService, SmartStorageService, StorageKey, XdmService };
1627
+ export { AccessType, LoginStaff, LoginStaffResolverService, NgcSmartCoreModule, OffenderQuery, Option, Permission, Role, SMART_DATA_SERVICE_URL, SMART_DOMAIN_FORMAT, SMART_WEB_PORTAL_URL, SMART_WEB_STORAGE_LISTENER_URL, SelectedOffender, SelectedOffenderResolverService, SmartAccessControlDirective, SmartAuthService, SmartAuthorizationGuard, SmartErrorComponent, SmartNavbarComponent, SmartNavbarService, SmartOffenderHeaderComponent, SmartStaffOffenderOptionsComponent, SmartStaffOffenderOptionsResolverService, StorageKey, XdmService };
1611
1628
  //# sourceMappingURL=csmart-ngc-smart-core.mjs.map