@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.
- package/csmart-ngc-smart-core.d.ts +1 -5
- package/esm2020/csmart-ngc-smart-core.mjs +5 -0
- package/esm2020/lib/ngc-smart-core.module.mjs +97 -0
- package/esm2020/lib/smart-auth/smart-access-control-config.mjs +12 -0
- package/esm2020/lib/smart-auth/smart-access-control.directive.mjs +40 -0
- package/esm2020/lib/smart-auth/smart-auth.service.mjs +475 -0
- package/esm2020/lib/smart-auth/smart-authorization-guard.service.mjs +35 -0
- package/esm2020/lib/smart-auth/smart-error.component.mjs +37 -0
- package/esm2020/lib/smart-auth/smart-login-staff-resolver.service.mjs +59 -0
- package/esm2020/lib/smart-auth/smart-selected-offender-resolver.service.mjs +49 -0
- package/esm2020/lib/smart-navbar/smart-navbar-config.mjs +2 -0
- package/esm2020/lib/smart-navbar/smart-navbar.component.mjs +132 -0
- package/esm2020/lib/smart-navbar/smart-navbar.service.mjs +63 -0
- package/esm2020/lib/smart-offender-header/smart-offender-header.component.mjs +151 -0
- package/esm2020/lib/smart-offender-header/smart-offender-header.service.mjs +41 -0
- package/esm2020/lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service.mjs +25 -0
- package/esm2020/lib/smart-staff-offender-options/smart-staff-offender-options.component.mjs +78 -0
- package/esm2020/lib/smart-staff-offender-options/smart-staff-offender-options.service.mjs +134 -0
- package/esm2020/lib/smart-storage/smart-storage-model.mjs +30 -0
- package/esm2020/lib/smart-storage/xdm.service.mjs +158 -0
- package/esm2020/public-api.mjs +20 -0
- package/fesm2015/csmart-ngc-smart-core.mjs +1525 -0
- package/fesm2015/csmart-ngc-smart-core.mjs.map +1 -0
- package/fesm2020/csmart-ngc-smart-core.mjs +1510 -0
- package/fesm2020/csmart-ngc-smart-core.mjs.map +1 -0
- package/lib/ngc-smart-core.module.d.ts +18 -0
- package/lib/smart-auth/smart-access-control.directive.d.ts +3 -0
- package/lib/smart-auth/smart-auth.service.d.ts +4 -0
- package/lib/smart-auth/smart-authorization-guard.service.d.ts +3 -0
- package/lib/smart-auth/smart-error.component.d.ts +3 -0
- package/lib/smart-auth/smart-login-staff-resolver.service.d.ts +3 -0
- package/lib/smart-auth/smart-selected-offender-resolver.service.d.ts +3 -0
- package/lib/smart-navbar/smart-navbar.component.d.ts +6 -3
- package/lib/smart-navbar/smart-navbar.service.d.ts +3 -0
- package/lib/smart-offender-header/smart-offender-header.component.d.ts +4 -1
- package/lib/smart-offender-header/smart-offender-header.service.d.ts +3 -0
- package/lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service.d.ts +3 -0
- package/lib/smart-staff-offender-options/smart-staff-offender-options.component.d.ts +3 -0
- package/lib/smart-staff-offender-options/smart-staff-offender-options.service.d.ts +6 -3
- package/lib/smart-storage/xdm.service.d.ts +3 -0
- package/package.json +25 -14
- package/public-api.d.ts +3 -0
- package/bundles/csmart-ngc-smart-core.umd.js +0 -2620
- package/bundles/csmart-ngc-smart-core.umd.js.map +0 -1
- package/bundles/csmart-ngc-smart-core.umd.min.js +0 -2
- package/bundles/csmart-ngc-smart-core.umd.min.js.map +0 -1
- package/csmart-ngc-smart-core.metadata.json +0 -1
- package/esm2015/csmart-ngc-smart-core.js +0 -15
- package/esm2015/lib/ngc-smart-core.module.js +0 -59
- package/esm2015/lib/smart-auth/smart-access-control-config.js +0 -32
- package/esm2015/lib/smart-auth/smart-access-control.directive.js +0 -70
- package/esm2015/lib/smart-auth/smart-auth.service.js +0 -693
- package/esm2015/lib/smart-auth/smart-authorization-guard.service.js +0 -63
- package/esm2015/lib/smart-auth/smart-error.component.js +0 -77
- package/esm2015/lib/smart-auth/smart-login-staff-resolver.service.js +0 -94
- package/esm2015/lib/smart-auth/smart-selected-offender-resolver.service.js +0 -101
- package/esm2015/lib/smart-navbar/smart-navbar-config.js +0 -22
- package/esm2015/lib/smart-navbar/smart-navbar.component.js +0 -224
- package/esm2015/lib/smart-navbar/smart-navbar.service.js +0 -89
- package/esm2015/lib/smart-offender-header/smart-offender-header.component.js +0 -253
- package/esm2015/lib/smart-offender-header/smart-offender-header.service.js +0 -85
- package/esm2015/lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service.js +0 -49
- package/esm2015/lib/smart-staff-offender-options/smart-staff-offender-options.component.js +0 -151
- package/esm2015/lib/smart-staff-offender-options/smart-staff-offender-options.service.js +0 -222
- package/esm2015/lib/smart-storage/smart-storage-model.js +0 -131
- package/esm2015/lib/smart-storage/xdm.service.js +0 -317
- package/esm2015/public-api.js +0 -22
- package/esm5/csmart-ngc-smart-core.js +0 -15
- package/esm5/lib/ngc-smart-core.module.js +0 -63
- package/esm5/lib/smart-auth/smart-access-control-config.js +0 -32
- package/esm5/lib/smart-auth/smart-access-control.directive.js +0 -74
- package/esm5/lib/smart-auth/smart-auth.service.js +0 -762
- package/esm5/lib/smart-auth/smart-authorization-guard.service.js +0 -67
- package/esm5/lib/smart-auth/smart-error.component.js +0 -83
- package/esm5/lib/smart-auth/smart-login-staff-resolver.service.js +0 -98
- package/esm5/lib/smart-auth/smart-selected-offender-resolver.service.js +0 -108
- package/esm5/lib/smart-navbar/smart-navbar-config.js +0 -22
- package/esm5/lib/smart-navbar/smart-navbar.component.js +0 -251
- package/esm5/lib/smart-navbar/smart-navbar.service.js +0 -114
- package/esm5/lib/smart-offender-header/smart-offender-header.component.js +0 -283
- package/esm5/lib/smart-offender-header/smart-offender-header.service.js +0 -76
- package/esm5/lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service.js +0 -52
- package/esm5/lib/smart-staff-offender-options/smart-staff-offender-options.component.js +0 -165
- package/esm5/lib/smart-staff-offender-options/smart-staff-offender-options.service.js +0 -232
- package/esm5/lib/smart-storage/smart-storage-model.js +0 -155
- package/esm5/lib/smart-storage/xdm.service.js +0 -389
- package/esm5/public-api.js +0 -22
- package/fesm2015/csmart-ngc-smart-core.js +0 -2231
- package/fesm2015/csmart-ngc-smart-core.js.map +0 -1
- package/fesm5/csmart-ngc-smart-core.js +0 -2502
- package/fesm5/csmart-ngc-smart-core.js.map +0 -1
package/esm2020/lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service.mjs
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { SmartStaffOffenderOptionsService } from './smart-staff-offender-options.service';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./smart-staff-offender-options.service";
|
|
6
|
+
export class SmartStaffOffenderOptionsResolverService {
|
|
7
|
+
constructor(offenderService) {
|
|
8
|
+
this.offenderService = offenderService;
|
|
9
|
+
}
|
|
10
|
+
resolve() {
|
|
11
|
+
return this.offenderService.getOffenderListOptions()
|
|
12
|
+
.pipe(map(({ data }) => {
|
|
13
|
+
return data;
|
|
14
|
+
}));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/** @nocollapse */ /** @nocollapse */ SmartStaffOffenderOptionsResolverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SmartStaffOffenderOptionsResolverService, deps: [{ token: i1.SmartStaffOffenderOptionsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
18
|
+
/** @nocollapse */ /** @nocollapse */ SmartStaffOffenderOptionsResolverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SmartStaffOffenderOptionsResolverService, providedIn: 'root' });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SmartStaffOffenderOptionsResolverService, decorators: [{
|
|
20
|
+
type: Injectable,
|
|
21
|
+
args: [{
|
|
22
|
+
providedIn: 'root',
|
|
23
|
+
}]
|
|
24
|
+
}], ctorParameters: function () { return [{ type: i1.SmartStaffOffenderOptionsService }]; } });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc3RhZmYtb2ZmZW5kZXItb3B0aW9ucy1yZXNvbHZlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3NtYXJ0L25nYy1zbWFydC1jb3JlL3NyYy9saWIvc21hcnQtc3RhZmYtb2ZmZW5kZXItb3B0aW9ucy9zbWFydC1zdGFmZi1vZmZlbmRlci1vcHRpb25zLXJlc29sdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUV6RixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUtyQyxNQUFNLE9BQU8sd0NBQXdDO0lBQ2pELFlBQW9CLGVBQWlEO1FBQWpELG9CQUFlLEdBQWYsZUFBZSxDQUFrQztJQUFHLENBQUM7SUFDekUsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsRUFBRTthQUNuRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7MktBVFEsd0NBQXdDOytLQUF4Qyx3Q0FBd0MsY0FGdkMsTUFBTTsyRkFFUCx3Q0FBd0M7a0JBSHBELFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZXNvbHZlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU21hcnRTdGFmZk9mZmVuZGVyT3B0aW9uc1NlcnZpY2V9IGZyb20gJy4vc21hcnQtc3RhZmYtb2ZmZW5kZXItb3B0aW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRTdGFmZk9mZmVuZGVyT3B0aW9uc1Jlc29sdmVyU2VydmljZSBpbXBsZW1lbnRzIFJlc29sdmU8T2JzZXJ2YWJsZTxhbnk+PiB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9mZmVuZGVyU2VydmljZTogU21hcnRTdGFmZk9mZmVuZGVyT3B0aW9uc1NlcnZpY2UpIHt9XHJcbiAgICByZXNvbHZlKCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5vZmZlbmRlclNlcnZpY2UuZ2V0T2ZmZW5kZXJMaXN0T3B0aW9ucygpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeyBkYXRhIH0pID0+IHtcclxuICAgICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuIl19
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { SmartStaffOffenderOptionsService } from './smart-staff-offender-options.service';
|
|
3
|
+
import { FormGroup, FormControl, } from '@angular/forms';
|
|
4
|
+
import { ActivatedRoute } from '@angular/router';
|
|
5
|
+
import { XdmService } from '../smart-storage/xdm.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/router";
|
|
8
|
+
import * as i2 from "./smart-staff-offender-options.service";
|
|
9
|
+
import * as i3 from "../smart-storage/xdm.service";
|
|
10
|
+
import * as i4 from "@angular/material/card";
|
|
11
|
+
import * as i5 from "@angular/material/checkbox";
|
|
12
|
+
import * as i6 from "@angular/material/button";
|
|
13
|
+
import * as i7 from "@angular/forms";
|
|
14
|
+
import * as i8 from "@angular/common";
|
|
15
|
+
export class SmartStaffOffenderOptionsComponent {
|
|
16
|
+
constructor(route, offenderService, xdmService) {
|
|
17
|
+
this.route = route;
|
|
18
|
+
this.offenderService = offenderService;
|
|
19
|
+
this.xdmService = xdmService;
|
|
20
|
+
this.offenderListOptions = [];
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
const routData = this.route.snapshot.data;
|
|
24
|
+
this.loginStaff = routData.loginStaff;
|
|
25
|
+
this.offenderListOptions = routData.selectedOffenderResolverService;
|
|
26
|
+
this.frmGroup = this.createForm();
|
|
27
|
+
this.offenderService.getStaffOffenderListOptions(this.loginStaff.staffId).subscribe(data => {
|
|
28
|
+
this.fillForm(data);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
fillForm(data) {
|
|
32
|
+
if (data) {
|
|
33
|
+
const offenderListOptionsFg = this.frmGroup.get('offenderListOptions');
|
|
34
|
+
data.forEach(element => {
|
|
35
|
+
offenderListOptionsFg.get(element.offenderListOptionId).setValue(true);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
createForm() {
|
|
40
|
+
const offenderListOptionsFg = new FormGroup({});
|
|
41
|
+
this.offenderListOptions.forEach((dt, i) => {
|
|
42
|
+
offenderListOptionsFg.addControl(dt.offenderListOptionId, new FormControl(false));
|
|
43
|
+
});
|
|
44
|
+
return new FormGroup({
|
|
45
|
+
offenderListOptions: offenderListOptionsFg,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
onSave() {
|
|
49
|
+
const data = {
|
|
50
|
+
options: [],
|
|
51
|
+
staffId: this.loginStaff.staffId,
|
|
52
|
+
modifiedBy: this.loginStaff.staffId
|
|
53
|
+
};
|
|
54
|
+
const offenderListOptionsVal = this.frmGroup.get('offenderListOptions').value;
|
|
55
|
+
const keys = Object.keys(offenderListOptionsVal);
|
|
56
|
+
keys.forEach(key => {
|
|
57
|
+
if (offenderListOptionsVal[key]) {
|
|
58
|
+
data.options.push({ 'offenderListOptionId': key });
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
this.offenderService.saveStaffOffenderListOptionsData(data).subscribe(rtrDatea => {
|
|
62
|
+
if (rtrDatea.message) {
|
|
63
|
+
this.offenderService.showMessage(rtrDatea.message);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
this.offenderService.showMessage('Saved successfully');
|
|
67
|
+
this.xdmService.refreshLoginStaffOptions();
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/** @nocollapse */ /** @nocollapse */ SmartStaffOffenderOptionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SmartStaffOffenderOptionsComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.SmartStaffOffenderOptionsService }, { token: i3.XdmService }], target: i0.ɵɵFactoryTarget.Component });
|
|
73
|
+
/** @nocollapse */ /** @nocollapse */ SmartStaffOffenderOptionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: SmartStaffOffenderOptionsComponent, selector: "lib-smart-staff-offender-options", ngImport: i0, 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 ", styles: [""], components: [{ type: i4.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i7.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SmartStaffOffenderOptionsComponent, decorators: [{
|
|
75
|
+
type: Component,
|
|
76
|
+
args: [{ selector: 'lib-smart-staff-offender-options', 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 ", styles: [""] }]
|
|
77
|
+
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.SmartStaffOffenderOptionsService }, { type: i3.XdmService }]; } });
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc3RhZmYtb2ZmZW5kZXItb3B0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jc21hcnQvbmdjLXNtYXJ0LWNvcmUvc3JjL2xpYi9zbWFydC1zdGFmZi1vZmZlbmRlci1vcHRpb25zL3NtYXJ0LXN0YWZmLW9mZmVuZGVyLW9wdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3NtYXJ0L25nYy1zbWFydC1jb3JlL3NyYy9saWIvc21hcnQtc3RhZmYtb2ZmZW5kZXItb3B0aW9ucy9zbWFydC1zdGFmZi1vZmZlbmRlci1vcHRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdDQUFnQyxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDekYsT0FBTyxFQUNMLFNBQVMsRUFDVCxXQUFXLEdBSVosTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBQyxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7O0FBT3pELE1BQU0sT0FBTyxrQ0FBa0M7SUFJN0MsWUFDVSxLQUFxQixFQUNyQixlQUFpRCxFQUNqRCxVQUFzQjtRQUZ0QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixvQkFBZSxHQUFmLGVBQWUsQ0FBa0M7UUFDakQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUxoQyx3QkFBbUIsR0FBZSxFQUFFLENBQUM7SUFNakMsQ0FBQztJQUVMLFFBQVE7UUFDTixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDMUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxRQUFRLENBQUMsK0JBQStCLENBQUM7UUFDcEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6RixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFFBQVEsQ0FBQyxJQUFJO1FBQ25CLElBQUksSUFBSSxFQUFFO1lBQ1IsTUFBTSxxQkFBcUIsR0FBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3JCLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekUsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUVILENBQUM7SUFDTyxVQUFVO1FBQ2hCLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFDM0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLG9CQUFvQixFQUFFLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDcEYsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksU0FBUyxDQUFDO1lBQ25CLG1CQUFtQixFQUFFLHFCQUFxQjtTQUMzQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sSUFBSSxHQUFHO1lBQ1gsT0FBTyxFQUFFLEVBQUU7WUFDWCxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPO1lBQ2hDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU87U0FDcEMsQ0FBQztRQUVGLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDOUUsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakIsSUFBSSxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDO2FBQ2xEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZUFBZSxDQUFDLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUEsRUFBRTtZQUM5RSxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNwRDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUN2RCxJQUFJLENBQUMsVUFBVSxDQUFDLHdCQUF3QixFQUFFLENBQUM7YUFDNUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3FLQWpFVSxrQ0FBa0M7eUpBQWxDLGtDQUFrQyx3RUNsQi9DLDZpQ0F5QkU7MkZEUFcsa0NBQWtDO2tCQUw5QyxTQUFTOytCQUNFLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNtYXJ0U3RhZmZPZmZlbmRlck9wdGlvbnNTZXJ2aWNlfSBmcm9tICcuL3NtYXJ0LXN0YWZmLW9mZmVuZGVyLW9wdGlvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7ICBGb3JtQnVpbGRlcixcclxuICBGb3JtR3JvdXAsXHJcbiAgRm9ybUNvbnRyb2wsXHJcbiAgVmFsaWRhdG9ycyxcclxuICBWYWxpZGF0b3JGbixcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBMb2dpblN0YWZmIH0gZnJvbSAnLi4vc21hcnQtc3RvcmFnZS9zbWFydC1zdG9yYWdlLW1vZGVsJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFhkbVNlcnZpY2V9IGZyb20gJy4uL3NtYXJ0LXN0b3JhZ2UveGRtLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc21hcnQtc3RhZmYtb2ZmZW5kZXItb3B0aW9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LXN0YWZmLW9mZmVuZGVyLW9wdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NtYXJ0LXN0YWZmLW9mZmVuZGVyLW9wdGlvbnMuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydFN0YWZmT2ZmZW5kZXJPcHRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBsb2dpblN0YWZmOiBMb2dpblN0YWZmO1xyXG4gIG9mZmVuZGVyTGlzdE9wdGlvbnM6IEFycmF5PGFueT4gPSBbXTtcclxuICBmcm1Hcm91cDogRm9ybUdyb3VwO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIG9mZmVuZGVyU2VydmljZTogU21hcnRTdGFmZk9mZmVuZGVyT3B0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHhkbVNlcnZpY2U6IFhkbVNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IHJvdXREYXRhID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhO1xyXG4gICAgdGhpcy5sb2dpblN0YWZmID0gcm91dERhdGEubG9naW5TdGFmZjtcclxuICAgIHRoaXMub2ZmZW5kZXJMaXN0T3B0aW9ucyA9IHJvdXREYXRhLnNlbGVjdGVkT2ZmZW5kZXJSZXNvbHZlclNlcnZpY2U7XHJcbiAgICB0aGlzLmZybUdyb3VwID0gdGhpcy5jcmVhdGVGb3JtKCk7XHJcbiAgICB0aGlzLm9mZmVuZGVyU2VydmljZS5nZXRTdGFmZk9mZmVuZGVyTGlzdE9wdGlvbnModGhpcy5sb2dpblN0YWZmLnN0YWZmSWQpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgdGhpcy5maWxsRm9ybShkYXRhKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaWxsRm9ybShkYXRhKSB7XHJcbiAgICBpZiAoZGF0YSkge1xyXG4gICAgICBjb25zdCBvZmZlbmRlckxpc3RPcHRpb25zRmcgPSAgdGhpcy5mcm1Hcm91cC5nZXQoJ29mZmVuZGVyTGlzdE9wdGlvbnMnKTtcclxuICAgICAgZGF0YS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgIG9mZmVuZGVyTGlzdE9wdGlvbnNGZy5nZXQoZWxlbWVudC5vZmZlbmRlckxpc3RPcHRpb25JZCkuc2V0VmFsdWUodHJ1ZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgcHJpdmF0ZSBjcmVhdGVGb3JtKCkge1xyXG4gICAgY29uc3Qgb2ZmZW5kZXJMaXN0T3B0aW9uc0ZnID0gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm9mZmVuZGVyTGlzdE9wdGlvbnMuZm9yRWFjaCggKGR0LCBpKSA9PiB7XHJcbiAgICAgIG9mZmVuZGVyTGlzdE9wdGlvbnNGZy5hZGRDb250cm9sKGR0Lm9mZmVuZGVyTGlzdE9wdGlvbklkLCBuZXcgRm9ybUNvbnRyb2woZmFsc2UpKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBuZXcgRm9ybUdyb3VwKHtcclxuICAgICAgb2ZmZW5kZXJMaXN0T3B0aW9uczogb2ZmZW5kZXJMaXN0T3B0aW9uc0ZnLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblNhdmUoKSB7XHJcbiAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICBvcHRpb25zOiBbXSxcclxuICAgICAgc3RhZmZJZDogdGhpcy5sb2dpblN0YWZmLnN0YWZmSWQsXHJcbiAgICAgIG1vZGlmaWVkQnk6IHRoaXMubG9naW5TdGFmZi5zdGFmZklkXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IG9mZmVuZGVyTGlzdE9wdGlvbnNWYWwgPSB0aGlzLmZybUdyb3VwLmdldCgnb2ZmZW5kZXJMaXN0T3B0aW9ucycpLnZhbHVlO1xyXG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKG9mZmVuZGVyTGlzdE9wdGlvbnNWYWwpO1xyXG4gICAga2V5cy5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgIGlmIChvZmZlbmRlckxpc3RPcHRpb25zVmFsW2tleV0pIHtcclxuICAgICAgICBkYXRhLm9wdGlvbnMucHVzaCh7J29mZmVuZGVyTGlzdE9wdGlvbklkJzoga2V5fSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMub2ZmZW5kZXJTZXJ2aWNlLnNhdmVTdGFmZk9mZmVuZGVyTGlzdE9wdGlvbnNEYXRhKGRhdGEpLnN1YnNjcmliZShydHJEYXRlYT0+e1xyXG4gICAgICBpZiAocnRyRGF0ZWEubWVzc2FnZSkge1xyXG4gICAgICAgIHRoaXMub2ZmZW5kZXJTZXJ2aWNlLnNob3dNZXNzYWdlKHJ0ckRhdGVhLm1lc3NhZ2UpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMub2ZmZW5kZXJTZXJ2aWNlLnNob3dNZXNzYWdlKCdTYXZlZCBzdWNjZXNzZnVsbHknKTtcclxuICAgICAgICB0aGlzLnhkbVNlcnZpY2UucmVmcmVzaExvZ2luU3RhZmZPcHRpb25zKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGZvcm0gY2xhc3M9XCJtYWluLWZvcm1cIiBbZm9ybUdyb3VwXT1cImZybUdyb3VwXCI+XHJcbiAgPG1hdC1jYXJkIHJvbGU9XCJncm91cFwiPlxyXG4gIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgPGRpdiBmb3JtR3JvdXBOYW1lPVwib2ZmZW5kZXJMaXN0T3B0aW9uc1wiPlxyXG4gICAgICA8ZGl2ICBzdHlsZT1cImZsb2F0OmxlZnQ7XCI+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgb2ZmZW5kZXJMaXN0T3B0aW9uIG9mIG9mZmVuZGVyTGlzdE9wdGlvbnM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggKm5nSWY9XCJpJTIhPTBcIiBjb2xvcj1cInByaW1hcnlcIiBmb3JtQ29udHJvbE5hbWU9XCJ7e29mZmVuZGVyTGlzdE9wdGlvbi5vZmZlbmRlckxpc3RPcHRpb25JZH19XCI+XHJcbiAgICAgICAgICAgIHt7b2ZmZW5kZXJMaXN0T3B0aW9uLm5hbWV9fVxyXG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG9mZmVuZGVyTGlzdE9wdGlvbiBvZiBvZmZlbmRlckxpc3RPcHRpb25zOyBsZXQgaSA9IGluZGV4XCIgPlxyXG4gICAgICAgICAgPG1hdC1jaGVja2JveCAqbmdJZj1cImklMj09MFwiIGNvbG9yPVwicHJpbWFyeVwiIGZvcm1Db250cm9sTmFtZT1cInt7b2ZmZW5kZXJMaXN0T3B0aW9uLm9mZmVuZGVyTGlzdE9wdGlvbklkfX1cIj5cclxuICAgICAgICAgICAge3tvZmZlbmRlckxpc3RPcHRpb24ubmFtZX19XHJcbiAgICAgICAgICA8L21hdC1jaGVja2JveD4gXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICA8ZGl2IGFsaWduPVwiY2VudGVyXCI+XHJcbiAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cIm9uU2F2ZSgpXCI+U2F2ZTwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICA8L21hdC1jYXJkPlxyXG4gIDwvZm9ybT5cclxuICAiXX0=
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { Injectable, Inject } from '@angular/core';
|
|
2
|
+
import { HttpClient } from '@angular/common/http';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
5
|
+
import { SMART_DATA_SERVICE_URL, } from '../smart-storage/smart-storage-model';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common/http";
|
|
8
|
+
import * as i2 from "@angular/material/snack-bar";
|
|
9
|
+
export class SmartStaffOffenderOptionsService {
|
|
10
|
+
constructor(http, matSnackBar, serviceApiUrl) {
|
|
11
|
+
this.http = http;
|
|
12
|
+
this.matSnackBar = matSnackBar;
|
|
13
|
+
this.serviceApiUrl = serviceApiUrl;
|
|
14
|
+
}
|
|
15
|
+
showMessage(message) {
|
|
16
|
+
this.matSnackBar.open(message, null, {
|
|
17
|
+
duration: 2000,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
convertEmptyToNull(jsonObject) {
|
|
21
|
+
if (!jsonObject) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (jsonObject instanceof Array) {
|
|
25
|
+
jsonObject.forEach(obj => {
|
|
26
|
+
this.convertEmptyToNull(obj);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
const keys = Object.keys(jsonObject);
|
|
30
|
+
keys.forEach(key => {
|
|
31
|
+
if (typeof jsonObject[key] === 'object') {
|
|
32
|
+
this.convertEmptyToNull(jsonObject[key]);
|
|
33
|
+
}
|
|
34
|
+
else if (typeof jsonObject[key] === 'string' && jsonObject[key].trim() === '') {
|
|
35
|
+
jsonObject[key] = null;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
getGraphQueryData(queryName, queryString) {
|
|
40
|
+
return this.http
|
|
41
|
+
.post(this.serviceApiUrl, { query: queryString })
|
|
42
|
+
.pipe(map(({ data }) => {
|
|
43
|
+
return data[queryName];
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
getOffenderListOptions() {
|
|
47
|
+
const queryName = 'findOffenderListOptions';
|
|
48
|
+
const queryString = `{
|
|
49
|
+
${queryName} {
|
|
50
|
+
data {
|
|
51
|
+
offenderListOptionId
|
|
52
|
+
name
|
|
53
|
+
serviceApiFieldName
|
|
54
|
+
}
|
|
55
|
+
message
|
|
56
|
+
}
|
|
57
|
+
}`;
|
|
58
|
+
return this.getGraphQueryData(queryName, queryString);
|
|
59
|
+
}
|
|
60
|
+
getStaffOffenderListOptions(staffId) {
|
|
61
|
+
const queryString = `{findStaffOffenderListOptions(input:{
|
|
62
|
+
where:{
|
|
63
|
+
staffId: ${staffId}
|
|
64
|
+
}
|
|
65
|
+
}){
|
|
66
|
+
data{
|
|
67
|
+
offenderListOptionId
|
|
68
|
+
}
|
|
69
|
+
} }`;
|
|
70
|
+
return this.http
|
|
71
|
+
.post(this.serviceApiUrl, { query: queryString })
|
|
72
|
+
.pipe(map(({ data }) => {
|
|
73
|
+
return data.findStaffOffenderListOptions.data;
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
76
|
+
saveStaffOffenderListOptionsData(dataToSave) {
|
|
77
|
+
// this.convertEmptyToNull(dataToSave);
|
|
78
|
+
const queryName = 'upsertStaffOffenderListOption';
|
|
79
|
+
const query = `mutation {
|
|
80
|
+
upsertStaffOffenderListOption(input: ${this.convertToString(dataToSave)}) {
|
|
81
|
+
message
|
|
82
|
+
}
|
|
83
|
+
}`;
|
|
84
|
+
;
|
|
85
|
+
return this.http
|
|
86
|
+
.post(this.serviceApiUrl, { query });
|
|
87
|
+
/*.pipe(
|
|
88
|
+
map(({ data }) => {
|
|
89
|
+
return data[queryName];
|
|
90
|
+
}));*/
|
|
91
|
+
}
|
|
92
|
+
convertToString(obj) {
|
|
93
|
+
let result = '';
|
|
94
|
+
if (!obj) {
|
|
95
|
+
return result;
|
|
96
|
+
}
|
|
97
|
+
if (obj instanceof Array) {
|
|
98
|
+
result += ' [';
|
|
99
|
+
obj.forEach(eObj => {
|
|
100
|
+
result += this.convertToString(eObj);
|
|
101
|
+
});
|
|
102
|
+
result += '],';
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
result += '{';
|
|
106
|
+
const keys = Object.keys(obj);
|
|
107
|
+
keys.forEach((key) => {
|
|
108
|
+
if (typeof obj[key] === 'object') {
|
|
109
|
+
result += key + ':' + this.convertToString(obj[key]);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
if (isNaN(obj[key])) {
|
|
113
|
+
result += key + ':"' + obj[key] + '",';
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
result += key + ':' + obj[key] + ',';
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
result = result.substring(0, result.length - 1);
|
|
121
|
+
result += '},';
|
|
122
|
+
}
|
|
123
|
+
return result;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/** @nocollapse */ /** @nocollapse */ SmartStaffOffenderOptionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SmartStaffOffenderOptionsService, deps: [{ token: i1.HttpClient }, { token: i2.MatSnackBar }, { token: SMART_DATA_SERVICE_URL }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
127
|
+
/** @nocollapse */ /** @nocollapse */ SmartStaffOffenderOptionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SmartStaffOffenderOptionsService });
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SmartStaffOffenderOptionsService, decorators: [{
|
|
129
|
+
type: Injectable
|
|
130
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.MatSnackBar }, { type: undefined, decorators: [{
|
|
131
|
+
type: Inject,
|
|
132
|
+
args: [SMART_DATA_SERVICE_URL]
|
|
133
|
+
}] }]; } });
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc3RhZmYtb2ZmZW5kZXItb3B0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3NtYXJ0L25nYy1zbWFydC1jb3JlL3NyYy9saWIvc21hcnQtc3RhZmYtb2ZmZW5kZXItb3B0aW9ucy9zbWFydC1zdGFmZi1vZmZlbmRlci1vcHRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUNMLHNCQUFzQixHQUN2QixNQUFNLHNDQUFzQyxDQUFDOzs7O0FBRzlDLE1BQU0sT0FBTyxnQ0FBZ0M7SUFDM0MsWUFDVyxJQUFnQixFQUFVLFdBQXdCLEVBQ25CLGFBQWE7UUFENUMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ25CLGtCQUFhLEdBQWIsYUFBYSxDQUFBO0lBQ25ELENBQUM7SUFFRSxXQUFXLENBQUMsT0FBTztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ25DLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGtCQUFrQixDQUFDLFVBQWdCO1FBQ3pDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixPQUFPO1NBQ1I7UUFFRCxJQUFJLFVBQVUsWUFBWSxLQUFLLEVBQUU7WUFDL0IsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGtCQUFr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QUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ25CLElBQUksT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxFQUFFO29CQUNoQyxNQUFNLElBQUksR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUN0RDtxQkFBTTtvQkFDTCxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTt3QkFDbkIsTUFBTSxJQUFJLEdBQUcsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztxQkFDeEM7eUJBQU07d0JBQ0wsTUFBTSxJQUFJLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztxQkFDdEM7aUJBQ0Y7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sSUFBSSxJQUFJLENBQUM7U0FDaEI7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzttS0FuSVUsZ0NBQWdDLHVFQUdqQyxzQkFBc0I7dUtBSHJCLGdDQUFnQzsyRkFBaEMsZ0NBQWdDO2tCQUQ1QyxVQUFVOzswQkFJTixNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHtcclxuICBTTUFSVF9EQVRBX1NFUlZJQ0VfVVJMLFxyXG59IGZyb20gJy4uL3NtYXJ0LXN0b3JhZ2Uvc21hcnQtc3RvcmFnZS1tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTbWFydFN0YWZmT2ZmZW5kZXJPcHRpb25zU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIG1hdFNuYWNrQmFyOiBNYXRTbmFja0JhcixcclxuICAgIEBJbmplY3QoU01BUlRfREFUQV9TRVJWSUNFX1VSTCkgcHJpdmF0ZSBzZXJ2aWNlQXBpVXJsXHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIHNob3dNZXNzYWdlKG1lc3NhZ2UpIHtcclxuICAgIHRoaXMubWF0U25hY2tCYXIub3BlbihtZXNzYWdlLCBudWxsLCB7XHJcbiAgICAgIGR1cmF0aW9uOiAyMDAwLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbnZlcnRFbXB0eVRvTnVsbChqc29uT2JqZWN0OiBKU09OKSB7XHJcbiAgICBpZiAoIWpzb25PYmplY3QpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChqc29uT2JqZWN0IGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAganNvbk9iamVjdC5mb3JFYWNoKG9iaiA9PiB7XHJcbiAgICAgICAgdGhpcy5jb252ZXJ0RW1wdHlUb051bGwob2JqKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGpzb25PYmplY3QpO1xyXG4gICAga2V5cy5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgIGlmICh0eXBlb2YganNvbk9iamVjdFtrZXldID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgIHRoaXMuY29udmVydEVtcHR5VG9OdWxsKGpzb25PYmplY3Rba2V5XSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGpzb25PYmplY3Rba2V5XSA9PT0gJ3N0cmluZycgJiYganNvbk9iamVjdFtrZXldLnRyaW0oKSA9PT0gJycpIHtcclxuICAgICAgICBqc29uT2JqZWN0W2tleV0gPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0R3JhcGhRdWVyeURhdGEocXVlcnlOYW1lOiBzdHJpbmcsIHF1ZXJ5U3RyaW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KHRoaXMuc2VydmljZUFwaVVybCwgeyBxdWVyeTogcXVlcnlTdHJpbmcgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKCh7IGRhdGEgfSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIGRhdGFbcXVlcnlOYW1lXTtcclxuICAgICAgICB9KSk7XHJcbiAgfVxyXG4gIFxyXG4gIGdldE9mZmVuZGVyTGlzdE9wdGlvbnMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHF1ZXJ5TmFtZSA9ICdmaW5kT2ZmZW5kZXJMaXN0T3B0aW9ucyc7XHJcbiAgICBjb25zdCBxdWVyeVN0cmluZyA9IGB7XHJcbiAgICAgICR7cXVlcnlOYW1lfSB7XHJcbiAgICAgICAgZGF0YSB7XHJcbiAgICAgICAgICBvZmZlbmRlckxpc3RPcHRpb25JZFxyXG4gICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgc2VydmljZUFwaUZpZWxkTmFtZVxyXG4gICAgICAgIH1cclxuICAgICAgICBtZXNzYWdlXHJcbiAgICAgIH1cclxuICAgIH1gO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmdldEdyYXBoUXVlcnlEYXRhKHF1ZXJ5TmFtZSwgcXVlcnlTdHJpbmcpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFN0YWZmT2ZmZW5kZXJMaXN0T3B0aW9ucyhcclxuICAgIHN0YWZmSWQ6IG51bWJlcixcclxuICApOiBPYnNlcnZhYmxlPEFycmF5PGFueT4+IHtcclxuICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID0gYHtmaW5kU3RhZmZPZmZlbmRlckxpc3RPcHRpb25zKGlucHV0OntcclxuICAgICAgd2hlcmU6e1xyXG4gICAgICAgIHN0YWZmSWQ6ICR7c3RhZmZJZH1cclxuICAgICAgfVxyXG4gICAgfSl7XHJcbiAgICAgIGRhdGF7XHJcbiAgICAgICAgb2ZmZW5kZXJMaXN0T3B0aW9uSWRcclxuICAgICAgfVxyXG4gIH0gfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4odGhpcy5zZXJ2aWNlQXBpVXJsLCB7IHF1ZXJ5OiBxdWVyeVN0cmluZyB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHsgZGF0YSB9KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gZGF0YS5maW5kU3RhZmZPZmZlbmRlckxpc3RPcHRpb25zLmRhdGE7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBzYXZlU3RhZmZPZmZlbmRlckxpc3RPcHRpb25zRGF0YShkYXRhVG9TYXZlOiBhbnkpIHsgLy99OiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cclxuICAgIC8vIHRoaXMuY29udmVydEVtcHR5VG9OdWxsKGRhdGFUb1NhdmUpO1xyXG4gICAgY29uc3QgcXVlcnlOYW1lID0gJ3Vwc2VydFN0YWZmT2ZmZW5kZXJMaXN0T3B0aW9uJztcclxuICAgIGNvbnN0IHF1ZXJ5ID0gYG11dGF0aW9uICB7XHJcbiAgICAgICAgICAgIHVwc2VydFN0YWZmT2ZmZW5kZXJMaXN0T3B0aW9uKGlucHV0OiAke3RoaXMuY29udmVydFRvU3RyaW5nKGRhdGFUb1NhdmUpfSkge1xyXG4gICAgICAgICAgICBtZXNzYWdlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfWA7XHJcblxyXG47XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4odGhpcy5zZXJ2aWNlQXBpVXJsLCB7IHF1ZXJ5IH0pO1xyXG4gICAgLyoucGlwZShcclxuICAgICAgbWFwKCh7IGRhdGEgfSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBkYXRhW3F1ZXJ5TmFtZV07XHJcbiAgICAgIH0pKTsqL1xyXG5cclxuXHJcbiAgfVxyXG5cclxuICBjb252ZXJ0VG9TdHJpbmcob2JqKTogc3RyaW5nIHtcclxuICAgIGxldCByZXN1bHQgPSAnJztcclxuXHJcbiAgICBpZiAoIW9iaikge1xyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvYmogaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICByZXN1bHQgKz0gJyBbJztcclxuICAgICAgb2JqLmZvckVhY2goZU9iaiA9PiB7XHJcbiAgICAgICAgcmVzdWx0ICs9IHRoaXMuY29udmVydFRvU3RyaW5nKGVPYmopO1xyXG4gICAgICB9KTtcclxuICAgICAgcmVzdWx0ICs9ICddLCc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXN1bHQgKz0gJ3snO1xyXG4gICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMob2JqKTtcclxuICAgICAga2V5cy5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgICBpZiAodHlwZW9mIG9ialtrZXldID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgcmVzdWx0ICs9IGtleSArICc6JyArIHRoaXMuY29udmVydFRvU3RyaW5nKG9ialtrZXldKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKGlzTmFOKG9ialtrZXldKSkge1xyXG4gICAgICAgICAgICByZXN1bHQgKz0ga2V5ICsgJzpcIicgKyBvYmpba2V5XSArICdcIiwnO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmVzdWx0ICs9IGtleSArICc6JyArIG9ialtrZXldICsgJywnO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5zdWJzdHJpbmcoMCwgcmVzdWx0Lmxlbmd0aCAtIDEpO1xyXG4gICAgICByZXN1bHQgKz0gJ30sJztcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export class Permission {
|
|
3
|
+
}
|
|
4
|
+
export class Role {
|
|
5
|
+
}
|
|
6
|
+
export class Option {
|
|
7
|
+
}
|
|
8
|
+
export class LoginStaff {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.selectedRole = '*';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export class SelectedOffender {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.intakeFlag = false;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class OffenderQuery {
|
|
19
|
+
}
|
|
20
|
+
export class StorageKey {
|
|
21
|
+
}
|
|
22
|
+
StorageKey.selectedOffender = 'smart-selected-offender';
|
|
23
|
+
StorageKey.loginStaff = 'smart-login-staff';
|
|
24
|
+
StorageKey.offenderQuery = 'smart-offender-query';
|
|
25
|
+
export const SMART_WEB_STORAGE_LISTENER_URL = new InjectionToken('SMART Web Storage Listener URL');
|
|
26
|
+
export const SMART_WEB_PORTAL_URL = new InjectionToken('SMART Web Portal URL');
|
|
27
|
+
export const SMART_DATA_SERVICE_URL = new InjectionToken('SMART Data Service URL');
|
|
28
|
+
//exception for redirection
|
|
29
|
+
export const SMART_DOMAIN_FORMAT = new InjectionToken('SMART Domain Format URL');
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc3RvcmFnZS1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NzbWFydC9uZ2Mtc21hcnQtY29yZS9zcmMvbGliL3NtYXJ0LXN0b3JhZ2Uvc21hcnQtc3RvcmFnZS1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sT0FBTyxVQUFVO0NBYXRCO0FBRUQsTUFBTSxPQUFPLElBQUk7Q0FHaEI7QUFFRCxNQUFNLE9BQU8sTUFBTTtDQUtsQjtBQUVELE1BQU0sT0FBTyxVQUFVO0lBQXZCO1FBT0UsaUJBQVksR0FBVyxHQUFHLENBQUM7SUFJN0IsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtJQUE3QjtRQU9FLGVBQVUsR0FBYSxLQUFLLENBQUM7SUFDL0IsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLGFBQWE7Q0FFekI7QUFFRCxNQUFNLE9BQU8sVUFBVTs7QUFDZCwyQkFBZ0IsR0FBRyx5QkFBeUIsQ0FBQztBQUM3QyxxQkFBVSxHQUFHLG1CQUFtQixDQUFDO0FBQ2pDLHdCQUFhLEdBQUcsc0JBQXNCLENBQUM7QUFHaEQsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsSUFBSSxjQUFjLENBQzlELGdDQUFnQyxDQUNqQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQ3BELHNCQUFzQixDQUN2QixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3RELHdCQUF3QixDQUN6QixDQUFDO0FBRUYsMkJBQTJCO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUNuRCx5QkFBeUIsQ0FDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbiB7XHJcbiAgcm9sZUlkOiBzdHJpbmc7XHJcbiAgYXBwTW9kdWxlSWQ6IHN0cmluZztcclxuICByZXNvdXJjZTogc3RyaW5nO1xyXG4gIGFzc2lnbm1lbnRTdGFmZlJlbGF0aW9uSWQ6IHN0cmluZztcclxuICByZWFkRmxhZzogYm9vbGVhbjtcclxuICBjcmVhdGVGbGFnOiBib29sZWFuO1xyXG4gIHVwZGF0ZUZsYWc6IGJvb2xlYW47XHJcbiAgZGVsZXRlRmxhZzogYm9vbGVhbjtcclxuICBhc3NpZ25GbGFnOiBib29sZWFuO1xyXG4gIHJlb3BlbkZsYWc6IGJvb2xlYW47XHJcbiAgY2xvc2VGbGFnOiBib29sZWFuO1xyXG4gIGV4cHVuZ2VGbGFnOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUm9sZSB7XHJcbiAgcm9sZUlkOiBzdHJpbmc7XHJcbiAgcm9sZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgT3B0aW9uIHtcclxuICBvZmZlbmRlck9wdGlvbkxpc3RJZDogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBzZXJ2aWNlQXBpRmllbGROYW1lOiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWRGbGFnOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTG9naW5TdGFmZiB7XHJcbiAgc3RhZmZJZDogbnVtYmVyO1xyXG4gIHVzZXJOYW1lOiBzdHJpbmc7XHJcbiAgZmlyc3ROYW1lOiBzdHJpbmc7XHJcbiAgbGFzdE5hbWU6IHN0cmluZztcclxuICBwaG9uZTogc3RyaW5nO1xyXG4gIGVtYWlsOiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWRSb2xlOiBzdHJpbmcgPSAnKic7XHJcbiAgcm9sZXM/OiBSb2xlW107XHJcbiAgcGVybWlzc2lvbnM/OiBQZXJtaXNzaW9uW107XHJcbiAgb3B0aW9ucz86IE9wdGlvbltdO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU2VsZWN0ZWRPZmZlbmRlciB7XHJcbiAgb2ZmZW5kZXJJZDogbnVtYmVyO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBwZElkOiBzdHJpbmc7XHJcbiAgYmlydGhEYXRlOiBEYXRlO1xyXG4gIGdlbmRlcjogc3RyaW5nO1xyXG4gIGFzc2lnbm1lbnRTdGFmZlJlbGF0aW9uSWQ/OiBzdHJpbmc7XHJcbiAgaW50YWtlRmxhZz86IGJvb2xlYW4gPSBmYWxzZTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE9mZmVuZGVyUXVlcnkge1xyXG4gIG9mZmVuZGVyczogU2VsZWN0ZWRPZmZlbmRlcltdO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU3RvcmFnZUtleSB7XHJcbiAgc3RhdGljIHNlbGVjdGVkT2ZmZW5kZXIgPSAnc21hcnQtc2VsZWN0ZWQtb2ZmZW5kZXInO1xyXG4gIHN0YXRpYyBsb2dpblN0YWZmID0gJ3NtYXJ0LWxvZ2luLXN0YWZmJztcclxuICBzdGF0aWMgb2ZmZW5kZXJRdWVyeSA9ICdzbWFydC1vZmZlbmRlci1xdWVyeSc7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBTTUFSVF9XRUJfU1RPUkFHRV9MSVNURU5FUl9VUkwgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPihcclxuICAnU01BUlQgV2ViIFN0b3JhZ2UgTGlzdGVuZXIgVVJMJyxcclxuKTtcclxuZXhwb3J0IGNvbnN0IFNNQVJUX1dFQl9QT1JUQUxfVVJMID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXHJcbiAgJ1NNQVJUIFdlYiBQb3J0YWwgVVJMJyxcclxuKTtcclxuZXhwb3J0IGNvbnN0IFNNQVJUX0RBVEFfU0VSVklDRV9VUkwgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPihcclxuICAnU01BUlQgRGF0YSBTZXJ2aWNlIFVSTCcsXHJcbik7XHJcblxyXG4vL2V4Y2VwdGlvbiBmb3IgcmVkaXJlY3Rpb25cclxuZXhwb3J0IGNvbnN0IFNNQVJUX0RPTUFJTl9GT1JNQVQgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPihcclxuICAnU01BUlQgRG9tYWluIEZvcm1hdCBVUkwnLFxyXG4pO1xyXG5cclxuIl19
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { Injectable, Inject, isDevMode } from '@angular/core';
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { map } from 'rxjs/operators';
|
|
5
|
+
import { StorageKey, SMART_WEB_STORAGE_LISTENER_URL, SMART_DATA_SERVICE_URL, } from './smart-storage-model';
|
|
6
|
+
// import connectToChild from "penpal/lib/connectToChild";
|
|
7
|
+
import { connectToChild } from 'penpal';
|
|
8
|
+
import { HttpClient } from '@angular/common/http';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/common/http";
|
|
11
|
+
export class XdmService {
|
|
12
|
+
constructor(document, smartStorageListenerUrl, httpClient, smartDataServiceUrl) {
|
|
13
|
+
this.document = document;
|
|
14
|
+
this.smartStorageListenerUrl = smartStorageListenerUrl;
|
|
15
|
+
this.httpClient = httpClient;
|
|
16
|
+
this.smartDataServiceUrl = smartDataServiceUrl;
|
|
17
|
+
this.offenderSubject = new Subject();
|
|
18
|
+
this.staffSubject = new Subject();
|
|
19
|
+
this.offenderQuerySubject = new Subject();
|
|
20
|
+
if (isDevMode) {
|
|
21
|
+
console.log('SmartStorage XdmService (Client) - constructor()');
|
|
22
|
+
}
|
|
23
|
+
this.init();
|
|
24
|
+
}
|
|
25
|
+
init() {
|
|
26
|
+
const frame = this.document.createElement('iframe');
|
|
27
|
+
frame.src = this.smartStorageListenerUrl;
|
|
28
|
+
frame.id = 'childframe';
|
|
29
|
+
frame.name = Math.random().toString();
|
|
30
|
+
frame.onload = null;
|
|
31
|
+
frame.style.visibility = 'hidden';
|
|
32
|
+
this.document.body.appendChild(frame);
|
|
33
|
+
this.connection = connectToChild({
|
|
34
|
+
iframe: frame,
|
|
35
|
+
debug: false,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
getStaffOffenderListOptions(staffId) {
|
|
39
|
+
const queryString = `{findvStaffOffenderListOptions(input:{
|
|
40
|
+
where:{
|
|
41
|
+
staffId: ${staffId}
|
|
42
|
+
}
|
|
43
|
+
}){
|
|
44
|
+
data{
|
|
45
|
+
offenderListOptionId
|
|
46
|
+
name
|
|
47
|
+
serviceApiFieldName
|
|
48
|
+
selectedFlag
|
|
49
|
+
}
|
|
50
|
+
} }`;
|
|
51
|
+
return this.httpClient
|
|
52
|
+
.post(this.smartDataServiceUrl, { query: queryString })
|
|
53
|
+
.pipe(map(({ data }) => {
|
|
54
|
+
data.findvStaffOffenderListOptions.data['offenderOptionListId'] =
|
|
55
|
+
data.findvStaffOffenderListOptions.data['offenderListOptionId'];
|
|
56
|
+
return data.findvStaffOffenderListOptions.data;
|
|
57
|
+
}));
|
|
58
|
+
/*return of([
|
|
59
|
+
{ offenderListOptionId: 'genderCode', name: '', selectedFlag: true }]);*/
|
|
60
|
+
}
|
|
61
|
+
clearAll() {
|
|
62
|
+
this.connection.promise.then((child) => {
|
|
63
|
+
child.clearAll();
|
|
64
|
+
this.offenderSubject.next();
|
|
65
|
+
this.staffSubject.next();
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/*************************************
|
|
69
|
+
* Offender
|
|
70
|
+
**************************************/
|
|
71
|
+
setSelectedOffender(selectedOffender) {
|
|
72
|
+
this.connection.promise.then((child) => {
|
|
73
|
+
child.setSelectedOffender(selectedOffender);
|
|
74
|
+
this.offenderSubject.next(selectedOffender);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
getSelectedOffender() {
|
|
78
|
+
return this.connection.promise.then((child) => child.getSelectedOffender(StorageKey.selectedOffender));
|
|
79
|
+
}
|
|
80
|
+
clearSelectedOffender() {
|
|
81
|
+
this.connection.promise.then((child) => {
|
|
82
|
+
child.clearSelectedOffender();
|
|
83
|
+
this.offenderSubject.next();
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
getOffenderUpdate() {
|
|
87
|
+
return this.offenderSubject.asObservable();
|
|
88
|
+
}
|
|
89
|
+
/************************************************************************
|
|
90
|
+
* Staff
|
|
91
|
+
************************************************************************/
|
|
92
|
+
setLoginStaff(loginStaff) {
|
|
93
|
+
this.connection.promise.then((child) => {
|
|
94
|
+
child.setLoginStaff(loginStaff);
|
|
95
|
+
this.staffSubject.next(loginStaff);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
getLoginStaff() {
|
|
99
|
+
return this.connection.promise.then((child) => child.getLoginStaff(StorageKey.loginStaff));
|
|
100
|
+
}
|
|
101
|
+
clearLoginStaff() {
|
|
102
|
+
this.connection.promise.then((child) => {
|
|
103
|
+
child.clearLoginStaff();
|
|
104
|
+
this.staffSubject.next();
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
getStaffUpdate() {
|
|
108
|
+
return this.staffSubject.asObservable();
|
|
109
|
+
}
|
|
110
|
+
refreshLoginStaffOptions() {
|
|
111
|
+
this.getLoginStaff().then((oldLoginStaff) => {
|
|
112
|
+
this.getStaffOffenderListOptions(oldLoginStaff.staffId).subscribe((optionData) => {
|
|
113
|
+
console.log(optionData);
|
|
114
|
+
oldLoginStaff.options = optionData;
|
|
115
|
+
this.setLoginStaff(oldLoginStaff);
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
/************************************************************************
|
|
120
|
+
* Offender Query
|
|
121
|
+
************************************************************************/
|
|
122
|
+
setOffenderQuery(offenderQuery) {
|
|
123
|
+
this.connection.promise.then((child) => {
|
|
124
|
+
child.setOffenderQuery(offenderQuery);
|
|
125
|
+
this.offenderQuerySubject.next(offenderQuery);
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
getOffenderQuery() {
|
|
129
|
+
return this.connection.promise.then((child) => child.getOffenderQuery(StorageKey.offenderQuery));
|
|
130
|
+
}
|
|
131
|
+
clearOffenderQuery() {
|
|
132
|
+
this.connection.promise.then((child) => {
|
|
133
|
+
child.clearOffenderQuery();
|
|
134
|
+
this.offenderQuerySubject.next();
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
getOffenderQueryUpdate() {
|
|
138
|
+
return this.offenderQuerySubject.asObservable();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/** @nocollapse */ /** @nocollapse */ XdmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", 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 });
|
|
142
|
+
/** @nocollapse */ /** @nocollapse */ XdmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: XdmService, providedIn: 'root' });
|
|
143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: XdmService, decorators: [{
|
|
144
|
+
type: Injectable,
|
|
145
|
+
args: [{
|
|
146
|
+
providedIn: 'root',
|
|
147
|
+
}]
|
|
148
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
149
|
+
type: Inject,
|
|
150
|
+
args: [DOCUMENT]
|
|
151
|
+
}] }, { type: undefined, decorators: [{
|
|
152
|
+
type: Inject,
|
|
153
|
+
args: [SMART_WEB_STORAGE_LISTENER_URL]
|
|
154
|
+
}] }, { type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
155
|
+
type: Inject,
|
|
156
|
+
args: [SMART_DATA_SERVICE_URL]
|
|
157
|
+
}] }]; } });
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGRtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jc21hcnQvbmdjLXNtYXJ0LWNvcmUvc3JjL2xpYi9zbWFydC1zdG9yYWdlL3hkbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUlMLFVBQVUsRUFDViw4QkFBOEIsRUFDOUIsc0JBQXNCLEdBRXZCLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsMERBQTBEO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFLbEQsTUFBTSxPQUFPLFVBQVU7SUFNckIsWUFDNEIsUUFBYSxFQUUvQix1QkFBK0IsRUFDL0IsVUFBc0IsRUFDVSxtQkFBbUI7UUFKakMsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUUvQiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQVE7UUFDL0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBQTtRQVZyRCxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUEyQixDQUFDO1FBQ3pELGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQXFCLENBQUM7UUFDaEQseUJBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQXdCLENBQUM7UUFVakUsSUFBSSxTQUFTLEVBQUU7WUFDYixPQUFPLENBQUMsR0FBRyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7U0FD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ImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7XHJcbiAgU2VsZWN0ZWRPZmZlbmRlcixcclxuICBMb2dpblN0YWZmLFxyXG4gIE9mZmVuZGVyUXVlcnksXHJcbiAgU3RvcmFnZUtleSxcclxuICBTTUFSVF9XRUJfU1RPUkFHRV9MSVNURU5FUl9VUkwsXHJcbiAgU01BUlRfREFUQV9TRVJWSUNFX1VSTCxcclxuICBPcHRpb24sXHJcbn0gZnJvbSAnLi9zbWFydC1zdG9yYWdlLW1vZGVsJztcclxuXHJcbi8vIGltcG9ydCBjb25uZWN0VG9DaGlsZCBmcm9tIFwicGVucGFsL2xpYi9jb25uZWN0VG9DaGlsZFwiO1xyXG5pbXBvcnQgeyBjb25uZWN0VG9DaGlsZCB9IGZyb20gJ3BlbnBhbCc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWGRtU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBvZmZlbmRlclN1YmplY3QgPSBuZXcgU3ViamVjdDxTZWxlY3RlZE9mZmVuZGVyIHwgdm9pZD4oKTtcclxuICBwcml2YXRlIHN0YWZmU3ViamVjdCA9IG5ldyBTdWJqZWN0PExvZ2luU3RhZmYgfCB2b2lkPigpO1xyXG4gIHByaXZhdGUgb2ZmZW5kZXJRdWVyeVN1YmplY3QgPSBuZXcgU3ViamVjdDxPZmZlbmRlclF1ZXJ5IHwgdm9pZD4oKTtcclxuICBwcml2YXRlIGNvbm5lY3Rpb246IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnksXHJcbiAgICBASW5qZWN0KFNNQVJUX1dFQl9TVE9SQUdFX0xJU1RFTkVSX1VSTClcclxuICAgIHByaXZhdGUgc21hcnRTdG9yYWdlTGlzdGVuZXJVcmw6IHN0cmluZyxcclxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgIEBJbmplY3QoU01BUlRfREFUQV9TRVJWSUNFX1VSTCkgcHJpdmF0ZSBzbWFydERhdGFTZXJ2aWNlVXJsLFxyXG4gICkge1xyXG4gICAgaWYgKGlzRGV2TW9kZSkge1xyXG4gICAgICBjb25zb2xlLmxvZygnU21hcnRTdG9yYWdlIFhkbVNlcnZpY2UgKENsaWVudCkgLSBjb25zdHJ1Y3RvcigpJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGZyYW1lID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTtcclxuICAgIGZyYW1lLnNyYyA9IHRoaXMuc21hcnRTdG9yYWdlTGlzdGVuZXJVcmw7XHJcbiAgICBmcmFtZS5pZCA9ICdjaGlsZGZyYW1lJztcclxuICAgIGZyYW1lLm5hbWUgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKCk7XHJcbiAgICBmcmFtZS5vbmxvYWQgPSBudWxsO1xyXG4gICAgZnJhbWUuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xyXG4gICAgdGhpcy5kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lKTtcclxuXHJcbiAgICB0aGlzLmNvbm5lY3Rpb24gPSBjb25uZWN0VG9DaGlsZCh7XHJcbiAgICAgIGlmcmFtZTogZnJhbWUsXHJcbiAgICAgIGRlYnVnOiBmYWxzZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTdGFmZk9mZmVuZGVyTGlzdE9wdGlvbnMoXHJcbiAgICBzdGFmZklkOiBudW1iZXIsXHJcbiAgKTogT2JzZXJ2YWJsZTxBcnJheTxPcHRpb24+PiB7XHJcbiAgICBjb25zdCBxdWVyeVN0cmluZyA9IGB7ZmluZHZTdGFmZk9mZmVuZGVyTGlzdE9wdGlvbnMoaW5wdXQ6e1xyXG4gICAgICAgIHdoZXJlOntcclxuICAgICAgICAgIHN0YWZmSWQ6ICR7c3RhZmZJZH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pe1xyXG4gICAgICAgIGRhdGF7XHJcbiAgICAgICAgICBvZmZlbmRlckxpc3RPcHRpb25JZFxyXG4gICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgc2VydmljZUFwaUZpZWxkTmFtZVxyXG4gICAgICAgICAgc2VsZWN0ZWRGbGFnXHJcbiAgICAgICAgfVxyXG4gICAgfSB9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcclxuICAgICAgLnBvc3Q8YW55Pih0aGlzLnNtYXJ0RGF0YVNlcnZpY2VVcmwsIHsgcXVlcnk6IHF1ZXJ5U3RyaW5nIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeyBkYXRhIH0pID0+IHtcclxuICAgICAgICAgIGRhdGEuZmluZHZTdGFmZk9mZmVuZGVyTGlzdE9wdGlvbnMuZGF0YVsnb2ZmZW5kZXJPcHRpb25MaXN0SWQnXSA9XHJcbiAgICAgICAgICAgIGRhdGEuZmluZHZTdGFmZk9mZmVuZGVyTGlzdE9wdGlvbnMuZGF0YVsnb2ZmZW5kZXJMaXN0T3B0aW9uSWQnXTtcclxuICAgICAgICAgIHJldHVybiBkYXRhLmZpbmR2U3RhZmZPZmZlbmRlckxpc3RPcHRpb25zLmRhdGE7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICk7XHJcbiAgICAvKnJldHVybiBvZihbXHJcbiAgICAgIHsgb2ZmZW5kZXJMaXN0T3B0aW9uSWQ6ICdnZW5kZXJDb2RlJywgbmFtZTogJycsIHNlbGVjdGVkRmxhZzogdHJ1ZSB9XSk7Ki9cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29ubmVjdGlvbi5wcm9taXNlLnRoZW4oKGNoaWxkKSA9PiB7XHJcbiAgICAgIGNoaWxkLmNsZWFyQWxsKCk7XHJcbiAgICAgIHRoaXMub2ZmZW5kZXJTdWJqZWN0Lm5leHQoKTtcclxuICAgICAgdGhpcy5zdGFmZlN1YmplY3QubmV4dCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAqIE9mZmVuZGVyXHJcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4gIHB1YmxpYyBzZXRTZWxlY3RlZE9mZmVuZGVyKHNlbGVjdGVkT2ZmZW5kZXI6IFNlbGVjdGVkT2ZmZW5kZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuY29ubmVjdGlvbi5wcm9taXNlLnRoZW4oKGNoaWxkKSA9PiB7XHJcbiAgICAgIGNoaWxkLnNldFNlbGVjdGVkT2ZmZW5kZXIoc2VsZWN0ZWRPZmZlbmRlcik7XHJcbiAgICAgIHRoaXMub2ZmZW5kZXJTdWJqZWN0Lm5leHQoc2VsZWN0ZWRPZmZlbmRlcik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTZWxlY3RlZE9mZmVuZGVyKCk6IFByb21pc2U8U2VsZWN0ZWRPZmZlbmRlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvbi5wcm9taXNlLnRoZW4oKGNoaWxkKSA9PlxyXG4gICAgICBjaGlsZC5nZXRTZWxlY3RlZE9mZmVuZGVyKFN0b3JhZ2VLZXkuc2VsZWN0ZWRPZmZlbmRlciksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyU2VsZWN0ZWRPZmZlbmRlcigpOiB2b2lkIHtcclxuICAgIHRoaXMuY29ubmVjdGlvbi5wcm9taXNlLnRoZW4oKGNoaWxkKSA9PiB7XHJcbiAgICAgIGNoaWxkLmNsZWFyU2VsZWN0ZWRPZmZlbmRlcigpO1xyXG4gICAgICB0aGlzLm9mZmVuZGVyU3ViamVjdC5uZXh0KCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRPZmZlbmRlclVwZGF0ZSgpOiBPYnNlcnZhYmxlPFNlbGVjdGVkT2ZmZW5kZXI+IHtcclxuICAgIHJldHVybiB0aGlzLm9mZmVuZGVyU3ViamVjdC5hc09ic2VydmFibGUoKSBhcyBPYnNlcnZhYmxlPFNlbGVjdGVkT2ZmZW5kZXI+O1xyXG4gIH1cclxuXHJcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAqIFN0YWZmXHJcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICBwdWJsaWMgc2V0TG9naW5TdGFmZihsb2dpblN0YWZmOiBMb2dpblN0YWZmKSB7XHJcbiAgICB0aGlzLmNvbm5lY3Rpb24ucHJvbWlzZS50aGVuKChjaGlsZCkgPT4ge1xyXG4gICAgICBjaGlsZC5zZXRMb2dpblN0YWZmKGxvZ2luU3RhZmYpO1xyXG4gICAgICB0aGlzLnN0YWZmU3ViamVjdC5uZXh0KGxvZ2luU3RhZmYpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TG9naW5TdGFmZigpOiBQcm9taXNlPExvZ2luU3RhZmY+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb24ucHJvbWlzZS50aGVuKChjaGlsZCkgPT5cclxuICAgICAgY2hpbGQuZ2V0TG9naW5TdGFmZihTdG9yYWdlS2V5LmxvZ2luU3RhZmYpLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGVhckxvZ2luU3RhZmYoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbm5lY3Rpb24ucHJvbWlzZS50aGVuKChjaGlsZCkgPT4ge1xyXG4gICAgICBjaGlsZC5jbGVhckxvZ2luU3RhZmYoKTtcclxuICAgICAgdGhpcy5zdGFmZlN1YmplY3QubmV4dCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U3RhZmZVcGRhdGUoKTogT2JzZXJ2YWJsZTxMb2dpblN0YWZmPiB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGFmZlN1YmplY3QuYXNPYnNlcnZhYmxlKCkgYXMgT2JzZXJ2YWJsZTxMb2dpblN0YWZmPjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWZyZXNoTG9naW5TdGFmZk9wdGlvbnMoKSB7XHJcbiAgICB0aGlzLmdldExvZ2luU3RhZmYoKS50aGVuKChvbGRMb2dpblN0YWZmKSA9PiB7XHJcbiAgICAgIHRoaXMuZ2V0U3RhZmZPZmZlbmRlckxpc3RPcHRpb25zKG9sZExvZ2luU3RhZmYuc3RhZmZJZCkuc3Vic2NyaWJlKFxyXG4gICAgICAgIChvcHRpb25EYXRhKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhvcHRpb25EYXRhKTtcclxuICAgICAgICAgIG9sZExvZ2luU3RhZmYub3B0aW9ucyA9IG9wdGlvbkRhdGE7XHJcbiAgICAgICAgICB0aGlzLnNldExvZ2luU3RhZmYob2xkTG9naW5TdGFmZik7XHJcbiAgICAgICAgfSxcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAqIE9mZmVuZGVyIFF1ZXJ5XHJcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICBwdWJsaWMgc2V0T2ZmZW5kZXJRdWVyeShvZmZlbmRlclF1ZXJ5OiBPZmZlbmRlclF1ZXJ5KSB7XHJcbiAgICB0aGlzLmNvbm5lY3Rpb24ucHJvbWlzZS50aGVuKChjaGlsZCkgPT4ge1xyXG4gICAgICBjaGlsZC5zZXRPZmZlbmRlclF1ZXJ5KG9mZmVuZGVyUXVlcnkpO1xyXG4gICAgICB0aGlzLm9mZmVuZGVyUXVlcnlTdWJqZWN0Lm5leHQob2ZmZW5kZXJRdWVyeSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRPZmZlbmRlclF1ZXJ5KCk6IFByb21pc2U8T2ZmZW5kZXJRdWVyeT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvbi5wcm9taXNlLnRoZW4oKGNoaWxkKSA9PlxyXG4gICAgICBjaGlsZC5nZXRPZmZlbmRlclF1ZXJ5KFN0b3JhZ2VLZXkub2ZmZW5kZXJRdWVyeSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyT2ZmZW5kZXJRdWVyeSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29ubmVjdGlvbi5wcm9taXNlLnRoZW4oKGNoaWxkKSA9PiB7XHJcbiAgICAgIGNoaWxkLmNsZWFyT2ZmZW5kZXJRdWVyeSgpO1xyXG4gICAgICB0aGlzLm9mZmVuZGVyUXVlcnlTdWJqZWN0Lm5leHQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldE9mZmVuZGVyUXVlcnlVcGRhdGUoKTogT2JzZXJ2YWJsZTxPZmZlbmRlclF1ZXJ5PiB7XHJcbiAgICByZXR1cm4gdGhpcy5vZmZlbmRlclF1ZXJ5U3ViamVjdC5hc09ic2VydmFibGUoKSBhcyBPYnNlcnZhYmxlPE9mZmVuZGVyUXVlcnk+O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of ngc-smart-core
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/ngc-smart-core.module';
|
|
5
|
+
export * from './lib/smart-auth/smart-auth.service';
|
|
6
|
+
export * from './lib/smart-auth/smart-login-staff-resolver.service';
|
|
7
|
+
export * from './lib/smart-auth/smart-selected-offender-resolver.service';
|
|
8
|
+
export * from './lib/smart-auth/smart-error.component';
|
|
9
|
+
export * from './lib/smart-navbar/smart-navbar.service';
|
|
10
|
+
export * from './lib/smart-navbar/smart-navbar-config';
|
|
11
|
+
export * from './lib/smart-storage/xdm.service';
|
|
12
|
+
export * from './lib/smart-storage/smart-storage-model';
|
|
13
|
+
export * from './lib/smart-staff-offender-options/smart-staff-offender-options.component';
|
|
14
|
+
export * from './lib/smart-offender-header/smart-offender-header.component';
|
|
15
|
+
export * from './lib/smart-auth/smart-access-control.directive';
|
|
16
|
+
export * from './lib/smart-navbar/smart-navbar.component';
|
|
17
|
+
export * from './lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service';
|
|
18
|
+
export * from './lib/smart-auth/smart-access-control-config';
|
|
19
|
+
export * from './lib/smart-auth/smart-authorization-guard.service';
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NzbWFydC9uZ2Mtc21hcnQtY29yZS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsb0RBQW9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbmdjLXNtYXJ0LWNvcmVcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ2Mtc21hcnQtY29yZS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1hdXRoL3NtYXJ0LWF1dGguc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LWF1dGgvc21hcnQtbG9naW4tc3RhZmYtcmVzb2x2ZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LWF1dGgvc21hcnQtc2VsZWN0ZWQtb2ZmZW5kZXItcmVzb2x2ZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LWF1dGgvc21hcnQtZXJyb3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtbmF2YmFyL3NtYXJ0LW5hdmJhci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtbmF2YmFyL3NtYXJ0LW5hdmJhci1jb25maWcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1zdG9yYWdlL3hkbS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtc3RvcmFnZS9zbWFydC1zdG9yYWdlLW1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtc3RhZmYtb2ZmZW5kZXItb3B0aW9ucy9zbWFydC1zdGFmZi1vZmZlbmRlci1vcHRpb25zLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LW9mZmVuZGVyLWhlYWRlci9zbWFydC1vZmZlbmRlci1oZWFkZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtYXV0aC9zbWFydC1hY2Nlc3MtY29udHJvbC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1uYXZiYXIvc21hcnQtbmF2YmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LXN0YWZmLW9mZmVuZGVyLW9wdGlvbnMvc21hcnQtc3RhZmYtb2ZmZW5kZXItb3B0aW9ucy1yZXNvbHZlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtYXV0aC9zbWFydC1hY2Nlc3MtY29udHJvbC1jb25maWcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1hdXRoL3NtYXJ0LWF1dGhvcml6YXRpb24tZ3VhcmQuc2VydmljZSc7XHJcblxyXG4iXX0=
|