vcomply-workflow-engine 6.0.13 → 6.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/add-multiple-responsibility/add-multiple-responsibility.component.mjs +11 -13
- package/esm2022/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.mjs +11 -13
- package/esm2022/lib/add-multiple-risk/add-multiple-risk.component.mjs +13 -15
- package/esm2022/lib/create-documents/create-documents.component.mjs +7 -12
- package/esm2022/lib/interfaces/frequency.interface.mjs +2 -0
- package/esm2022/lib/interfaces/responsibilty.interface.mjs +2 -0
- package/esm2022/lib/log-an-issue/log-an-issue.component.mjs +27 -29
- package/esm2022/lib/report-a-case/components/report-date/report-date.component.mjs +8 -8
- package/esm2022/lib/report-a-case/constants/report-case.constants.mjs +3 -3
- package/esm2022/lib/report-a-case/workflow-case/workflow-case.component.mjs +38 -39
- package/esm2022/lib/sharedComponents/document-section/document-section.component.mjs +11 -13
- package/esm2022/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.mjs +2 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +2 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +2 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +2 -1
- package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +58 -1
- package/esm2022/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +20 -20
- package/esm2022/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.mjs +12 -14
- package/esm2022/lib/workflow-assessment/workflow-assessment.component.mjs +22 -26
- package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +46 -39
- package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +35 -37
- package/esm2022/lib/workflow-program/workflow-program.component.mjs +32 -34
- package/esm2022/lib/workflow-risk/workflow-risk.component.mjs +29 -31
- package/esm2022/lib/workflow-services/responsibility.service.mjs +61 -1
- package/fesm2022/vcomply-workflow-engine.mjs +215 -130
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/add-multiple-responsibility/add-multiple-responsibility.component.d.ts +1 -3
- package/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.d.ts +1 -3
- package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +1 -3
- package/lib/create-documents/create-documents.component.d.ts +1 -3
- package/lib/interfaces/frequency.interface.d.ts +36 -0
- package/lib/interfaces/responsibilty.interface.d.ts +61 -0
- package/lib/log-an-issue/log-an-issue.component.d.ts +1 -3
- package/lib/report-a-case/constants/report-case.constants.d.ts +1 -1
- package/lib/report-a-case/workflow-case/workflow-case.component.d.ts +1 -3
- package/lib/sharedComponents/document-section/document-section.component.d.ts +1 -3
- package/lib/sharedComponents/frequency/frequency.service.d.ts +9 -7
- package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +1 -3
- package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts +1 -3
- package/lib/workflow-assessment/workflow-assessment.component.d.ts +2 -4
- package/lib/workflow-compliance/workflow-compliance.component.d.ts +5 -3
- package/lib/workflow-policy/workflow-policy.component.d.ts +1 -3
- package/lib/workflow-program/workflow-program.component.d.ts +1 -3
- package/lib/workflow-risk/workflow-risk.component.d.ts +3 -5
- package/lib/workflow-services/responsibility.service.d.ts +3 -0
- package/package.json +1 -1
- package/esm2022/lib/services/iframe.service.mjs +0 -31
- package/lib/services/iframe.service.d.ts +0 -6
|
@@ -4,7 +4,6 @@ import { AddRiskService } from '../workflow-services/add-risk.service';
|
|
|
4
4
|
import { AuthService } from '../workflow-services/auth.service';
|
|
5
5
|
import { FrequencyBulkService } from '../workflow-services/frequency.service';
|
|
6
6
|
import { ResponsibilityService } from '../workflow-services/responsibility.service';
|
|
7
|
-
import { IframeService } from '../services/iframe.service';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
8
|
export declare class AddMultipleResponsibilityComponent implements OnChanges {
|
|
10
9
|
private riskService;
|
|
@@ -12,7 +11,6 @@ export declare class AddMultipleResponsibilityComponent implements OnChanges {
|
|
|
12
11
|
private authService;
|
|
13
12
|
private frequencyService;
|
|
14
13
|
private snackBar;
|
|
15
|
-
private iframeService;
|
|
16
14
|
pickerChanged: EventEmitter<any>;
|
|
17
15
|
populateOption: EventEmitter<any>;
|
|
18
16
|
closeWorkflow: EventEmitter<any>;
|
|
@@ -59,7 +57,7 @@ export declare class AddMultipleResponsibilityComponent implements OnChanges {
|
|
|
59
57
|
userInfo: any;
|
|
60
58
|
responsibilityData: any;
|
|
61
59
|
ffBulkUploadOptimization: boolean;
|
|
62
|
-
constructor(riskService: AddRiskService, responsibilityService: ResponsibilityService, authService: AuthService, frequencyService: FrequencyBulkService, snackBar: SnackBarService
|
|
60
|
+
constructor(riskService: AddRiskService, responsibilityService: ResponsibilityService, authService: AuthService, frequencyService: FrequencyBulkService, snackBar: SnackBarService);
|
|
63
61
|
ngOnChanges(changes: SimpleChanges): void;
|
|
64
62
|
ngOnInit(): void;
|
|
65
63
|
triggerBrowseFile(): void;
|
package/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.d.ts
CHANGED
|
@@ -5,7 +5,6 @@ import { AddRiskService } from '../workflow-services/add-risk.service';
|
|
|
5
5
|
import { AuthService } from '../workflow-services/auth.service';
|
|
6
6
|
import { FrequencyBulkService } from '../workflow-services/frequency.service';
|
|
7
7
|
import { ResponsibilityService } from '../workflow-services/responsibility.service';
|
|
8
|
-
import { IframeService } from '../services/iframe.service';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
9
|
export declare class AddMultipleResponsibilityWithTabComponent implements OnInit {
|
|
11
10
|
private riskService;
|
|
@@ -13,7 +12,6 @@ export declare class AddMultipleResponsibilityWithTabComponent implements OnInit
|
|
|
13
12
|
private authService;
|
|
14
13
|
private frequencyService;
|
|
15
14
|
private snackBar;
|
|
16
|
-
private iframeService;
|
|
17
15
|
pickerChanged: EventEmitter<any>;
|
|
18
16
|
populateOption: EventEmitter<any>;
|
|
19
17
|
closeWorkflow: EventEmitter<any>;
|
|
@@ -64,7 +62,7 @@ export declare class AddMultipleResponsibilityWithTabComponent implements OnInit
|
|
|
64
62
|
responsibilityData: any;
|
|
65
63
|
featureflag: any;
|
|
66
64
|
ffBulkUploadOptimization: boolean;
|
|
67
|
-
constructor(riskService: AddRiskService, responsibilityService: ResponsibilityService, authService: AuthService, frequencyService: FrequencyBulkService, snackBar: SnackBarService
|
|
65
|
+
constructor(riskService: AddRiskService, responsibilityService: ResponsibilityService, authService: AuthService, frequencyService: FrequencyBulkService, snackBar: SnackBarService);
|
|
68
66
|
ngOnChanges(changes: SimpleChanges): void;
|
|
69
67
|
ngOnInit(): void;
|
|
70
68
|
triggerBrowseFile(): void;
|
|
@@ -4,14 +4,12 @@ import { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';
|
|
|
4
4
|
import { AddRiskService } from '../workflow-services/add-risk.service';
|
|
5
5
|
import { AuthService } from '../workflow-services/auth.service';
|
|
6
6
|
import { FrequencyBulkService } from '../workflow-services/frequency.service';
|
|
7
|
-
import { IframeService } from '../services/iframe.service';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
8
|
export declare class AddMultipleRiskComponent implements OnInit, OnChanges {
|
|
10
9
|
private riskService;
|
|
11
10
|
private authService;
|
|
12
11
|
private snackBar;
|
|
13
12
|
private frequencyService;
|
|
14
|
-
private iframeService;
|
|
15
13
|
feature: any;
|
|
16
14
|
pickerChanged: EventEmitter<any>;
|
|
17
15
|
populateOption: EventEmitter<any>;
|
|
@@ -56,7 +54,7 @@ export declare class AddMultipleRiskComponent implements OnInit, OnChanges {
|
|
|
56
54
|
defaultOwner: string;
|
|
57
55
|
riskData: any;
|
|
58
56
|
frequencyType: string[];
|
|
59
|
-
constructor(riskService: AddRiskService, authService: AuthService, snackBar: SnackBarService, frequencyService: FrequencyBulkService
|
|
57
|
+
constructor(riskService: AddRiskService, authService: AuthService, snackBar: SnackBarService, frequencyService: FrequencyBulkService);
|
|
60
58
|
ngOnChanges(changes: SimpleChanges): void;
|
|
61
59
|
ngOnInit(): void;
|
|
62
60
|
getCategoryList(): void;
|
|
@@ -3,14 +3,12 @@ import { EventEmitter, OnInit } from '@angular/core';
|
|
|
3
3
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
4
4
|
import { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';
|
|
5
5
|
import { PolicyService } from '../workflow-services/policy.service';
|
|
6
|
-
import { IframeService } from '../services/iframe.service';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
7
|
export declare class CreateDocumentsComponent implements OnInit {
|
|
9
8
|
private snackBar;
|
|
10
9
|
private policyService;
|
|
11
10
|
private router;
|
|
12
11
|
private route;
|
|
13
|
-
private iframeService;
|
|
14
12
|
private fileToUpload;
|
|
15
13
|
filename: string;
|
|
16
14
|
fileType: string;
|
|
@@ -28,7 +26,7 @@ export declare class CreateDocumentsComponent implements OnInit {
|
|
|
28
26
|
disconnectRefresh: EventEmitter<any>;
|
|
29
27
|
editPolicy: EventEmitter<any>;
|
|
30
28
|
baseURL: string;
|
|
31
|
-
constructor(snackBar: SnackBarService, policyService: PolicyService, router: Router, route: ActivatedRoute, platformLocation: PlatformLocation
|
|
29
|
+
constructor(snackBar: SnackBarService, policyService: PolicyService, router: Router, route: ActivatedRoute, platformLocation: PlatformLocation);
|
|
32
30
|
ngOnInit(): void;
|
|
33
31
|
handleFileInput(files: FileList): void;
|
|
34
32
|
uploadFile(event: any): void;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export interface FrequencyObject {
|
|
2
|
+
type: 'one_time' | 'daily' | 'weekly' | 'monthly' | 'quarterly' | 'semester' | 'yearly' | 'random' | 'ongoing' | 'on_completion_of' | 'biannually';
|
|
3
|
+
endAfter: number;
|
|
4
|
+
auttoDeactivate: number;
|
|
5
|
+
day: number;
|
|
6
|
+
time: string;
|
|
7
|
+
repeatOptions?: RepeatOptions;
|
|
8
|
+
random?: Random | {};
|
|
9
|
+
onComplete?: OnComplete | {};
|
|
10
|
+
onGoing?: OnGoing | {};
|
|
11
|
+
}
|
|
12
|
+
interface RepeatOptions {
|
|
13
|
+
every: number;
|
|
14
|
+
repeatOn: string;
|
|
15
|
+
lifecycle: Lifecycle;
|
|
16
|
+
}
|
|
17
|
+
interface Random {
|
|
18
|
+
type: string;
|
|
19
|
+
occurrences: number;
|
|
20
|
+
}
|
|
21
|
+
interface OnComplete {
|
|
22
|
+
rId: number;
|
|
23
|
+
aId: number;
|
|
24
|
+
rcId: number;
|
|
25
|
+
startAfter: number;
|
|
26
|
+
}
|
|
27
|
+
interface OnGoing {
|
|
28
|
+
reminders: number;
|
|
29
|
+
startOf: 'week' | 'month' | 'quarter' | 'semester' | 'year';
|
|
30
|
+
}
|
|
31
|
+
interface Lifecycle {
|
|
32
|
+
startFrom: string;
|
|
33
|
+
endBy: string | undefined;
|
|
34
|
+
endAfter: number;
|
|
35
|
+
}
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
interface Frequency {
|
|
2
|
+
type: 'daily';
|
|
3
|
+
}
|
|
4
|
+
interface Assignee {
|
|
5
|
+
type: 'all' | 'any_one';
|
|
6
|
+
userId: number[];
|
|
7
|
+
userGroupId: number[];
|
|
8
|
+
}
|
|
9
|
+
interface ResponsibilityCenter {
|
|
10
|
+
type: 'any' | 'all';
|
|
11
|
+
id: number[];
|
|
12
|
+
}
|
|
13
|
+
interface ReviewerFrequency {
|
|
14
|
+
dueDays: number;
|
|
15
|
+
extensionDays: number;
|
|
16
|
+
}
|
|
17
|
+
interface Reviewer {
|
|
18
|
+
type: 'sequential' | 'any_one';
|
|
19
|
+
frequency: ReviewerFrequency;
|
|
20
|
+
userId: number[];
|
|
21
|
+
}
|
|
22
|
+
interface OverseerGroup {
|
|
23
|
+
userId: number[];
|
|
24
|
+
userGroupId: number[];
|
|
25
|
+
}
|
|
26
|
+
interface Overseer {
|
|
27
|
+
success: OverseerGroup;
|
|
28
|
+
fail: OverseerGroup;
|
|
29
|
+
}
|
|
30
|
+
interface EvidenceFormat {
|
|
31
|
+
type: 'link' | 'file' | '';
|
|
32
|
+
data: string[];
|
|
33
|
+
}
|
|
34
|
+
interface Evidence {
|
|
35
|
+
required: '0 | 1';
|
|
36
|
+
format: EvidenceFormat;
|
|
37
|
+
}
|
|
38
|
+
interface Program {
|
|
39
|
+
id: number[];
|
|
40
|
+
}
|
|
41
|
+
export interface Responsibility {
|
|
42
|
+
title: string;
|
|
43
|
+
key: number;
|
|
44
|
+
riskClass: 'low' | 'low-medium' | 'medium-high' | 'high';
|
|
45
|
+
notes: string;
|
|
46
|
+
objective: string;
|
|
47
|
+
frequency: Frequency;
|
|
48
|
+
assignorId: number;
|
|
49
|
+
assignee: Assignee;
|
|
50
|
+
responsibilityCenter: ResponsibilityCenter;
|
|
51
|
+
reviewer: Reviewer;
|
|
52
|
+
overseer: Overseer;
|
|
53
|
+
evidence: Evidence;
|
|
54
|
+
tags: {
|
|
55
|
+
[key: string]: string;
|
|
56
|
+
};
|
|
57
|
+
program: Program;
|
|
58
|
+
grcObjectId: any[];
|
|
59
|
+
assessmentId: string;
|
|
60
|
+
}
|
|
61
|
+
export {};
|
|
@@ -10,7 +10,6 @@ import { CommonService } from '../services/common.service';
|
|
|
10
10
|
import { OrganizationUserService } from '../workflow-services/organization-user.service';
|
|
11
11
|
import { OrganizationCommonService } from '../workflow-services/common-workflow-services/organization-common.service';
|
|
12
12
|
import { ComplianceCommonService } from '../workflow-services/common-workflow-services/compliance-common.service';
|
|
13
|
-
import { IframeService } from '../services/iframe.service';
|
|
14
13
|
import * as i0 from "@angular/core";
|
|
15
14
|
export declare class LogAnIssueComponent implements OnInit, OnChanges, AfterViewInit {
|
|
16
15
|
private logService;
|
|
@@ -22,7 +21,6 @@ export declare class LogAnIssueComponent implements OnInit, OnChanges, AfterView
|
|
|
22
21
|
private organizationUserService;
|
|
23
22
|
private organizationCommonService;
|
|
24
23
|
private complianceCommonService;
|
|
25
|
-
private iframeService;
|
|
26
24
|
openedFrom: any;
|
|
27
25
|
source: 'SAP' | 'WORKROOM' | '';
|
|
28
26
|
issueId: any;
|
|
@@ -151,7 +149,7 @@ export declare class LogAnIssueComponent implements OnInit, OnChanges, AfterView
|
|
|
151
149
|
isLinkRC: boolean;
|
|
152
150
|
isRCEditable: boolean;
|
|
153
151
|
isLinkQuestionVisible: boolean;
|
|
154
|
-
constructor(logService: LogIssueService, authService: AuthService, uiKitService: UiKitService, snackBar: SnackBarService, commonService: CommonService, changeDetectorRef: ChangeDetectorRef, organizationUserService: OrganizationUserService, organizationCommonService: OrganizationCommonService, complianceCommonService: ComplianceCommonService
|
|
152
|
+
constructor(logService: LogIssueService, authService: AuthService, uiKitService: UiKitService, snackBar: SnackBarService, commonService: CommonService, changeDetectorRef: ChangeDetectorRef, organizationUserService: OrganizationUserService, organizationCommonService: OrganizationCommonService, complianceCommonService: ComplianceCommonService);
|
|
155
153
|
ngOnInit(): void;
|
|
156
154
|
ngAfterViewInit(): void;
|
|
157
155
|
ngOnChanges(): void;
|
|
@@ -5,7 +5,6 @@ import { UiKitService } from '../../workflow-services/ui-kit.service';
|
|
|
5
5
|
import { OrganizationUserService } from '../../workflow-services/organization-user.service';
|
|
6
6
|
import { ResponsibilityService } from '../../workflow-services/responsibility.service';
|
|
7
7
|
import { ComplianceCommonService } from '../../workflow-services/common-workflow-services/compliance-common.service';
|
|
8
|
-
import { IframeService } from '../../services/iframe.service';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
9
|
export declare class WorkflowCaseComponent implements OnInit, OnDestroy {
|
|
11
10
|
private reportACaseService;
|
|
@@ -13,7 +12,6 @@ export declare class WorkflowCaseComponent implements OnInit, OnDestroy {
|
|
|
13
12
|
private organizationUserService;
|
|
14
13
|
private responsibilityService;
|
|
15
14
|
private complianceCommonService;
|
|
16
|
-
private iframeService;
|
|
17
15
|
reportTexts: {
|
|
18
16
|
case_type: string;
|
|
19
17
|
report_case: string;
|
|
@@ -233,7 +231,7 @@ export declare class WorkflowCaseComponent implements OnInit, OnDestroy {
|
|
|
233
231
|
userListEmitter: EventEmitter<any>;
|
|
234
232
|
disconnectRefresh: EventEmitter<any>;
|
|
235
233
|
pickerChanged: EventEmitter<any>;
|
|
236
|
-
constructor(reportACaseService: ReportACaseService, uiKitService: UiKitService, organizationUserService: OrganizationUserService, responsibilityService: ResponsibilityService, complianceCommonService: ComplianceCommonService
|
|
234
|
+
constructor(reportACaseService: ReportACaseService, uiKitService: UiKitService, organizationUserService: OrganizationUserService, responsibilityService: ResponsibilityService, complianceCommonService: ComplianceCommonService);
|
|
237
235
|
ngOnDestroy(): void;
|
|
238
236
|
ngOnInit(): void;
|
|
239
237
|
permissionLoader(): void;
|
|
@@ -3,14 +3,12 @@ import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
|
3
3
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
4
4
|
import { SnackBarService } from '../../ui-kit/snack-bar/snack-bar.service';
|
|
5
5
|
import { PolicyService } from '../../workflow-services/policy.service';
|
|
6
|
-
import { IframeService } from '../../services/iframe.service';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
7
|
export declare class DocumentSectionComponent implements OnInit, OnChanges {
|
|
9
8
|
private snackBar;
|
|
10
9
|
private policyService;
|
|
11
10
|
private router;
|
|
12
11
|
private route;
|
|
13
|
-
private iframeService;
|
|
14
12
|
private fileToUpload;
|
|
15
13
|
filename: string;
|
|
16
14
|
fileType: string;
|
|
@@ -36,7 +34,7 @@ export declare class DocumentSectionComponent implements OnInit, OnChanges {
|
|
|
36
34
|
visible: boolean;
|
|
37
35
|
message: string;
|
|
38
36
|
};
|
|
39
|
-
constructor(snackBar: SnackBarService, policyService: PolicyService, router: Router, route: ActivatedRoute, platformLocation: PlatformLocation
|
|
37
|
+
constructor(snackBar: SnackBarService, policyService: PolicyService, router: Router, route: ActivatedRoute, platformLocation: PlatformLocation);
|
|
40
38
|
ngOnChanges(changes: SimpleChanges): void;
|
|
41
39
|
ngOnInit(): void;
|
|
42
40
|
handleFileInput(files: FileList): void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
2
|
import { Configurations } from '../../configurations';
|
|
4
3
|
import { AuthService } from '../../workflow-services/auth.service';
|
|
4
|
+
import { FrequencyObject } from '../../interfaces/frequency.interface';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class FrequencyService {
|
|
7
7
|
private http;
|
|
@@ -32,22 +32,24 @@ export declare class FrequencyService {
|
|
|
32
32
|
frequencyDetails: object;
|
|
33
33
|
private env;
|
|
34
34
|
constructor(http: HttpClient, authService: AuthService, config?: Configurations);
|
|
35
|
-
timeFrom12hTo24h(value: string): string
|
|
36
|
-
timeIn12(value: any): string
|
|
35
|
+
timeFrom12hTo24h(value: string): string;
|
|
36
|
+
timeIn12(value: any): string;
|
|
37
37
|
frameworkStartDate(row: any): number;
|
|
38
38
|
frameworkFrequency(frequency: any, start_date: any): {
|
|
39
39
|
frequency_pattern: string;
|
|
40
40
|
continuous_failed_days: number;
|
|
41
|
-
}
|
|
41
|
+
};
|
|
42
42
|
shortHand_freqCal(frequency: any, day: any, month: any, year?: any): {
|
|
43
43
|
pattern: string;
|
|
44
44
|
continuous_failed_days: number;
|
|
45
45
|
};
|
|
46
|
-
getOnCompletionOfResponsibility(): Observable<any[]>;
|
|
46
|
+
getOnCompletionOfResponsibility(): import("rxjs").Observable<any[]>;
|
|
47
47
|
changeTimeZone(date: any): Date;
|
|
48
|
-
getResponsibilityList(payload: any): Observable<any>;
|
|
49
|
-
getResponsibilitiesCount(payload: any): Observable<any>;
|
|
48
|
+
getResponsibilityList(payload: any): import("rxjs").Observable<any>;
|
|
49
|
+
getResponsibilitiesCount(payload: any): import("rxjs").Observable<any>;
|
|
50
50
|
formatDate(): string;
|
|
51
|
+
setFrequencyObject(frequency: any): FrequencyObject | null;
|
|
52
|
+
repeatOptions(frequency: any): string;
|
|
51
53
|
static ɵfac: i0.ɵɵFactoryDeclaration<FrequencyService, [null, null, { optional: true; }]>;
|
|
52
54
|
static ɵprov: i0.ɵɵInjectableDeclaration<FrequencyService>;
|
|
53
55
|
}
|
|
@@ -7,7 +7,6 @@ import { Subscription } from 'rxjs';
|
|
|
7
7
|
import { UiKitService } from '../../../workflow-services/ui-kit.service';
|
|
8
8
|
import { ComplianceCommonService } from '../../../workflow-services/common-workflow-services/compliance-common.service';
|
|
9
9
|
import { OrganizationCommonService } from '../../../workflow-services/common-workflow-services/organization-common.service';
|
|
10
|
-
import { IframeService } from '../../../services/iframe.service';
|
|
11
10
|
import * as i0 from "@angular/core";
|
|
12
11
|
export declare class GrcObjectContainerComponent implements OnInit, OnDestroy {
|
|
13
12
|
private grcService;
|
|
@@ -16,7 +15,6 @@ export declare class GrcObjectContainerComponent implements OnInit, OnDestroy {
|
|
|
16
15
|
private uiKitService;
|
|
17
16
|
private complianceCommonService;
|
|
18
17
|
private organizationCommonService;
|
|
19
|
-
private iframeService;
|
|
20
18
|
MODE: 'CREATE' | 'EDIT';
|
|
21
19
|
ID: string;
|
|
22
20
|
ALL_TEXT: {
|
|
@@ -104,7 +102,7 @@ export declare class GrcObjectContainerComponent implements OnInit, OnDestroy {
|
|
|
104
102
|
hideElementsFromMoreOptions: EventEmitter<any>;
|
|
105
103
|
otherGRCSubscription: Subscription;
|
|
106
104
|
hideMoreOption: any;
|
|
107
|
-
constructor(grcService: GrcService, apiService: ResponsibilityService, authService: AuthService, uiKitService: UiKitService, complianceCommonService: ComplianceCommonService, organizationCommonService: OrganizationCommonService
|
|
105
|
+
constructor(grcService: GrcService, apiService: ResponsibilityService, authService: AuthService, uiKitService: UiKitService, complianceCommonService: ComplianceCommonService, organizationCommonService: OrganizationCommonService);
|
|
108
106
|
ngOnDestroy(): void;
|
|
109
107
|
ngOnInit(): void;
|
|
110
108
|
getSubscriptionDetails(): void;
|
|
@@ -2,12 +2,10 @@ import { EventEmitter } from '@angular/core';
|
|
|
2
2
|
import { AuthService } from '../../workflow-services/auth.service';
|
|
3
3
|
import { AssessmentService } from '../../workflow-services/assessment.service';
|
|
4
4
|
import { CreateAssessmentContainerComponent } from '../../sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component';
|
|
5
|
-
import { IframeService } from '../../services/iframe.service';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
export declare class ImportAnAssessmentComponent {
|
|
8
7
|
private auth;
|
|
9
8
|
assessmentService: AssessmentService;
|
|
10
|
-
private iframeService;
|
|
11
9
|
editorCont: CreateAssessmentContainerComponent;
|
|
12
10
|
closeWorkflow: EventEmitter<any>;
|
|
13
11
|
disconnectRefresh: EventEmitter<any>;
|
|
@@ -35,7 +33,7 @@ export declare class ImportAnAssessmentComponent {
|
|
|
35
33
|
isUploaded: boolean;
|
|
36
34
|
categoryData: any;
|
|
37
35
|
setIsUploaded(isUploaded: boolean): void;
|
|
38
|
-
constructor(auth: AuthService, assessmentService: AssessmentService
|
|
36
|
+
constructor(auth: AuthService, assessmentService: AssessmentService);
|
|
39
37
|
closeSmiley(event: any): void;
|
|
40
38
|
downloadTemplate(): void;
|
|
41
39
|
triggerBrowseFile(): void;
|
|
@@ -5,14 +5,12 @@ import { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';
|
|
|
5
5
|
import { AssessmentService } from '../workflow-services/assessment.service';
|
|
6
6
|
import { AuthService } from '../workflow-services/auth.service';
|
|
7
7
|
import { UiKitService } from '../workflow-services/ui-kit.service';
|
|
8
|
-
import { IframeService } from '../services/iframe.service';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
9
|
export declare class WorkflowAssessmentComponent implements OnInit {
|
|
11
10
|
assessmentService: AssessmentService;
|
|
12
11
|
private authService;
|
|
13
12
|
private uiKitService;
|
|
14
13
|
private snackBar;
|
|
15
|
-
private iframeService;
|
|
16
14
|
activeSelector: any;
|
|
17
15
|
submitted: boolean;
|
|
18
16
|
loader: boolean;
|
|
@@ -34,7 +32,7 @@ export declare class WorkflowAssessmentComponent implements OnInit {
|
|
|
34
32
|
assessmentForm: any;
|
|
35
33
|
assessmentData: any;
|
|
36
34
|
organizationId: number;
|
|
37
|
-
constructor(assessmentService: AssessmentService, authService: AuthService, uiKitService: UiKitService, snackBar: SnackBarService,
|
|
35
|
+
constructor(assessmentService: AssessmentService, authService: AuthService, uiKitService: UiKitService, snackBar: SnackBarService, config?: Configurations);
|
|
38
36
|
selectorConfig: {
|
|
39
37
|
ASSESSMENT_CATGORY: {
|
|
40
38
|
panelTitle: string;
|
|
@@ -63,6 +61,6 @@ export declare class WorkflowAssessmentComponent implements OnInit {
|
|
|
63
61
|
submitAssessment(): false | undefined;
|
|
64
62
|
validateAssessment(): boolean;
|
|
65
63
|
createAssessment(assessmentForm: any): void;
|
|
66
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<WorkflowAssessmentComponent, [null, null, null, null,
|
|
64
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WorkflowAssessmentComponent, [null, null, null, null, { optional: true; }]>;
|
|
67
65
|
static ɵcmp: i0.ɵɵComponentDeclaration<WorkflowAssessmentComponent, "app-workflow-assessment", never, { "mode": { "alias": "mode"; "required": false; }; "assessmentId": { "alias": "assessmentId"; "required": false; }; "openedFrom": { "alias": "openedFrom"; "required": false; }; }, { "disconnectRefresh": "disconnectRefresh"; "pickerChanged": "pickerChanged"; "closeWorkflow": "closeWorkflow"; }, never, never, false, never>;
|
|
68
66
|
}
|
|
@@ -11,7 +11,8 @@ import { GrcService } from '../workflow/shared/services/grc.service';
|
|
|
11
11
|
import { OrganizationUserService } from '../workflow-services/organization-user.service';
|
|
12
12
|
import { ComplianceCommonService } from '../workflow-services/common-workflow-services/compliance-common.service';
|
|
13
13
|
import { OrganizationCommonService } from '../workflow-services/common-workflow-services/organization-common.service';
|
|
14
|
-
import {
|
|
14
|
+
import { FrequencyObject } from '../interfaces/frequency.interface';
|
|
15
|
+
import { Responsibility } from '../interfaces/responsibilty.interface';
|
|
15
16
|
import * as i0 from "@angular/core";
|
|
16
17
|
export declare class WorkflowComplianceComponent implements OnInit {
|
|
17
18
|
private authService;
|
|
@@ -25,7 +26,6 @@ export declare class WorkflowComplianceComponent implements OnInit {
|
|
|
25
26
|
private organizationUserService;
|
|
26
27
|
private complianceCommonService;
|
|
27
28
|
private organizationCommonService;
|
|
28
|
-
private iframeService;
|
|
29
29
|
mode: string;
|
|
30
30
|
responsibilityId: string;
|
|
31
31
|
frameworkDetails: Array<any>;
|
|
@@ -160,6 +160,7 @@ export declare class WorkflowComplianceComponent implements OnInit {
|
|
|
160
160
|
continuous_failed_days: number;
|
|
161
161
|
onCompletionReportDetails: {};
|
|
162
162
|
};
|
|
163
|
+
frequencyObject: FrequencyObject | null;
|
|
163
164
|
frequencyPlaceholder: string;
|
|
164
165
|
shortMonth: Array<string>;
|
|
165
166
|
isEditWhat: Boolean;
|
|
@@ -192,7 +193,7 @@ export declare class WorkflowComplianceComponent implements OnInit {
|
|
|
192
193
|
allowEditDueDateFeatureFlag: boolean;
|
|
193
194
|
whatInput: ElementRef;
|
|
194
195
|
unSubscribeProgram: Subject<void>;
|
|
195
|
-
constructor(authService: AuthService, responsibilityService: ResponsibilityService, frequencyService: FrequencyService, uiKitService: UiKitService, snackBar: SnackBarService, permission: AuthService, programService: ProgramsService, grcService: GrcService, organizationUserService: OrganizationUserService, complianceCommonService: ComplianceCommonService, organizationCommonService: OrganizationCommonService
|
|
196
|
+
constructor(authService: AuthService, responsibilityService: ResponsibilityService, frequencyService: FrequencyService, uiKitService: UiKitService, snackBar: SnackBarService, permission: AuthService, programService: ProgramsService, grcService: GrcService, organizationUserService: OrganizationUserService, complianceCommonService: ComplianceCommonService, organizationCommonService: OrganizationCommonService);
|
|
196
197
|
ngOnInit(): void;
|
|
197
198
|
setFeatureFlags(): void;
|
|
198
199
|
getInitialData(): void;
|
|
@@ -289,6 +290,7 @@ export declare class WorkflowComplianceComponent implements OnInit {
|
|
|
289
290
|
getOnCompletionReportDetails(event: any): any;
|
|
290
291
|
frequencyDataPopulation(event: any): void;
|
|
291
292
|
frequencyPopulation(event: any): void;
|
|
293
|
+
setPayload(event: any): Responsibility | null;
|
|
292
294
|
frequencyData(event: any): void;
|
|
293
295
|
checkBlank(data: string): string;
|
|
294
296
|
/**
|
|
@@ -16,7 +16,6 @@ import { CommonService } from '../services/common.service';
|
|
|
16
16
|
import { OrganizationUserService } from '../workflow-services/organization-user.service';
|
|
17
17
|
import { OrganizationCommonService } from '../workflow-services/common-workflow-services/organization-common.service';
|
|
18
18
|
import { ComplianceCommonService } from '../workflow-services/common-workflow-services/compliance-common.service';
|
|
19
|
-
import { IframeService } from '../services/iframe.service';
|
|
20
19
|
import * as i0 from "@angular/core";
|
|
21
20
|
export declare class WorkflowPolicyComponent implements OnInit {
|
|
22
21
|
private policyService;
|
|
@@ -33,7 +32,6 @@ export declare class WorkflowPolicyComponent implements OnInit {
|
|
|
33
32
|
private organizationUserService;
|
|
34
33
|
private organizationCommonService;
|
|
35
34
|
private complianceCommonService;
|
|
36
|
-
private iframeService;
|
|
37
35
|
CONSTANTS: any;
|
|
38
36
|
LINKS: any;
|
|
39
37
|
pickerChanged: EventEmitter<any>;
|
|
@@ -171,7 +169,7 @@ export declare class WorkflowPolicyComponent implements OnInit {
|
|
|
171
169
|
templateView: boolean;
|
|
172
170
|
templateUrl: string;
|
|
173
171
|
isTemplateClosed: boolean;
|
|
174
|
-
constructor(policyService: PolicyService, snackBar: SnackBarService, uiKitService: UiKitService, authService: AuthService, responsibilityService: ResponsibilityService, router: Router, route: ActivatedRoute, frequencyService: FrequencyService, platformLocation: PlatformLocation, changeRef: ChangeDetectorRef, restApiService: RestApiService, commonService: CommonService, organizationUserService: OrganizationUserService, organizationCommonService: OrganizationCommonService, complianceCommonService: ComplianceCommonService
|
|
172
|
+
constructor(policyService: PolicyService, snackBar: SnackBarService, uiKitService: UiKitService, authService: AuthService, responsibilityService: ResponsibilityService, router: Router, route: ActivatedRoute, frequencyService: FrequencyService, platformLocation: PlatformLocation, changeRef: ChangeDetectorRef, restApiService: RestApiService, commonService: CommonService, organizationUserService: OrganizationUserService, organizationCommonService: OrganizationCommonService, complianceCommonService: ComplianceCommonService);
|
|
175
173
|
policyForm: PolicyForm;
|
|
176
174
|
ngOnInit(): void;
|
|
177
175
|
_initiateAPI(): void;
|
|
@@ -4,14 +4,12 @@ import { DatePickerComponent } from 'ng2-date-picker';
|
|
|
4
4
|
import { AuthService } from '../workflow-services/auth.service';
|
|
5
5
|
import { ProgramsService } from '../workflow-services/programs.service';
|
|
6
6
|
import { UiKitService } from '../workflow-services/ui-kit.service';
|
|
7
|
-
import { IframeService } from '../services/iframe.service';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
8
|
export declare class WorkflowProgramComponent implements OnInit {
|
|
10
9
|
private fb;
|
|
11
10
|
private programService;
|
|
12
11
|
private authService;
|
|
13
12
|
private uiKitService;
|
|
14
|
-
private iframeService;
|
|
15
13
|
private changeRef;
|
|
16
14
|
constants: {
|
|
17
15
|
categoryType: {
|
|
@@ -103,7 +101,7 @@ export declare class WorkflowProgramComponent implements OnInit {
|
|
|
103
101
|
assignorId: number[];
|
|
104
102
|
disableReviewerIds: any[];
|
|
105
103
|
disableOverseerIds: any[];
|
|
106
|
-
constructor(fb: UntypedFormBuilder, programService: ProgramsService, authService: AuthService, uiKitService: UiKitService,
|
|
104
|
+
constructor(fb: UntypedFormBuilder, programService: ProgramsService, authService: AuthService, uiKitService: UiKitService, changeRef: ChangeDetectorRef);
|
|
107
105
|
noWhitespaceValidator(control: UntypedFormControl): {
|
|
108
106
|
whitespace: boolean;
|
|
109
107
|
} | null;
|
|
@@ -10,7 +10,6 @@ import { UiKitService } from '../workflow-services/ui-kit.service';
|
|
|
10
10
|
import { GrcService } from '../workflow/shared/services/grc.service';
|
|
11
11
|
import { Subscription } from 'rxjs';
|
|
12
12
|
import { OrganizationCommonService } from '../workflow-services/common-workflow-services/organization-common.service';
|
|
13
|
-
import { IframeService } from '../services/iframe.service';
|
|
14
13
|
import * as i0 from "@angular/core";
|
|
15
14
|
export declare class WorkflowRiskComponent implements OnInit {
|
|
16
15
|
private riskService;
|
|
@@ -20,7 +19,6 @@ export declare class WorkflowRiskComponent implements OnInit {
|
|
|
20
19
|
private frequencyService;
|
|
21
20
|
private grcService;
|
|
22
21
|
private organizationCommonService;
|
|
23
|
-
private iframeService;
|
|
24
22
|
GRC_TYPE_ARRAY: string[];
|
|
25
23
|
responsibilityCentersList: any;
|
|
26
24
|
selectedResponsibilityCenters: any;
|
|
@@ -98,7 +96,7 @@ export declare class WorkflowRiskComponent implements OnInit {
|
|
|
98
96
|
grcSearchString: string;
|
|
99
97
|
grcTabLoader: boolean;
|
|
100
98
|
settingLoader: boolean;
|
|
101
|
-
constructor(riskService: AddRiskService, authService: AuthService, uiKitService: UiKitService, snackBar: SnackBarService, frequencyService: FrequencyService, grcService: GrcService, organizationCommonService: OrganizationCommonService,
|
|
99
|
+
constructor(riskService: AddRiskService, authService: AuthService, uiKitService: UiKitService, snackBar: SnackBarService, frequencyService: FrequencyService, grcService: GrcService, organizationCommonService: OrganizationCommonService, config?: Configurations);
|
|
102
100
|
description: EditorConfig;
|
|
103
101
|
mitigationDescriptionPlan: EditorConfig;
|
|
104
102
|
ngOnInit(): void;
|
|
@@ -113,7 +111,7 @@ export declare class WorkflowRiskComponent implements OnInit {
|
|
|
113
111
|
setPopupButtons(): void;
|
|
114
112
|
getRiskDetails(riskId: any): void;
|
|
115
113
|
populateOptionalFields(): void;
|
|
116
|
-
setCategoryType(type: any): "
|
|
114
|
+
setCategoryType(type: any): "compliance" | "others" | "strategic" | "operational";
|
|
117
115
|
getRCList(): void;
|
|
118
116
|
getCategoryList(): void;
|
|
119
117
|
getOwnersList(): void;
|
|
@@ -224,6 +222,6 @@ export declare class WorkflowRiskComponent implements OnInit {
|
|
|
224
222
|
removeOtherGRCObjects(event: any): void;
|
|
225
223
|
filterOtherGRCData(event: any, type: string): void;
|
|
226
224
|
resetGRCDataWithTypes(): void;
|
|
227
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<WorkflowRiskComponent, [null, null, null, null, null, null, null,
|
|
225
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WorkflowRiskComponent, [null, null, null, null, null, null, null, { optional: true; }]>;
|
|
228
226
|
static ɵcmp: i0.ɵɵComponentDeclaration<WorkflowRiskComponent, "app-workflow-risk", never, { "feature": { "alias": "feature"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "riskId": { "alias": "riskId"; "required": false; }; "defaultRiskType": { "alias": "defaultRiskType"; "required": false; }; "moveToRegisterMode": { "alias": "moveToRegisterMode"; "required": false; }; "secondaryOpenPortal": { "alias": "secondaryOpenPortal"; "required": false; }; "openedFrom": { "alias": "openedFrom"; "required": false; }; }, { "showConfirmationAlert": "showConfirmationAlert"; "pickerChanged": "pickerChanged"; "populateOption": "populateOption"; "closeWorkflow": "closeWorkflow"; "disconnectRefresh": "disconnectRefresh"; "refreshForm": "refreshForm"; "hideElementsFromMoreOptions": "hideElementsFromMoreOptions"; "rcSelected": "rcSelected"; }, never, never, false, never>;
|
|
229
227
|
}
|
|
@@ -3,6 +3,7 @@ import { Configurations } from '../configurations';
|
|
|
3
3
|
import { AuthService } from './auth.service';
|
|
4
4
|
import { AssessmentList } from '../sharedComponents/assessment-list/service/assessment.interface';
|
|
5
5
|
import { BehaviorSubject, Observable } from 'rxjs';
|
|
6
|
+
import { Responsibility } from '../interfaces/responsibilty.interface';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export declare class ResponsibilityService {
|
|
8
9
|
private http;
|
|
@@ -54,6 +55,8 @@ export declare class ResponsibilityService {
|
|
|
54
55
|
getGRCObjectDetails(id: string): Observable<any[]>;
|
|
55
56
|
addGRCObject(payload: any): Observable<any[]>;
|
|
56
57
|
updateGRCObject(payload: any, _id: string): Observable<any[]>;
|
|
58
|
+
buildResponsibilityPayload(event: any): Responsibility | null;
|
|
59
|
+
getRiskClass(riskClass: 0 | 1 | 2 | 3): 'low' | 'low-medium' | 'medium-high' | 'high';
|
|
57
60
|
static ɵfac: i0.ɵɵFactoryDeclaration<ResponsibilityService, [null, null, { optional: true; }]>;
|
|
58
61
|
static ɵprov: i0.ɵɵInjectableDeclaration<ResponsibilityService>;
|
|
59
62
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vcomply-workflow-engine",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.14",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": " 12.x || 13.x || 14.x || 15.x || 16.x || 17.x || 18.x || 19.x ",
|
|
6
6
|
"@angular/core": " 12.x || 13.x || 14.x || 15.x || 16.x || 17.x || 18.x || 19.x "
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class IframeService {
|
|
4
|
-
redirectIfInIframe(targetUrl, mode = false) {
|
|
5
|
-
// Check if we're in an iframe
|
|
6
|
-
const isInIframe = window !== window.parent;
|
|
7
|
-
if (isInIframe) {
|
|
8
|
-
try {
|
|
9
|
-
// Try to break out of the iframe by redirecting the parent
|
|
10
|
-
window.parent.location.href = targetUrl;
|
|
11
|
-
}
|
|
12
|
-
catch (e) {
|
|
13
|
-
// If that fails due to cross-origin restrictions, try opening in a new tab/window
|
|
14
|
-
window.open(targetUrl, '_blank');
|
|
15
|
-
}
|
|
16
|
-
return; // Redirect was attempted
|
|
17
|
-
}
|
|
18
|
-
if (mode) {
|
|
19
|
-
window.location.href = targetUrl;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IframeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
23
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IframeService, providedIn: 'root' }); }
|
|
24
|
-
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IframeService, decorators: [{
|
|
26
|
-
type: Injectable,
|
|
27
|
-
args: [{
|
|
28
|
-
providedIn: 'root',
|
|
29
|
-
}]
|
|
30
|
-
}] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZyYW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zZXJ2aWNlcy9pZnJhbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sYUFBYTtJQUN4QixrQkFBa0IsQ0FBQyxTQUFpQixFQUFFLE9BQWdCLEtBQUs7UUFDekQsOEJBQThCO1FBQzlCLE1BQU0sVUFBVSxHQUFHLE1BQU0sS0FBSyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBRTVDLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSTtnQkFDRiwyREFBMkQ7Z0JBQzNELE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7YUFDekM7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixrRkFBa0Y7Z0JBQ2xGLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ2xDO1lBQ0QsT0FBTyxDQUFDLHlCQUF5QjtTQUNsQztRQUVELElBQUksSUFBSSxFQUFFO1lBQ1IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQzsrR0FuQlUsYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBJZnJhbWVTZXJ2aWNlIHtcbiAgcmVkaXJlY3RJZkluSWZyYW1lKHRhcmdldFVybDogc3RyaW5nLCBtb2RlOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAvLyBDaGVjayBpZiB3ZSdyZSBpbiBhbiBpZnJhbWVcbiAgICBjb25zdCBpc0luSWZyYW1lID0gd2luZG93ICE9PSB3aW5kb3cucGFyZW50O1xuXG4gICAgaWYgKGlzSW5JZnJhbWUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIFRyeSB0byBicmVhayBvdXQgb2YgdGhlIGlmcmFtZSBieSByZWRpcmVjdGluZyB0aGUgcGFyZW50XG4gICAgICAgIHdpbmRvdy5wYXJlbnQubG9jYXRpb24uaHJlZiA9IHRhcmdldFVybDtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gSWYgdGhhdCBmYWlscyBkdWUgdG8gY3Jvc3Mtb3JpZ2luIHJlc3RyaWN0aW9ucywgdHJ5IG9wZW5pbmcgaW4gYSBuZXcgdGFiL3dpbmRvd1xuICAgICAgICB3aW5kb3cub3Blbih0YXJnZXRVcmwsICdfYmxhbmsnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjsgLy8gUmVkaXJlY3Qgd2FzIGF0dGVtcHRlZFxuICAgIH1cblxuICAgIGlmIChtb2RlKSB7XG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHRhcmdldFVybDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|