@csmart/ngc-smart-core 0.7.95 → 1.13.2

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 +479 -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 +1529 -0
  23. package/fesm2015/csmart-ngc-smart-core.mjs.map +1 -0
  24. package/fesm2020/csmart-ngc-smart-core.mjs +1514 -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,151 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/smart-staff-offender-options/smart-staff-offender-options.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Component } from '@angular/core';
7
- import { SmartStaffOffenderOptionsService } from './smart-staff-offender-options.service';
8
- import { FormGroup, FormControl, } from '@angular/forms';
9
- import { ActivatedRoute } from '@angular/router';
10
- import { XdmService } from '../smart-storage/xdm.service';
11
- export class SmartStaffOffenderOptionsComponent {
12
- /**
13
- * @param {?} route
14
- * @param {?} offenderService
15
- * @param {?} xdmService
16
- */
17
- constructor(route, offenderService, xdmService) {
18
- this.route = route;
19
- this.offenderService = offenderService;
20
- this.xdmService = xdmService;
21
- this.offenderListOptions = [];
22
- }
23
- /**
24
- * @return {?}
25
- */
26
- ngOnInit() {
27
- /** @type {?} */
28
- const routData = this.route.snapshot.data;
29
- this.loginStaff = routData.loginStaff;
30
- this.offenderListOptions = routData.selectedOffenderResolverService;
31
- this.frmGroup = this.createForm();
32
- this.offenderService.getStaffOffenderListOptions(this.loginStaff.staffId).subscribe((/**
33
- * @param {?} data
34
- * @return {?}
35
- */
36
- data => {
37
- this.fillForm(data);
38
- }));
39
- }
40
- /**
41
- * @private
42
- * @param {?} data
43
- * @return {?}
44
- */
45
- fillForm(data) {
46
- if (data) {
47
- /** @type {?} */
48
- const offenderListOptionsFg = this.frmGroup.get('offenderListOptions');
49
- data.forEach((/**
50
- * @param {?} element
51
- * @return {?}
52
- */
53
- element => {
54
- offenderListOptionsFg.get(element.offenderListOptionId).setValue(true);
55
- }));
56
- }
57
- }
58
- /**
59
- * @private
60
- * @return {?}
61
- */
62
- createForm() {
63
- /** @type {?} */
64
- const offenderListOptionsFg = new FormGroup({});
65
- this.offenderListOptions.forEach((/**
66
- * @param {?} dt
67
- * @param {?} i
68
- * @return {?}
69
- */
70
- (dt, i) => {
71
- offenderListOptionsFg.addControl(dt.offenderListOptionId, new FormControl(false));
72
- }));
73
- return new FormGroup({
74
- offenderListOptions: offenderListOptionsFg,
75
- });
76
- }
77
- /**
78
- * @return {?}
79
- */
80
- onSave() {
81
- /** @type {?} */
82
- const data = {
83
- options: [],
84
- staffId: this.loginStaff.staffId,
85
- modifiedBy: this.loginStaff.staffId
86
- };
87
- /** @type {?} */
88
- const offenderListOptionsVal = this.frmGroup.get('offenderListOptions').value;
89
- /** @type {?} */
90
- const keys = Object.keys(offenderListOptionsVal);
91
- keys.forEach((/**
92
- * @param {?} key
93
- * @return {?}
94
- */
95
- key => {
96
- if (offenderListOptionsVal[key]) {
97
- data.options.push({ 'offenderListOptionId': key });
98
- }
99
- }));
100
- this.offenderService.saveStaffOffenderListOptionsData(data).subscribe((/**
101
- * @param {?} rtrDatea
102
- * @return {?}
103
- */
104
- rtrDatea => {
105
- if (rtrDatea.message) {
106
- this.offenderService.showMessage(rtrDatea.message);
107
- }
108
- else {
109
- this.offenderService.showMessage('Saved successfully');
110
- this.xdmService.refreshLoginStaffOptions();
111
- }
112
- }));
113
- }
114
- }
115
- SmartStaffOffenderOptionsComponent.decorators = [
116
- { type: Component, args: [{
117
- selector: 'lib-smart-staff-offender-options',
118
- 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 ",
119
- styles: [""]
120
- }] }
121
- ];
122
- /** @nocollapse */
123
- SmartStaffOffenderOptionsComponent.ctorParameters = () => [
124
- { type: ActivatedRoute },
125
- { type: SmartStaffOffenderOptionsService },
126
- { type: XdmService }
127
- ];
128
- if (false) {
129
- /** @type {?} */
130
- SmartStaffOffenderOptionsComponent.prototype.loginStaff;
131
- /** @type {?} */
132
- SmartStaffOffenderOptionsComponent.prototype.offenderListOptions;
133
- /** @type {?} */
134
- SmartStaffOffenderOptionsComponent.prototype.frmGroup;
135
- /**
136
- * @type {?}
137
- * @private
138
- */
139
- SmartStaffOffenderOptionsComponent.prototype.route;
140
- /**
141
- * @type {?}
142
- * @private
143
- */
144
- SmartStaffOffenderOptionsComponent.prototype.offenderService;
145
- /**
146
- * @type {?}
147
- * @private
148
- */
149
- SmartStaffOffenderOptionsComponent.prototype.xdmService;
150
- }
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc3RhZmYtb2ZmZW5kZXItb3B0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY3NtYXJ0L25nYy1zbWFydC1jb3JlLyIsInNvdXJjZXMiOlsibGliL3NtYXJ0LXN0YWZmLW9mZmVuZGVyLW9wdGlvbnMvc21hcnQtc3RhZmYtb2ZmZW5kZXItb3B0aW9ucy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pGLE9BQU8sRUFDTCxTQUFTLEVBQ1QsV0FBVyxHQUlaLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGNBQWMsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQU96RCxNQUFNLE9BQU8sa0NBQWtDOzs7Ozs7SUFJN0MsWUFDVSxLQUFxQixFQUNyQixlQUFpRCxFQUNqRCxVQUFzQjtRQUZ0QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixvQkFBZSxHQUFmLGVBQWUsQ0FBa0M7UUFDakQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUxoQyx3QkFBbUIsR0FBZSxFQUFFLENBQUM7SUFNakMsQ0FBQzs7OztJQUVMLFFBQVE7O2NBQ0EsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUk7UUFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxRQUFRLENBQUMsK0JBQStCLENBQUM7UUFDcEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Ozs7UUFBQyxJQUFJLENBQUMsRUFBRTtZQUN6RixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7O0lBRU8sUUFBUSxDQUFDLElBQUk7UUFDbkIsSUFBSSxJQUFJLEVBQUU7O2tCQUNGLHFCQUFxQixHQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDO1lBQ3ZFLElBQUksQ0FBQyxPQUFPOzs7O1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3JCLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekUsQ0FBQyxFQUFDLENBQUM7U0FDSjtJQUVILENBQUM7Ozs7O0lBQ08sVUFBVTs7Y0FDVixxQkFBcUIsR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUMzQyxDQUFDO1FBRUYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU87Ozs7O1FBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDMUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLENBQUMsRUFBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLFNBQVMsQ0FBQztZQUNuQixtQkFBbUIsRUFBRSxxQkFBcUI7U0FDM0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELE1BQU07O2NBQ0UsSUFBSSxHQUFHO1lBQ1gsT0FBTyxFQUFFLEVBQUU7WUFDWCxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPO1lBQ2hDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU87U0FDcEM7O2NBRUssc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQyxLQUFLOztjQUN2RSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztRQUNoRCxJQUFJLENBQUMsT0FBTzs7OztRQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pCLElBQUksc0JBQXNCLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsc0JBQXNCLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQzthQUNsRDtRQUNILENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsUUFBUSxDQUFBLEVBQUU7WUFDOUUsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFO2dCQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDcEQ7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsQ0FBQztnQkFDdkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO2FBQzVDO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7WUF0RUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQ0FBa0M7Z0JBQzVDLHVqQ0FBNEQ7O2FBRTdEOzs7O1lBUFEsY0FBYztZQVRkLGdDQUFnQztZQVVoQyxVQUFVOzs7O0lBUWpCLHdEQUF1Qjs7SUFDdkIsaUVBQXFDOztJQUNyQyxzREFBb0I7Ozs7O0lBRWxCLG1EQUE2Qjs7Ozs7SUFDN0IsNkRBQXlEOzs7OztJQUN6RCx3REFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTbWFydFN0YWZmT2ZmZW5kZXJPcHRpb25zU2VydmljZX0gZnJvbSAnLi9zbWFydC1zdGFmZi1vZmZlbmRlci1vcHRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyAgRm9ybUJ1aWxkZXIsXHJcbiAgRm9ybUdyb3VwLFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIFZhbGlkYXRvcnMsXHJcbiAgVmFsaWRhdG9yRm4sXHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTG9naW5TdGFmZiB9IGZyb20gJy4uL3NtYXJ0LXN0b3JhZ2Uvc21hcnQtc3RvcmFnZS1tb2RlbCc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBYZG1TZXJ2aWNlfSBmcm9tICcuLi9zbWFydC1zdG9yYWdlL3hkbS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNtYXJ0LXN0YWZmLW9mZmVuZGVyLW9wdGlvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1zdGFmZi1vZmZlbmRlci1vcHRpb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zbWFydC1zdGFmZi1vZmZlbmRlci1vcHRpb25zLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRTdGFmZk9mZmVuZGVyT3B0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgbG9naW5TdGFmZjogTG9naW5TdGFmZjtcclxuICBvZmZlbmRlckxpc3RPcHRpb25zOiBBcnJheTxhbnk+ID0gW107XHJcbiAgZnJtR3JvdXA6IEZvcm1Hcm91cDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBvZmZlbmRlclNlcnZpY2U6IFNtYXJ0U3RhZmZPZmZlbmRlck9wdGlvbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB4ZG1TZXJ2aWNlOiBYZG1TZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBjb25zdCByb3V0RGF0YSA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YTtcclxuICAgIHRoaXMubG9naW5TdGFmZiA9IHJvdXREYXRhLmxvZ2luU3RhZmY7XHJcbiAgICB0aGlzLm9mZmVuZGVyTGlzdE9wdGlvbnMgPSByb3V0RGF0YS5zZWxlY3RlZE9mZmVuZGVyUmVzb2x2ZXJTZXJ2aWNlO1xyXG4gICAgdGhpcy5mcm1Hcm91cCA9IHRoaXMuY3JlYXRlRm9ybSgpO1xyXG4gICAgdGhpcy5vZmZlbmRlclNlcnZpY2UuZ2V0U3RhZmZPZmZlbmRlckxpc3RPcHRpb25zKHRoaXMubG9naW5TdGFmZi5zdGFmZklkKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuZmlsbEZvcm0oZGF0YSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmlsbEZvcm0oZGF0YSkge1xyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgY29uc3Qgb2ZmZW5kZXJMaXN0T3B0aW9uc0ZnID0gIHRoaXMuZnJtR3JvdXAuZ2V0KCdvZmZlbmRlckxpc3RPcHRpb25zJyk7XHJcbiAgICAgIGRhdGEuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICBvZmZlbmRlckxpc3RPcHRpb25zRmcuZ2V0KGVsZW1lbnQub2ZmZW5kZXJMaXN0T3B0aW9uSWQpLnNldFZhbHVlKHRydWUpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcclxuICAgIGNvbnN0IG9mZmVuZGVyTGlzdE9wdGlvbnNGZyA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5vZmZlbmRlckxpc3RPcHRpb25zLmZvckVhY2goIChkdCwgaSkgPT4ge1xyXG4gICAgICBvZmZlbmRlckxpc3RPcHRpb25zRmcuYWRkQ29udHJvbChkdC5vZmZlbmRlckxpc3RPcHRpb25JZCwgbmV3IEZvcm1Db250cm9sKGZhbHNlKSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICAgIG9mZmVuZGVyTGlzdE9wdGlvbnM6IG9mZmVuZGVyTGlzdE9wdGlvbnNGZyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25TYXZlKCkge1xyXG4gICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgb3B0aW9uczogW10sXHJcbiAgICAgIHN0YWZmSWQ6IHRoaXMubG9naW5TdGFmZi5zdGFmZklkLFxyXG4gICAgICBtb2RpZmllZEJ5OiB0aGlzLmxvZ2luU3RhZmYuc3RhZmZJZFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvZmZlbmRlckxpc3RPcHRpb25zVmFsID0gdGhpcy5mcm1Hcm91cC5nZXQoJ29mZmVuZGVyTGlzdE9wdGlvbnMnKS52YWx1ZTtcclxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhvZmZlbmRlckxpc3RPcHRpb25zVmFsKTtcclxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICBpZiAob2ZmZW5kZXJMaXN0T3B0aW9uc1ZhbFtrZXldKSB7XHJcbiAgICAgICAgZGF0YS5vcHRpb25zLnB1c2goeydvZmZlbmRlckxpc3RPcHRpb25JZCc6IGtleX0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm9mZmVuZGVyU2VydmljZS5zYXZlU3RhZmZPZmZlbmRlckxpc3RPcHRpb25zRGF0YShkYXRhKS5zdWJzY3JpYmUocnRyRGF0ZWE9PntcclxuICAgICAgaWYgKHJ0ckRhdGVhLm1lc3NhZ2UpIHtcclxuICAgICAgICB0aGlzLm9mZmVuZGVyU2VydmljZS5zaG93TWVzc2FnZShydHJEYXRlYS5tZXNzYWdlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm9mZmVuZGVyU2VydmljZS5zaG93TWVzc2FnZSgnU2F2ZWQgc3VjY2Vzc2Z1bGx5Jyk7XHJcbiAgICAgICAgdGhpcy54ZG1TZXJ2aWNlLnJlZnJlc2hMb2dpblN0YWZmT3B0aW9ucygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,222 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/smart-staff-offender-options/smart-staff-offender-options.service.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Injectable, Inject } from '@angular/core';
7
- import { HttpClient } from '@angular/common/http';
8
- import { map } from 'rxjs/operators';
9
- import { MatSnackBar } from '@angular/material';
10
- import { SMART_DATA_SERVICE_URL, } from '../smart-storage/smart-storage-model';
11
- export class SmartStaffOffenderOptionsService {
12
- /**
13
- * @param {?} serviceApiUrl
14
- * @param {?} http
15
- * @param {?} matSnackBar
16
- */
17
- constructor(serviceApiUrl, http, matSnackBar) {
18
- this.serviceApiUrl = serviceApiUrl;
19
- this.http = http;
20
- this.matSnackBar = matSnackBar;
21
- }
22
- /**
23
- * @param {?} message
24
- * @return {?}
25
- */
26
- showMessage(message) {
27
- this.matSnackBar.open(message, null, {
28
- duration: 2000,
29
- });
30
- }
31
- /**
32
- * @private
33
- * @param {?} jsonObject
34
- * @return {?}
35
- */
36
- convertEmptyToNull(jsonObject) {
37
- if (!jsonObject) {
38
- return;
39
- }
40
- if (jsonObject instanceof Array) {
41
- jsonObject.forEach((/**
42
- * @param {?} obj
43
- * @return {?}
44
- */
45
- obj => {
46
- this.convertEmptyToNull(obj);
47
- }));
48
- }
49
- /** @type {?} */
50
- const keys = Object.keys(jsonObject);
51
- keys.forEach((/**
52
- * @param {?} key
53
- * @return {?}
54
- */
55
- key => {
56
- if (typeof jsonObject[key] === 'object') {
57
- this.convertEmptyToNull(jsonObject[key]);
58
- }
59
- else if (typeof jsonObject[key] === 'string' && jsonObject[key].trim() === '') {
60
- jsonObject[key] = null;
61
- }
62
- }));
63
- }
64
- /**
65
- * @private
66
- * @param {?} queryName
67
- * @param {?} queryString
68
- * @return {?}
69
- */
70
- getGraphQueryData(queryName, queryString) {
71
- return this.http
72
- .post(this.serviceApiUrl, { query: queryString })
73
- .pipe(map((/**
74
- * @param {?} __0
75
- * @return {?}
76
- */
77
- ({ data }) => {
78
- return data[queryName];
79
- })));
80
- }
81
- /**
82
- * @return {?}
83
- */
84
- getOffenderListOptions() {
85
- /** @type {?} */
86
- const queryName = 'findOffenderListOptions';
87
- /** @type {?} */
88
- const queryString = `{
89
- ${queryName} {
90
- data {
91
- offenderListOptionId
92
- name
93
- serviceApiFieldName
94
- }
95
- message
96
- }
97
- }`;
98
- return this.getGraphQueryData(queryName, queryString);
99
- }
100
- /**
101
- * @param {?} staffId
102
- * @return {?}
103
- */
104
- getStaffOffenderListOptions(staffId) {
105
- /** @type {?} */
106
- const queryString = `{findStaffOffenderListOptions(input:{
107
- where:{
108
- staffId: ${staffId}
109
- }
110
- }){
111
- data{
112
- offenderListOptionId
113
- }
114
- } }`;
115
- return this.http
116
- .post(this.serviceApiUrl, { query: queryString })
117
- .pipe(map((/**
118
- * @param {?} __0
119
- * @return {?}
120
- */
121
- ({ data }) => {
122
- return data.findStaffOffenderListOptions.data;
123
- })));
124
- }
125
- /**
126
- * @param {?} dataToSave
127
- * @return {?}
128
- */
129
- saveStaffOffenderListOptionsData(dataToSave) {
130
- //}: Observable<any> {
131
- // this.convertEmptyToNull(dataToSave);
132
- /** @type {?} */
133
- const queryName = 'upsertStaffOffenderListOption';
134
- /** @type {?} */
135
- const query = `mutation {
136
- upsertStaffOffenderListOption(input: ${this.convertToString(dataToSave)}) {
137
- message
138
- }
139
- }`;
140
- ;
141
- return this.http
142
- .post(this.serviceApiUrl, { query });
143
- /*.pipe(
144
- map(({ data }) => {
145
- return data[queryName];
146
- }));*/
147
- }
148
- /**
149
- * @param {?} obj
150
- * @return {?}
151
- */
152
- convertToString(obj) {
153
- /** @type {?} */
154
- let result = '';
155
- if (!obj) {
156
- return result;
157
- }
158
- if (obj instanceof Array) {
159
- result += ' [';
160
- obj.forEach((/**
161
- * @param {?} eObj
162
- * @return {?}
163
- */
164
- eObj => {
165
- result += this.convertToString(eObj);
166
- }));
167
- result += '],';
168
- }
169
- else {
170
- result += '{';
171
- /** @type {?} */
172
- const keys = Object.keys(obj);
173
- keys.forEach((/**
174
- * @param {?} key
175
- * @return {?}
176
- */
177
- (key) => {
178
- if (typeof obj[key] === 'object') {
179
- result += key + ':' + this.convertToString(obj[key]);
180
- }
181
- else {
182
- if (isNaN(obj[key])) {
183
- result += key + ':"' + obj[key] + '",';
184
- }
185
- else {
186
- result += key + ':' + obj[key] + ',';
187
- }
188
- }
189
- }));
190
- result = result.substring(0, result.length - 1);
191
- result += '},';
192
- }
193
- return result;
194
- }
195
- }
196
- SmartStaffOffenderOptionsService.decorators = [
197
- { type: Injectable }
198
- ];
199
- /** @nocollapse */
200
- SmartStaffOffenderOptionsService.ctorParameters = () => [
201
- { type: undefined, decorators: [{ type: Inject, args: [SMART_DATA_SERVICE_URL,] }] },
202
- { type: HttpClient },
203
- { type: MatSnackBar }
204
- ];
205
- if (false) {
206
- /**
207
- * @type {?}
208
- * @private
209
- */
210
- SmartStaffOffenderOptionsService.prototype.serviceApiUrl;
211
- /**
212
- * @type {?}
213
- * @private
214
- */
215
- SmartStaffOffenderOptionsService.prototype.http;
216
- /**
217
- * @type {?}
218
- * @private
219
- */
220
- SmartStaffOffenderOptionsService.prototype.matSnackBar;
221
- }
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc3RhZmYtb2ZmZW5kZXItb3B0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNzbWFydC9uZ2Mtc21hcnQtY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zbWFydC1zdGFmZi1vZmZlbmRlci1vcHRpb25zL3NtYXJ0LXN0YWZmLW9mZmVuZGVyLW9wdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFDTCxzQkFBc0IsR0FDdkIsTUFBTSxzQ0FBc0MsQ0FBQztBQUc5QyxNQUFNLE9BQU8sZ0NBQWdDOzs7Ozs7SUFDM0MsWUFDMEMsYUFBYSxFQUM3QyxJQUFnQixFQUFVLFdBQXdCO1FBRGxCLGtCQUFhLEdBQWIsYUFBYSxDQUFBO1FBQzdDLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUN4RCxDQUFDOzs7OztJQUVFLFdBQVcsQ0FBQyxPQUFPO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDbkMsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDOzs7Ozs7SUFFTyxrQkFBa0IsQ0FBQyxVQUFnQjtRQUN6QyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsT0FBTztTQUNSO1FBRUQsSUFBSSxVQUFVLFlBQVksS0FBSyxFQUFFO1lBQy9CLFVBQVUsQ0FBQyxPQUFPOzs7O1lBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FB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TyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxFQUFFO29CQUNoQyxNQUFNLElBQUksR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUN0RDtxQkFBTTtvQkFDTCxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTt3QkFDbkIsTUFBTSxJQUFJLEdBQUcsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztxQkFDeEM7eUJBQU07d0JBQ0wsTUFBTSxJQUFJLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztxQkFDdEM7aUJBQ0Y7WUFDSCxDQUFDLEVBQUMsQ0FBQztZQUNILE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sSUFBSSxJQUFJLENBQUM7U0FDaEI7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzs7WUFwSUYsVUFBVTs7Ozs0Q0FHTixNQUFNLFNBQUMsc0JBQXNCO1lBWHpCLFVBQVU7WUFHVixXQUFXOzs7Ozs7O0lBUWhCLHlEQUFxRDs7Ozs7SUFDckQsZ0RBQXdCOzs7OztJQUFFLHVEQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnO1xyXG5pbXBvcnQge1xyXG4gIFNNQVJUX0RBVEFfU0VSVklDRV9VUkwsXHJcbn0gZnJvbSAnLi4vc21hcnQtc3RvcmFnZS9zbWFydC1zdG9yYWdlLW1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFNtYXJ0U3RhZmZPZmZlbmRlck9wdGlvbnNTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoU01BUlRfREFUQV9TRVJWSUNFX1VSTCkgcHJpdmF0ZSBzZXJ2aWNlQXBpVXJsLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIG1hdFNuYWNrQmFyOiBNYXRTbmFja0JhclxyXG4gICkgeyB9XHJcblxyXG4gIHB1YmxpYyBzaG93TWVzc2FnZShtZXNzYWdlKSB7XHJcbiAgICB0aGlzLm1hdFNuYWNrQmFyLm9wZW4obWVzc2FnZSwgbnVsbCwge1xyXG4gICAgICBkdXJhdGlvbjogMjAwMCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb252ZXJ0RW1wdHlUb051bGwoanNvbk9iamVjdDogSlNPTikge1xyXG4gICAgaWYgKCFqc29uT2JqZWN0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoanNvbk9iamVjdCBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgIGpzb25PYmplY3QuZm9yRWFjaChvYmogPT4ge1xyXG4gICAgICAgIHRoaXMuY29udmVydEVtcHR5VG9OdWxsKG9iaik7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhqc29uT2JqZWN0KTtcclxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICBpZiAodHlwZW9mIGpzb25PYmplY3Rba2V5XSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICB0aGlzLmNvbnZlcnRFbXB0eVRvTnVsbChqc29uT2JqZWN0W2tleV0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBqc29uT2JqZWN0W2tleV0gPT09ICdzdHJpbmcnICYmIGpzb25PYmplY3Rba2V5XS50cmltKCkgPT09ICcnKSB7XHJcbiAgICAgICAganNvbk9iamVjdFtrZXldID0gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEdyYXBoUXVlcnlEYXRhKHF1ZXJ5TmFtZTogc3RyaW5nLCBxdWVyeVN0cmluZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55Pih0aGlzLnNlcnZpY2VBcGlVcmwsIHsgcXVlcnk6IHF1ZXJ5U3RyaW5nIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeyBkYXRhIH0pID0+IHtcclxuICAgICAgICAgIHJldHVybiBkYXRhW3F1ZXJ5TmFtZV07XHJcbiAgICAgICAgfSkpO1xyXG4gIH1cclxuICBcclxuICBnZXRPZmZlbmRlckxpc3RPcHRpb25zKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBxdWVyeU5hbWUgPSAnZmluZE9mZmVuZGVyTGlzdE9wdGlvbnMnO1xyXG4gICAgY29uc3QgcXVlcnlTdHJpbmcgPSBge1xyXG4gICAgICAke3F1ZXJ5TmFtZX0ge1xyXG4gICAgICAgIGRhdGEge1xyXG4gICAgICAgICAgb2ZmZW5kZXJMaXN0T3B0aW9uSWRcclxuICAgICAgICAgIG5hbWVcclxuICAgICAgICAgIHNlcnZpY2VBcGlGaWVsZE5hbWVcclxuICAgICAgICB9XHJcbiAgICAgICAgbWVzc2FnZVxyXG4gICAgICB9XHJcbiAgICB9YDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5nZXRHcmFwaFF1ZXJ5RGF0YShxdWVyeU5hbWUsIHF1ZXJ5U3RyaW5nKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTdGFmZk9mZmVuZGVyTGlzdE9wdGlvbnMoXHJcbiAgICBzdGFmZklkOiBudW1iZXIsXHJcbiAgKTogT2JzZXJ2YWJsZTxBcnJheTxhbnk+PiB7XHJcbiAgICBjb25zdCBxdWVyeVN0cmluZyA9IGB7ZmluZFN0YWZmT2ZmZW5kZXJMaXN0T3B0aW9ucyhpbnB1dDp7XHJcbiAgICAgIHdoZXJlOntcclxuICAgICAgICBzdGFmZklkOiAke3N0YWZmSWR9XHJcbiAgICAgIH1cclxuICAgIH0pe1xyXG4gICAgICBkYXRhe1xyXG4gICAgICAgIG9mZmVuZGVyTGlzdE9wdGlvbklkXHJcbiAgICAgIH1cclxuICB9IH1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KHRoaXMuc2VydmljZUFwaVVybCwgeyBxdWVyeTogcXVlcnlTdHJpbmcgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKCh7IGRhdGEgfSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIGRhdGEuZmluZFN0YWZmT2ZmZW5kZXJMaXN0T3B0aW9ucy5kYXRhO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgc2F2ZVN0YWZmT2ZmZW5kZXJMaXN0T3B0aW9uc0RhdGEoZGF0YVRvU2F2ZTogYW55KSB7IC8vfTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHJcbiAgICAvLyB0aGlzLmNvbnZlcnRFbXB0eVRvTnVsbChkYXRhVG9TYXZlKTtcclxuICAgIGNvbnN0IHF1ZXJ5TmFtZSA9ICd1cHNlcnRTdGFmZk9mZmVuZGVyTGlzdE9wdGlvbic7XHJcbiAgICBjb25zdCBxdWVyeSA9IGBtdXRhdGlvbiAge1xyXG4gICAgICAgICAgICB1cHNlcnRTdGFmZk9mZmVuZGVyTGlzdE9wdGlvbihpbnB1dDogJHt0aGlzLmNvbnZlcnRUb1N0cmluZyhkYXRhVG9TYXZlKX0pIHtcclxuICAgICAgICAgICAgbWVzc2FnZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1gO1xyXG5cclxuO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KHRoaXMuc2VydmljZUFwaVVybCwgeyBxdWVyeSB9KTtcclxuICAgIC8qLnBpcGUoXHJcbiAgICAgIG1hcCgoeyBkYXRhIH0pID0+IHtcclxuICAgICAgICByZXR1cm4gZGF0YVtxdWVyeU5hbWVdO1xyXG4gICAgICB9KSk7Ki9cclxuXHJcblxyXG4gIH1cclxuXHJcbiAgY29udmVydFRvU3RyaW5nKG9iaik6IHN0cmluZyB7XHJcbiAgICBsZXQgcmVzdWx0ID0gJyc7XHJcblxyXG4gICAgaWYgKCFvYmopIHtcclxuICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAob2JqIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgcmVzdWx0ICs9ICcgWyc7XHJcbiAgICAgIG9iai5mb3JFYWNoKGVPYmogPT4ge1xyXG4gICAgICAgIHJlc3VsdCArPSB0aGlzLmNvbnZlcnRUb1N0cmluZyhlT2JqKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJlc3VsdCArPSAnXSwnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmVzdWx0ICs9ICd7JztcclxuICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XHJcbiAgICAgIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBvYmpba2V5XSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgIHJlc3VsdCArPSBrZXkgKyAnOicgKyB0aGlzLmNvbnZlcnRUb1N0cmluZyhvYmpba2V5XSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmIChpc05hTihvYmpba2V5XSkpIHtcclxuICAgICAgICAgICAgcmVzdWx0ICs9IGtleSArICc6XCInICsgb2JqW2tleV0gKyAnXCIsJztcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBrZXkgKyAnOicgKyBvYmpba2V5XSArICcsJztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXN1bHQgPSByZXN1bHQuc3Vic3RyaW5nKDAsIHJlc3VsdC5sZW5ndGggLSAxKTtcclxuICAgICAgcmVzdWx0ICs9ICd9LCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,131 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/smart-storage/smart-storage-model.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { InjectionToken } from '@angular/core';
7
- export class Permission {
8
- }
9
- if (false) {
10
- /** @type {?} */
11
- Permission.prototype.roleId;
12
- /** @type {?} */
13
- Permission.prototype.appModuleId;
14
- /** @type {?} */
15
- Permission.prototype.resource;
16
- /** @type {?} */
17
- Permission.prototype.assignmentStaffRelationId;
18
- /** @type {?} */
19
- Permission.prototype.readFlag;
20
- /** @type {?} */
21
- Permission.prototype.createFlag;
22
- /** @type {?} */
23
- Permission.prototype.updateFlag;
24
- /** @type {?} */
25
- Permission.prototype.deleteFlag;
26
- /** @type {?} */
27
- Permission.prototype.assignFlag;
28
- /** @type {?} */
29
- Permission.prototype.reopenFlag;
30
- /** @type {?} */
31
- Permission.prototype.closeFlag;
32
- /** @type {?} */
33
- Permission.prototype.expungeFlag;
34
- }
35
- export class Role {
36
- }
37
- if (false) {
38
- /** @type {?} */
39
- Role.prototype.roleId;
40
- /** @type {?} */
41
- Role.prototype.role;
42
- }
43
- export class Option {
44
- }
45
- if (false) {
46
- /** @type {?} */
47
- Option.prototype.offenderOptionListId;
48
- /** @type {?} */
49
- Option.prototype.name;
50
- /** @type {?} */
51
- Option.prototype.serviceApiFieldName;
52
- /** @type {?} */
53
- Option.prototype.selectedFlag;
54
- }
55
- export class LoginStaff {
56
- constructor() {
57
- this.selectedRole = '*';
58
- }
59
- }
60
- if (false) {
61
- /** @type {?} */
62
- LoginStaff.prototype.staffId;
63
- /** @type {?} */
64
- LoginStaff.prototype.userName;
65
- /** @type {?} */
66
- LoginStaff.prototype.firstName;
67
- /** @type {?} */
68
- LoginStaff.prototype.lastName;
69
- /** @type {?} */
70
- LoginStaff.prototype.phone;
71
- /** @type {?} */
72
- LoginStaff.prototype.email;
73
- /** @type {?} */
74
- LoginStaff.prototype.selectedRole;
75
- /** @type {?} */
76
- LoginStaff.prototype.roles;
77
- /** @type {?} */
78
- LoginStaff.prototype.permissions;
79
- /** @type {?} */
80
- LoginStaff.prototype.options;
81
- }
82
- export class SelectedOffender {
83
- constructor() {
84
- this.intakeFlag = false;
85
- }
86
- }
87
- if (false) {
88
- /** @type {?} */
89
- SelectedOffender.prototype.offenderId;
90
- /** @type {?} */
91
- SelectedOffender.prototype.name;
92
- /** @type {?} */
93
- SelectedOffender.prototype.pdId;
94
- /** @type {?} */
95
- SelectedOffender.prototype.birthDate;
96
- /** @type {?} */
97
- SelectedOffender.prototype.gender;
98
- /** @type {?} */
99
- SelectedOffender.prototype.assignmentStaffRelationId;
100
- /** @type {?} */
101
- SelectedOffender.prototype.intakeFlag;
102
- }
103
- export class OffenderQuery {
104
- }
105
- if (false) {
106
- /** @type {?} */
107
- OffenderQuery.prototype.offenders;
108
- }
109
- export class StorageKey {
110
- }
111
- StorageKey.selectedOffender = 'smart-selected-offender';
112
- StorageKey.loginStaff = 'smart-login-staff';
113
- StorageKey.offenderQuery = 'smart-offender-query';
114
- if (false) {
115
- /** @type {?} */
116
- StorageKey.selectedOffender;
117
- /** @type {?} */
118
- StorageKey.loginStaff;
119
- /** @type {?} */
120
- StorageKey.offenderQuery;
121
- }
122
- /** @type {?} */
123
- export const SMART_WEB_STORAGE_LISTENER_URL = new InjectionToken('SMART Web Storage Listener URL');
124
- /** @type {?} */
125
- export const SMART_WEB_PORTAL_URL = new InjectionToken('SMART Web Portal URL');
126
- /** @type {?} */
127
- export const SMART_DATA_SERVICE_URL = new InjectionToken('SMART Data Service URL');
128
- //exception for redirection
129
- /** @type {?} */
130
- export const SMART_DOMAIN_FORMAT = new InjectionToken('SMART Domain Format URL');
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc3RvcmFnZS1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjc21hcnQvbmdjLXNtYXJ0LWNvcmUvIiwic291cmNlcyI6WyJsaWIvc21hcnQtc3RvcmFnZS9zbWFydC1zdG9yYWdlLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLE9BQU8sVUFBVTtDQWF0Qjs7O0lBWkMsNEJBQWU7O0lBQ2YsaUNBQW9COztJQUNwQiw4QkFBaUI7O0lBQ2pCLCtDQUFrQzs7SUFDbEMsOEJBQWtCOztJQUNsQixnQ0FBb0I7O0lBQ3BCLGdDQUFvQjs7SUFDcEIsZ0NBQW9COztJQUNwQixnQ0FBb0I7O0lBQ3BCLGdDQUFvQjs7SUFDcEIsK0JBQW1COztJQUNuQixpQ0FBcUI7O0FBR3ZCLE1BQU0sT0FBTyxJQUFJO0NBR2hCOzs7SUFGQyxzQkFBZTs7SUFDZixvQkFBYTs7QUFHZixNQUFNLE9BQU8sTUFBTTtDQUtsQjs7O0lBSkMsc0NBQTZCOztJQUM3QixzQkFBYTs7SUFDYixxQ0FBNEI7O0lBQzVCLDhCQUFzQjs7QUFHeEIsTUFBTSxPQUFPLFVBQVU7SUFBdkI7UUFPRSxpQkFBWSxHQUFXLEdBQUcsQ0FBQztJQUk3QixDQUFDO0NBQUE7OztJQVZDLDZCQUFnQjs7SUFDaEIsOEJBQWlCOztJQUNqQiwrQkFBa0I7O0lBQ2xCLDhCQUFpQjs7SUFDakIsMkJBQWM7O0lBQ2QsMkJBQWM7O0lBQ2Qsa0NBQTJCOztJQUMzQiwyQkFBZTs7SUFDZixpQ0FBMkI7O0lBQzNCLDZCQUFtQjs7QUFHckIsTUFBTSxPQUFPLGdCQUFnQjtJQUE3QjtRQU9FLGVBQVUsR0FBYSxLQUFLLENBQUM7SUFDL0IsQ0FBQztDQUFBOzs7SUFQQyxzQ0FBbUI7O0lBQ25CLGdDQUFhOztJQUNiLGdDQUFhOztJQUNiLHFDQUFnQjs7SUFDaEIsa0NBQWU7O0lBQ2YscURBQW1DOztJQUNuQyxzQ0FBNkI7O0FBRy9CLE1BQU0sT0FBTyxhQUFhO0NBRXpCOzs7SUFEQyxrQ0FBOEI7O0FBR2hDLE1BQU0sT0FBTyxVQUFVOztBQUNkLDJCQUFnQixHQUFHLHlCQUF5QixDQUFDO0FBQzdDLHFCQUFVLEdBQUcsbUJBQW1CLENBQUM7QUFDakMsd0JBQWEsR0FBRyxzQkFBc0IsQ0FBQzs7O0lBRjlDLDRCQUFvRDs7SUFDcEQsc0JBQXdDOztJQUN4Qyx5QkFBOEM7OztBQUdoRCxNQUFNLE9BQU8sOEJBQThCLEdBQUcsSUFBSSxjQUFjLENBQzlELGdDQUFnQyxDQUNqQzs7QUFDRCxNQUFNLE9BQU8sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQ3BELHNCQUFzQixDQUN2Qjs7QUFDRCxNQUFNLE9BQU8sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3RELHdCQUF3QixDQUN6Qjs7O0FBR0QsTUFBTSxPQUFPLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUNuRCx5QkFBeUIsQ0FDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb24ge1xyXG4gIHJvbGVJZDogc3RyaW5nO1xyXG4gIGFwcE1vZHVsZUlkOiBzdHJpbmc7XHJcbiAgcmVzb3VyY2U6IHN0cmluZztcclxuICBhc3NpZ25tZW50U3RhZmZSZWxhdGlvbklkOiBzdHJpbmc7XHJcbiAgcmVhZEZsYWc6IGJvb2xlYW47XHJcbiAgY3JlYXRlRmxhZzogYm9vbGVhbjtcclxuICB1cGRhdGVGbGFnOiBib29sZWFuO1xyXG4gIGRlbGV0ZUZsYWc6IGJvb2xlYW47XHJcbiAgYXNzaWduRmxhZzogYm9vbGVhbjtcclxuICByZW9wZW5GbGFnOiBib29sZWFuO1xyXG4gIGNsb3NlRmxhZzogYm9vbGVhbjtcclxuICBleHB1bmdlRmxhZzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJvbGUge1xyXG4gIHJvbGVJZDogc3RyaW5nO1xyXG4gIHJvbGU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE9wdGlvbiB7XHJcbiAgb2ZmZW5kZXJPcHRpb25MaXN0SWQ6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgc2VydmljZUFwaUZpZWxkTmFtZTogc3RyaW5nO1xyXG4gIHNlbGVjdGVkRmxhZzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExvZ2luU3RhZmYge1xyXG4gIHN0YWZmSWQ6IG51bWJlcjtcclxuICB1c2VyTmFtZTogc3RyaW5nO1xyXG4gIGZpcnN0TmFtZTogc3RyaW5nO1xyXG4gIGxhc3ROYW1lOiBzdHJpbmc7XHJcbiAgcGhvbmU6IHN0cmluZztcclxuICBlbWFpbDogc3RyaW5nO1xyXG4gIHNlbGVjdGVkUm9sZTogc3RyaW5nID0gJyonO1xyXG4gIHJvbGVzPzogUm9sZVtdO1xyXG4gIHBlcm1pc3Npb25zPzogUGVybWlzc2lvbltdO1xyXG4gIG9wdGlvbnM/OiBPcHRpb25bXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNlbGVjdGVkT2ZmZW5kZXIge1xyXG4gIG9mZmVuZGVySWQ6IG51bWJlcjtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgcGRJZDogc3RyaW5nO1xyXG4gIGJpcnRoRGF0ZTogRGF0ZTtcclxuICBnZW5kZXI6IHN0cmluZztcclxuICBhc3NpZ25tZW50U3RhZmZSZWxhdGlvbklkPzogc3RyaW5nO1xyXG4gIGludGFrZUZsYWc/OiBib29sZWFuID0gZmFsc2U7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBPZmZlbmRlclF1ZXJ5IHtcclxuICBvZmZlbmRlcnM6IFNlbGVjdGVkT2ZmZW5kZXJbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFN0b3JhZ2VLZXkge1xyXG4gIHN0YXRpYyBzZWxlY3RlZE9mZmVuZGVyID0gJ3NtYXJ0LXNlbGVjdGVkLW9mZmVuZGVyJztcclxuICBzdGF0aWMgbG9naW5TdGFmZiA9ICdzbWFydC1sb2dpbi1zdGFmZic7XHJcbiAgc3RhdGljIG9mZmVuZGVyUXVlcnkgPSAnc21hcnQtb2ZmZW5kZXItcXVlcnknO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgU01BUlRfV0VCX1NUT1JBR0VfTElTVEVORVJfVVJMID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXHJcbiAgJ1NNQVJUIFdlYiBTdG9yYWdlIExpc3RlbmVyIFVSTCcsXHJcbik7XHJcbmV4cG9ydCBjb25zdCBTTUFSVF9XRUJfUE9SVEFMX1VSTCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KFxyXG4gICdTTUFSVCBXZWIgUG9ydGFsIFVSTCcsXHJcbik7XHJcbmV4cG9ydCBjb25zdCBTTUFSVF9EQVRBX1NFUlZJQ0VfVVJMID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXHJcbiAgJ1NNQVJUIERhdGEgU2VydmljZSBVUkwnLFxyXG4pO1xyXG5cclxuLy9leGNlcHRpb24gZm9yIHJlZGlyZWN0aW9uXHJcbmV4cG9ydCBjb25zdCBTTUFSVF9ET01BSU5fRk9STUFUID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXHJcbiAgJ1NNQVJUIERvbWFpbiBGb3JtYXQgVVJMJyxcclxuKTtcclxuXHJcbiJdfQ==