vcomply-workflow-engine 2.6.184 → 2.6.186
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/bundles/vcomply-workflow-engine.umd.js +430 -231
- package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
- package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.js +12 -3
- package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.ngfactory.js +46 -45
- package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/owner-list/owner-list.component.js +16 -3
- package/esm2015/lib/sharedComponents/owner-list/owner-list.component.ngfactory.js +26 -25
- package/esm2015/lib/sharedComponents/owner-list/owner-list.component.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/users-radio-list/users-radio-list.component.js +13 -4
- package/esm2015/lib/sharedComponents/users-radio-list/users-radio-list.component.ngfactory.js +22 -21
- package/esm2015/lib/sharedComponents/users-radio-list/users-radio-list.component.ngsummary.json +1 -1
- package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +297 -216
- package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngfactory.js +9 -9
- package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngsummary.json +1 -1
- package/esm2015/lib/workflow-engine.module.ngfactory.js +1 -1
- package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.js +6 -3
- package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngfactory.js +1 -1
- package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngsummary.json +1 -1
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/pipes/tooltip-message.pipe.js +63 -0
- package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/pipes/tooltip-message.pipe.ngsummary.json +1 -0
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.js +15 -2
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngfactory.js +32 -31
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngsummary.json +1 -1
- package/esm2015/lib/workflow-services/frequency.service.js +3 -3
- package/esm2015/vcomply-workflow-engine.js +6 -5
- package/esm2015/vcomply-workflow-engine.ngsummary.json +1 -1
- package/fesm2015/vcomply-workflow-engine.js +417 -228
- package/fesm2015/vcomply-workflow-engine.js.map +1 -1
- package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts +5 -0
- package/lib/sharedComponents/owner-list/owner-list.component.d.ts +6 -0
- package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts +5 -0
- package/lib/workflow-compliance/workflow-compliance.component.d.ts +10 -0
- package/lib/workflow-program/create-program-ui/define-framework-listing/pipes/tooltip-message.pipe.d.ts +4 -0
- package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +6 -0
- package/package.json +1 -1
- package/vcomply-workflow-engine.d.ts +5 -4
- package/vcomply-workflow-engine.metadata.json +1 -1
|
@@ -2615,6 +2615,11 @@ class WorkflowComplianceComponent {
|
|
|
2615
2615
|
this.frameworkDetails = [];
|
|
2616
2616
|
this.isEntrust = true;
|
|
2617
2617
|
this.allGroupAssignee = true;
|
|
2618
|
+
this.assignorId = [];
|
|
2619
|
+
this.assigneeIds = [];
|
|
2620
|
+
this.reviewerIds = [];
|
|
2621
|
+
this.overseerIds = [];
|
|
2622
|
+
this.disableRadioAssignee = [];
|
|
2618
2623
|
this.pickerChanged = new EventEmitter();
|
|
2619
2624
|
this.populateOption = new EventEmitter();
|
|
2620
2625
|
this.hideElementsFromMoreOptions = new EventEmitter();
|
|
@@ -2666,6 +2671,9 @@ class WorkflowComplianceComponent {
|
|
|
2666
2671
|
this.assignorsList = [];
|
|
2667
2672
|
this.assigneesList = [];
|
|
2668
2673
|
this.reviewersList = [];
|
|
2674
|
+
this.disableAssigneeIds = [];
|
|
2675
|
+
this.disableReviewerIds = [];
|
|
2676
|
+
this.disableOverseerIds = [];
|
|
2669
2677
|
this.reviewerMemberIdsList = [];
|
|
2670
2678
|
this.groupOverseerList = [];
|
|
2671
2679
|
this.groupReviewerList = [];
|
|
@@ -2915,10 +2923,11 @@ class WorkflowComplianceComponent {
|
|
|
2915
2923
|
this.hideElementsFromMoreOptions.emit(this.hiddenList);
|
|
2916
2924
|
}
|
|
2917
2925
|
activateSelector(type, event) {
|
|
2926
|
+
var _a;
|
|
2918
2927
|
this.activeSelector = event ? type : '';
|
|
2919
2928
|
if (type === 'checkpoints-new')
|
|
2920
2929
|
this.authService.previewPanel.next(event);
|
|
2921
|
-
if (this.sideSelectorElements.includes(type)) {
|
|
2930
|
+
if ((_a = this.sideSelectorElements) === null || _a === void 0 ? void 0 : _a.includes(type)) {
|
|
2922
2931
|
this.pickerChanged.emit(event);
|
|
2923
2932
|
}
|
|
2924
2933
|
}
|
|
@@ -2957,7 +2966,7 @@ class WorkflowComplianceComponent {
|
|
|
2957
2966
|
this.responsibilityCentersList = res;
|
|
2958
2967
|
this.rcListLoaded = true;
|
|
2959
2968
|
const ids = this.returnIds(this.responsibilityForm.rc, 'item_id');
|
|
2960
|
-
const RC = this.responsibilityCentersList.filter((element) => ids.includes(element.item_id));
|
|
2969
|
+
const RC = this.responsibilityCentersList.filter((element) => ids === null || ids === void 0 ? void 0 : ids.includes(element.item_id));
|
|
2961
2970
|
if (RC === null || RC === void 0 ? void 0 : RC.length) {
|
|
2962
2971
|
this.responsibilityForm.rc = RC;
|
|
2963
2972
|
}
|
|
@@ -2986,8 +2995,9 @@ class WorkflowComplianceComponent {
|
|
|
2986
2995
|
getAssurance() {
|
|
2987
2996
|
this.assuranceCategoryListLoaded = true;
|
|
2988
2997
|
this.responsibilityService.getAssurance().subscribe((res) => {
|
|
2998
|
+
var _a;
|
|
2989
2999
|
this.assuranceCategoriesList = res;
|
|
2990
|
-
if ((this.subscriptionDetails && !this.subscriptionDetails[0].assurance_flag) || this.assuranceCategoriesList.length == 0) {
|
|
3000
|
+
if ((this.subscriptionDetails && !this.subscriptionDetails[0].assurance_flag) || ((_a = this.assuranceCategoriesList) === null || _a === void 0 ? void 0 : _a.length) == 0) {
|
|
2991
3001
|
this.hiddenList.push('ASSURANCE');
|
|
2992
3002
|
}
|
|
2993
3003
|
this.hideElementsFromMoreOptions.emit(this.hiddenList);
|
|
@@ -3000,8 +3010,9 @@ class WorkflowComplianceComponent {
|
|
|
3000
3010
|
getAssuranceForRequiresAudit() {
|
|
3001
3011
|
// this.assuranceCategoryListLoaded = true;
|
|
3002
3012
|
this.responsibilityService.getAssuranceForRequiresAudit().subscribe((res) => {
|
|
3013
|
+
var _a;
|
|
3003
3014
|
this.assuranceRequiresAuditList = res;
|
|
3004
|
-
if ((this.subscriptionDetails && !this.subscriptionDetails[0].audit_flag) || this.assuranceRequiresAuditList.length == 0) {
|
|
3015
|
+
if ((this.subscriptionDetails && !this.subscriptionDetails[0].audit_flag) || ((_a = this.assuranceRequiresAuditList) === null || _a === void 0 ? void 0 : _a.length) == 0) {
|
|
3005
3016
|
this.hiddenList.push('REQUIRES_AUDIT');
|
|
3006
3017
|
}
|
|
3007
3018
|
this.hideElementsFromMoreOptions.emit(this.hiddenList);
|
|
@@ -3062,11 +3073,11 @@ class WorkflowComplianceComponent {
|
|
|
3062
3073
|
getProgramDetails(programId) {
|
|
3063
3074
|
this.loader = true;
|
|
3064
3075
|
this.programService.getProgram(programId).subscribe((res) => {
|
|
3065
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
3076
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
3066
3077
|
if ((res === null || res === void 0 ? void 0 : res.assessment) && ((_a = res === null || res === void 0 ? void 0 : res.assessment) === null || _a === void 0 ? void 0 : _a.length) && ((_c = Object.keys((_b = this.responsibilityForm) === null || _b === void 0 ? void 0 : _b.assessment)) === null || _c === void 0 ? void 0 : _c.length)) {
|
|
3067
3078
|
const categoryAssessment = res === null || res === void 0 ? void 0 : res.assessment.filter((assessment) => { var _a, _b; return ((_b = (_a = this.responsibilityForm) === null || _a === void 0 ? void 0 : _a.assessment) === null || _b === void 0 ? void 0 : _b.category_id) === (assessment === null || assessment === void 0 ? void 0 : assessment.category_id); });
|
|
3068
3079
|
if ((categoryAssessment === null || categoryAssessment === void 0 ? void 0 : categoryAssessment.length) && ((_e = (_d = categoryAssessment[0]) === null || _d === void 0 ? void 0 : _d.assessmentIds) === null || _e === void 0 ? void 0 : _e.length)) {
|
|
3069
|
-
const isExist = (_f = categoryAssessment[0]) === null || _f === void 0 ? void 0 : _f.assessmentIds.includes((
|
|
3080
|
+
const isExist = (_g = (_f = categoryAssessment[0]) === null || _f === void 0 ? void 0 : _f.assessmentIds) === null || _g === void 0 ? void 0 : _g.includes((_j = (_h = this.responsibilityForm) === null || _h === void 0 ? void 0 : _h.assessment) === null || _j === void 0 ? void 0 : _j.assessment_id);
|
|
3070
3081
|
if (!isExist) {
|
|
3071
3082
|
this.responsibilityForm.assessment = { assessment_id: "", category_id: "" };
|
|
3072
3083
|
}
|
|
@@ -3131,7 +3142,7 @@ class WorkflowComplianceComponent {
|
|
|
3131
3142
|
params = params.append('program_ids', program_id);
|
|
3132
3143
|
}
|
|
3133
3144
|
this.responsibilityService.getOrganizationPeople(params).subscribe((res) => {
|
|
3134
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6;
|
|
3145
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8;
|
|
3135
3146
|
this.assigneesList = res.assignee.map((user) => {
|
|
3136
3147
|
user.member_name = user.employee_name;
|
|
3137
3148
|
return user;
|
|
@@ -3149,12 +3160,12 @@ class WorkflowComplianceComponent {
|
|
|
3149
3160
|
reviewersList: [...new Set(this.reviewersList)],
|
|
3150
3161
|
overseersList: [...new Set(this.overseersList)],
|
|
3151
3162
|
};
|
|
3152
|
-
if (((_b = (_a = this.responsibilityForm) === null || _a === void 0 ? void 0 : _a.program[0]) === null || _b === void 0 ? void 0 : _b.default_assignee_ids) || this.responsibilityForm.assignees.list.length) {
|
|
3153
|
-
if (this.responsibilityForm.assignees.list.length) {
|
|
3163
|
+
if (((_b = (_a = this.responsibilityForm) === null || _a === void 0 ? void 0 : _a.program[0]) === null || _b === void 0 ? void 0 : _b.default_assignee_ids) || ((_c = this.responsibilityForm.assignees.list) === null || _c === void 0 ? void 0 : _c.length)) {
|
|
3164
|
+
if ((_d = this.responsibilityForm.assignees.list) === null || _d === void 0 ? void 0 : _d.length) {
|
|
3154
3165
|
const ids = this.returnIds(this.responsibilityForm.assignees.list, 'my_member_id');
|
|
3155
|
-
const allIds = [...new Set(ids), ...new Set((
|
|
3156
|
-
const assignors = this.assigneesList.filter((element) => allIds.includes(element.my_member_id));
|
|
3157
|
-
if (assignors.length) {
|
|
3166
|
+
const allIds = [...new Set(ids), ...new Set((_f = (_e = this.responsibilityForm) === null || _e === void 0 ? void 0 : _e.program[0]) === null || _f === void 0 ? void 0 : _f.default_assignee_ids)];
|
|
3167
|
+
const assignors = this.assigneesList.filter((element) => allIds === null || allIds === void 0 ? void 0 : allIds.includes(element === null || element === void 0 ? void 0 : element.my_member_id));
|
|
3168
|
+
if (assignors === null || assignors === void 0 ? void 0 : assignors.length) {
|
|
3158
3169
|
this.responsibilityForm.assignees.list = assignors;
|
|
3159
3170
|
}
|
|
3160
3171
|
else {
|
|
@@ -3162,8 +3173,8 @@ class WorkflowComplianceComponent {
|
|
|
3162
3173
|
}
|
|
3163
3174
|
}
|
|
3164
3175
|
else {
|
|
3165
|
-
const assignors = this.assigneesList.filter((element) => { var _a, _b; return (_b = (_a = this.responsibilityForm) === null || _a === void 0 ? void 0 : _a.program[0]) === null || _b === void 0 ? void 0 : _b.default_assignee_ids.includes(element.my_member_id); });
|
|
3166
|
-
if (assignors.length) {
|
|
3176
|
+
const assignors = this.assigneesList.filter((element) => { var _a, _b, _c; return (_c = (_b = (_a = this.responsibilityForm) === null || _a === void 0 ? void 0 : _a.program[0]) === null || _b === void 0 ? void 0 : _b.default_assignee_ids) === null || _c === void 0 ? void 0 : _c.includes(element === null || element === void 0 ? void 0 : element.my_member_id); });
|
|
3177
|
+
if (assignors === null || assignors === void 0 ? void 0 : assignors.length) {
|
|
3167
3178
|
this.responsibilityForm.assignees.list = assignors;
|
|
3168
3179
|
}
|
|
3169
3180
|
}
|
|
@@ -3175,12 +3186,12 @@ class WorkflowComplianceComponent {
|
|
|
3175
3186
|
this.populateProgramAssigneeGroup();
|
|
3176
3187
|
}
|
|
3177
3188
|
const checkedMoreOptions = [];
|
|
3178
|
-
if (((
|
|
3189
|
+
if (((_h = (_g = this.responsibilityForm) === null || _g === void 0 ? void 0 : _g.program[0]) === null || _h === void 0 ? void 0 : _h.default_reviewers) || ((_l = (_k = (_j = this.responsibilityForm) === null || _j === void 0 ? void 0 : _j.reviewers) === null || _k === void 0 ? void 0 : _k.list) === null || _l === void 0 ? void 0 : _l.length) || ((_p = (_o = (_m = this.responsibilityForm) === null || _m === void 0 ? void 0 : _m.groupReviewers) === null || _o === void 0 ? void 0 : _o.list) === null || _p === void 0 ? void 0 : _p.length)) {
|
|
3179
3190
|
const ids = this.returnIds(this.responsibilityForm.reviewers.list, 'my_member_id');
|
|
3180
3191
|
const allIds = [...new Set(ids), ...new Set(this.responsibilityForm.program[0].default_reviewers)];
|
|
3181
|
-
const reviewers = this.reviewersList.filter((element) => allIds.includes(element.my_member_id));
|
|
3182
|
-
// const reviewers = this.reviewersList.filter((element: any) => this.responsibilityForm.program[0].default_reviewers
|
|
3183
|
-
if ((reviewers.length || (this.featureFlag_groups && ((
|
|
3192
|
+
const reviewers = this.reviewersList.filter((element) => allIds === null || allIds === void 0 ? void 0 : allIds.includes(element === null || element === void 0 ? void 0 : element.my_member_id));
|
|
3193
|
+
// const reviewers = this.reviewersList.filter((element: any) => this.responsibilityForm.program[0].default_reviewers?.includes(element?.my_member_id));
|
|
3194
|
+
if (((reviewers === null || reviewers === void 0 ? void 0 : reviewers.length) || (this.featureFlag_groups && ((_s = (_r = (_q = this.responsibilityForm) === null || _q === void 0 ? void 0 : _q.groupReviewers) === null || _r === void 0 ? void 0 : _r.list) === null || _s === void 0 ? void 0 : _s.length) > 0))) {
|
|
3184
3195
|
this.responsibilityForm.reviewers.list = reviewers;
|
|
3185
3196
|
this.responsibilityForm.reviewers.list = reviewers;
|
|
3186
3197
|
if (this.featureFlag_groups) {
|
|
@@ -3195,24 +3206,24 @@ class WorkflowComplianceComponent {
|
|
|
3195
3206
|
else {
|
|
3196
3207
|
this.responsibilityForm.reviewers.list = [];
|
|
3197
3208
|
}
|
|
3198
|
-
if (this.responsibilityForm.program[0].default_overseers || ((
|
|
3199
|
-
const ids = this.returnIds((
|
|
3200
|
-
const allDefaultCCIds = [...new Set(ids), ...new Set((
|
|
3201
|
-
const overseersCC = (
|
|
3209
|
+
if (this.responsibilityForm.program[0].default_overseers || ((_v = (_u = (_t = this.responsibilityForm) === null || _t === void 0 ? void 0 : _t.overseers) === null || _u === void 0 ? void 0 : _u.list) === null || _v === void 0 ? void 0 : _v.length) || ((_y = (_x = (_w = this.responsibilityForm) === null || _w === void 0 ? void 0 : _w.overseers) === null || _x === void 0 ? void 0 : _x.notifyList) === null || _y === void 0 ? void 0 : _y.length)) {
|
|
3210
|
+
const ids = this.returnIds((_0 = (_z = this.responsibilityForm) === null || _z === void 0 ? void 0 : _z.overseers) === null || _0 === void 0 ? void 0 : _0.list, 'my_member_id');
|
|
3211
|
+
const allDefaultCCIds = [...new Set(ids), ...new Set((_3 = (_2 = (_1 = this.responsibilityForm) === null || _1 === void 0 ? void 0 : _1.program[0]) === null || _2 === void 0 ? void 0 : _2.default_overseers) === null || _3 === void 0 ? void 0 : _3.cc_email)];
|
|
3212
|
+
const overseersCC = (_4 = this.overseersList) === null || _4 === void 0 ? void 0 : _4.filter((element) => allDefaultCCIds === null || allDefaultCCIds === void 0 ? void 0 : allDefaultCCIds.includes(element === null || element === void 0 ? void 0 : element.my_member_id));
|
|
3202
3213
|
// const overseers = this.overseersList.filter((element: any) => this.responsibilityForm.program[0].default_overseers.cc_email.includes(element.my_member_id));
|
|
3203
3214
|
const notifyListIds = this.returnIds(this.responsibilityForm.overseers.notifyList, 'my_member_id');
|
|
3204
|
-
const allDefaultCCFailureIds = [...new Set(notifyListIds), ...new Set((
|
|
3205
|
-
const overseersCCFailure = (
|
|
3215
|
+
const allDefaultCCFailureIds = [...new Set(notifyListIds), ...new Set((_7 = (_6 = (_5 = this.responsibilityForm) === null || _5 === void 0 ? void 0 : _5.program[0]) === null || _6 === void 0 ? void 0 : _6.default_overseers) === null || _7 === void 0 ? void 0 : _7.failure_cc_email)];
|
|
3216
|
+
const overseersCCFailure = (_8 = this.overseersList) === null || _8 === void 0 ? void 0 : _8.filter((element) => allDefaultCCFailureIds === null || allDefaultCCFailureIds === void 0 ? void 0 : allDefaultCCFailureIds.includes(element === null || element === void 0 ? void 0 : element.my_member_id));
|
|
3206
3217
|
// const notifyOverseers = this.overseersList.filter((element: any) => this.responsibilityForm.program[0].default_overseers.failure_cc_email.includes(element.my_member_id));
|
|
3207
|
-
// if (overseers
|
|
3218
|
+
// if (overseers?.length) {
|
|
3208
3219
|
// this.responsibilityForm.overseers.list = overseers;
|
|
3209
3220
|
// this.moreOptions.OVERSEER = true;
|
|
3210
3221
|
// }
|
|
3211
|
-
// if (notifyOverseers
|
|
3222
|
+
// if (notifyOverseers?.length) {
|
|
3212
3223
|
// this.responsibilityForm.overseers.notifyList = notifyOverseers;
|
|
3213
3224
|
// this.moreOptions.OVERSEER = true;
|
|
3214
3225
|
// }
|
|
3215
|
-
if (overseersCC.length) {
|
|
3226
|
+
if (overseersCC === null || overseersCC === void 0 ? void 0 : overseersCC.length) {
|
|
3216
3227
|
this.responsibilityForm.overseers.list = overseersCC;
|
|
3217
3228
|
if (this.featureFlag_groups) {
|
|
3218
3229
|
this.responsibilityForm.overseers.list = this.assignUserMemberId(this.responsibilityForm.overseers.list);
|
|
@@ -3222,7 +3233,7 @@ class WorkflowComplianceComponent {
|
|
|
3222
3233
|
else {
|
|
3223
3234
|
this.responsibilityForm.overseers.list = [];
|
|
3224
3235
|
}
|
|
3225
|
-
if (overseersCCFailure.length) {
|
|
3236
|
+
if (overseersCCFailure === null || overseersCCFailure === void 0 ? void 0 : overseersCCFailure.length) {
|
|
3226
3237
|
this.responsibilityForm.overseers.notifyList = overseersCCFailure;
|
|
3227
3238
|
if (this.featureFlag_groups) {
|
|
3228
3239
|
this.responsibilityForm.overseers.notifyList = this.assignUserMemberId(this.responsibilityForm.overseers.notifyList);
|
|
@@ -3253,7 +3264,7 @@ class WorkflowComplianceComponent {
|
|
|
3253
3264
|
params = params.append('program_ids', program_id);
|
|
3254
3265
|
}
|
|
3255
3266
|
this.responsibilityService.getOrganizationGroups(params).pipe(takeUntil(this.unSubscribeProgram)).subscribe((res) => {
|
|
3256
|
-
var _a, _b;
|
|
3267
|
+
var _a, _b, _c, _d, _e;
|
|
3257
3268
|
const data = res !== null && res !== void 0 ? res : [];
|
|
3258
3269
|
this.OrgGroup = data;
|
|
3259
3270
|
const groups = [];
|
|
@@ -3268,15 +3279,15 @@ class WorkflowComplianceComponent {
|
|
|
3268
3279
|
}
|
|
3269
3280
|
this.groupsList = groups;
|
|
3270
3281
|
this.groupsListLoaded = true;
|
|
3271
|
-
if (this.featureFlag_groups && this.OrgGroup.length && this.responsibilityForm.program.length) {
|
|
3282
|
+
if (this.featureFlag_groups && ((_a = this.OrgGroup) === null || _a === void 0 ? void 0 : _a.length) && ((_b = this.responsibilityForm.program) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
3272
3283
|
this.refreshListsWhileProgramSelected();
|
|
3273
3284
|
}
|
|
3274
3285
|
else {
|
|
3275
3286
|
this.refreshAllLists();
|
|
3276
3287
|
}
|
|
3277
|
-
if (((
|
|
3278
|
-
const selectedGroups = data.filter((element) => this.responsibilityForm.program[0].default_assignee_group_ids.includes(element.group_id));
|
|
3279
|
-
if (groups.length) {
|
|
3288
|
+
if (((_d = (_c = this.responsibilityForm) === null || _c === void 0 ? void 0 : _c.program[0]) === null || _d === void 0 ? void 0 : _d.default_assignee_group_ids) && program_id) {
|
|
3289
|
+
const selectedGroups = data.filter((element) => { var _a; return (_a = this.responsibilityForm.program[0].default_assignee_group_ids) === null || _a === void 0 ? void 0 : _a.includes(element.group_id); });
|
|
3290
|
+
if (groups === null || groups === void 0 ? void 0 : groups.length) {
|
|
3280
3291
|
let memberIds = [];
|
|
3281
3292
|
selectedGroups.forEach((eachGroup) => {
|
|
3282
3293
|
var _a;
|
|
@@ -3284,17 +3295,17 @@ class WorkflowComplianceComponent {
|
|
|
3284
3295
|
memberIds = [...new Set(memberIds.concat(eachGroup === null || eachGroup === void 0 ? void 0 : eachGroup.member_ids))];
|
|
3285
3296
|
}
|
|
3286
3297
|
});
|
|
3287
|
-
if (this.responsibilityForm.assignees.list.length) {
|
|
3298
|
+
if ((_e = this.responsibilityForm.assignees.list) === null || _e === void 0 ? void 0 : _e.length) {
|
|
3288
3299
|
const ids = this.returnIds(this.responsibilityForm.assignees.list, 'my_member_id');
|
|
3289
3300
|
const allIds = [...new Set(ids), ...new Set(memberIds)];
|
|
3290
|
-
const assignors = this.assigneesList.filter((element) => allIds.includes(element.my_member_id));
|
|
3291
|
-
if (assignors.length) {
|
|
3301
|
+
const assignors = this.assigneesList.filter((element) => allIds === null || allIds === void 0 ? void 0 : allIds.includes(element === null || element === void 0 ? void 0 : element.my_member_id));
|
|
3302
|
+
if (assignors === null || assignors === void 0 ? void 0 : assignors.length) {
|
|
3292
3303
|
this.responsibilityForm.assignees.list = assignors;
|
|
3293
3304
|
}
|
|
3294
3305
|
}
|
|
3295
3306
|
else {
|
|
3296
|
-
const assignors = this.assigneesList.filter((element) => memberIds.includes(element.my_member_id));
|
|
3297
|
-
if (assignors.length) {
|
|
3307
|
+
const assignors = this.assigneesList.filter((element) => memberIds === null || memberIds === void 0 ? void 0 : memberIds.includes(element === null || element === void 0 ? void 0 : element.my_member_id));
|
|
3308
|
+
if (assignors === null || assignors === void 0 ? void 0 : assignors.length) {
|
|
3298
3309
|
this.responsibilityForm.assignees.list = assignors;
|
|
3299
3310
|
}
|
|
3300
3311
|
}
|
|
@@ -3307,7 +3318,7 @@ class WorkflowComplianceComponent {
|
|
|
3307
3318
|
}
|
|
3308
3319
|
getEditResponsibilityDetails(id) {
|
|
3309
3320
|
this.responsibilityService.editResponsibility(id).subscribe((res) => {
|
|
3310
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
|
|
3321
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
|
|
3311
3322
|
this.isDuplicateEntrust = true;
|
|
3312
3323
|
if (res) {
|
|
3313
3324
|
this.originalAssignee = [Number(res.assigned_to)];
|
|
@@ -3323,7 +3334,7 @@ class WorkflowComplianceComponent {
|
|
|
3323
3334
|
const testPlanCategory = typeof (res === null || res === void 0 ? void 0 : res.testplan_category_id) === 'string' ? [] : res === null || res === void 0 ? void 0 : res.testplan_category_id;
|
|
3324
3335
|
const requiredAuditCategoryId = ((_b = res === null || res === void 0 ? void 0 : res.audit_category_details) === null || _b === void 0 ? void 0 : _b.category_id) ? [(_c = res === null || res === void 0 ? void 0 : res.audit_category_details) === null || _c === void 0 ? void 0 : _c.category_id] : [];
|
|
3325
3336
|
const reviewerDetails = Object.keys(res === null || res === void 0 ? void 0 : res.reviewer_arr);
|
|
3326
|
-
this.hasReviewer = reviewerDetails.length > 0;
|
|
3337
|
+
this.hasReviewer = (reviewerDetails === null || reviewerDetails === void 0 ? void 0 : reviewerDetails.length) > 0;
|
|
3327
3338
|
this.assigneeRadioSelect = (((_d = res === null || res === void 0 ? void 0 : res.assigned_to_member_id) === null || _d === void 0 ? void 0 : _d.length) == 0) ? true : false;
|
|
3328
3339
|
this.isEntrust = res.isGroupAssignTo ? true : false;
|
|
3329
3340
|
let linkage = res === null || res === void 0 ? void 0 : res.linkedProgramDetails;
|
|
@@ -3331,7 +3342,7 @@ class WorkflowComplianceComponent {
|
|
|
3331
3342
|
this.responsibilityForm = {
|
|
3332
3343
|
assignors: {
|
|
3333
3344
|
enable: false,
|
|
3334
|
-
list: this.setList(this.assignorsList, [res.member_id], 'member_id').length > 0 ? this.setList(this.assignorsList, [res.member_id], 'member_id') : [currentsUerInfo],
|
|
3345
|
+
list: ((_e = this.setList(this.assignorsList, [res.member_id], 'member_id')) === null || _e === void 0 ? void 0 : _e.length) > 0 ? this.setList(this.assignorsList, [res.member_id], 'member_id') : [currentsUerInfo],
|
|
3335
3346
|
},
|
|
3336
3347
|
responsibility: {
|
|
3337
3348
|
name: res === null || res === void 0 ? void 0 : res.report_name,
|
|
@@ -3339,36 +3350,36 @@ class WorkflowComplianceComponent {
|
|
|
3339
3350
|
},
|
|
3340
3351
|
assignees: {
|
|
3341
3352
|
whoCanComplete: (res.isGroupAssignTo) ? 'ANY_ONE' : 'ALL',
|
|
3342
|
-
list: (res.assigned_to_member_id.length == 0) ? this.setList(this.assigneesList, [Number(res.assigned_to)], 'employee_id') :
|
|
3353
|
+
list: (((_f = res.assigned_to_member_id) === null || _f === void 0 ? void 0 : _f.length) == 0) ? this.setList(this.assigneesList, [Number(res.assigned_to)], 'employee_id') :
|
|
3343
3354
|
this.setList(this.assigneesList, res.assigned_to_member_id, 'my_member_id'),
|
|
3344
3355
|
},
|
|
3345
3356
|
frequency: res === null || res === void 0 ? void 0 : res.frequency_details,
|
|
3346
3357
|
description: res === null || res === void 0 ? void 0 : res.remarks,
|
|
3347
3358
|
objective: res === null || res === void 0 ? void 0 : res.objective,
|
|
3348
3359
|
rc: this.setList(this.responsibilityCentersList, [Number(res === null || res === void 0 ? void 0 : res.rc_id)], 'rc_id'),
|
|
3349
|
-
category: ((
|
|
3350
|
-
program_selected_ids: (
|
|
3351
|
-
category_id: (
|
|
3360
|
+
category: ((_g = res === null || res === void 0 ? void 0 : res.program_cat_ids) === null || _g === void 0 ? void 0 : _g.length) ? res === null || res === void 0 ? void 0 : res.category_ids_array.filter((ele) => { var _a; return !((_a = res.program_cat_ids) === null || _a === void 0 ? void 0 : _a.includes(ele)); }) : res === null || res === void 0 ? void 0 : res.category_ids_array,
|
|
3361
|
+
program_selected_ids: (_h = res === null || res === void 0 ? void 0 : res.category_id.split(',')) !== null && _h !== void 0 ? _h : [],
|
|
3362
|
+
category_id: (_j = res === null || res === void 0 ? void 0 : res.category_id) !== null && _j !== void 0 ? _j : '',
|
|
3352
3363
|
linkedProgram: linkage !== null && linkage !== void 0 ? linkage : res === null || res === void 0 ? void 0 : res.linkedProgramDetails,
|
|
3353
|
-
program: ((
|
|
3364
|
+
program: ((_k = res === null || res === void 0 ? void 0 : res.programDetails) === null || _k === void 0 ? void 0 : _k.category_id) ? [res === null || res === void 0 ? void 0 : res.programDetails] : [],
|
|
3354
3365
|
checkpointInstruction: res === null || res === void 0 ? void 0 : res.checkpoint_description,
|
|
3355
3366
|
customTags: (res === null || res === void 0 ? void 0 : res.custom_tags) ? JSON.parse(res === null || res === void 0 ? void 0 : res.custom_tags) : '',
|
|
3356
3367
|
checkpoints: (res === null || res === void 0 ? void 0 : res.checkpoint_details) ? JSON.parse(res === null || res === void 0 ? void 0 : res.checkpoint_details) : '',
|
|
3357
3368
|
reviewers: {
|
|
3358
|
-
sequentialWorkflow: (((
|
|
3369
|
+
sequentialWorkflow: (((_m = (_l = res === null || res === void 0 ? void 0 : res.reviewer_arr) === null || _l === void 0 ? void 0 : _l.level1) === null || _m === void 0 ? void 0 : _m.type) == 'SEQUENTIAL') ? true : false,
|
|
3359
3370
|
reviewFrequency: {
|
|
3360
3371
|
reviewCompleteDays: ((reviewerDetails === null || reviewerDetails === void 0 ? void 0 : reviewerDetails.length) > 0) ? res === null || res === void 0 ? void 0 : res.review_after_days : 2,
|
|
3361
3372
|
reviewNOtCompletedDays: ((reviewerDetails === null || reviewerDetails === void 0 ? void 0 : reviewerDetails.length) > 0) ? res === null || res === void 0 ? void 0 : res.review_failed_after_days : 2
|
|
3362
3373
|
},
|
|
3363
|
-
acceptedData: (reviewerDetails === null || reviewerDetails === void 0 ? void 0 : reviewerDetails.length) > 0 ? (
|
|
3364
|
-
list: (reviewerDetails === null || reviewerDetails === void 0 ? void 0 : reviewerDetails.length) > 0 ? this.setReviewerPayload((
|
|
3374
|
+
acceptedData: (reviewerDetails === null || reviewerDetails === void 0 ? void 0 : reviewerDetails.length) > 0 ? (_p = (_o = res === null || res === void 0 ? void 0 : res.reviewer_arr) === null || _o === void 0 ? void 0 : _o.level1) === null || _p === void 0 ? void 0 : _p.reviewers : [],
|
|
3375
|
+
list: (reviewerDetails === null || reviewerDetails === void 0 ? void 0 : reviewerDetails.length) > 0 ? this.setReviewerPayload((_r = (_q = res === null || res === void 0 ? void 0 : res.reviewer_arr) === null || _q === void 0 ? void 0 : _q.level1) === null || _r === void 0 ? void 0 : _r.reviewers, 'object', (_t = (_s = res === null || res === void 0 ? void 0 : res.reviewer_arr) === null || _s === void 0 ? void 0 : _s.level1) === null || _t === void 0 ? void 0 : _t.type) : []
|
|
3365
3376
|
},
|
|
3366
3377
|
overseers: {
|
|
3367
3378
|
list: (res === null || res === void 0 ? void 0 : res.cc_email) ? this.setList(this.overseersList, Object.keys(res === null || res === void 0 ? void 0 : res.cc_email).map(Number), 'employee_id') : [],
|
|
3368
3379
|
notifyList: (res === null || res === void 0 ? void 0 : res.failure_cc_email) ? this.setList(this.overseersList, Object.keys(res === null || res === void 0 ? void 0 : res.failure_cc_email).map(Number), 'employee_id') : [],
|
|
3369
3380
|
},
|
|
3370
3381
|
formatAndEvidence: {
|
|
3371
|
-
formatRequired: ((res === null || res === void 0 ? void 0 : res.report_format.length) > 0 || ((
|
|
3382
|
+
formatRequired: (((_u = res === null || res === void 0 ? void 0 : res.report_format) === null || _u === void 0 ? void 0 : _u.length) > 0 || ((_v = res === null || res === void 0 ? void 0 : res.link_for_details) === null || _v === void 0 ? void 0 : _v.length) > 0) ? true : false,
|
|
3372
3383
|
formatFiles: res === null || res === void 0 ? void 0 : res.report_format,
|
|
3373
3384
|
formatLinks: res === null || res === void 0 ? void 0 : res.link_for_details,
|
|
3374
3385
|
evidenceRequired: (res === null || res === void 0 ? void 0 : res.report_upload_flag) ? true : false,
|
|
@@ -3383,9 +3394,9 @@ class WorkflowComplianceComponent {
|
|
|
3383
3394
|
this.populateOverseerData(res);
|
|
3384
3395
|
this.populateReviewerData(res);
|
|
3385
3396
|
}
|
|
3386
|
-
this.selectedProgram = ((
|
|
3387
|
-
if (((
|
|
3388
|
-
this.getListsAccordingToProgram((
|
|
3397
|
+
this.selectedProgram = ((_w = res === null || res === void 0 ? void 0 : res.programDetails) === null || _w === void 0 ? void 0 : _w.category_id) ? res.programDetails : undefined;
|
|
3398
|
+
if (((_x = this.selectedProgram) === null || _x === void 0 ? void 0 : _x._id) && ((_y = this.orgDetails) === null || _y === void 0 ? void 0 : _y.hasProgramFullPermission)) {
|
|
3399
|
+
this.getListsAccordingToProgram((_z = this.selectedProgram) === null || _z === void 0 ? void 0 : _z._id);
|
|
3389
3400
|
}
|
|
3390
3401
|
this.isNotificationPending = res.notification_pending;
|
|
3391
3402
|
if (this.isNotificationPending) {
|
|
@@ -3409,7 +3420,7 @@ class WorkflowComplianceComponent {
|
|
|
3409
3420
|
this.organizationId = this.authService.getOrganizationId();
|
|
3410
3421
|
this.memberId = this.authService.getMemberId();
|
|
3411
3422
|
}
|
|
3412
|
-
if ((((
|
|
3423
|
+
if ((((_0 = this.responsibilityForm.assignees.list) === null || _0 === void 0 ? void 0 : _0.length) === 0 && (!this.featureFlag_groups || (((_2 = (_1 = this.responsibilityForm) === null || _1 === void 0 ? void 0 : _1.assigneeGroups.list) === null || _2 === void 0 ? void 0 : _2.length) === 0 && this.featureFlag_groups)))) {
|
|
3413
3424
|
this.isEntrust = true;
|
|
3414
3425
|
this.mode = 'CREATE';
|
|
3415
3426
|
this.assigneeRadioSelect = false;
|
|
@@ -3438,7 +3449,7 @@ class WorkflowComplianceComponent {
|
|
|
3438
3449
|
frequency_time: ''
|
|
3439
3450
|
};
|
|
3440
3451
|
}
|
|
3441
|
-
if ((
|
|
3452
|
+
if ((_3 = res.assessment) === null || _3 === void 0 ? void 0 : _3.assessment_id) {
|
|
3442
3453
|
this.getAssessmentDetails(res.assessment, res.questionnaire_type);
|
|
3443
3454
|
}
|
|
3444
3455
|
if (!this.responsibilityForm.checkpoints) {
|
|
@@ -3578,7 +3589,7 @@ class WorkflowComplianceComponent {
|
|
|
3578
3589
|
groupMemberIds = [...new Set([...groupMemberIds, ...group === null || group === void 0 ? void 0 : group.member_ids])];
|
|
3579
3590
|
});
|
|
3580
3591
|
userList === null || userList === void 0 ? void 0 : userList.forEach((ele) => {
|
|
3581
|
-
if (groupMemberIds === null || groupMemberIds === void 0 ? void 0 : groupMemberIds.includes(ele.my_member_id)) {
|
|
3592
|
+
if (groupMemberIds === null || groupMemberIds === void 0 ? void 0 : groupMemberIds.includes(ele === null || ele === void 0 ? void 0 : ele.my_member_id)) {
|
|
3582
3593
|
groupUserEmployee.push(ele);
|
|
3583
3594
|
}
|
|
3584
3595
|
});
|
|
@@ -3587,7 +3598,7 @@ class WorkflowComplianceComponent {
|
|
|
3587
3598
|
setReviewerPayload(ids, type, acceptedData, reviewerType) {
|
|
3588
3599
|
if (type === 'object') {
|
|
3589
3600
|
const idObjArray = this.returnIds(ids, 'member_id');
|
|
3590
|
-
return this.setList(this.
|
|
3601
|
+
return this.setList(this.allUsersList, idObjArray, 'my_member_id');
|
|
3591
3602
|
}
|
|
3592
3603
|
else if (type === 'list') {
|
|
3593
3604
|
const payLoad = [];
|
|
@@ -3608,10 +3619,10 @@ class WorkflowComplianceComponent {
|
|
|
3608
3619
|
}
|
|
3609
3620
|
}
|
|
3610
3621
|
checkWhetherAllListsLoaded() {
|
|
3611
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
3622
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
3612
3623
|
if (this.rcListLoaded && this.assigneesListLoaded && this.assignorsListLoaded &&
|
|
3613
3624
|
this.categoriesListLoaded && this.assuranceCategoryListLoaded && this.groupsListLoaded) {
|
|
3614
|
-
if (this.frameworkDetails.length > 0) {
|
|
3625
|
+
if (((_a = this.frameworkDetails) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
3615
3626
|
this.entrustFramework(this.frameworkDetails[0]);
|
|
3616
3627
|
}
|
|
3617
3628
|
if (this.mode === 'EDIT') {
|
|
@@ -3623,13 +3634,13 @@ class WorkflowComplianceComponent {
|
|
|
3623
3634
|
if (this.selectedProgram) {
|
|
3624
3635
|
this.responsibilityForm.program.push(this.selectedProgram);
|
|
3625
3636
|
this.responsibilityForm.program_selected_ids.push(this.selectedProgram.category_id);
|
|
3626
|
-
this.responsibilityForm.category_id = (
|
|
3627
|
-
if ((
|
|
3628
|
-
this.responsibilityForm.assignees.whoCanComplete = (((
|
|
3629
|
-
this.responsibilityForm.reviewers.sequentialWorkflow = (((
|
|
3630
|
-
this.responsibilityForm.formatAndEvidence.evidenceRequired = ((
|
|
3637
|
+
this.responsibilityForm.category_id = (_c = (_b = this.selectedProgram) === null || _b === void 0 ? void 0 : _b.category_id) === null || _c === void 0 ? void 0 : _c.toString();
|
|
3638
|
+
if ((_d = this.orgDetails) === null || _d === void 0 ? void 0 : _d.hasProgramFullPermission) {
|
|
3639
|
+
this.responsibilityForm.assignees.whoCanComplete = (((_e = this.selectedProgram) === null || _e === void 0 ? void 0 : _e.default_assignee_type) == 'ANYONE') ? 'ANY_ONE' : 'ALL';
|
|
3640
|
+
this.responsibilityForm.reviewers.sequentialWorkflow = (((_f = this.selectedProgram) === null || _f === void 0 ? void 0 : _f.default_reviewers_type) == 'SEQUENTIAL') ? true : false;
|
|
3641
|
+
this.responsibilityForm.formatAndEvidence.evidenceRequired = ((_g = this.selectedProgram) === null || _g === void 0 ? void 0 : _g.evidence_upload_flag) ? true : false;
|
|
3631
3642
|
}
|
|
3632
|
-
const programCustomTags = ((
|
|
3643
|
+
const programCustomTags = ((_h = this.selectedProgram) === null || _h === void 0 ? void 0 : _h.custom_tags) ? JSON.parse(this.selectedProgram.custom_tags) : [];
|
|
3633
3644
|
programCustomTags.forEach((tag) => {
|
|
3634
3645
|
const tagData = JSON.parse(tag);
|
|
3635
3646
|
const index = this.responsibilityForm.customTags.findIndex((tagElement) => tagElement.tag_name == tagData.tag_name);
|
|
@@ -3640,12 +3651,12 @@ class WorkflowComplianceComponent {
|
|
|
3640
3651
|
const checkedMoreOptions = [];
|
|
3641
3652
|
this.moreOptions.PROGRAM = true;
|
|
3642
3653
|
checkedMoreOptions.push('PROGRAM');
|
|
3643
|
-
if (((
|
|
3654
|
+
if (((_j = this.selectedProgram) === null || _j === void 0 ? void 0 : _j.evidence_upload_flag) && ((_k = this.orgDetails) === null || _k === void 0 ? void 0 : _k.hasProgramFullPermission)) {
|
|
3644
3655
|
checkedMoreOptions.push('FORMATE_EVIDENCE');
|
|
3645
3656
|
this.moreOptions.FORMATE_EVIDENCE = true;
|
|
3646
3657
|
}
|
|
3647
3658
|
this.populateOption.emit(checkedMoreOptions);
|
|
3648
|
-
this.filterListsAccordingToProgram((
|
|
3659
|
+
this.filterListsAccordingToProgram((_l = this.selectedProgram) === null || _l === void 0 ? void 0 : _l._id);
|
|
3649
3660
|
}
|
|
3650
3661
|
}
|
|
3651
3662
|
}
|
|
@@ -3656,7 +3667,7 @@ class WorkflowComplianceComponent {
|
|
|
3656
3667
|
}
|
|
3657
3668
|
}
|
|
3658
3669
|
saveSelectedList(type, selectedItems) {
|
|
3659
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12;
|
|
3670
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14;
|
|
3660
3671
|
switch (type) {
|
|
3661
3672
|
case 'assignors':
|
|
3662
3673
|
if (this.invalidType === 'whom') {
|
|
@@ -3685,8 +3696,8 @@ class WorkflowComplianceComponent {
|
|
|
3685
3696
|
break;
|
|
3686
3697
|
case 'rc':
|
|
3687
3698
|
this.responsibilityForm.rc = this.setList(this.responsibilityCentersList, selectedItems, 'item_id');
|
|
3688
|
-
this.rcSelected.emit(this.responsibilityForm.rc.length > 0);
|
|
3689
|
-
if (this.responsibilityForm.rc.length === 0) {
|
|
3699
|
+
this.rcSelected.emit(((_a = this.responsibilityForm.rc) === null || _a === void 0 ? void 0 : _a.length) > 0);
|
|
3700
|
+
if (((_b = this.responsibilityForm.rc) === null || _b === void 0 ? void 0 : _b.length) === 0) {
|
|
3690
3701
|
this.responsibilityForm.requiresAuditList = [];
|
|
3691
3702
|
this.responsibilityForm['audit_category_details']['category_id'] = 0;
|
|
3692
3703
|
}
|
|
@@ -3695,7 +3706,7 @@ class WorkflowComplianceComponent {
|
|
|
3695
3706
|
this.responsibilityForm.category = selectedItems;
|
|
3696
3707
|
selectedItems.forEach((element) => {
|
|
3697
3708
|
const tag = element.custom_tags !== '' && element.custom_tags !== "null" && element.custom_tags != "[]" ? JSON.parse(element.custom_tags) : [];
|
|
3698
|
-
if (tag.length > 0) {
|
|
3709
|
+
if ((tag === null || tag === void 0 ? void 0 : tag.length) > 0) {
|
|
3699
3710
|
tag.forEach((tagData) => {
|
|
3700
3711
|
const index = this.responsibilityForm.customTags.findIndex((tagElement) => tagElement.tag_name == tagData.tag_name);
|
|
3701
3712
|
if (index == -1) {
|
|
@@ -3707,17 +3718,17 @@ class WorkflowComplianceComponent {
|
|
|
3707
3718
|
break;
|
|
3708
3719
|
case 'program':
|
|
3709
3720
|
this.responsibilityForm.linkedProgram = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.linkedProgram;
|
|
3710
|
-
if (this.selectedProgram && !(((
|
|
3721
|
+
if (this.selectedProgram && !(((_c = this.selectedProgram) === null || _c === void 0 ? void 0 : _c.programType) === 0 && ((_e = (_d = this.selectedProgram) === null || _d === void 0 ? void 0 : _d.name) === null || _e === void 0 ? void 0 : _e.toLowerCase()) === 'uncategorized' || !((_f = this.orgDetails) === null || _f === void 0 ? void 0 : _f.hasProgramFullPermission))) {
|
|
3711
3722
|
this.responsibilityForm.category = (selectedItems.categories) ? selectedItems.categories : [];
|
|
3712
|
-
let categoryId = (
|
|
3713
|
-
if ((
|
|
3714
|
-
this.responsibilityForm.category_id = ((
|
|
3723
|
+
let categoryId = (_g = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.categories) === null || _g === void 0 ? void 0 : _g.toString();
|
|
3724
|
+
if ((_h = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.categories) === null || _h === void 0 ? void 0 : _h.length) {
|
|
3725
|
+
this.responsibilityForm.category_id = ((_j = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.program) === null || _j === void 0 ? void 0 : _j.category_id) + ',' + categoryId;
|
|
3715
3726
|
}
|
|
3716
3727
|
else {
|
|
3717
|
-
this.responsibilityForm.category_id = (
|
|
3728
|
+
this.responsibilityForm.category_id = (_l = (_k = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.program) === null || _k === void 0 ? void 0 : _k.category_id) === null || _l === void 0 ? void 0 : _l.toString();
|
|
3718
3729
|
}
|
|
3719
|
-
this.responsibilityForm.program_selected_ids = [...new Set(selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.categories), ...new Set([(
|
|
3720
|
-
const programCustomTags = ((
|
|
3730
|
+
this.responsibilityForm.program_selected_ids = [...new Set(selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.categories), ...new Set([(_m = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.program) === null || _m === void 0 ? void 0 : _m.category_id])];
|
|
3731
|
+
const programCustomTags = ((_o = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.program) === null || _o === void 0 ? void 0 : _o.custom_tags) ? JSON.parse((_p = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.program) === null || _p === void 0 ? void 0 : _p.custom_tags) : [];
|
|
3721
3732
|
programCustomTags === null || programCustomTags === void 0 ? void 0 : programCustomTags.forEach((tag) => {
|
|
3722
3733
|
const tagData = typeof tag === "string" ? JSON.parse(tag) : tag;
|
|
3723
3734
|
const index = this.responsibilityForm.customTags.findIndex((tagElement) => tagElement.tag_name == tagData.tag_name);
|
|
@@ -3727,8 +3738,8 @@ class WorkflowComplianceComponent {
|
|
|
3727
3738
|
});
|
|
3728
3739
|
}
|
|
3729
3740
|
else {
|
|
3730
|
-
if ((
|
|
3731
|
-
((
|
|
3741
|
+
if ((_q = this.responsibilityForm) === null || _q === void 0 ? void 0 : _q.assessment) {
|
|
3742
|
+
((_s = Object.keys((_r = this.responsibilityForm) === null || _r === void 0 ? void 0 : _r.assessment)) === null || _s === void 0 ? void 0 : _s.length) ? this.getProgramDetails(selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.program._id) : null;
|
|
3732
3743
|
}
|
|
3733
3744
|
this.responsibilityForm.category = (selectedItems.categories) ? selectedItems.categories : [];
|
|
3734
3745
|
this.responsibilityForm.program = [];
|
|
@@ -3736,15 +3747,15 @@ class WorkflowComplianceComponent {
|
|
|
3736
3747
|
this.responsibilityForm.program_selected_ids = [];
|
|
3737
3748
|
this.responsibilityForm.customTags = [];
|
|
3738
3749
|
this.responsibilityForm.program = (selectedItems.program) ? [selectedItems.program] : [];
|
|
3739
|
-
let categoryId = (
|
|
3740
|
-
if ((
|
|
3741
|
-
this.responsibilityForm.category_id = ((
|
|
3750
|
+
let categoryId = (_t = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.categories) === null || _t === void 0 ? void 0 : _t.toString();
|
|
3751
|
+
if ((_u = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.categories) === null || _u === void 0 ? void 0 : _u.length) {
|
|
3752
|
+
this.responsibilityForm.category_id = ((_v = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.program) === null || _v === void 0 ? void 0 : _v.category_id) + ',' + categoryId;
|
|
3742
3753
|
}
|
|
3743
3754
|
else {
|
|
3744
|
-
this.responsibilityForm.category_id = (
|
|
3755
|
+
this.responsibilityForm.category_id = (_x = (_w = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.program) === null || _w === void 0 ? void 0 : _w.category_id) === null || _x === void 0 ? void 0 : _x.toString();
|
|
3745
3756
|
}
|
|
3746
|
-
this.responsibilityForm.program_selected_ids = [...new Set(selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.categories), ...new Set([(
|
|
3747
|
-
const programCustomTags = ((
|
|
3757
|
+
this.responsibilityForm.program_selected_ids = [...new Set(selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.categories), ...new Set([(_y = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.program) === null || _y === void 0 ? void 0 : _y.category_id])];
|
|
3758
|
+
const programCustomTags = ((_z = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.program) === null || _z === void 0 ? void 0 : _z.custom_tags) ? JSON.parse((_0 = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.program) === null || _0 === void 0 ? void 0 : _0.custom_tags) : [];
|
|
3748
3759
|
programCustomTags === null || programCustomTags === void 0 ? void 0 : programCustomTags.forEach((tag) => {
|
|
3749
3760
|
const tagData = typeof tag === "string" ? JSON.parse(tag) : tag;
|
|
3750
3761
|
const index = this.responsibilityForm.customTags.findIndex((tagElement) => tagElement.tag_name == tagData.tag_name);
|
|
@@ -3752,16 +3763,16 @@ class WorkflowComplianceComponent {
|
|
|
3752
3763
|
this.responsibilityForm.customTags.push(tagData);
|
|
3753
3764
|
}
|
|
3754
3765
|
});
|
|
3755
|
-
if ((
|
|
3756
|
-
this.responsibilityForm.assignees.whoCanComplete = (((
|
|
3757
|
-
this.responsibilityForm.reviewers.sequentialWorkflow = (((
|
|
3758
|
-
this.responsibilityForm.formatAndEvidence.evidenceRequired = ((
|
|
3759
|
-
if ((
|
|
3766
|
+
if ((_1 = this.orgDetails) === null || _1 === void 0 ? void 0 : _1.hasProgramFullPermission) {
|
|
3767
|
+
this.responsibilityForm.assignees.whoCanComplete = (((_2 = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.program) === null || _2 === void 0 ? void 0 : _2.default_assignee_type) == 'ANYONE') ? 'ANY_ONE' : 'ALL';
|
|
3768
|
+
this.responsibilityForm.reviewers.sequentialWorkflow = (((_3 = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.program) === null || _3 === void 0 ? void 0 : _3.default_reviewers_type) == 'SEQUENTIAL') ? true : false;
|
|
3769
|
+
this.responsibilityForm.formatAndEvidence.evidenceRequired = ((_4 = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.program) === null || _4 === void 0 ? void 0 : _4.evidence_upload_flag) ? true : false;
|
|
3770
|
+
if ((_5 = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.program) === null || _5 === void 0 ? void 0 : _5.evidence_upload_flag) {
|
|
3760
3771
|
this.moreOptions.FORMATE_EVIDENCE = true;
|
|
3761
3772
|
}
|
|
3762
3773
|
}
|
|
3763
|
-
if (!(((
|
|
3764
|
-
if (((
|
|
3774
|
+
if (!(((_6 = this.selectedProgram) === null || _6 === void 0 ? void 0 : _6.programType) === 0 && ((_8 = (_7 = this.selectedProgram) === null || _7 === void 0 ? void 0 : _7.name) === null || _8 === void 0 ? void 0 : _8.toLowerCase()) === 'uncategorized')) {
|
|
3775
|
+
if (((_9 = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.program) === null || _9 === void 0 ? void 0 : _9._id) && ((_10 = this.orgDetails) === null || _10 === void 0 ? void 0 : _10.hasProgramFullPermission)) {
|
|
3765
3776
|
this.filterListsAccordingToProgram(selectedItems.program._id);
|
|
3766
3777
|
}
|
|
3767
3778
|
else {
|
|
@@ -3784,7 +3795,7 @@ class WorkflowComplianceComponent {
|
|
|
3784
3795
|
this.saveOverseerData(selectedItems, 'overseerList');
|
|
3785
3796
|
}
|
|
3786
3797
|
else {
|
|
3787
|
-
this.responsibilityForm.overseers.list = this.setList(this.
|
|
3798
|
+
this.responsibilityForm.overseers.list = this.setList(this.allUsersList, selectedItems, 'employee_id');
|
|
3788
3799
|
}
|
|
3789
3800
|
this.callRefreshList();
|
|
3790
3801
|
break;
|
|
@@ -3793,7 +3804,7 @@ class WorkflowComplianceComponent {
|
|
|
3793
3804
|
this.saveOverseerData(selectedItems, 'overseerNotifyList');
|
|
3794
3805
|
}
|
|
3795
3806
|
else {
|
|
3796
|
-
this.responsibilityForm.overseers.notifyList = this.setList(this.
|
|
3807
|
+
this.responsibilityForm.overseers.notifyList = this.setList(this.allUsersList, selectedItems, 'employee_id');
|
|
3797
3808
|
}
|
|
3798
3809
|
this.callRefreshList();
|
|
3799
3810
|
break;
|
|
@@ -3813,10 +3824,10 @@ class WorkflowComplianceComponent {
|
|
|
3813
3824
|
this.responsibilityForm.riskMatrix = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.riskMatrix;
|
|
3814
3825
|
break;
|
|
3815
3826
|
case 'formate_evidence':
|
|
3816
|
-
this.responsibilityForm.formatAndEvidence.formatRequired = (
|
|
3817
|
-
this.responsibilityForm.formatAndEvidence.formatFiles = (
|
|
3818
|
-
this.responsibilityForm.formatAndEvidence.formatLinks = (
|
|
3819
|
-
this.responsibilityForm.formatAndEvidence.evidenceRequired = (
|
|
3827
|
+
this.responsibilityForm.formatAndEvidence.formatRequired = (_11 = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.isFormateUploaded) !== null && _11 !== void 0 ? _11 : false;
|
|
3828
|
+
this.responsibilityForm.formatAndEvidence.formatFiles = (_12 = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.files) !== null && _12 !== void 0 ? _12 : [];
|
|
3829
|
+
this.responsibilityForm.formatAndEvidence.formatLinks = (_13 = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.links) !== null && _13 !== void 0 ? _13 : [];
|
|
3830
|
+
this.responsibilityForm.formatAndEvidence.evidenceRequired = (_14 = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.isEvidenceRequired) !== null && _14 !== void 0 ? _14 : false;
|
|
3820
3831
|
break;
|
|
3821
3832
|
case 'reviewFrequency':
|
|
3822
3833
|
this.responsibilityForm.reviewers.reviewFrequency = {
|
|
@@ -3832,8 +3843,8 @@ class WorkflowComplianceComponent {
|
|
|
3832
3843
|
* </code>
|
|
3833
3844
|
*/
|
|
3834
3845
|
callRefreshList() {
|
|
3835
|
-
var _a;
|
|
3836
|
-
if (this.responsibilityForm.program.length && ((
|
|
3846
|
+
var _a, _b;
|
|
3847
|
+
if (((_a = this.responsibilityForm.program) === null || _a === void 0 ? void 0 : _a.length) && ((_b = this.orgDetails) === null || _b === void 0 ? void 0 : _b.hasProgramFullPermission)) {
|
|
3837
3848
|
this.refreshListsWhileProgramSelected();
|
|
3838
3849
|
}
|
|
3839
3850
|
else {
|
|
@@ -3841,12 +3852,13 @@ class WorkflowComplianceComponent {
|
|
|
3841
3852
|
}
|
|
3842
3853
|
}
|
|
3843
3854
|
remove(type, event) {
|
|
3855
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
3844
3856
|
switch (type) {
|
|
3845
3857
|
case 'rc':
|
|
3846
3858
|
const rcIndex = this.responsibilityForm.rc.findIndex((rc) => rc.rc_id == event.rc_id);
|
|
3847
3859
|
this.responsibilityForm.rc.splice(rcIndex, 1);
|
|
3848
|
-
this.rcSelected.emit(this.responsibilityForm.rc.length > 0);
|
|
3849
|
-
if (this.responsibilityForm.rc.length === 0) {
|
|
3860
|
+
this.rcSelected.emit(((_a = this.responsibilityForm.rc) === null || _a === void 0 ? void 0 : _a.length) > 0);
|
|
3861
|
+
if (((_b = this.responsibilityForm.rc) === null || _b === void 0 ? void 0 : _b.length) === 0) {
|
|
3850
3862
|
this.responsibilityForm.requiresAuditList = [];
|
|
3851
3863
|
this.responsibilityForm['audit_category_details']['category_id'] = 0;
|
|
3852
3864
|
}
|
|
@@ -3856,12 +3868,12 @@ class WorkflowComplianceComponent {
|
|
|
3856
3868
|
this.callRefreshList();
|
|
3857
3869
|
break;
|
|
3858
3870
|
case 'assignees':
|
|
3859
|
-
const entrustIndex = this.responsibilityForm.assignees.list.findIndex((owner) => owner.employee_id == event.employee_id);
|
|
3871
|
+
const entrustIndex = (_d = (_c = this.responsibilityForm) === null || _c === void 0 ? void 0 : _c.assignees) === null || _d === void 0 ? void 0 : _d.list.findIndex((owner) => owner.employee_id == event.employee_id);
|
|
3860
3872
|
this.responsibilityForm.assignees.list.splice(entrustIndex, 1);
|
|
3861
3873
|
this.callRefreshList();
|
|
3862
3874
|
break;
|
|
3863
3875
|
case 'groupassignees':
|
|
3864
|
-
const groupIndex = this.responsibilityForm.assigneeGroups.list.findIndex((group) => group.group_id == event.group_id);
|
|
3876
|
+
const groupIndex = (_f = (_e = this.responsibilityForm) === null || _e === void 0 ? void 0 : _e.assigneeGroups) === null || _f === void 0 ? void 0 : _f.list.findIndex((group) => group.group_id == event.group_id);
|
|
3865
3877
|
this.responsibilityForm.assigneeGroups.list.splice(groupIndex, 1);
|
|
3866
3878
|
this.callRefreshList();
|
|
3867
3879
|
break;
|
|
@@ -3871,27 +3883,27 @@ class WorkflowComplianceComponent {
|
|
|
3871
3883
|
this.callRefreshList();
|
|
3872
3884
|
break;
|
|
3873
3885
|
case 'groupReviewer':
|
|
3874
|
-
const groupReviewerIndex = this.responsibilityForm.groupReviewers.list.findIndex((reviewer) => reviewer.group_id == event.group_id);
|
|
3886
|
+
const groupReviewerIndex = (_h = (_g = this.responsibilityForm) === null || _g === void 0 ? void 0 : _g.groupReviewers) === null || _h === void 0 ? void 0 : _h.list.findIndex((reviewer) => reviewer.group_id == event.group_id);
|
|
3875
3887
|
this.responsibilityForm.groupReviewers.list.splice(groupReviewerIndex, 1);
|
|
3876
3888
|
this.callRefreshList();
|
|
3877
3889
|
break;
|
|
3878
3890
|
case 'overseer':
|
|
3879
|
-
const overseerIndex = this.responsibilityForm.overseers.list.findIndex((overseer) => overseer.employee_id == event.employee_id);
|
|
3891
|
+
const overseerIndex = (_k = (_j = this.responsibilityForm) === null || _j === void 0 ? void 0 : _j.overseers) === null || _k === void 0 ? void 0 : _k.list.findIndex((overseer) => overseer.employee_id == event.employee_id);
|
|
3880
3892
|
this.responsibilityForm.overseers.list.splice(overseerIndex, 1);
|
|
3881
3893
|
this.callRefreshList();
|
|
3882
3894
|
break;
|
|
3883
3895
|
case 'overseerGroup':
|
|
3884
|
-
const overseerGroupIndex = this.responsibilityForm.overseersGroups.list.findIndex((overseer) => overseer.group_id == event.group_id);
|
|
3896
|
+
const overseerGroupIndex = (_m = (_l = this.responsibilityForm) === null || _l === void 0 ? void 0 : _l.overseersGroups) === null || _m === void 0 ? void 0 : _m.list.findIndex((overseer) => overseer.group_id == event.group_id);
|
|
3885
3897
|
this.responsibilityForm.overseersGroups.list.splice(overseerGroupIndex, 1);
|
|
3886
3898
|
this.callRefreshList();
|
|
3887
3899
|
break;
|
|
3888
3900
|
case 'overseerNotifyList':
|
|
3889
|
-
const overseerNotifyIndex = this.responsibilityForm.overseers.notifyList.findIndex((overseerN) => overseerN.employee_id == event.employee_id);
|
|
3901
|
+
const overseerNotifyIndex = (_p = (_o = this.responsibilityForm) === null || _o === void 0 ? void 0 : _o.overseers) === null || _p === void 0 ? void 0 : _p.notifyList.findIndex((overseerN) => overseerN.employee_id == event.employee_id);
|
|
3890
3902
|
this.responsibilityForm.overseers.notifyList.splice(overseerNotifyIndex, 1);
|
|
3891
3903
|
this.callRefreshList();
|
|
3892
3904
|
break;
|
|
3893
3905
|
case 'overseerGroupNotifyList':
|
|
3894
|
-
const overseerGroupNotifyIndex = this.responsibilityForm.overseersGroups.notifyList.findIndex((overseerN) => overseerN.group_id == event.group_id);
|
|
3906
|
+
const overseerGroupNotifyIndex = (_r = (_q = this.responsibilityForm) === null || _q === void 0 ? void 0 : _q.overseersGroups) === null || _r === void 0 ? void 0 : _r.notifyList.findIndex((overseerN) => overseerN.group_id == event.group_id);
|
|
3895
3907
|
this.responsibilityForm.overseersGroups.notifyList.splice(overseerGroupNotifyIndex, 1);
|
|
3896
3908
|
this.callRefreshList();
|
|
3897
3909
|
break;
|
|
@@ -3899,7 +3911,7 @@ class WorkflowComplianceComponent {
|
|
|
3899
3911
|
const categoryIndex = this.responsibilityForm.category.findIndex((category) => category.category_id == event.category_id);
|
|
3900
3912
|
this.responsibilityForm.category.splice(categoryIndex, 1);
|
|
3901
3913
|
const tag = JSON.parse(event.custom_tags);
|
|
3902
|
-
if (tag.length > 0) {
|
|
3914
|
+
if ((tag === null || tag === void 0 ? void 0 : tag.length) > 0) {
|
|
3903
3915
|
tag.forEach((tagData) => {
|
|
3904
3916
|
const indexCT = this.responsibilityForm.customTags.findIndex((tagElement) => tagElement.tag_name == tagData.tag_name);
|
|
3905
3917
|
if (indexCT != -1) {
|
|
@@ -3907,10 +3919,10 @@ class WorkflowComplianceComponent {
|
|
|
3907
3919
|
}
|
|
3908
3920
|
});
|
|
3909
3921
|
}
|
|
3910
|
-
if (this.responsibilityForm.category.length > 0) {
|
|
3922
|
+
if (((_s = this.responsibilityForm.category) === null || _s === void 0 ? void 0 : _s.length) > 0) {
|
|
3911
3923
|
this.responsibilityForm.category.forEach((element) => {
|
|
3912
3924
|
const tag = JSON.parse(element.custom_tags);
|
|
3913
|
-
if (tag.length > 0) {
|
|
3925
|
+
if ((tag === null || tag === void 0 ? void 0 : tag.length) > 0) {
|
|
3914
3926
|
tag.forEach((tagData) => {
|
|
3915
3927
|
const index = this.responsibilityForm.customTags.findIndex((tagElement) => tagElement.tag_name == tagData.tag_name);
|
|
3916
3928
|
if (index == -1) {
|
|
@@ -3989,7 +4001,7 @@ class WorkflowComplianceComponent {
|
|
|
3989
4001
|
}
|
|
3990
4002
|
}
|
|
3991
4003
|
entrustFramework(event) {
|
|
3992
|
-
var _a, _b, _c, _d;
|
|
4004
|
+
var _a, _b, _c, _d, _e, _f;
|
|
3993
4005
|
this.reset();
|
|
3994
4006
|
this.activeDeselector();
|
|
3995
4007
|
this.responsibilityForm.responsibility = {
|
|
@@ -4036,7 +4048,7 @@ class WorkflowComplianceComponent {
|
|
|
4036
4048
|
evidenceRequired: event.report_upload_flag ? true : false,
|
|
4037
4049
|
formatFiles: event.report_format,
|
|
4038
4050
|
formatLinks: !(event.report_format_link) || event.report_format_link == '' ? [] : [event.report_format_link],
|
|
4039
|
-
formatRequired: (event.report_format.length > 0 || ((event.report_format_link) && event.report_format_link != '')) ? true : false
|
|
4051
|
+
formatRequired: (((_a = event.report_format) === null || _a === void 0 ? void 0 : _a.length) > 0 || ((event.report_format_link) && event.report_format_link != '')) ? true : false
|
|
4040
4052
|
};
|
|
4041
4053
|
this.responsibilityForm.audit_category_details = {
|
|
4042
4054
|
category_id: 0,
|
|
@@ -4061,11 +4073,11 @@ class WorkflowComplianceComponent {
|
|
|
4061
4073
|
}
|
|
4062
4074
|
checkedMoreOptions.push('RISK_CLASSIFICATION');
|
|
4063
4075
|
this.moreOptions.RISK_CLASSIFICATION = true;
|
|
4064
|
-
if (this.responsibilityForm.category.length > 0) {
|
|
4076
|
+
if (((_b = this.responsibilityForm.category) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
|
4065
4077
|
checkedMoreOptions.push('CATEGORY');
|
|
4066
4078
|
this.moreOptions.CATEGORY = true;
|
|
4067
4079
|
}
|
|
4068
|
-
if (((
|
|
4080
|
+
if (((_d = (_c = this.responsibilityForm) === null || _c === void 0 ? void 0 : _c.formatAndEvidence) === null || _d === void 0 ? void 0 : _d.evidenceRequired) || ((_f = (_e = this.responsibilityForm) === null || _e === void 0 ? void 0 : _e.formatAndEvidence) === null || _f === void 0 ? void 0 : _f.formatRequired)) {
|
|
4069
4081
|
checkedMoreOptions.push('FORMATE_EVIDENCE');
|
|
4070
4082
|
this.moreOptions.FORMATE_EVIDENCE = true;
|
|
4071
4083
|
}
|
|
@@ -4130,20 +4142,25 @@ class WorkflowComplianceComponent {
|
|
|
4130
4142
|
assignUserMemberId(list) {
|
|
4131
4143
|
const userObj = [...list];
|
|
4132
4144
|
userObj === null || userObj === void 0 ? void 0 : userObj.forEach((user) => {
|
|
4133
|
-
user.member_id = user.my_member_id;
|
|
4145
|
+
user.member_id = user === null || user === void 0 ? void 0 : user.my_member_id;
|
|
4134
4146
|
});
|
|
4135
4147
|
list = [...userObj];
|
|
4136
4148
|
return list;
|
|
4137
4149
|
}
|
|
4138
4150
|
refreshAllLists() {
|
|
4139
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
4151
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
4140
4152
|
let assignorAndAssigneesIds = [];
|
|
4153
|
+
let allUsersIds = [];
|
|
4141
4154
|
let assigneeGroupIds = [];
|
|
4142
4155
|
let reviewersIds = [];
|
|
4143
4156
|
let overseerIds = [];
|
|
4144
4157
|
let assigneeIds = [];
|
|
4145
4158
|
let groupReviewerIds = [];
|
|
4146
4159
|
let groupOverseerIds = [];
|
|
4160
|
+
this.reviewerIds = [];
|
|
4161
|
+
this.assignorId = [];
|
|
4162
|
+
this.overseerIds = [];
|
|
4163
|
+
this.assigneeIds = [];
|
|
4147
4164
|
const allUsers = cloneDeep(this.allUsersList);
|
|
4148
4165
|
const allGroups = cloneDeep(this.OrgGroup);
|
|
4149
4166
|
const behalfUsers = cloneDeep(this.behalfOfUsersList);
|
|
@@ -4158,55 +4175,86 @@ class WorkflowComplianceComponent {
|
|
|
4158
4175
|
const groupNotifyOverseers = this.featureFlag_groups ? cloneDeep((_r = (_q = this.responsibilityForm) === null || _q === void 0 ? void 0 : _q.overseersGroups) === null || _r === void 0 ? void 0 : _r.notifyList) : [];
|
|
4159
4176
|
assignors === null || assignors === void 0 ? void 0 : assignors.forEach((user) => {
|
|
4160
4177
|
assignorAndAssigneesIds.push(user.member_id);
|
|
4178
|
+
this.assignorId.push(user.member_id);
|
|
4161
4179
|
});
|
|
4162
4180
|
assignees === null || assignees === void 0 ? void 0 : assignees.forEach((user) => {
|
|
4163
|
-
assignorAndAssigneesIds.push(user.my_member_id);
|
|
4164
|
-
assigneeIds.push(user.my_member_id);
|
|
4181
|
+
assignorAndAssigneesIds.push(user === null || user === void 0 ? void 0 : user.my_member_id);
|
|
4182
|
+
assigneeIds.push(user === null || user === void 0 ? void 0 : user.my_member_id);
|
|
4183
|
+
this.assigneeIds.push(user === null || user === void 0 ? void 0 : user.my_member_id);
|
|
4165
4184
|
});
|
|
4166
|
-
if (this.responsibilityForm.assignors.list.length == 0) {
|
|
4185
|
+
if (((_s = this.responsibilityForm.assignors.list) === null || _s === void 0 ? void 0 : _s.length) == 0) {
|
|
4167
4186
|
assignorAndAssigneesIds.push(this.memberId);
|
|
4187
|
+
this.assignorId.push(this.memberId);
|
|
4168
4188
|
}
|
|
4189
|
+
allUsers === null || allUsers === void 0 ? void 0 : allUsers.forEach((user) => {
|
|
4190
|
+
allUsersIds.push((user === null || user === void 0 ? void 0 : user.my_member_id));
|
|
4191
|
+
});
|
|
4169
4192
|
assigneeGroupList === null || assigneeGroupList === void 0 ? void 0 : assigneeGroupList.forEach((group) => {
|
|
4170
|
-
assigneeGroupIds.push(group.group_id);
|
|
4193
|
+
assigneeGroupIds.push(group === null || group === void 0 ? void 0 : group.group_id);
|
|
4171
4194
|
});
|
|
4172
4195
|
reviewers === null || reviewers === void 0 ? void 0 : reviewers.forEach((user) => {
|
|
4173
|
-
reviewersIds.push(user.my_member_id);
|
|
4196
|
+
reviewersIds.push(user === null || user === void 0 ? void 0 : user.my_member_id);
|
|
4197
|
+
this.reviewerIds.push(user === null || user === void 0 ? void 0 : user.my_member_id);
|
|
4174
4198
|
});
|
|
4175
4199
|
groupReviewersList === null || groupReviewersList === void 0 ? void 0 : groupReviewersList.forEach((group) => {
|
|
4176
|
-
groupReviewerIds.push(group.group_id);
|
|
4200
|
+
groupReviewerIds.push(group === null || group === void 0 ? void 0 : group.group_id);
|
|
4177
4201
|
});
|
|
4178
4202
|
groupOverseerList === null || groupOverseerList === void 0 ? void 0 : groupOverseerList.forEach((group) => {
|
|
4179
|
-
groupOverseerIds.push(group.group_id);
|
|
4203
|
+
groupOverseerIds.push(group === null || group === void 0 ? void 0 : group.group_id);
|
|
4180
4204
|
});
|
|
4181
4205
|
groupNotifyOverseers === null || groupNotifyOverseers === void 0 ? void 0 : groupNotifyOverseers.forEach((group) => {
|
|
4182
|
-
groupOverseerIds.push(group.group_id);
|
|
4206
|
+
groupOverseerIds.push(group === null || group === void 0 ? void 0 : group.group_id);
|
|
4183
4207
|
});
|
|
4184
4208
|
overseerList === null || overseerList === void 0 ? void 0 : overseerList.forEach((user) => {
|
|
4185
|
-
overseerIds.push(user.my_member_id);
|
|
4209
|
+
overseerIds.push(user === null || user === void 0 ? void 0 : user.my_member_id);
|
|
4210
|
+
this.overseerIds.push(user === null || user === void 0 ? void 0 : user.my_member_id);
|
|
4186
4211
|
});
|
|
4187
4212
|
notifyOverseers === null || notifyOverseers === void 0 ? void 0 : notifyOverseers.forEach((user) => {
|
|
4188
|
-
overseerIds.push(user.my_member_id);
|
|
4213
|
+
overseerIds.push(user === null || user === void 0 ? void 0 : user.my_member_id);
|
|
4214
|
+
this.overseerIds.push(user === null || user === void 0 ? void 0 : user.my_member_id);
|
|
4189
4215
|
});
|
|
4190
4216
|
assignorAndAssigneesIds = [...new Set(assignorAndAssigneesIds)];
|
|
4217
|
+
allUsersIds = [...new Set(allUsersIds)];
|
|
4191
4218
|
assigneeIds = [...new Set(assigneeIds)];
|
|
4192
4219
|
reviewersIds = [...new Set(reviewersIds)];
|
|
4193
4220
|
overseerIds = [...new Set(overseerIds)];
|
|
4221
|
+
this.assignorId = [...new Set(this.assignorId)];
|
|
4222
|
+
this.assigneeIds = [...new Set(this.assigneeIds)];
|
|
4223
|
+
this.reviewerIds = [...new Set(this.reviewerIds)];
|
|
4224
|
+
this.overseerIds = [...new Set(this.overseerIds)];
|
|
4194
4225
|
assigneeGroupIds = [...new Set(assigneeGroupIds)];
|
|
4195
4226
|
groupReviewerIds = [...new Set(groupReviewerIds)];
|
|
4196
4227
|
groupOverseerIds = [...new Set(groupOverseerIds)];
|
|
4197
|
-
this.assignorsList = behalfUsers.filter((user) => !(overseerIds.includes(user.member_id)));
|
|
4198
|
-
this.assigneesList = allUsers.filter((user) => !(reviewersIds.includes(user.my_member_id) || overseerIds.includes(user.my_member_id)));
|
|
4199
|
-
this.reviewersList = allUsers.filter((user) => !(overseerIds.includes(user.my_member_id) || assigneeIds.includes(user.my_member_id)));
|
|
4200
|
-
this.overseersList = allUsers.filter((user) => !(assignorAndAssigneesIds.includes(user.my_member_id) || reviewersIds.includes(user.my_member_id)));
|
|
4228
|
+
this.assignorsList = behalfUsers.filter((user) => !(overseerIds === null || overseerIds === void 0 ? void 0 : overseerIds.includes(user.member_id)));
|
|
4229
|
+
this.assigneesList = allUsers.filter((user) => !((reviewersIds === null || reviewersIds === void 0 ? void 0 : reviewersIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id)) || (overseerIds === null || overseerIds === void 0 ? void 0 : overseerIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id))));
|
|
4230
|
+
this.reviewersList = allUsers.filter((user) => !((overseerIds === null || overseerIds === void 0 ? void 0 : overseerIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id)) || (assigneeIds === null || assigneeIds === void 0 ? void 0 : assigneeIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id))));
|
|
4231
|
+
this.overseersList = allUsers.filter((user) => !((assignorAndAssigneesIds === null || assignorAndAssigneesIds === void 0 ? void 0 : assignorAndAssigneesIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id)) || (reviewersIds === null || reviewersIds === void 0 ? void 0 : reviewersIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id))));
|
|
4232
|
+
this.disableList(allUsers, assignorAndAssigneesIds, assigneeIds, reviewersIds, overseerIds);
|
|
4201
4233
|
if (this.featureFlag_groups) {
|
|
4202
|
-
this.groupAssigneeList = allGroups.filter((group) => !(groupReviewerIds.includes(group.group_id) || groupOverseerIds.includes(group.group_id)));
|
|
4203
|
-
this.reviewerMemberIdsList = this.assignUserMemberId(this.
|
|
4204
|
-
this.
|
|
4205
|
-
this.
|
|
4206
|
-
this.groupOverseerList = allGroups.filter((group) => !(assigneeGroupIds.includes(group.group_id) || groupReviewerIds.includes(group.group_id)));
|
|
4234
|
+
this.groupAssigneeList = allGroups.filter((group) => !((groupReviewerIds === null || groupReviewerIds === void 0 ? void 0 : groupReviewerIds.includes(group === null || group === void 0 ? void 0 : group.group_id)) || (groupOverseerIds === null || groupOverseerIds === void 0 ? void 0 : groupOverseerIds.includes(group === null || group === void 0 ? void 0 : group.group_id))));
|
|
4235
|
+
this.reviewerMemberIdsList = this.assignUserMemberId(this.allUsersList);
|
|
4236
|
+
this.overseersList = this.assignUserMemberId(this.allUsersList);
|
|
4237
|
+
this.groupReviewerList = allGroups.filter((group) => !((groupOverseerIds === null || groupOverseerIds === void 0 ? void 0 : groupOverseerIds.includes(group === null || group === void 0 ? void 0 : group.group_id)) || (assigneeGroupIds === null || assigneeGroupIds === void 0 ? void 0 : assigneeGroupIds.includes(group === null || group === void 0 ? void 0 : group.group_id))));
|
|
4238
|
+
this.groupOverseerList = allGroups.filter((group) => !((assigneeGroupIds === null || assigneeGroupIds === void 0 ? void 0 : assigneeGroupIds.includes(group === null || group === void 0 ? void 0 : group.group_id)) || (groupReviewerIds === null || groupReviewerIds === void 0 ? void 0 : groupReviewerIds.includes(group === null || group === void 0 ? void 0 : group.group_id))));
|
|
4239
|
+
}
|
|
4240
|
+
}
|
|
4241
|
+
disableList(allUsers, assignorAndAssigneesIds, assigneeIds, reviewersIds, overseerIds) {
|
|
4242
|
+
let disableAssigneeList = allUsers.filter((user) => ((reviewersIds === null || reviewersIds === void 0 ? void 0 : reviewersIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id)) || (overseerIds === null || overseerIds === void 0 ? void 0 : overseerIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id))));
|
|
4243
|
+
this.disableAssigneeIds = this.returnIds(disableAssigneeList, 'my_member_id');
|
|
4244
|
+
this.disableRadioAssignee = this.returnIds(disableAssigneeList, 'employee_id');
|
|
4245
|
+
let disableReviewerList = allUsers.filter((user) => ((overseerIds === null || overseerIds === void 0 ? void 0 : overseerIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id)) || (assigneeIds === null || assigneeIds === void 0 ? void 0 : assigneeIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id))));
|
|
4246
|
+
this.disableReviewerIds = this.returnIds(disableReviewerList, 'employee_id');
|
|
4247
|
+
let disableOverseerList = allUsers.filter((user) => ((assignorAndAssigneesIds === null || assignorAndAssigneesIds === void 0 ? void 0 : assignorAndAssigneesIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id)) || (reviewersIds === null || reviewersIds === void 0 ? void 0 : reviewersIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id))));
|
|
4248
|
+
this.disableOverseerIds = this.returnIds(disableOverseerList, 'employee_id');
|
|
4249
|
+
if (this.featureFlag_groups) {
|
|
4250
|
+
let disableReviewerList = allUsers.filter((user) => ((overseerIds === null || overseerIds === void 0 ? void 0 : overseerIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id)) || (assigneeIds === null || assigneeIds === void 0 ? void 0 : assigneeIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id))));
|
|
4251
|
+
this.disableReviewerIds = this.returnIds(disableReviewerList, 'member_id');
|
|
4252
|
+
let disableOverseersList = allUsers.filter((user) => ((assignorAndAssigneesIds === null || assignorAndAssigneesIds === void 0 ? void 0 : assignorAndAssigneesIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id)) || (reviewersIds === null || reviewersIds === void 0 ? void 0 : reviewersIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id))));
|
|
4253
|
+
this.disableOverseerIds = this.returnIds(disableOverseersList, 'member_id');
|
|
4207
4254
|
}
|
|
4208
4255
|
}
|
|
4209
4256
|
refreshListsWhileProgramSelected() {
|
|
4257
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
|
4210
4258
|
let assignorAndAssigneesIds = [];
|
|
4211
4259
|
let reviewersIds = [];
|
|
4212
4260
|
let overseerIds = [];
|
|
@@ -4214,47 +4262,57 @@ class WorkflowComplianceComponent {
|
|
|
4214
4262
|
let assigneeGroupIds = [];
|
|
4215
4263
|
let groupReviewerIds = [];
|
|
4216
4264
|
let groupOverseerIds = [];
|
|
4265
|
+
this.reviewerIds = [];
|
|
4266
|
+
this.assignorId = [];
|
|
4267
|
+
this.overseerIds = [];
|
|
4268
|
+
this.assigneeIds = [];
|
|
4217
4269
|
const behalfUsers = cloneDeep(this.behalfOfUsersList);
|
|
4218
4270
|
const allGroups = cloneDeep(this.OrgGroup);
|
|
4219
4271
|
const assignors = cloneDeep(this.responsibilityForm.assignors.list);
|
|
4220
|
-
const assignees = cloneDeep(this.responsibilityForm.assignees.list);
|
|
4221
|
-
const assigneeGroupList = this.featureFlag_groups ? cloneDeep(this.responsibilityForm.assigneeGroups.list) : [];
|
|
4222
|
-
const reviewers = cloneDeep(this.responsibilityForm.reviewers.list);
|
|
4223
|
-
const groupReviewersList = this.featureFlag_groups ? cloneDeep(this.responsibilityForm.groupReviewers.list) : [];
|
|
4224
|
-
const overseerList = cloneDeep(this.responsibilityForm.overseers.list);
|
|
4225
|
-
const groupOverseerList = this.featureFlag_groups ? cloneDeep(this.responsibilityForm.overseersGroups.list) : [];
|
|
4226
|
-
const notifyOverseers = cloneDeep(this.responsibilityForm.overseers.notifyList);
|
|
4227
|
-
const groupNotifyOverseers = this.featureFlag_groups ? cloneDeep(this.responsibilityForm.overseersGroups.notifyList) : [];
|
|
4272
|
+
const assignees = cloneDeep((_b = (_a = this.responsibilityForm) === null || _a === void 0 ? void 0 : _a.assignees) === null || _b === void 0 ? void 0 : _b.list);
|
|
4273
|
+
const assigneeGroupList = this.featureFlag_groups ? cloneDeep((_d = (_c = this.responsibilityForm) === null || _c === void 0 ? void 0 : _c.assigneeGroups) === null || _d === void 0 ? void 0 : _d.list) : [];
|
|
4274
|
+
const reviewers = cloneDeep((_f = (_e = this.responsibilityForm) === null || _e === void 0 ? void 0 : _e.reviewers) === null || _f === void 0 ? void 0 : _f.list);
|
|
4275
|
+
const groupReviewersList = this.featureFlag_groups ? cloneDeep((_h = (_g = this.responsibilityForm) === null || _g === void 0 ? void 0 : _g.groupReviewers) === null || _h === void 0 ? void 0 : _h.list) : [];
|
|
4276
|
+
const overseerList = cloneDeep((_k = (_j = this.responsibilityForm) === null || _j === void 0 ? void 0 : _j.overseers) === null || _k === void 0 ? void 0 : _k.list);
|
|
4277
|
+
const groupOverseerList = this.featureFlag_groups ? cloneDeep((_m = (_l = this.responsibilityForm) === null || _l === void 0 ? void 0 : _l.overseersGroups) === null || _m === void 0 ? void 0 : _m.list) : [];
|
|
4278
|
+
const notifyOverseers = cloneDeep((_p = (_o = this.responsibilityForm) === null || _o === void 0 ? void 0 : _o.overseers) === null || _p === void 0 ? void 0 : _p.notifyList);
|
|
4279
|
+
const groupNotifyOverseers = this.featureFlag_groups ? cloneDeep((_r = (_q = this.responsibilityForm) === null || _q === void 0 ? void 0 : _q.overseersGroups) === null || _r === void 0 ? void 0 : _r.notifyList) : [];
|
|
4228
4280
|
assignors === null || assignors === void 0 ? void 0 : assignors.forEach((user) => {
|
|
4229
|
-
|
|
4281
|
+
this.assignorId.push(user === null || user === void 0 ? void 0 : user.member_id);
|
|
4282
|
+
assignorAndAssigneesIds.push(user === null || user === void 0 ? void 0 : user.member_id);
|
|
4230
4283
|
});
|
|
4231
4284
|
assignees === null || assignees === void 0 ? void 0 : assignees.forEach((user) => {
|
|
4232
|
-
assignorAndAssigneesIds.push(user.my_member_id);
|
|
4233
|
-
assigneeIds.push(user.my_member_id);
|
|
4285
|
+
assignorAndAssigneesIds.push(user === null || user === void 0 ? void 0 : user.my_member_id);
|
|
4286
|
+
assigneeIds.push(user === null || user === void 0 ? void 0 : user.my_member_id);
|
|
4287
|
+
this.assigneeIds.push(user === null || user === void 0 ? void 0 : user.my_member_id);
|
|
4234
4288
|
});
|
|
4235
|
-
if (this.responsibilityForm.assignors.list.length == 0) {
|
|
4289
|
+
if (((_u = (_t = (_s = this.responsibilityForm) === null || _s === void 0 ? void 0 : _s.assignors) === null || _t === void 0 ? void 0 : _t.list) === null || _u === void 0 ? void 0 : _u.length) == 0) {
|
|
4236
4290
|
assignorAndAssigneesIds.push(this.memberId);
|
|
4291
|
+
this.assignorId.push(this.memberId);
|
|
4237
4292
|
}
|
|
4238
4293
|
assigneeGroupList === null || assigneeGroupList === void 0 ? void 0 : assigneeGroupList.forEach((group) => {
|
|
4239
|
-
assigneeGroupIds.push(group.group_id);
|
|
4294
|
+
assigneeGroupIds.push(group === null || group === void 0 ? void 0 : group.group_id);
|
|
4240
4295
|
});
|
|
4241
4296
|
reviewers === null || reviewers === void 0 ? void 0 : reviewers.forEach((user) => {
|
|
4242
|
-
reviewersIds.push(user.my_member_id);
|
|
4297
|
+
reviewersIds.push(user === null || user === void 0 ? void 0 : user.my_member_id);
|
|
4298
|
+
this.reviewerIds.push(user === null || user === void 0 ? void 0 : user.my_member_id);
|
|
4243
4299
|
});
|
|
4244
4300
|
groupReviewersList === null || groupReviewersList === void 0 ? void 0 : groupReviewersList.forEach((group) => {
|
|
4245
|
-
groupReviewerIds.push(group.group_id);
|
|
4301
|
+
groupReviewerIds.push(group === null || group === void 0 ? void 0 : group.group_id);
|
|
4246
4302
|
});
|
|
4247
4303
|
overseerList === null || overseerList === void 0 ? void 0 : overseerList.forEach((user) => {
|
|
4248
|
-
overseerIds.push(user.my_member_id);
|
|
4304
|
+
overseerIds.push(user === null || user === void 0 ? void 0 : user.my_member_id);
|
|
4305
|
+
this.overseerIds.push(user === null || user === void 0 ? void 0 : user.my_member_id);
|
|
4249
4306
|
});
|
|
4250
4307
|
notifyOverseers === null || notifyOverseers === void 0 ? void 0 : notifyOverseers.forEach((user) => {
|
|
4251
|
-
overseerIds.push(user.my_member_id);
|
|
4308
|
+
overseerIds.push(user === null || user === void 0 ? void 0 : user.my_member_id);
|
|
4309
|
+
this.overseerIds.push(user === null || user === void 0 ? void 0 : user.my_member_id);
|
|
4252
4310
|
});
|
|
4253
4311
|
groupOverseerList === null || groupOverseerList === void 0 ? void 0 : groupOverseerList.forEach((group) => {
|
|
4254
|
-
groupOverseerIds.push(group.group_id);
|
|
4312
|
+
groupOverseerIds.push(group === null || group === void 0 ? void 0 : group.group_id);
|
|
4255
4313
|
});
|
|
4256
4314
|
groupNotifyOverseers === null || groupNotifyOverseers === void 0 ? void 0 : groupNotifyOverseers.forEach((group) => {
|
|
4257
|
-
groupOverseerIds.push(group.group_id);
|
|
4315
|
+
groupOverseerIds.push(group === null || group === void 0 ? void 0 : group.group_id);
|
|
4258
4316
|
});
|
|
4259
4317
|
assignorAndAssigneesIds = [...new Set(assignorAndAssigneesIds)];
|
|
4260
4318
|
assigneeIds = [...new Set(assigneeIds)];
|
|
@@ -4263,16 +4321,37 @@ class WorkflowComplianceComponent {
|
|
|
4263
4321
|
assigneeGroupIds = [...new Set(assigneeGroupIds)];
|
|
4264
4322
|
groupReviewerIds = [...new Set(groupReviewerIds)];
|
|
4265
4323
|
groupOverseerIds = [...new Set(groupOverseerIds)];
|
|
4266
|
-
this.
|
|
4267
|
-
this.
|
|
4268
|
-
this.
|
|
4269
|
-
this.
|
|
4324
|
+
this.assignorId = [...new Set(this.assignorId)];
|
|
4325
|
+
this.assigneeIds = [...new Set(this.assigneeIds)];
|
|
4326
|
+
this.reviewerIds = [...new Set(this.reviewerIds)];
|
|
4327
|
+
this.overseerIds = [...new Set(this.overseerIds)];
|
|
4328
|
+
this.assignorsList = behalfUsers.filter((user) => !(overseerIds === null || overseerIds === void 0 ? void 0 : overseerIds.includes(user.member_id)));
|
|
4329
|
+
this.assigneesList = (_v = this.programPeopleList) === null || _v === void 0 ? void 0 : _v.assigneesList.filter((user) => !((reviewersIds === null || reviewersIds === void 0 ? void 0 : reviewersIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id)) || (overseerIds === null || overseerIds === void 0 ? void 0 : overseerIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id))));
|
|
4330
|
+
this.reviewersList = (_w = this.programPeopleList) === null || _w === void 0 ? void 0 : _w.reviewersList.filter((user) => !((overseerIds === null || overseerIds === void 0 ? void 0 : overseerIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id)) || (assigneeIds === null || assigneeIds === void 0 ? void 0 : assigneeIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id))));
|
|
4331
|
+
this.overseersList = (_x = this.programPeopleList) === null || _x === void 0 ? void 0 : _x.overseersList.filter((user) => !((assignorAndAssigneesIds === null || assignorAndAssigneesIds === void 0 ? void 0 : assignorAndAssigneesIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id)) || (reviewersIds === null || reviewersIds === void 0 ? void 0 : reviewersIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id))));
|
|
4270
4332
|
if (this.featureFlag_groups) {
|
|
4271
|
-
this.groupAssigneeList = allGroups.filter((group) => !(groupReviewerIds.includes(group.group_id) || groupOverseerIds.includes(group.group_id)));
|
|
4272
|
-
this.reviewerMemberIdsList = this.assignUserMemberId(this.reviewersList);
|
|
4273
|
-
this.groupReviewerList = allGroups.filter((group) => !(groupOverseerIds.includes(group.group_id) || assigneeGroupIds.includes(group.group_id)));
|
|
4274
|
-
this.overseersList = this.assignUserMemberId(this.overseersList);
|
|
4275
|
-
this.groupOverseerList = allGroups.filter((group) => !(assigneeGroupIds.includes(group.group_id) || groupReviewerIds.includes(group.group_id)));
|
|
4333
|
+
this.groupAssigneeList = allGroups.filter((group) => !((groupReviewerIds === null || groupReviewerIds === void 0 ? void 0 : groupReviewerIds.includes(group === null || group === void 0 ? void 0 : group.group_id)) || (groupOverseerIds === null || groupOverseerIds === void 0 ? void 0 : groupOverseerIds.includes(group === null || group === void 0 ? void 0 : group.group_id))));
|
|
4334
|
+
this.reviewerMemberIdsList = this.assignUserMemberId(this.programPeopleList.reviewersList);
|
|
4335
|
+
this.groupReviewerList = allGroups.filter((group) => !((groupOverseerIds === null || groupOverseerIds === void 0 ? void 0 : groupOverseerIds.includes(group === null || group === void 0 ? void 0 : group.group_id)) || (assigneeGroupIds === null || assigneeGroupIds === void 0 ? void 0 : assigneeGroupIds.includes(group === null || group === void 0 ? void 0 : group.group_id))));
|
|
4336
|
+
this.overseersList = this.assignUserMemberId(this.programPeopleList.overseersList);
|
|
4337
|
+
this.groupOverseerList = allGroups.filter((group) => !((assigneeGroupIds === null || assigneeGroupIds === void 0 ? void 0 : assigneeGroupIds.includes(group === null || group === void 0 ? void 0 : group.group_id)) || (groupReviewerIds === null || groupReviewerIds === void 0 ? void 0 : groupReviewerIds.includes(group === null || group === void 0 ? void 0 : group.group_id))));
|
|
4338
|
+
}
|
|
4339
|
+
this.disableProgramList(assignorAndAssigneesIds, assigneeIds, reviewersIds, overseerIds);
|
|
4340
|
+
}
|
|
4341
|
+
disableProgramList(assignorAndAssigneesIds, assigneeIds, reviewersIds, overseerIds) {
|
|
4342
|
+
var _a, _b, _c;
|
|
4343
|
+
let disableAssigneeList = (_a = this.programPeopleList) === null || _a === void 0 ? void 0 : _a.assigneesList.filter((user) => ((reviewersIds === null || reviewersIds === void 0 ? void 0 : reviewersIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id)) || (overseerIds === null || overseerIds === void 0 ? void 0 : overseerIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id))));
|
|
4344
|
+
this.disableAssigneeIds = this.returnIds(disableAssigneeList, 'my_member_id');
|
|
4345
|
+
this.disableRadioAssignee = this.returnIds(disableAssigneeList, 'employee_id');
|
|
4346
|
+
let disableReviewerList = (_b = this.programPeopleList) === null || _b === void 0 ? void 0 : _b.reviewersList.filter((user) => ((overseerIds === null || overseerIds === void 0 ? void 0 : overseerIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id)) || (assigneeIds === null || assigneeIds === void 0 ? void 0 : assigneeIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id))));
|
|
4347
|
+
this.disableReviewerIds = this.returnIds(disableReviewerList, 'employee_id');
|
|
4348
|
+
let disableOverseerList = (_c = this.programPeopleList) === null || _c === void 0 ? void 0 : _c.overseersList.filter((user) => ((assignorAndAssigneesIds === null || assignorAndAssigneesIds === void 0 ? void 0 : assignorAndAssigneesIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id)) || (reviewersIds === null || reviewersIds === void 0 ? void 0 : reviewersIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id))));
|
|
4349
|
+
this.disableOverseerIds = this.returnIds(disableOverseerList, 'employee_id');
|
|
4350
|
+
if (this.featureFlag_groups) {
|
|
4351
|
+
let disableReviewerList = this.reviewerMemberIdsList.filter((user) => ((overseerIds === null || overseerIds === void 0 ? void 0 : overseerIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id)) || (assigneeIds === null || assigneeIds === void 0 ? void 0 : assigneeIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id))));
|
|
4352
|
+
this.disableReviewerIds = this.returnIds(disableReviewerList, 'member_id');
|
|
4353
|
+
let disableOverseerList = this.overseersList.filter((user) => ((assignorAndAssigneesIds === null || assignorAndAssigneesIds === void 0 ? void 0 : assignorAndAssigneesIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id)) || (reviewersIds === null || reviewersIds === void 0 ? void 0 : reviewersIds.includes(user === null || user === void 0 ? void 0 : user.my_member_id))));
|
|
4354
|
+
this.disableOverseerIds = this.returnIds(disableOverseerList, 'member_id');
|
|
4276
4355
|
}
|
|
4277
4356
|
}
|
|
4278
4357
|
/**
|
|
@@ -4304,15 +4383,16 @@ class WorkflowComplianceComponent {
|
|
|
4304
4383
|
* then return false. Otherwise, return true.
|
|
4305
4384
|
*/
|
|
4306
4385
|
validateResponsibility() {
|
|
4386
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
4307
4387
|
this.submitted = true;
|
|
4308
|
-
if (this.responsibilityForm.assignors.enable && this.responsibilityForm.assignors.list.length === 0) {
|
|
4388
|
+
if (this.responsibilityForm.assignors.enable && ((_a = this.responsibilityForm.assignors.list) === null || _a === void 0 ? void 0 : _a.length) === 0) {
|
|
4309
4389
|
this.invalidType = "whom";
|
|
4310
4390
|
return;
|
|
4311
4391
|
}
|
|
4312
4392
|
if (!this.responsibilityForm.responsibility.name || this.responsibilityForm.responsibility.name.trim() == '') {
|
|
4313
4393
|
this.invalidType = 'what';
|
|
4314
4394
|
}
|
|
4315
|
-
else if (!this.responsibilityForm.assignees.list || this.responsibilityForm.assignees.list.length == 0 && (!this.featureFlag_groups || ((!this.responsibilityForm.assigneeGroups.list || this.responsibilityForm.assigneeGroups.list.length == 0) && this.featureFlag_groups))) {
|
|
4395
|
+
else if (!((_c = (_b = this.responsibilityForm) === null || _b === void 0 ? void 0 : _b.assignees) === null || _c === void 0 ? void 0 : _c.list) || ((_f = (_e = (_d = this.responsibilityForm) === null || _d === void 0 ? void 0 : _d.assignees) === null || _e === void 0 ? void 0 : _e.list) === null || _f === void 0 ? void 0 : _f.length) == 0 && (!this.featureFlag_groups || ((!((_h = (_g = this.responsibilityForm) === null || _g === void 0 ? void 0 : _g.assigneeGroups) === null || _h === void 0 ? void 0 : _h.list) || ((_l = (_k = (_j = this.responsibilityForm) === null || _j === void 0 ? void 0 : _j.assigneeGroups) === null || _k === void 0 ? void 0 : _k.list) === null || _l === void 0 ? void 0 : _l.length) == 0) && this.featureFlag_groups))) {
|
|
4316
4396
|
this.invalidType = 'who';
|
|
4317
4397
|
}
|
|
4318
4398
|
else if (!this.responsibilityForm.frequency || this.responsibilityForm.frequency == '' || this.responsibilityForm.frequency === '' || this.responsibilityForm.frequency === '5~0~0~0') {
|
|
@@ -4322,7 +4402,7 @@ class WorkflowComplianceComponent {
|
|
|
4322
4402
|
this.invalidType = '';
|
|
4323
4403
|
}
|
|
4324
4404
|
if (!this.responsibilityForm.responsibility.name || this.responsibilityForm.responsibility.name.trim() == ''
|
|
4325
|
-
|| (!this.responsibilityForm.frequency || this.responsibilityForm.frequency === '' || this.responsibilityForm.frequency === '5~0~0~0') || (this.responsibilityForm.assignees.list.length == 0 && (!this.featureFlag_groups || ((!this.responsibilityForm.assigneeGroups.list || this.responsibilityForm.assigneeGroups.list.length == 0) && this.featureFlag_groups)))) {
|
|
4405
|
+
|| (!this.responsibilityForm.frequency || this.responsibilityForm.frequency === '' || this.responsibilityForm.frequency === '5~0~0~0') || (((_m = this.responsibilityForm.assignees.list) === null || _m === void 0 ? void 0 : _m.length) == 0 && (!this.featureFlag_groups || ((!this.responsibilityForm.assigneeGroups.list || ((_o = this.responsibilityForm.assigneeGroups.list) === null || _o === void 0 ? void 0 : _o.length) == 0) && this.featureFlag_groups)))) {
|
|
4326
4406
|
return false;
|
|
4327
4407
|
}
|
|
4328
4408
|
else {
|
|
@@ -4330,12 +4410,12 @@ class WorkflowComplianceComponent {
|
|
|
4330
4410
|
}
|
|
4331
4411
|
}
|
|
4332
4412
|
entrustResponsibility(entrustForm) {
|
|
4333
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12;
|
|
4413
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17;
|
|
4334
4414
|
this.loader = true;
|
|
4335
4415
|
this.uiKitService.isLoader = true;
|
|
4336
4416
|
let startDate = moment(parseInt(entrustForm.startDate) * 1000).format("YYYY-MM-DD HH:mm:ss");
|
|
4337
4417
|
startDate = moment(startDate.split(' ')[0] + " 00:00:00").format("YYYY-MM-DD HH:mm:ss");
|
|
4338
|
-
const rcDetails = entrustForm.rc.length > 0 ? entrustForm.rc.map((rc) => {
|
|
4418
|
+
const rcDetails = ((_a = entrustForm.rc) === null || _a === void 0 ? void 0 : _a.length) > 0 ? entrustForm.rc.map((rc) => {
|
|
4339
4419
|
if (rc) {
|
|
4340
4420
|
const rcDetailsArr = {
|
|
4341
4421
|
parent_rc_ids: rc.parent_rc_ids,
|
|
@@ -4356,7 +4436,7 @@ class WorkflowComplianceComponent {
|
|
|
4356
4436
|
};
|
|
4357
4437
|
let linkedProgramIds = [];
|
|
4358
4438
|
let linkedCategoryIds = [];
|
|
4359
|
-
(
|
|
4439
|
+
(_c = (_b = this.responsibilityForm) === null || _b === void 0 ? void 0 : _b.linkedProgram) === null || _c === void 0 ? void 0 : _c.forEach((ele) => {
|
|
4360
4440
|
var _a, _b, _c;
|
|
4361
4441
|
if (((_b = (_a = this.responsibilityForm) === null || _a === void 0 ? void 0 : _a.program[0]) === null || _b === void 0 ? void 0 : _b.category_id) !== (ele === null || ele === void 0 ? void 0 : ele.category_id)) {
|
|
4362
4442
|
const program = {
|
|
@@ -4372,7 +4452,7 @@ class WorkflowComplianceComponent {
|
|
|
4372
4452
|
}
|
|
4373
4453
|
});
|
|
4374
4454
|
let categoryIdsExceptDefault = [];
|
|
4375
|
-
categoryIdsExceptDefault = (
|
|
4455
|
+
categoryIdsExceptDefault = (_e = (_d = this.responsibilityForm) === null || _d === void 0 ? void 0 : _d.category) === null || _e === void 0 ? void 0 : _e.filter((el) => {
|
|
4376
4456
|
var _a, _b, _c, _d, _e;
|
|
4377
4457
|
return (el !== ((_b = (_a = this.responsibilityForm) === null || _a === void 0 ? void 0 : _a.program[0]) === null || _b === void 0 ? void 0 : _b.category_id) && !((_e = (_d = (_c = this.responsibilityForm) === null || _c === void 0 ? void 0 : _c.program[0]) === null || _d === void 0 ? void 0 : _d.child_id) === null || _e === void 0 ? void 0 : _e.includes(el)));
|
|
4378
4458
|
});
|
|
@@ -4382,11 +4462,11 @@ class WorkflowComplianceComponent {
|
|
|
4382
4462
|
let payload = {
|
|
4383
4463
|
app_association: [],
|
|
4384
4464
|
assigned_to: this.returnIds(this.assigneeUserList, 'employee_id').toString(),
|
|
4385
|
-
program_cat_ids: (moreOptions === null || moreOptions === void 0 ? void 0 : moreOptions.PROGRAM) ? (((
|
|
4465
|
+
program_cat_ids: (moreOptions === null || moreOptions === void 0 ? void 0 : moreOptions.PROGRAM) ? (((_f = entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.program) === null || _f === void 0 ? void 0 : _f.length) ? [entrustForm.program[0].category_id] : []) : [],
|
|
4386
4466
|
linked_program_ids: linkedProgramIds,
|
|
4387
4467
|
linked_category_ids: this.getUniqueIds([...categoryIdsExceptDefault, ...linkedCategoryIds]),
|
|
4388
4468
|
// category_id: (this.responsibilityForm?.program_selected_ids?.length > 0) ? this.responsibilityForm?.category_id : '',
|
|
4389
|
-
category_id: (((
|
|
4469
|
+
category_id: (((_h = (_g = this.responsibilityForm) === null || _g === void 0 ? void 0 : _g.program_selected_ids) === null || _h === void 0 ? void 0 : _h.length) > 0) ? (_k = this.getUniqueIds([...(_j = this.responsibilityForm) === null || _j === void 0 ? void 0 : _j.category, ...linkedCategoryIds, ...[entrustForm.program[0].category_id]])) === null || _k === void 0 ? void 0 : _k.toString() : '',
|
|
4390
4470
|
cc_email: (moreOptions.OVERSEER) ? this.returnIds(this.overseerUserList, 'employee_id').toString() : '',
|
|
4391
4471
|
checkpoint_description: (moreOptions.CHECKPOINTS) ? entrustForm.checkpointInstruction : '',
|
|
4392
4472
|
checkpoint_details: (moreOptions.CHECKPOINTS) ? JSON.stringify(this.responsibilityForm.checkpoints) : '',
|
|
@@ -4395,7 +4475,7 @@ class WorkflowComplianceComponent {
|
|
|
4395
4475
|
comment: '',
|
|
4396
4476
|
continuous_failed_days: checkContinuousFailedValue(entrustForm.frequency) ? entrustForm.continuous_failed_days : 0,
|
|
4397
4477
|
cost_of_compliance: '',
|
|
4398
|
-
created_by: ((
|
|
4478
|
+
created_by: ((_l = entrustForm.assignors.list) === null || _l === void 0 ? void 0 : _l.length) < 1 ? 0 : this.memberId,
|
|
4399
4479
|
creation_window: 0,
|
|
4400
4480
|
custom_tags: JSON.stringify(entrustForm.customTags),
|
|
4401
4481
|
entity_tree: (moreOptions.RC) ? rcDetails : [],
|
|
@@ -4404,7 +4484,7 @@ class WorkflowComplianceComponent {
|
|
|
4404
4484
|
failed_time_utc: entrustForm.failed_time_utc,
|
|
4405
4485
|
failure_cc_email: (moreOptions.OVERSEER) ? this.returnIds(this.overseerUserNotifyList, 'employee_id').toString() : '',
|
|
4406
4486
|
frequency_details: entrustForm.frequency,
|
|
4407
|
-
frequency_time: (
|
|
4487
|
+
frequency_time: (_m = entrustForm.timeIn24Hr) !== null && _m !== void 0 ? _m : "23:59:00",
|
|
4408
4488
|
grc_object_id: 0,
|
|
4409
4489
|
grc_relationship: '',
|
|
4410
4490
|
if_testplan_failed: 0,
|
|
@@ -4412,10 +4492,10 @@ class WorkflowComplianceComponent {
|
|
|
4412
4492
|
isGroupAssignTo: (entrustForm.assignees.whoCanComplete == 'ANY_ONE') ? 1 : 0,
|
|
4413
4493
|
is_key_compliance: entrustForm.responsibility.keyResponsibility ? 1 : 0,
|
|
4414
4494
|
library_report_id: 0,
|
|
4415
|
-
lifecycle_details: (
|
|
4495
|
+
lifecycle_details: (_o = entrustForm.lifecycleDetails) !== null && _o !== void 0 ? _o : '0000-00-00~~0',
|
|
4416
4496
|
link_for_details: (moreOptions.FORMATE_EVIDENCE) ? entrustForm.formatAndEvidence.formatLinks : [],
|
|
4417
4497
|
linkages: { compliance: [] },
|
|
4418
|
-
member_id: this.returnIds(entrustForm.assignors.list, 'member_id').length > 0 ? this.returnIds(entrustForm.assignors.list, 'member_id')[0] : this.memberId,
|
|
4498
|
+
member_id: ((_p = this.returnIds(entrustForm.assignors.list, 'member_id')) === null || _p === void 0 ? void 0 : _p.length) > 0 ? this.returnIds(entrustForm.assignors.list, 'member_id')[0] : this.memberId,
|
|
4419
4499
|
objective: (moreOptions.OBJECTIVE) ? objective : '',
|
|
4420
4500
|
on_completion_of: entrustForm.reportId ? [entrustForm.reportId] : [],
|
|
4421
4501
|
on_completion_of_type: 1,
|
|
@@ -4439,18 +4519,18 @@ class WorkflowComplianceComponent {
|
|
|
4439
4519
|
},
|
|
4440
4520
|
} : {},
|
|
4441
4521
|
userGroupIds: {
|
|
4442
|
-
assigneeAllGroupIds: entrustForm.assignees.whoCanComplete !== 'ANY_ONE' ? this.returnIds((
|
|
4443
|
-
assigneeAnyoneGroupIds: entrustForm.assignees.whoCanComplete === 'ANY_ONE' ? this.returnIds((
|
|
4444
|
-
ccEmailGroupIds: (
|
|
4445
|
-
failureCCEmailGroupIds: (
|
|
4446
|
-
reviewerGroupIds: (
|
|
4522
|
+
assigneeAllGroupIds: entrustForm.assignees.whoCanComplete !== 'ANY_ONE' ? this.returnIds((_q = entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.assigneeGroups) === null || _q === void 0 ? void 0 : _q.list, 'group_id') : [],
|
|
4523
|
+
assigneeAnyoneGroupIds: entrustForm.assignees.whoCanComplete === 'ANY_ONE' ? this.returnIds((_r = entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.assigneeGroups) === null || _r === void 0 ? void 0 : _r.list, 'group_id') : [],
|
|
4524
|
+
ccEmailGroupIds: (_u = this.returnIds((_t = (_s = this.responsibilityForm) === null || _s === void 0 ? void 0 : _s.overseersGroups) === null || _t === void 0 ? void 0 : _t.list, 'group_id')) !== null && _u !== void 0 ? _u : [],
|
|
4525
|
+
failureCCEmailGroupIds: (_x = this.returnIds((_w = (_v = this.responsibilityForm) === null || _v === void 0 ? void 0 : _v.overseersGroups) === null || _w === void 0 ? void 0 : _w.notifyList, 'group_id')) !== null && _x !== void 0 ? _x : [],
|
|
4526
|
+
reviewerGroupIds: (_0 = this.returnIds((_z = (_y = this.responsibilityForm) === null || _y === void 0 ? void 0 : _y.groupReviewers) === null || _z === void 0 ? void 0 : _z.list, 'group_id')) !== null && _0 !== void 0 ? _0 : []
|
|
4447
4527
|
},
|
|
4448
4528
|
existingUserIds: {
|
|
4449
|
-
assigneeAllIds: entrustForm.assignees.whoCanComplete !== 'ANY_ONE' ? this.returnIds((
|
|
4450
|
-
assigneeAnyoneIds: entrustForm.assignees.whoCanComplete === 'ANY_ONE' ? this.returnIds((
|
|
4451
|
-
ccEmailEmpIds: (
|
|
4452
|
-
failureCCEmailEmpIds: (
|
|
4453
|
-
reviewerIds: (
|
|
4529
|
+
assigneeAllIds: entrustForm.assignees.whoCanComplete !== 'ANY_ONE' ? this.returnIds((_1 = entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.assignees) === null || _1 === void 0 ? void 0 : _1.list, 'my_member_id') : [],
|
|
4530
|
+
assigneeAnyoneIds: entrustForm.assignees.whoCanComplete === 'ANY_ONE' ? this.returnIds((_2 = entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.assignees) === null || _2 === void 0 ? void 0 : _2.list, 'my_member_id') : [],
|
|
4531
|
+
ccEmailEmpIds: (_4 = this.returnIds((_3 = entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.overseers) === null || _3 === void 0 ? void 0 : _3.list, 'employee_id')) !== null && _4 !== void 0 ? _4 : [],
|
|
4532
|
+
failureCCEmailEmpIds: (_6 = this.returnIds((_5 = entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.overseers) === null || _5 === void 0 ? void 0 : _5.notifyList, 'employee_id')) !== null && _6 !== void 0 ? _6 : [],
|
|
4533
|
+
reviewerIds: (_9 = this.returnIds((_8 = (_7 = this.responsibilityForm) === null || _7 === void 0 ? void 0 : _7.reviewers) === null || _8 === void 0 ? void 0 : _8.list, 'member_id')) !== null && _9 !== void 0 ? _9 : []
|
|
4454
4534
|
},
|
|
4455
4535
|
reviewer_checkpoints: [{ checkpoints: [], instruction: '' }],
|
|
4456
4536
|
reviewer_id: 0,
|
|
@@ -4460,10 +4540,10 @@ class WorkflowComplianceComponent {
|
|
|
4460
4540
|
sample_size: 0,
|
|
4461
4541
|
start_date_utc: startDate,
|
|
4462
4542
|
statutory_day: 0,
|
|
4463
|
-
test_required_flag: (moreOptions.ASSURANCE) ? (entrustForm.assuranceList.length > 0 ? 1 : 0) : 0,
|
|
4543
|
+
test_required_flag: (moreOptions.ASSURANCE) ? (((_10 = entrustForm.assuranceList) === null || _10 === void 0 ? void 0 : _10.length) > 0 ? 1 : 0) : 0,
|
|
4464
4544
|
testplan_category_id: (moreOptions.ASSURANCE) ? this.returnIds(entrustForm.assuranceList, 'category_id') : [],
|
|
4465
4545
|
testplan_category_manager: '',
|
|
4466
|
-
audit_category_details: moreOptions.REQUIRES_AUDIT && ((
|
|
4546
|
+
audit_category_details: moreOptions.REQUIRES_AUDIT && ((_12 = (_11 = this.responsibilityForm) === null || _11 === void 0 ? void 0 : _11.audit_category_details) === null || _12 === void 0 ? void 0 : _12.category_id) ? {
|
|
4467
4547
|
category_id: this.responsibilityForm.audit_category_details.category_id,
|
|
4468
4548
|
sample: this.selectedSample === 0 ? this.sampleValue : 0,
|
|
4469
4549
|
percentage: this.selectedSample === 1 ? this.samplePercentage : 0,
|
|
@@ -4477,11 +4557,11 @@ class WorkflowComplianceComponent {
|
|
|
4477
4557
|
frequency_time: ''
|
|
4478
4558
|
},
|
|
4479
4559
|
assessment: {
|
|
4480
|
-
category_id: moreOptions.ASSESSMENT ? (
|
|
4481
|
-
assessment_id: moreOptions.ASSESSMENT ? (
|
|
4560
|
+
category_id: moreOptions.ASSESSMENT ? (_13 = entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.assessment) === null || _13 === void 0 ? void 0 : _13.category_id : '',
|
|
4561
|
+
assessment_id: moreOptions.ASSESSMENT ? (_14 = entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.assessment) === null || _14 === void 0 ? void 0 : _14.assessment_id : ''
|
|
4482
4562
|
},
|
|
4483
|
-
assessment_checkpoint: moreOptions.CHECKPOINTS_NEW ? (Object.keys(entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.new_checkpoints).length > 0 ? entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.new_checkpoints : {}) : {},
|
|
4484
|
-
questionnaire_type: moreOptions.CHECKPOINTS_NEW ? (Object.keys(entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.new_checkpoints).length > 0 ? 'assessment_checkpoint' : (moreOptions.ASSESSMENT && ((
|
|
4563
|
+
assessment_checkpoint: moreOptions.CHECKPOINTS_NEW ? (((_15 = Object.keys(entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.new_checkpoints)) === null || _15 === void 0 ? void 0 : _15.length) > 0 ? entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.new_checkpoints : {}) : {},
|
|
4564
|
+
questionnaire_type: moreOptions.CHECKPOINTS_NEW ? (((_16 = Object.keys(entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.new_checkpoints)) === null || _16 === void 0 ? void 0 : _16.length) > 0 ? 'assessment_checkpoint' : (moreOptions.ASSESSMENT && ((_17 = entrustForm === null || entrustForm === void 0 ? void 0 : entrustForm.assessment) === null || _17 === void 0 ? void 0 : _17.category_id) ? 'assessment' : (JSON.stringify(this.responsibilityForm.checkpoints) != '' && moreOptions.CHECKPOINTS ? 'checkpoint' : ''))) : ''
|
|
4485
4565
|
};
|
|
4486
4566
|
this.responsibilityPayload = payload;
|
|
4487
4567
|
if (this.mode == 'CREATE' && !this.isDuplicateEntrust) {
|
|
@@ -4536,18 +4616,18 @@ class WorkflowComplianceComponent {
|
|
|
4536
4616
|
return userList;
|
|
4537
4617
|
}
|
|
4538
4618
|
combineUserAndUserGroupMembers() {
|
|
4539
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
4619
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
|
|
4540
4620
|
if (this.featureFlag_groups) {
|
|
4541
|
-
this.assigneeUserList = this.uniqueIdUserGroups(this.allUsersList, this.responsibilityForm.assigneeGroups.list, this.responsibilityForm.assignees.list);
|
|
4542
|
-
this.reviewerUserList = this.uniqueIdUserGroups(this.allUsersList, this.responsibilityForm.groupReviewers.list, this.responsibilityForm.reviewers.list);
|
|
4543
|
-
this.overseerUserList = this.uniqueIdUserGroups(this.allUsersList, this.responsibilityForm.overseersGroups.list, this.responsibilityForm.overseers.list);
|
|
4544
|
-
this.overseerUserNotifyList = this.uniqueIdUserGroups(this.allUsersList, this.responsibilityForm.overseersGroups.notifyList, this.responsibilityForm.overseers.notifyList);
|
|
4621
|
+
this.assigneeUserList = this.uniqueIdUserGroups(this.allUsersList, (_b = (_a = this.responsibilityForm) === null || _a === void 0 ? void 0 : _a.assigneeGroups) === null || _b === void 0 ? void 0 : _b.list, (_d = (_c = this.responsibilityForm) === null || _c === void 0 ? void 0 : _c.assignees) === null || _d === void 0 ? void 0 : _d.list);
|
|
4622
|
+
this.reviewerUserList = this.uniqueIdUserGroups(this.allUsersList, (_f = (_e = this.responsibilityForm) === null || _e === void 0 ? void 0 : _e.groupReviewers) === null || _f === void 0 ? void 0 : _f.list, (_h = (_g = this.responsibilityForm) === null || _g === void 0 ? void 0 : _g.reviewers) === null || _h === void 0 ? void 0 : _h.list);
|
|
4623
|
+
this.overseerUserList = this.uniqueIdUserGroups(this.allUsersList, (_k = (_j = this.responsibilityForm) === null || _j === void 0 ? void 0 : _j.overseersGroups) === null || _k === void 0 ? void 0 : _k.list, (_m = (_l = this.responsibilityForm) === null || _l === void 0 ? void 0 : _l.overseers) === null || _m === void 0 ? void 0 : _m.list);
|
|
4624
|
+
this.overseerUserNotifyList = this.uniqueIdUserGroups(this.allUsersList, (_p = (_o = this.responsibilityForm) === null || _o === void 0 ? void 0 : _o.overseersGroups) === null || _p === void 0 ? void 0 : _p.notifyList, (_r = (_q = this.responsibilityForm) === null || _q === void 0 ? void 0 : _q.overseers) === null || _r === void 0 ? void 0 : _r.notifyList);
|
|
4545
4625
|
}
|
|
4546
4626
|
else {
|
|
4547
|
-
this.assigneeUserList = (
|
|
4548
|
-
this.reviewerUserList = (
|
|
4549
|
-
this.overseerUserList = (
|
|
4550
|
-
this.overseerUserNotifyList = (
|
|
4627
|
+
this.assigneeUserList = (_t = (_s = this.responsibilityForm) === null || _s === void 0 ? void 0 : _s.assignees) === null || _t === void 0 ? void 0 : _t.list;
|
|
4628
|
+
this.reviewerUserList = (_v = (_u = this.responsibilityForm) === null || _u === void 0 ? void 0 : _u.reviewers) === null || _v === void 0 ? void 0 : _v.list;
|
|
4629
|
+
this.overseerUserList = (_x = (_w = this.responsibilityForm) === null || _w === void 0 ? void 0 : _w.overseers) === null || _x === void 0 ? void 0 : _x.list;
|
|
4630
|
+
this.overseerUserNotifyList = (_z = (_y = this.responsibilityForm) === null || _y === void 0 ? void 0 : _y.overseers) === null || _z === void 0 ? void 0 : _z.notifyList;
|
|
4551
4631
|
}
|
|
4552
4632
|
}
|
|
4553
4633
|
/**
|
|
@@ -5105,7 +5185,7 @@ class WorkflowComplianceComponent {
|
|
|
5105
5185
|
* @param {any} [res] - is the response from the API
|
|
5106
5186
|
*/
|
|
5107
5187
|
getEditMoreOptions(res) {
|
|
5108
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
5188
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
|
|
5109
5189
|
let checkedMoreOptions = [];
|
|
5110
5190
|
if (this.responsibilityForm.objective !== '') {
|
|
5111
5191
|
checkedMoreOptions.push('OBJECTIVE');
|
|
@@ -5113,7 +5193,7 @@ class WorkflowComplianceComponent {
|
|
|
5113
5193
|
}
|
|
5114
5194
|
checkedMoreOptions.push('RISK_CLASSIFICATION');
|
|
5115
5195
|
this.moreOptions.RISK_CLASSIFICATION = true;
|
|
5116
|
-
if (this.responsibilityForm.program.length > 0) {
|
|
5196
|
+
if (((_a = this.responsibilityForm.program) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
5117
5197
|
checkedMoreOptions.push('PROGRAM');
|
|
5118
5198
|
this.moreOptions.PROGRAM = true;
|
|
5119
5199
|
}
|
|
@@ -5121,27 +5201,27 @@ class WorkflowComplianceComponent {
|
|
|
5121
5201
|
checkedMoreOptions.push('FORMATE_EVIDENCE');
|
|
5122
5202
|
this.moreOptions.FORMATE_EVIDENCE = true;
|
|
5123
5203
|
}
|
|
5124
|
-
if (this.responsibilityForm.rc.length > 0) {
|
|
5204
|
+
if (((_b = this.responsibilityForm.rc) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
|
5125
5205
|
checkedMoreOptions.push('RC');
|
|
5126
5206
|
this.moreOptions.RC = true;
|
|
5127
5207
|
}
|
|
5128
|
-
if (this.responsibilityForm.checkpoints.length > 0) {
|
|
5208
|
+
if (((_c = this.responsibilityForm.checkpoints) === null || _c === void 0 ? void 0 : _c.length) > 0) {
|
|
5129
5209
|
checkedMoreOptions.push('CHECKPOINTS');
|
|
5130
5210
|
this.moreOptions.CHECKPOINTS = true;
|
|
5131
5211
|
}
|
|
5132
|
-
if (((
|
|
5212
|
+
if (((_f = (_e = (_d = this.responsibilityForm) === null || _d === void 0 ? void 0 : _d.reviewers) === null || _e === void 0 ? void 0 : _e.list) === null || _f === void 0 ? void 0 : _f.length) > 0 || ((_j = (_h = (_g = this.responsibilityForm) === null || _g === void 0 ? void 0 : _g.groupReviewer) === null || _h === void 0 ? void 0 : _h.list) === null || _j === void 0 ? void 0 : _j.length) > 0) {
|
|
5133
5213
|
checkedMoreOptions.push('REVIEWER');
|
|
5134
5214
|
this.moreOptions.REVIEWER = true;
|
|
5135
5215
|
}
|
|
5136
|
-
if (((
|
|
5216
|
+
if (((_m = (_l = (_k = this.responsibilityForm) === null || _k === void 0 ? void 0 : _k.overseers) === null || _l === void 0 ? void 0 : _l.list) === null || _m === void 0 ? void 0 : _m.length) > 0 || ((_q = (_p = (_o = this.responsibilityForm) === null || _o === void 0 ? void 0 : _o.overseers) === null || _p === void 0 ? void 0 : _p.notifyList) === null || _q === void 0 ? void 0 : _q.length) > 0 || ((_t = (_s = (_r = this.responsibilityForm) === null || _r === void 0 ? void 0 : _r.overseersGroups) === null || _s === void 0 ? void 0 : _s.list) === null || _t === void 0 ? void 0 : _t.length) > 0 || ((_w = (_v = (_u = this.responsibilityForm) === null || _u === void 0 ? void 0 : _u.overseersGroups) === null || _v === void 0 ? void 0 : _v.notifyList) === null || _w === void 0 ? void 0 : _w.length) > 0) {
|
|
5137
5217
|
checkedMoreOptions.push('OVERSEER');
|
|
5138
5218
|
this.moreOptions.OVERSEER = true;
|
|
5139
5219
|
}
|
|
5140
|
-
if (this.responsibilityForm.assuranceList.length > 0) {
|
|
5220
|
+
if (((_y = (_x = this.responsibilityForm) === null || _x === void 0 ? void 0 : _x.assuranceList) === null || _y === void 0 ? void 0 : _y.length) > 0) {
|
|
5141
5221
|
checkedMoreOptions.push('ASSURANCE');
|
|
5142
5222
|
this.moreOptions.ASSURANCE = true;
|
|
5143
5223
|
}
|
|
5144
|
-
if (this.responsibilityForm.requiresAuditList.length > 0) {
|
|
5224
|
+
if (((_z = this.responsibilityForm.requiresAuditList) === null || _z === void 0 ? void 0 : _z.length) > 0) {
|
|
5145
5225
|
checkedMoreOptions.push('REQUIRES_AUDIT');
|
|
5146
5226
|
this.moreOptions.REQUIRES_AUDIT = true;
|
|
5147
5227
|
}
|
|
@@ -5220,7 +5300,7 @@ class WorkflowComplianceComponent {
|
|
|
5220
5300
|
*/
|
|
5221
5301
|
getAssessmentDetails(assessmentDetails, type) {
|
|
5222
5302
|
this.responsibilityService.getAssessmentDetailsByID(assessmentDetails.assessment_id).subscribe((res) => {
|
|
5223
|
-
if (res.length > 0) {
|
|
5303
|
+
if ((res === null || res === void 0 ? void 0 : res.length) > 0) {
|
|
5224
5304
|
if (type === 'assessment') {
|
|
5225
5305
|
const categoryDetails = res[0].category.find((ele) => ele._id == assessmentDetails.category_id);
|
|
5226
5306
|
this.moreOptions.ASSESSMENT = true;
|
|
@@ -5255,8 +5335,9 @@ class WorkflowComplianceComponent {
|
|
|
5255
5335
|
* @param event Assessment details
|
|
5256
5336
|
*/
|
|
5257
5337
|
postAssessment(event) {
|
|
5338
|
+
var _a;
|
|
5258
5339
|
this.responsibilityForm.new_checkpoints = event.assessmentDetails;
|
|
5259
|
-
this.checkpointCount = event.assessmentDetails.elements.length;
|
|
5340
|
+
this.checkpointCount = (_a = event.assessmentDetails.elements) === null || _a === void 0 ? void 0 : _a.length;
|
|
5260
5341
|
this.checkpointCountUpdated.emit(this.checkpointCount);
|
|
5261
5342
|
this.setIsUploaded(false);
|
|
5262
5343
|
}
|
|
@@ -5313,7 +5394,7 @@ class WorkflowComplianceComponent {
|
|
|
5313
5394
|
WorkflowComplianceComponent.decorators = [
|
|
5314
5395
|
{ type: Component, args: [{
|
|
5315
5396
|
selector: 'app-workflow-compliance',
|
|
5316
|
-
template: "<div class=\"workflw-compliance\" *ngIf=\"!showSmiley\">\r\n\r\n <div *ngIf=\"mode !== 'EDIT'\" class=\"form-group-row \" [class.active]=\"activeSelector === 'assignors'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'assignors' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\"\r\n [class.checked]=\"responsibilityForm?.assignors?.list?.length>0 && activeSelector !== 'assignors'\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/im-creating.svg\" alt=\"im\"\r\n *ngIf=\"responsibilityForm?.assignors?.list?.length==0 || activeSelector === 'assignors'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.assignors?.list?.length>0 && activeSelector !== 'assignors'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n I am creating this responsibility on behalf of someone else\r\n <app-cs-switch [ngValue]=\"responsibilityForm.assignors.enable\"\r\n (ngValueChange)=\"responsibilityForm.assignors.enable = $event; responsibilityForm.assignors.list = [];\">\r\n </app-cs-switch>\r\n </label>\r\n <div class=\"select\"\r\n *ngIf=\"responsibilityForm?.assignors?.list?.length === 0 || activeSelector === 'assignors'\">\r\n <input type=\"text\" (click)=\"activateSelector('assignors',true)\"\r\n placeholder=\"Who is responsible for managing this responsibility?\" readonly\r\n [disabled]=\"!responsibilityForm?.assignors?.enable\">\r\n </div>\r\n <div class=\"selected\"\r\n *ngIf=\"responsibilityForm?.assignors?.list?.length > 0 && activeSelector !== 'assignors'\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\" *ngFor=\"let b_user of responsibilityForm?.assignors?.list?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('assignors',b_user)\"></i>\r\n {{b_user.member_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.assignors?.list?.length > 2\" type=\"button\"\r\n appPopover (click)=\"behalf.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.assignors?.list?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'assignors'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('assignors',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <app-popover #behalf [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let b_user of responsibilityForm?.assignors?.list | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('assignors',b_user)\"></i>\r\n {{ b_user.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <p *ngIf=\"invalidType === 'whom'\" [appScrollInView]=\"true\" class=\"error-message\">Please select the\r\n person responsible for managing this responsibility.\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- What -->\r\n\r\n <div class=\"form-group-row\" [class.active]=\"activeSelector === 'framework'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'responsibilityName' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\"\r\n [class.checked]=\"responsibilityForm?.responsibility?.name.trim() !== '' && !focus.responsibilityName\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/what.svg\" alt=\"im\"\r\n *ngIf=\"(responsibilityForm?.responsibility?.name.trim() === '') || focus.responsibilityName\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.responsibility?.name.trim() !== '' && !focus.responsibilityName\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n What? <span class=\"required\">*</span>\r\n <button *ngIf=\"isFrameworkAvailable && mode !== 'EDIT' && openedFrom !=='RISK_TREATMENT'\"\r\n (click)=\"activateSelector('framework',true)\" class=\"button\">Select From A framework</button>\r\n </label>\r\n <span *ngIf=\"responsibilityForm?.responsibility?.keyResponsibility\" class=\"indicator\"\r\n [appTooltip]=\"'This responsibility is marked as key responsibility.'\" placement=\"bottom\"\r\n type=\"black\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n <i class=\"icons\"></i>\r\n </span>\r\n <input *ngIf=\"responsibilityForm?.responsibility?.name.trim() =='' || !isEditWhat\" type=\"text\"\r\n [ngModel]=\"responsibilityForm.responsibility.name\" placeholder=\"What is the responsibility?\"\r\n (change)=\"whatChanged($event)\" (focusin)=\"activateSelector('responsibilityName',true)\"\r\n (focusout)=\"activeDeselector()\" (clickOutside)=\"testFunction()\" #what>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.responsibility?.name.trim() !='' && isEditWhat\">\r\n <div class=\"chip-container\">\r\n <span class=\"value\">{{responsibilityForm.responsibility?.name}}</span>\r\n </div>\r\n <button class=\"edit\" type=\"button\" (click)=\"onEditWhat($event)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <p *ngIf=\"invalidType === 'what'\" [appScrollInView]=\"true\" class=\"error-message\">Please enter a name for\r\n this responsibility.</p>\r\n <div class=\"switch-row align-right\">\r\n <app-cs-switch [ngValue]=\"responsibilityForm.responsibility?.keyResponsibility\"\r\n (ngValueChange)=\"responsibilityForm.responsibility.keyResponsibility = $event\">Key\r\n Responsibility\r\n </app-cs-switch>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Who -->\r\n <div class=\"form-group-row\" [class.active]=\"activeSelector === 'assignees'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'assignees' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\"\r\n [class.checked]=\"responsibilityForm?.assignees?.list?.length>0 && activeSelector !== 'assignees'\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/who.svg\" alt=\"im\"\r\n *ngIf=\"responsibilityForm?.assignees?.list?.length==0 || activeSelector === 'assignees'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.assignees?.list?.length>0 && activeSelector !== 'assignees'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Who? <span class=\"required\">*</span></label>\r\n\r\n <div class=\"select\" *ngIf=\"(responsibilityForm?.assignees?.list?.length == 0 && (!featureFlag_groups||(responsibilityForm?.assigneeGroups?.list?.length == 0 && featureFlag_groups)))\">\r\n <input type=\"text\" (click)=\"activateSelector('assignees',true)\"\r\n placeholder=\"Who is responsible for completing the responsibility?\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"((responsibilityForm?.assignees?.list?.length > 0 && !featureFlag_groups)||((responsibilityForm?.assignees?.list?.length > 0 || responsibilityForm?.assigneeGroups?.list?.length > 0 ) && featureFlag_groups))\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.assignees?.length>1\"\r\n [class.plus]=\"responsibilityForm?.assignees?.length>2\" *ngIf=\"!featureFlag_groups\">\r\n <span class=\"chip\" *ngFor=\"let e_user of responsibilityForm?.assignees?.list?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('assignees',e_user)\"></i>\r\n {{e_user.member_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.assignees?.list?.length > 2\" type=\"button\"\r\n appPopover (click)=\"assignees.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.assignees?.list?.slice(2).length}}</button>\r\n </div>\r\n <div class=\"chip-container\" *ngIf=\"featureFlag_groups\">\r\n <div class=\"chip-inner\" *ngIf=\"responsibilityForm?.assignees?.list?.length > 0\" >\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">USER(S)</span></span>\r\n <button class=\"count user\" appPopover (click)=\"user.popover()\" placement=\"left\"> {{responsibilityForm?.assignees?.list?.length}}</button>\r\n </div>\r\n <span class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\" *ngIf=\"responsibilityForm?.assignees?.list?.length > 0 && responsibilityForm?.assigneeGroups?.list?.length > 0\" >&</span>\r\n <div class=\"chip-inner\" *ngIf=\"responsibilityForm?.assigneeGroups?.list?.length\" >\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\" >USER GROUP(S)</span></span>\r\n <button class=\"count\" appPopover (click)=\"group.popover()\" placement=\"right\">{{responsibilityForm?.assigneeGroups?.list?.length}}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'assignees' && (!featureFlag_groups || (featureFlag_groups && (!allGroupAssignee || mode !== 'EDIT')))\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('assignees',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n <app-popover #user [dontCloseonClick]=\"true\" >\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let e_user of responsibilityForm?.assignees?.list\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('assignees',e_user)\" ></i>\r\n {{ e_user.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #group [dontCloseonClick]=\"true\" >\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of responsibilityForm?.assigneeGroups?.list\" >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i *ngIf=\"(!featureFlag_groups || (featureFlag_groups && (!allGroupAssignee || mode !== 'EDIT')))\" class=\"icons\" (click)=\"remove('groupassignees',group)\" ></i>\r\n {{group.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <p *ngIf=\"invalidType === 'who'\" [appScrollInView]=\"true\" class=\"error-message\">Please select the person\r\n responsible for completing this responsibility.</p>\r\n <ng-container *ngIf=\"!isGroupAssigned\">\r\n <app-cs-radio *ngIf=\"mode !== 'EDIT'\"\r\n (checkedEvent)=\"responsibilityForm.assignees.whoCanComplete = 'ALL'\"\r\n [checked]=\"responsibilityForm.assignees.whoCanComplete == 'ALL'\" [name]=\"'what'\">ALL SELECTED\r\n PERSONS NEED TO\r\n COMPLETE THIS<i class=\"icons\"\r\n [appTooltip]=\"'If selected, separate responsibilities will be created for each person.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=\"true\"></i>\r\n </app-cs-radio>\r\n <app-cs-radio *ngIf=\"mode !== 'EDIT'\"\r\n (checkedEvent)=\"responsibilityForm.assignees.whoCanComplete = 'ANY_ONE'\"\r\n [checked]=\"responsibilityForm.assignees.whoCanComplete == 'ANY_ONE'\" [name]=\"'what'\">ANY SELECTED\r\n PERSON CAN COMPLETE\r\n THIS <i class=\"icons\" [appTooltip]=\"'If selected, only one responsibility will be created.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=\"true\"></i>\r\n </app-cs-radio>\r\n\r\n <div class=\"switch-row align-right\" *ngIf=\"(mode == 'EDIT' && (!featureFlag_groups || (responsibilityForm?.assigneeGroups?.list.length === 0 && featureFlag_groups)))\">\r\n <app-cs-switch\r\n (ngValueChange)=\"openAssigneeChangeConfirmation($event)\" [ngValue]=\"responsibilityForm.assignees.whoCanComplete == 'ANY_ONE'\"> ANY SELECTED\r\n PERSON CAN COMPLETE\r\n THIS\r\n </app-cs-switch>\r\n </div>\r\n </ng-container>\r\n <app-popover #assignees [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let e_user of responsibilityForm?.assignees?.list | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('assignees',e_user)\"></i>\r\n {{ e_user.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- When? -->\r\n <div class=\"form-group-row\" [class.active]=\"activeSelector === 'frequency'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'frequency' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"(!responsibilityForm?.frequency || activeSelector === 'frequency')\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/when.svg\" alt=\"im\"\r\n *ngIf=\"!responsibilityForm?.frequency || activeSelector === 'frequency'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.frequency && activeSelector !== 'frequency' && responsibilityForm?.frequency != '' && responsibilityForm?.frequency != '5~0~0~0'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">When? <span class=\"required\">*</span></label>\r\n <div *ngIf=\"responsibilityForm?.frequency == '' || responsibilityForm?.frequency == '5~0~0~0'\"\r\n class=\"select button-sec\">\r\n <input type=\"text\" (click)=\"activateSelector('frequency',true)\" [placeholder]=\"frequencyPlaceholder\"\r\n readonly>\r\n <button (click)=\"activateSelector('frequency',true)\" type=\"button\">Set A frequency</button>\r\n </div>\r\n <div *ngIf=\"responsibilityForm?.frequency != '' && responsibilityForm?.frequency !== '5~0~0~0'\"\r\n class=\"selected button-sec\">\r\n <span class=\"chip\">{{frequencyPlaceholder}}</span>\r\n <button *ngIf=\"activeSelector !== 'frequency'\" type=\"button\" class=\"edit\"\r\n (click)=\"activateSelector('frequency',true)\">\r\n <i class=\"icons\"></i>Edit\r\n </button>\r\n </div>\r\n <p *ngIf=\"invalidType === 'when'\" [appScrollInView]=\"true\" class=\"error-message\">Please select the\r\n frequency of occurrence for this responsibility.</p>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Notes -->\r\n <div class=\"form-group-row\" [class.active]=\"activeSelector === 'notes'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'notes' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\"\r\n [class.checked]=\"checkBlank(responsibilityForm?.description).trim() !== '' && !focus.description\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/notes.svg\" alt=\"im\"\r\n *ngIf=\"(checkBlank(responsibilityForm?.description).trim() === '') || focus.description\">\r\n\r\n <svg class=\"checkIcon\"\r\n *ngIf=\"checkBlank(responsibilityForm?.description).trim() !== '' && !focus.description\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Notes</label>\r\n <marx-editor [(ngModel)]=\"responsibilityForm.description\" [editorConfig]=\"{mode: 'prime',\r\n colorPalette: true,\r\n link: true,\r\n id:'notes',\r\n placeholder: 'Add more information about completing the responsibility'}\"></marx-editor>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Objective -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.OBJECTIVE\"\r\n [attr.id]=\"'OBJECTIVE'\" [class.active]=\"activeSelector === 'objective'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'objective' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"checkBlank(responsibilityForm?.objective).trim() !=='' && !focus.objective\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/objectives.svg\" alt=\"im\"\r\n *ngIf=\"(checkBlank(responsibilityForm?.objective).trim() === '') || focus.objective\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"(checkBlank(responsibilityForm?.objective).trim() !== '') && !focus.objective\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Objective</label>\r\n <marx-editor [(ngModel)]=\"responsibilityForm.objective\" [editorConfig]=\"{mode: 'prime',\r\n colorPalette: true,\r\n id:'objective',\r\n link: true,\r\n placeholder: 'This option lets you specify an objective for the responsibility.'}\"></marx-editor>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Responsibility Center -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.RC\" [attr.id]=\"'RC'\"\r\n [class.active]=\"activeSelector === 'rc'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'rc' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"responsibilityForm?.rc?.length>0 && activeSelector !== 'rc'\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/responsibility-center.svg\"\r\n alt=\"\" *ngIf=\"responsibilityForm?.rc?.length==0 || activeSelector === 'rc'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.rc?.length>0 && activeSelector !== 'rc'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Responsibility Center </label>\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.rc?.length === 0\">\r\n <div class=\"custom-input\" (click)=\"activateSelector('rc',true)\"\r\n aria-placeholder=\"Select the responsibility center or the responsibility centers for this responsibility.\">\r\n </div>\r\n <!-- <input type=\"text\" (click)=\"activateSelector('rc',true)\" placeholder=\"Select Responsibility Center(s)\" readonly> -->\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.rc?.length > 0\"\r\n [class.readOnly]=\"openedFrom === 'RISK_TREATMENT'\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.rc?.length>1\"\r\n [class.plus]=\"responsibilityForm?.rc?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let rc of responsibilityForm?.rc?.slice(0,2)\"><i class=\"icons\"\r\n (click)=\"remove('rc',rc)\" *ngIf=\"openedFrom !== 'RISK_TREATMENT'\"></i>\r\n {{rc?.item_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.rc?.length > 2\" type=\"button\" appPopover\r\n (click)=\"rc.popover()\" placement=\"right\" placement=\"right\">+\r\n {{responsibilityForm?.rc?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'rc' && openedFrom !== 'RISK_TREATMENT'\" class=\"edit\"\r\n type=\"button\" (click)=\"activateSelector('rc',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <app-popover #rc [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let rc of responsibilityForm?.rc | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('rc',rc)\"></i>\r\n {{ rc.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Program -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.PROGRAM\" [attr.id]=\"'PROGRAM'\" [class.active]=\"activeSelector === 'program'\" [class.disabled]=\"activeSelector && activeSelector !== 'program' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"responsibilityForm?.program?.length>0 && activeSelector !== 'program'\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\" alt=\"\" *ngIf=\"responsibilityForm?.program?.length==0 || activeSelector === 'program'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.program?.length>0 && activeSelector !== 'program'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Program</label>\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.program?.length ==0\">\r\n <div class=\"custom-input\" (click)=\"activateSelector('program',true)\" aria-placeholder=\"Select the Program or Program Categories that this responsibility relates to.\"></div>\r\n <!-- <input type=\"text\" (click)=\"activateSelector('program',true)\" placeholder=\"Select Responsibility program(s)\" readonly> -->\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.program?.length > 0\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.program?.length>1\" [class.plus]=\"responsibilityForm?.program?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let program of responsibilityForm?.program\"><i class=\"icons\" *ngIf=\"false\" (click)=\"remove('program',program)\"></i> {{program?.name??'--'}}</span>\r\n <!-- <button *ngIf=\"responsibilityForm?.program?.length > 2\" class=\"count\" type=\"button\" appPopover (click)=\"program.popover()\" placement=\"right\">+ {{responsibilityForm?.program?.slice(2).length}}</button> -->\r\n <button *ngIf=\"responsibilityForm?.linkedProgram?.length > 1\" class=\"count\" type=\"button\" appPopover (click)=\"program.popover()\" placement=\"right\">+ {{responsibilityForm?.linkedProgram?.length - 1}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'program' && !hiddenList.includes('PROGRAM')\" class=\"edit\" type=\"button\" (click)=\"activateSelector('program',true)\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n <app-popover #program [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li class=\"multiple-program\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\" [appTooltip]=\"responsibilityForm?.program[0]?.name\" placement=\"bottom\"\r\n type=\"black\" delay=\"0\" [tooltipMandatory]=\"false\">\r\n <!-- <i class=\"icons\"></i> -->\r\n {{responsibilityForm?.program[0]?.name}}\r\n </span>\r\n <div class=\"primary-label\">PRIMARY</div>\r\n </div>\r\n </li>\r\n <li *ngFor=\"let program of responsibilityForm?.linkedProgram; let j = index\">\r\n <div class=\"avatar-card\" *ngIf=\"program?.category_id !== responsibilityForm?.program[0]?.category_id\">\r\n <span class=\"value\" [appTooltip]=\"program?.name\" placement=\"bottom\"\r\n type=\"black\" delay=\"0\" [tooltipMandatory]=\"false\">\r\n <i *ngIf=\"!hiddenList?.includes('PROGRAM') && !program?.isViewOnlyProgram\" class=\"icons\" (click)=\"remove('program',program)\"></i>\r\n {{ program?.name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <div *ngIf=\"responsibilityForm?.customTags?.length >0\">\r\n <ng-container *ngFor=\" let tag of responsibilityForm?.customTags\">\r\n <label class=\"vx-control-panel\">{{tag.tag_name}}</label>\r\n <input type=\"text\" [(ngModel)]=\"tag.value\" placeholder=\"{{tag.tag_name}}\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Responsibility Category -->\r\n <!-- <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.CATEGORY\" [attr.id]=\"'CATEGORY'\"\r\n [class.active]=\"activeSelector === 'category'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'category' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"responsibilityForm?.category?.length>0 && activeSelector !== 'category'\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\" alt=\"\"\r\n *ngIf=\"responsibilityForm?.category?.length==0 || activeSelector === 'category'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.category?.length>0 && activeSelector !== 'category'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Responsibility Category </label>\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.category?.length ==0\">\r\n <div class=\"custom-input\" (click)=\"activateSelector('category',true)\"\r\n aria-placeholder=\"Select the responsibility category or categories that this responsibility relates to.\">\r\n </div>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.category?.length > 0\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.category?.length>1\"\r\n [class.plus]=\"responsibilityForm?.category?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let category of responsibilityForm?.category?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('category',category)\"></i>\r\n {{category.item_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.category?.length > 2\" type=\"button\" appPopover\r\n (click)=\"category.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.category?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'category'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('category',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <app-popover #category [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let category of responsibilityForm?.category | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('category',category)\"></i>\r\n {{ category.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <div *ngIf=\"responsibilityForm?.customTags?.length >0\">\r\n <ng-container *ngFor=\" let tag of responsibilityForm?.customTags\">\r\n <label class=\"vx-control-panel\">{{tag.tag_name}}</label>\r\n <input type=\"text\" [(ngModel)]=\"tag.value\" placeholder=\"{{tag.tag_name}}\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Format & Evidence -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.FORMATE_EVIDENCE\"\r\n [attr.id]=\"'FORMATE_EVIDENCE'\" [class.active]=\"activeSelector === 'formate_evidence'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'formate_evidence' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img *ngIf=\"this.responsibilityForm.formatAndEvidence.evidenceRequired == false && this.responsibilityForm.formatAndEvidence.formatFiles.length == 0 && this.responsibilityForm.formatAndEvidence.formatLinks?.length == 0\"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/format-evidence.svg\" alt=\"im\">\r\n\r\n <svg *ngIf=\"this.responsibilityForm.formatAndEvidence.evidenceRequired || this.responsibilityForm.formatAndEvidence.formatFiles.length || this.responsibilityForm.formatAndEvidence.formatLinks?.length\"\r\n class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <app-format-and-evidence (updateFiles)=\"saveSelectedList('formate_evidence',$event)\"\r\n [mode]=\"'responsibility'\" [formatEvidanceData]=\"responsibilityForm?.formatAndEvidence\">\r\n </app-format-and-evidence>\r\n </div>\r\n\r\n </div>\r\n <!-- Assessment -->\r\n <div *ngIf=\"moreOptions?.ASSESSMENT\" [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\"\r\n [attr.id]=\"'ASSESSMENT'\" [class.active]=\"false\" [class.disabled]=\"false\">\r\n <div class=\"left\" [class.checked]=\"responsibilityForm.assessment?.assessment_id\">\r\n <img *ngIf=\"!responsibilityForm.assessment?.assessment_id\"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/assessments.svg\" alt=\"im\">\r\n\r\n <svg *ngIf=\"responsibilityForm.assessment?.assessment_id\" class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">ASSESSMENTS</label>\r\n <div *ngIf=\"!responsibilityForm.assessment?.assessment_id\" class=\"select\">\r\n <input type=\"text\" (click)=\"activateSelector('isAssessment',true);isAssessment = true\"\r\n placeholder=\"Select an assessment for this responsibility\"\r\n [disabled]=\"responsibilityForm.checkpoints?.length\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm.assessment?.assessment_id\">\r\n <div class=\"chip-container\" [class.more-one]=\"false\" [class.plus]=\"false\">\r\n <span class=\"chip with-question\">\r\n <span class=\"value\"\r\n [appTooltip]=\"responsibilityForm.assessment?.assessmentDetails?.assessment_name\"\r\n placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\"><i\r\n class=\"icons\"\r\n (click)=\"remove('assessment',category)\"></i>{{responsibilityForm.assessment?.assessmentDetails?.assessment_name}}</span>\r\n <span class=\"label\">{{responsibilityForm.assessment?.assessmentDetails?.questions}}\r\n {{responsibilityForm.assessment?.assessmentDetails?.questions > 1 ? 'Questions':\r\n 'Question'}}</span>\r\n </span>\r\n </div>\r\n <button (click)=\"activateSelector('isAssessment',true);isAssessment = true\" class=\"edit\"\r\n type=\"button\">\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <!-- Checkpoints -->\r\n <!-- *ngIf=\"moreOptions.checkpoints\" -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.CHECKPOINTS\"\r\n [attr.id]=\"'CHECKPOINTS'\" [class.active]=\"activeSelector === 'checkpoints'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'checkpoints' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/checkpoints.svg\" alt=\"im\"\r\n *ngIf=\"responsibilityForm?.checkpoints?.length==0 || activeSelector === 'checkpoints'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.checkpoints?.length>0 && activeSelector !== 'checkpoints'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n <!-- {{responsibilityForm.checkpoints|json}}\r\n {{responsibilityForm.checkpointInstruction}} -->\r\n\r\n Checkpoints\r\n <!-- <button *ngIf=\"responsibilityForm?.checkpoints?.length === 0\" class=\"button\"\r\n (click)=\"activateSelector('checkpoints',true)\">+ Add Checkpoints</button> -->\r\n </label>\r\n <div class=\"select button-sec\" *ngIf=\"responsibilityForm?.checkpoints?.length === 0\">\r\n <input [disabled]=\"!responsibilityForm.checkpoints?.length\" type=\"text\"\r\n (click)=\"activateSelector('checkpoints',true)\"\r\n placeholder=\"Add checkpoints for this responsibility\" readonly>\r\n <button [disabled]=\"!responsibilityForm.checkpoints?.length\"\r\n (click)=\"activateSelector('checkpoints',true)\" type=\"button\">Add Checkpoints</button>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm.checkpoints?.length > 0\">\r\n <div class=\"chip-container checkpoints\" [class.more-one]=\"responsibilityForm.checkpoints?.length>1\"\r\n [class.plus]=\"responsibilityForm.checkpoints?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let checkpoint of responsibilityForm.checkpoints?.slice(0,1)\">\r\n {{checkpoint?.label}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm.checkpoints?.length > 1\" type=\"button\"\r\n appPopover (click)=\"checkpoint.popover()\" placement=\"right\">+\r\n {{responsibilityForm.checkpoints?.length- 1}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'checkpoints'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('checkpoints',true)\">\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"this.responsibilityForm.checkpoints?.length\" class=\"assessment-text\">\r\n <i class=\"icons alert-icon\"></i>\r\n <span>You can now use the new <strong>Checkpoints </strong>or <strong>Assessments</strong> feature\r\n instead of the old checkpoints functionality to create analytical questions. <button\r\n class=\"remove-btn\" (click)=\"onRemoveCheckpoints('checkpoint')\">Remove Checkpoints</button> to\r\n continue.</span>\r\n </div>\r\n <app-popover #checkpoint [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let checkpoint of responsibilityForm.checkpoints | slice: 1; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n {{ checkpoint?.label }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n <!-- New Checkpoints -->\r\n <!-- *ngIf=\"moreOptions.checkpoints\" -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.CHECKPOINTS_NEW\"\r\n [attr.id]=\"'CHECKPOINTS-NEW'\" [class.active]=\"activeSelector === 'checkpoints-new'\">\r\n <div class=\"left\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/checkpoints.svg\" alt=\"im\"\r\n *ngIf=\"responsibilityForm?.checkpoints?.length==0 || activeSelector === 'checkpoints'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"checkpointCount > 0 && activeSelector !== 'checkpoints'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n <!-- {{responsibilityForm.checkpoints|json}}\r\n {{responsibilityForm.checkpointInstruction}} -->\r\n\r\n Checkpoints\r\n <!-- <span class=\"checkpoint-version\"> V2.0</span> -->\r\n <!-- <button class=\"button\"\r\n (click)=\"activateSelector('checkpoints-new',true)\">+ Add Checkpoints</button> -->\r\n </label>\r\n <div class=\"select button-sec\" *ngIf=\"checkpointCount === 0\">\r\n <input type=\"text\" (click)=\"activateSelector('checkpoints-new',true)\"\r\n placeholder=\"Add checkpoints for this responsibility\" readonly>\r\n <button (click)=\"activateSelector('checkpoints-new',true)\" type=\"button\">Add Checkpoints</button>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"checkpointCount > 0\">\r\n <div class=\"chip-container checkpoints\" [class.more-one]=\"checkpointCount > 0\">\r\n <span class=\"chip\">\r\n <i class=\"icons\" (click)=\"onRemoveCheckpoints('new-checkpoints')\"></i>\r\n {{checkpointCount}} {{checkpointCount > 1 ? 'Questions': 'Question'}}</span>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'checkpoints-new'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('checkpoints-new',true)\">\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n </div>\r\n <app-popover #checkpoint [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let checkpoint of responsibilityForm.checkpoints | slice: 1; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n {{ checkpoint?.label }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n <!-- Risk Classification -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.RISK_CLASSIFICATION\"\r\n [attr.id]=\"'RISK_CLASSIFICATION'\" [class.active]=\"activeSelector === 'riskCalculator'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'riskCalculator' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/risks.svg\" alt=\"im\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Risk Classification\r\n <button (click)=\"activateSelector('riskCalculator',true)\" class=\"button\">+ Risk Calculator</button>\r\n </label>\r\n\r\n <div class=\"classification\">\r\n <label class=\"low\" *ngFor=\"let risk of riskClassification\" [ngClass]=\"[risk.class]\">\r\n <input type=\"radio\" name=\"classification\" [(ngModel)]=\"responsibilityForm.riskClass\"\r\n [value]=\"risk?.value\">\r\n <span>{{risk?.name}}</span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Reviewer -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.REVIEWER\" [attr.id]=\"'REVIEWER'\"\r\n [class.active]=\"activeSelector === 'reviewerFrequency'|| activeSelector === 'reviewer'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'reviewer' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/reviewer.svg\" alt=\"\"\r\n *ngIf=\"responsibilityForm?.reviewers?.list?.length==0 || activeSelector === 'reviewer'\">\r\n\r\n <svg *ngIf=\"responsibilityForm?.reviewers?.list?.length>0 && activeSelector !== 'reviewer'\"\r\n class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Reviewer</label>\r\n <div class=\"select\" *ngIf=\"((responsibilityForm?.reviewers?.list?.length == 0 && !featureFlag_groups)||((responsibilityForm?.reviewers?.list?.length == 0 && responsibilityForm?.groupReviewers?.list?.length == 0) && featureFlag_groups))\">\r\n <input type=\"text\" (click)=\"activateSelector('reviewer',true)\" placeholder=\"Select Reviewer\"\r\n readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"((responsibilityForm?.reviewers?.list?.length > 0 && !featureFlag_groups)||((responsibilityForm?.reviewers?.list?.length > 0 || responsibilityForm?.groupReviewers?.list?.length > 0 ) && featureFlag_groups))\">\r\n <div class=\"chip-container\" *ngIf=\"!featureFlag_groups\" [class.more-one]=\"responsibilityForm?.reviewers?.list?.length>1\"\r\n [class.plus]=\"responsibilityForm?.reviewers?.list?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let reviewer of responsibilityForm?.reviewers?.list?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('reviewer',reviewer)\"></i>\r\n {{reviewer.member_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.reviewers?.list?.length > 2\" type=\"button\"\r\n appPopover (click)=\"reviewer.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.reviewers?.list?.slice(2).length}}</button>\r\n </div>\r\n <div class=\"chip-container\" *ngIf=\"featureFlag_groups\">\r\n <div class=\"chip-inner\" *ngIf=\"responsibilityForm?.reviewers?.list.length > 0 \">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">USER(S)</span></span>\r\n <button class=\"count user\" appPopover (click)=\"user.popover()\" placement=\"left\"> {{responsibilityForm?.reviewers?.list?.length}}</button>\r\n </div>\r\n <span class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\" *ngIf=\"responsibilityForm?.reviewers?.list.length > 0 && responsibilityForm?.groupReviewers?.list?.length > 0\" >&</span>\r\n <div class=\"chip-inner\" *ngIf=\"responsibilityForm?.groupReviewers?.list.length > 0 \" >\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\" >USER GROUP(S)</span></span>\r\n <button class=\"count\" appPopover (click)=\"group.popover()\" placement=\"right\">{{responsibilityForm?.groupReviewers?.list?.length}}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'reviewer'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('reviewer',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <app-cs-radio\r\n [checked]=\"responsibilityForm.reviewers.sequentialWorkflow\" [name]=\"'reviewer'\" (checkedEvent)=\"onReviewerWorkflowChange('sequential')\" [class.disabled]=\"responsibilityForm?.groupReviewers?.list?.length > 0\">\r\n SEQUENTIAL<i class=\"icons\"\r\n [appTooltip]=\"'The responsibility will be sent for review one at a time in the sequence defined by you.'\"\r\n placement=\"bottom-right\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\"></i>\r\n </app-cs-radio>\r\n <app-cs-radio\r\n [checked]=\"!responsibilityForm.reviewers.sequentialWorkflow\" [name]=\"'reviewer'\" (checkedEvent)=\"onReviewerWorkflowChange('anyReviewer')\">\r\n ANY REVIEWER CAN MARK THIS AS REVIEWED<i class=\"icons\"\r\n [appTooltip]=\"'The responsibility will be sent for review to all reviewers at the same time. If anyone of the reviewer reviews the responsibility, it will be considered as reviewed.'\"\r\n placement=\"bottom-right\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\"></i>\r\n </app-cs-radio>\r\n <app-popover #reviewer [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let reviewer of responsibilityForm?.reviewers?.list | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('reviewer',reviewer)\"></i>\r\n {{ reviewer.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #user [dontCloseonClick]=\"true\" >\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let reviewer of responsibilityForm?.reviewers?.list ; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('reviewer',reviewer)\" ></i>\r\n {{ reviewer.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #group [dontCloseonClick]=\"true\" >\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of responsibilityForm?.groupReviewers?.list; let i = index\" >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('groupReviewer',group)\" ></i>\r\n {{group.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Overseer -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.OVERSEER\" [attr.id]=\"'OVERSEER'\"\r\n [class.active]=\" activeSelector === 'overseerNotify' || activeSelector === 'overseer'\"\r\n [class.disabled]=\"activeSelector && !['overseerNotify','overseerNotify'].includes(activeSelector) && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg\" alt=\"\"\r\n *ngIf=\"(responsibilityForm?.overseers?.list?.length==0 && responsibilityForm?.overseers?.notifyList?.length == 0)|| activeSelector === 'overseerNotify' || activeSelector === 'overseer'\">\r\n <svg class=\"checkIcon\" *ngIf=\"(responsibilityForm?.overseers?.list?.length>0 || responsibilityForm?.overseers?.notifyList?.length>0)\r\n && !( activeSelector === 'overseerNotify' || activeSelector === 'overseer')\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Overseer </label>\r\n <div class=\"select\" *ngIf=\"((responsibilityForm?.overseers?.list?.length == 0 && !featureFlag_groups)||((responsibilityForm?.overseers?.list?.length == 0 && responsibilityForm?.overseersGroups?.list?.length == 0) && featureFlag_groups))\">\r\n <input type=\"text\" (click)=\"activateSelector('overseer',true)\"\r\n placeholder=\"Who should have oversight of the responsibility?\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"((responsibilityForm?.overseers?.list?.length > 0 && !featureFlag_groups)||((responsibilityForm?.overseers?.list?.length > 0 || responsibilityForm?.overseersGroups?.list?.length > 0 ) && featureFlag_groups))\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.overseers?.list?.length>1\"\r\n [class.plus]=\"responsibilityForm?.overseers?.list?.length>2\" *ngIf=\"!featureFlag_groups\" >\r\n <span class=\"chip\" *ngFor=\"let overseer of responsibilityForm?.overseers?.list?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('overseer',overseer)\"></i>\r\n {{overseer.member_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.overseers?.list?.length > 2\" type=\"button\"\r\n appPopover (click)=\"overseers.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.overseers?.list?.slice(2).length}}</button>\r\n </div>\r\n <div class=\"chip-container\" *ngIf=\"featureFlag_groups\">\r\n <div class=\"chip-inner\" *ngIf=\"responsibilityForm?.overseers?.list.length > 0\" >\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">USER(S)</span></span>\r\n <button class=\"count user\" appPopover (click)=\"overseerUser.popover()\" placement=\"left\"> {{responsibilityForm?.overseers?.list?.length}}</button>\r\n </div>\r\n <span class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\" *ngIf=\"responsibilityForm?.overseers?.list.length > 0 && responsibilityForm?.overseersGroups?.list?.length > 0\" >&</span>\r\n <div class=\"chip-inner\" *ngIf=\"responsibilityForm?.overseersGroups?.list?.length > 0 \" >\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\" >USER GROUP(S)</span></span>\r\n <button class=\"count\" appPopover (click)=\"overseerGroup.popover()\" placement=\"right\">{{responsibilityForm?.overseersGroups?.list?.length}}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'overseer'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('overseer',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n\r\n <div class=\"select\" *ngIf=\"((responsibilityForm?.overseers?.notifyList?.length == 0 && !featureFlag_groups)||((responsibilityForm?.overseers?.notifyList?.length == 0 && responsibilityForm?.overseersGroups?.notifyList?.length == 0) && featureFlag_groups))\">\r\n <input type=\"text\" (click)=\"activateSelector('overseerNotify',true)\"\r\n placeholder=\"Who should be notified if the responsibility is not complet...\" readonly\r\n [appTooltip]=\"'Who should be notified if the responsibility is not completed?'\"\r\n placement=\"bottom\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n </div>\r\n <div class=\"selected\" *ngIf=\"((responsibilityForm?.overseers?.notifyList?.length > 0 && !featureFlag_groups)||((responsibilityForm?.overseers?.notifyList?.length > 0 || responsibilityForm?.overseersGroups?.notifyList?.length > 0 ) && featureFlag_groups))\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.overseers?.notifyList?.length>1\"\r\n [class.plus]=\"responsibilityForm?.overseers?.notifyList?.length>2\" *ngIf=\"!featureFlag_groups\">\r\n <span class=\"chip\"\r\n *ngFor=\"let overseer of responsibilityForm?.overseers?.notifyList?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('overseerNotifyList',overseer)\"></i>\r\n {{overseer.member_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.overseers?.notifyList?.length > 2\"\r\n type=\"button\" appPopover (click)=\"notify.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.overseers?.notifyList?.slice(2).length}}</button>\r\n </div>\r\n <div class=\"chip-container\" *ngIf=\"featureFlag_groups\">\r\n <div class=\"chip-inner\" *ngIf=\"responsibilityForm?.overseers?.notifyList.length > 0\">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">USER(S)</span></span>\r\n <button class=\"count user\" appPopover (click)=\"notifyUser.popover()\" placement=\"left\"> {{responsibilityForm?.overseers?.notifyList?.length}}</button>\r\n </div>\r\n <span class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\" *ngIf=\"responsibilityForm?.overseers?.notifyList.length > 0 && responsibilityForm?.overseersGroups?.notifyList?.length > 0\" >&</span>\r\n <div class=\"chip-inner\" *ngIf=\"responsibilityForm?.overseersGroups?.notifyList?.length > 0 \" >\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\" >USER GROUP(S)</span></span>\r\n <button class=\"count\" appPopover (click)=\"notifyGroup.popover()\" placement=\"right\">{{responsibilityForm?.overseersGroups?.notifyList?.length}}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'overseerNotify'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('overseerNotify',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <app-popover #overseers [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let overseer of responsibilityForm?.overseers?.list | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('overseer',overseer)\"></i>\r\n {{ overseer?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #overseerUser [dontCloseonClick]=\"true\" >\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let overseers of responsibilityForm?.overseers?.list ; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('overseer',overseers)\" ></i>\r\n {{ overseers?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #overseerGroup [dontCloseonClick]=\"true\" >\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let overseer of responsibilityForm?.overseersGroups?.list; let i = index\" >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('overseerGroup',overseer)\" ></i>\r\n {{overseer?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #notify [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"let overseer of responsibilityForm?.overseers?.notifyList | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('overseerNotifyList',overseer)\"></i>\r\n {{ overseer?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #notifyUser [dontCloseonClick]=\"true\" >\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let overseer of responsibilityForm?.overseers?.notifyList ; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('overseerNotifyList',overseer)\" ></i>\r\n {{ overseer?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #notifyGroup [dontCloseonClick]=\"true\" >\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of responsibilityForm?.overseersGroups?.notifyList; let i = index\" >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('overseerGroupNotifyList',group)\" ></i>\r\n {{group?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Assurance -->\r\n\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.ASSURANCE\"\r\n [attr.id]=\"'ASSURANCE'\" [class.active]=\"activeSelector === 'assurance'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'assurance' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/reviewer.svg\" alt=\"\"\r\n *ngIf=\"responsibilityForm?.assuranceList?.length==0 || activeSelector === 'assurance'\">\r\n\r\n <svg *ngIf=\"responsibilityForm?.assuranceList?.length>0 && activeSelector !== 'assurance'\" class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Assurance</label>\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.assuranceList?.length ==0\">\r\n <div class=\"custom-input\" (click)=\"activateSelector('assurance',true)\"\r\n aria-placeholder=\"Select the test plan categories that you would like to add this responsibility to.\">\r\n </div>\r\n <!-- <input type=\"text\" (click)=\"activateSelector('assurance',true)\"\r\n placeholder=\"Select the test plan categories that you would like to add...\"\r\n readonly [appTooltip]=\"'Select the test plan categories that you would like to add this responsibility to.'\" placement=\"bottom\" delay=\"0\" [tooltipMandatory]=\"true\"> -->\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.assuranceList?.length > 0\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.assuranceList?.length>1\"\r\n [class.plus]=\"responsibilityForm?.assuranceList?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let assurance of responsibilityForm?.assuranceList?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('assurance',assurance)\"></i>\r\n {{assurance.category_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.assuranceList?.length > 2\" type=\"button\"\r\n appPopover (click)=\"assurance.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.assuranceList?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'assurance'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('assurance',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <app-popover #assurance [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let assurance of responsibilityForm?.assuranceList | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('assurance',assurance)\"></i>\r\n {{ assurance.category_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\"\r\n *ngIf=\"moreOptions?.REQUIRES_AUDIT && responsibilityForm.rc.length > 0\" [attr.id]=\"'REQUIRES_AUDIT'\"\r\n [class.active]=\"activeSelector === 'requires_audit'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'requires_audit' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/audit.svg\" alt=\"\"\r\n *ngIf=\"responsibilityForm?.requiresAuditList?.length==0 || activeSelector === 'requires_audit'\">\r\n\r\n <svg *ngIf=\"responsibilityForm?.requiresAuditList?.length>0 && activeSelector !== 'requires_audit'\"\r\n class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">REQUIRES AUDIT?</label>\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.requiresAuditList?.length ==0\">\r\n <!-- <div class=\"custom-input\" (click)=\"activateSelector('assurance',true)\" aria-placeholder=\"Select the test plan categories that you would like to add this responsibility to.\"></div> -->\r\n <!-- <input type=\"text\" (click)=\"activateSelector('assurance',true)\"\r\n placeholder=\"Select the test plan categories that you would like to add...\"\r\n readonly [appTooltip]=\"'Select the test plan categories that you would like to add this responsibility to.'\" placement=\"bottom\" delay=\"0\" [tooltipMandatory]=\"true\"> -->\r\n\r\n <input type=\"text\" placeholder=\"If yes, select an Audit Category.\" readonly\r\n (click)=\"activateSelector('requires_audit',true)\">\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.requiresAuditList?.length > 0\">\r\n <!-- <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.assuranceList?.length>1\" [class.plus]=\"responsibilityForm?.assuranceList?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let assurance of responsibilityForm?.assuranceList?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('assurance',assurance)\"></i>\r\n {{assurance.category_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.assuranceList?.length > 2\" type=\"button\"\r\n appPopover (click)=\"assurance.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.assuranceList?.slice(2).length}}</button>\r\n </div> -->\r\n <!-- <button *ngIf=\"activeSelector !== 'assurance'\" class=\"edit\" type=\"button\" (click)=\"activateSelector('assurance',true)\"><i\r\n class=\"icons\"></i>\r\n Edit</button> -->\r\n\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"><i class=\"icons\" (click)=\"remove('requires_audit',overseer)\"></i>\r\n {{responsibilityForm?.requiresAuditList[0]?.category_name}}</span>\r\n </div>\r\n <button class=\"edit\" type=\"button\" (click)=\"activateSelector('requires_audit',true)\"><i\r\n class=\"icons\"></i> Edit</button>\r\n <!-- class=\"icons\"></i>\r\n Edit</button> -->\r\n </div>\r\n <ng-container *ngIf=\"responsibilityForm?.requiresAuditList?.length\">\r\n <label class=\"vx-control-panel vx-mt-8\">\r\n SAMPLE SIZE\r\n <app-cs-switch [(ngValue)]=\"isSample\" (ngValueChange)=\"switchEnable($event)\"></app-cs-switch>\r\n </label>\r\n <div class=\"sample-part\" [class.disabled]=\"!isSample\">\r\n <app-cs-radio value=\"0\" class=\"sample-radio\" (click)=\"selectedSampleData(0)\"\r\n [checked]=\"selectedSample === 0\">\r\n <div class=\"name\">COUNT</div>\r\n <input type=\"number\" placeholder=\"--\" (keypress)=\"checkInputValue($event)\"\r\n [(ngModel)]=\"sampleValue\">\r\n </app-cs-radio>\r\n <div class=\"or\">OR</div>\r\n <app-cs-radio value=\"1\" class=\"sample-radio\" (click)=\"selectedSampleData(1)\"\r\n [checked]=\"selectedSample === 1\">\r\n <div class=\"name\">PERCENTAGE</div>\r\n <input type=\"number\" (keypress)=\"checkInputValue($event)\" [(ngModel)]=\"samplePercentage\"\r\n placeholder=\"--\">\r\n </app-cs-radio>\r\n </div>\r\n <label class=\"vx-control-panel vx-mt-8\">SET A REMINDER IF THE AUDIT PLAN IS NOT CREATED.</label>\r\n <div class=\"reminder-part\">\r\n Send reminder every <input type=\"number\" value=\"2\" [(ngModel)]=\"sendAuditRemindersValue\"> Day by\r\n <div class=\"picker-group\">\r\n <input class=\"time\" aria-label=\"12hr format\" [(ngModel)]=\"auditTime\"\r\n [ngxTimepicker]=\"dailyTime\" placeholder=\"auditTime.toUpperCase()\" type=\"text\"\r\n [min]=\"currentTime\" readonly>\r\n <i class=\"icons\"></i>\r\n <ngx-material-timepicker #dailyTime [defaultTime]=\"auditTime\">\r\n </ngx-material-timepicker>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- <app-popover #assurance [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let assurance of responsibilityForm?.assuranceList | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('assurance',assurance)\"></i>\r\n {{ assurance.category_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover> -->\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<app-users-radio-list *ngIf=\"activeSelector === 'assignors'\" [usersList]=\"assignorsList\"\r\n [selectedUsers]=\"responsibilityForm.assignors.list\" [itemEmailKey]=\"'member_email'\" [userIdKey]=\"'member_id'\"\r\n [itemNameKey]=\"'member_name'\" (saveSelectedList)=\"saveSelectedList('assignors',$event)\"\r\n (closeUsersList)=\"activeDeselector()\">\r\n</app-users-radio-list>\r\n\r\n<ng-container *ngIf=\"activeSelector === 'assignees'\">\r\n <app-group-users-list *ngIf=\"isEntrust || responsibilityForm?.assignees?.whoCanComplete === 'ANY_ONE'\" [openedFrom]=\"openedFrom\" [usersList]=\"assigneesList\"\r\n [groupsList]=\"groupsList\" [assigneeGroupsList] =\"groupAssigneeList\" [selectedUsers]=\"responsibilityForm?.assignees?.list\" [selectedGroups]=\"responsibilityForm?.assigneeGroups?.list\" [userIdKey]=\"'my_member_id'\" [groupIdKey]=\"'group_id'\"\r\n (saveSelectedList)=\"saveSelectedList('assignees',$event)\" (closeUsersList)=\"activeDeselector()\" [groupsEnabled]=\"featureFlag_groups\" >\r\n </app-group-users-list>\r\n <app-users-radio-list *ngIf=\"!isEntrust && responsibilityForm.assignees.whoCanComplete !== 'ANY_ONE'\" [itemEmailKey]=\"'employee_email'\" [usersList]=\"assigneesList\"\r\n [selectedUsers]=\"responsibilityForm.assignees.list\" [userIdKey]=\"'employee_id'\" [itemNameKey]=\"'employee_name'\"\r\n (saveSelectedList)=\"saveSelectedList('assignees',$event)\" (closeUsersList)=\"activeDeselector()\">\r\n </app-users-radio-list>\r\n</ng-container>\r\n\r\n\r\n\r\n<app-checkpoints *ngIf=\"activeSelector === 'checkpoints'\"\r\n [checkpointInstruction]=\"responsibilityForm?.checkpointInstruction\"\r\n [checkpointData]=\"responsibilityForm?.checkpoints\" (saveCheckPoint)=\"saveSelectedList('checkpoints',$event)\"\r\n (closeCheckPoint)=\"activeDeselector()\"></app-checkpoints>\r\n<app-frequency-container *ngIf=\"activeSelector === 'frequency'\" [frequencyDetails]=\"frequencyDetails\"\r\n (selectedFrequency)=\"frequencyData($event)\" [mode]=\"'responsibility'\" (closeFrequency)=\"activeDeselector()\">\r\n</app-frequency-container>\r\n\r\n<app-responsibility-centers-list *ngIf=\"activeSelector === 'rc'\" [responsibilityCentersList]=\"responsibilityCentersList\"\r\n [radioSelection]=\"(mode == 'EDIT')?true:false\" [selectedResponsibilityCenters]=\"responsibilityForm.rc\"\r\n [rcIdKey]=\"'item_id'\" (saveSelectedList)=\"saveSelectedList('rc',$event)\" (closeRcList)=\"activeDeselector()\">\r\n</app-responsibility-centers-list>\r\n\r\n<app-category-multi-select *ngIf=\"activeSelector === 'category'\" [categoryList]=\"categories\"\r\n [allCategories]=\"allCategories\" [categoryIdKey]=\"'category_id'\" [selectedCategories]=\"responsibilityForm.category\"\r\n (saveSelectedCategory)=\"saveSelectedList('category',$event)\" (closeCategoriesList)=\"activeDeselector()\">\r\n</app-category-multi-select>\r\n\r\n<!-- [hideProgramsList]=\"(selectedProgram && !(this.selectedProgram?.programType === 0 && this.selectedProgram?.name?.toLowerCase() === 'uncategorized' )) ? true : false\" -->\r\n<app-program-listing *ngIf=\"activeSelector === 'program'\" [programsList]=\"programsList\"\r\n [selectedCategories]=\"responsibilityForm.category | refDisconnect\" [selectedProgram]=\"responsibilityForm.program | refDisconnect\"\r\n (saveSelectedProgram)=\"saveSelectedList('program',$event)\" (closeEvent)=\"activeDeselector()\" [linkedProgram]=\"responsibilityForm?.linkedProgram\" [mode]=\"(this.selectedProgram?.programType === 0 && this.selectedProgram?.name?.toLowerCase() === 'uncategorized' ) ? '' : mode\"\r\n [openedFrom]=\"openedFrom\" [responsibilityId]=\"responsibilityId\"></app-program-listing>\r\n\r\n<app-owner-list *ngIf=\"activeSelector === 'reviewer' && !featureFlag_groups\" [listHeading]=\"'Select a Reviewer'\"\r\n [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\" [usersList]=\"reviewersList\" [showWorkflow]=\"true\"\r\n [selectedUsers]=\"responsibilityForm.reviewers.list\" [userIdKey]=\"'employee_id'\" [itemEmailKey]=\"'employee_email'\"\r\n [itemNameKey]=\"'member_name'\"\r\n (saveSelectedList)=\"saveSelectedList('reviewer',$event);activateSelector('reviewerFrequency',true)\"\r\n (closeUsersList)=\"activeDeselector()\" [mode]=\"mode\"\r\n [reviewerWorkflowType]=\"(responsibilityForm?.reviewers?.sequentialWorkflow) ? 'SEQUENTIAL' : 'ANY REVIEWER CAN MARK THIS AS REVIEWED'\"\r\n (reviewerWorkflowTypeChange)=\"reviewerTypeChange($event)\">\r\n</app-owner-list>\r\n<user-group-list *ngIf=\"activeSelector === 'reviewer' && featureFlag_groups\" [selectedReviewer]=\"true\" [userlist]=\"reviewerMemberIdsList\" [groupEnabled]=\"true\" [groupList]=\"groupReviewerList\" [selectedGroups]=\"responsibilityForm?.groupReviewers?.list\"\r\n [selectedUsers] =\"responsibilityForm?.reviewers?.list\" (cancel)=\"activeDeselector()\" (save) = \"saveSelectedList('reviewer',$event);activateSelector('reviewerFrequency',true)\" [mode]=\"mode\"\r\n (reviewerWorkflowTypeChange) = \"reviewerTypeChange($event)\" [reviewerWorkflowType]=\"(responsibilityForm?.reviewers?.sequentialWorkflow) ? 'SEQUENTIAL' : 'ANY REVIEWER CAN MARK THIS AS REVIEWED'\" [featureflag]=\"featureFlag_groups\">\r\n </user-group-list>\r\n<app-owner-list *ngIf=\"activeSelector === 'overseer' && !featureFlag_groups\" [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\"\r\n [usersList]=\"overseersList\" [selectedUsers]=\"responsibilityForm.overseers.list\" [userIdKey]=\"'employee_id'\"\r\n [itemNameKey]=\"'member_name'\" (saveSelectedList)=\"saveSelectedList('overseer',$event)\"\r\n (closeUsersList)=\"activeDeselector()\" [itemEmailKey]=\"'employee_email'\">\r\n</app-owner-list >\r\n<user-group-list *ngIf=\"activeSelector === 'overseer' && featureFlag_groups\" [groupEnabled]=\"true\" [groupList]=\"groupOverseerList\" [selectedGroups]=\"responsibilityForm?.overseersGroups?.list\"\r\n[userlist]=\"overseersList\" [selectedUsers]=\"responsibilityForm.overseers.list\"\r\n (save)=\"saveSelectedList('overseer',$event)\" (cancel)=\"activeDeselector()\" [featureflag]=\"featureFlag_groups\">\r\n</user-group-list>\r\n\r\n<app-owner-list *ngIf=\"activeSelector ==='overseerNotify'&& !featureFlag_groups\" [singularText]=\"'User selected'\"\r\n [pluralText]=\"'Users selected'\" [usersList]=\"overseersList\"\r\n [selectedUsers]=\"responsibilityForm.overseers.notifyList\" [userIdKey]=\"'employee_id'\" [itemNameKey]=\"'member_name'\"\r\n (saveSelectedList)=\"saveSelectedList('overseerNotify',$event)\" (closeUsersList)=\"activeDeselector()\"\r\n [itemEmailKey]=\"'employee_email'\"></app-owner-list>\r\n <user-group-list *ngIf=\"activeSelector ==='overseerNotify' && featureFlag_groups\" [userlist]=\"overseersList\" [groupEnabled]=\"true\" [groupList]=\"groupOverseerList\" [selectedGroups]=\"responsibilityForm?.overseersGroups?.notifyList\"\r\n [selectedUsers]=\"responsibilityForm.overseers.notifyList\"\r\n (save)=\"saveSelectedList('overseerNotify',$event)\" (cancel)=\"activeDeselector()\" [featureflag]=\"featureFlag_groups\">\r\n </user-group-list>\r\n\r\n<app-owner-list *ngIf=\"activeSelector === 'assurance'\" [singularText]=\"'Test Category selected'\"\r\n [pluralText]=\"'Test Categories selected'\" [searchPlaceholder]=\"'Search Test Category...'\"\r\n [listHeading]=\"'Select Test Categories'\" [usersList]=\"assuranceCategoriesList\"\r\n [noDataText]=\"'No Test Categories Found'\" [selectedUsers]=\"responsibilityForm.assuranceList\"\r\n [userIdKey]=\"'category_id'\" [itemEmailKey]=\"'category_name'\" [itemNameKey]=\"'category_name'\"\r\n (saveSelectedList)=\"saveSelectedList('assurance',$event)\" (closeUsersList)=\"activeDeselector()\"\r\n [searchPlaceholder]=\"'Search Category'\">\r\n</app-owner-list>\r\n\r\n<app-audit-category-list *ngIf=\"activeSelector === 'requires_audit'\" (closeList)=\"activeDeselector()\"\r\n [auditCategory]=\"assuranceRequiresAuditList\" (saveSelectedList)=\"saveSelectedList('requires_audit',$event)\"\r\n [selectedData]=\"responsibilityForm?.requiresAuditList[0]\"></app-audit-category-list>\r\n\r\n<app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n<app-framework-list *ngIf=\"activeSelector === 'framework'\" (assignControl)=\"assignFromFramework($event)\"\r\n[previousSelectedValues]=\"selectedFrameworkValues\"\r\n (closeFramework)=\"activeDeselector()\" (entrustFramework)=\"entrustFramework($event)\"></app-framework-list>\r\n\r\n<!-- risk-calculator here -->\r\n<app-risk-classification *ngIf=\"activeSelector === 'riskCalculator' \" [currentRiskValue]=\"responsibilityForm.riskClass\"\r\n (saveList)=\"saveSelectedList('calculatedrisk',$event)\" (closeList)=\"activeDeselector()\">\r\n</app-risk-classification>\r\n\r\n<app-review-frequency *ngIf=\"activeSelector === 'reviewerFrequency'\"\r\n [reviewCompleteDays]=\"responsibilityForm.reviewers.reviewFrequency.reviewCompleteDays\"\r\n [reviewNOtCompletedDays]=\"responsibilityForm.reviewers.reviewFrequency.reviewNOtCompletedDays\"\r\n (saveReviewFrequency)=\"saveSelectedList('reviewFrequency',$event)\"\r\n (closeReviewFrequency)=\"activeDeselector();activateSelector('reviewer',false);responsibilityForm.reviewers.list = [];responsibilityForm.groupReviewers.list = []\"\r\n (backToUserList)=\"activeDeselector();activateSelector('reviewer',true)\">\r\n</app-review-frequency>\r\n\r\n\r\n<app-assessment-list *ngIf=\"isAssessment\" [program_ids]=\"responsibilityForm.program[0]?._id\"\r\n (cancelAssessment)=\"isAssessment = false; activateSelector('isAssessment', false)\"\r\n [isEdit]=\"responsibilityForm?.assessment?.assessment_id ? true : false\"\r\n [selectedAssessment]=\"responsibilityForm?.assessment\"\r\n (onAssessmentSelect)=\"onAssessmentSelect($event);activateSelector('isAssessment', false)\"></app-assessment-list>\r\n\r\n<app-smiley-dialog-inline *ngIf=\"showSmiley\" [message]=\"smileyMessage\" [actionButtons]=\"actionButtons\"\r\n (action)=\"action($event)\" (closeSmiley)=\"closeSmiley($event)\"></app-smiley-dialog-inline>\r\n\r\n<div class=\"import\" *ngIf=\"activeSelector === 'checkpoints-new'\">\r\n <app-create-assessment-container #editor [openPortal]=\"'RESPONSIBILITY_CHECKPOINT'\"\r\n (postAssessment)=\"postAssessment($event)\" (setIsUploaded)=\"setIsUploaded($event)\"\r\n [checkpointJSON]=\"responsibilityForm.new_checkpoints\">\r\n </app-create-assessment-container>\r\n</div>\r\n",
|
|
5397
|
+
template: "<div class=\"workflw-compliance\" *ngIf=\"!showSmiley\">\r\n\r\n <div *ngIf=\"mode !== 'EDIT'\" class=\"form-group-row \" [class.active]=\"activeSelector === 'assignors'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'assignors' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\"\r\n [class.checked]=\"responsibilityForm?.assignors?.list?.length>0 && activeSelector !== 'assignors'\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/im-creating.svg\" alt=\"im\"\r\n *ngIf=\"responsibilityForm?.assignors?.list?.length==0 || activeSelector === 'assignors'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.assignors?.list?.length>0 && activeSelector !== 'assignors'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n I am creating this responsibility on behalf of someone else\r\n <app-cs-switch [ngValue]=\"responsibilityForm.assignors.enable\"\r\n (ngValueChange)=\"responsibilityForm.assignors.enable = $event; responsibilityForm.assignors.list = [];\">\r\n </app-cs-switch>\r\n </label>\r\n <div class=\"select\"\r\n *ngIf=\"responsibilityForm?.assignors?.list?.length === 0 || activeSelector === 'assignors'\">\r\n <input type=\"text\" (click)=\"activateSelector('assignors',true)\"\r\n placeholder=\"Who is responsible for managing this responsibility?\" readonly\r\n [disabled]=\"!responsibilityForm?.assignors?.enable\">\r\n </div>\r\n <div class=\"selected\"\r\n *ngIf=\"responsibilityForm?.assignors?.list?.length > 0 && activeSelector !== 'assignors'\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\" *ngFor=\"let b_user of responsibilityForm?.assignors?.list?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('assignors',b_user)\"></i>\r\n {{b_user.member_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.assignors?.list?.length > 2\" type=\"button\"\r\n appPopover (click)=\"behalf.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.assignors?.list?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'assignors'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('assignors',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <app-popover #behalf [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let b_user of responsibilityForm?.assignors?.list | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('assignors',b_user)\"></i>\r\n {{ b_user.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <p *ngIf=\"invalidType === 'whom'\" [appScrollInView]=\"true\" class=\"error-message\">Please select the\r\n person responsible for managing this responsibility.\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- What -->\r\n\r\n <div class=\"form-group-row\" [class.active]=\"activeSelector === 'framework'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'responsibilityName' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\"\r\n [class.checked]=\"responsibilityForm?.responsibility?.name.trim() !== '' && !focus.responsibilityName\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/what.svg\" alt=\"im\"\r\n *ngIf=\"(responsibilityForm?.responsibility?.name.trim() === '') || focus.responsibilityName\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.responsibility?.name.trim() !== '' && !focus.responsibilityName\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n What? <span class=\"required\">*</span>\r\n <button *ngIf=\"isFrameworkAvailable && mode !== 'EDIT' && openedFrom !=='RISK_TREATMENT'\"\r\n (click)=\"activateSelector('framework',true)\" class=\"button\">Select From A framework</button>\r\n </label>\r\n <span *ngIf=\"responsibilityForm?.responsibility?.keyResponsibility\" class=\"indicator\"\r\n [appTooltip]=\"'This responsibility is marked as key responsibility.'\" placement=\"bottom\"\r\n type=\"black\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n <i class=\"icons\"></i>\r\n </span>\r\n <input *ngIf=\"responsibilityForm?.responsibility?.name.trim() =='' || !isEditWhat\" type=\"text\"\r\n [ngModel]=\"responsibilityForm.responsibility.name\" placeholder=\"What is the responsibility?\"\r\n (change)=\"whatChanged($event)\" (focusin)=\"activateSelector('responsibilityName',true)\"\r\n (focusout)=\"activeDeselector()\" (clickOutside)=\"testFunction()\" #what>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.responsibility?.name.trim() !='' && isEditWhat\">\r\n <div class=\"chip-container\">\r\n <span class=\"value\">{{responsibilityForm.responsibility?.name}}</span>\r\n </div>\r\n <button class=\"edit\" type=\"button\" (click)=\"onEditWhat($event)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <p *ngIf=\"invalidType === 'what'\" [appScrollInView]=\"true\" class=\"error-message\">Please enter a name for\r\n this responsibility.</p>\r\n <div class=\"switch-row align-right\">\r\n <app-cs-switch [ngValue]=\"responsibilityForm.responsibility?.keyResponsibility\"\r\n (ngValueChange)=\"responsibilityForm.responsibility.keyResponsibility = $event\">Key\r\n Responsibility\r\n </app-cs-switch>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Who -->\r\n <div class=\"form-group-row\" [class.active]=\"activeSelector === 'assignees'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'assignees' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\"\r\n [class.checked]=\"responsibilityForm?.assignees?.list?.length>0 && activeSelector !== 'assignees'\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/who.svg\" alt=\"im\"\r\n *ngIf=\"responsibilityForm?.assignees?.list?.length==0 || activeSelector === 'assignees'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.assignees?.list?.length>0 && activeSelector !== 'assignees'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Who? <span class=\"required\">*</span></label>\r\n\r\n <div class=\"select\" *ngIf=\"(responsibilityForm?.assignees?.list?.length == 0 && (!featureFlag_groups||(responsibilityForm?.assigneeGroups?.list?.length == 0 && featureFlag_groups)))\">\r\n <input type=\"text\" (click)=\"activateSelector('assignees',true)\"\r\n placeholder=\"Who is responsible for completing the responsibility?\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"((responsibilityForm?.assignees?.list?.length > 0 && !featureFlag_groups)||((responsibilityForm?.assignees?.list?.length > 0 || responsibilityForm?.assigneeGroups?.list?.length > 0 ) && featureFlag_groups))\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.assignees?.length>1\"\r\n [class.plus]=\"responsibilityForm?.assignees?.length>2\" *ngIf=\"!featureFlag_groups\">\r\n <span class=\"chip\" *ngFor=\"let e_user of responsibilityForm?.assignees?.list?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('assignees',e_user)\"></i>\r\n {{e_user.member_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.assignees?.list?.length > 2\" type=\"button\"\r\n appPopover (click)=\"assignees.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.assignees?.list?.slice(2).length}}</button>\r\n </div>\r\n <div class=\"chip-container\" *ngIf=\"featureFlag_groups\">\r\n <div class=\"chip-inner\" *ngIf=\"responsibilityForm?.assignees?.list?.length > 0\" >\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">USER(S)</span></span>\r\n <button class=\"count user\" appPopover (click)=\"user.popover()\" placement=\"left\"> {{responsibilityForm?.assignees?.list?.length}}</button>\r\n </div>\r\n <span class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\" *ngIf=\"responsibilityForm?.assignees?.list?.length > 0 && responsibilityForm?.assigneeGroups?.list?.length > 0\" >&</span>\r\n <div class=\"chip-inner\" *ngIf=\"responsibilityForm?.assigneeGroups?.list?.length\" >\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\" >USER GROUP(S)</span></span>\r\n <button class=\"count\" appPopover (click)=\"group.popover()\" placement=\"right\">{{responsibilityForm?.assigneeGroups?.list?.length}}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'assignees' && (!featureFlag_groups || (featureFlag_groups && (!allGroupAssignee || mode !== 'EDIT')))\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('assignees',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n <app-popover #user [dontCloseonClick]=\"true\" >\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let e_user of responsibilityForm?.assignees?.list\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('assignees',e_user)\" ></i>\r\n {{ e_user.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #group [dontCloseonClick]=\"true\" >\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of responsibilityForm?.assigneeGroups?.list\" >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i *ngIf=\"(!featureFlag_groups || (featureFlag_groups && (!allGroupAssignee || mode !== 'EDIT')))\" class=\"icons\" (click)=\"remove('groupassignees',group)\" ></i>\r\n {{group.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <p *ngIf=\"invalidType === 'who'\" [appScrollInView]=\"true\" class=\"error-message\">Please select the person\r\n responsible for completing this responsibility.</p>\r\n <ng-container *ngIf=\"!isGroupAssigned\">\r\n <app-cs-radio *ngIf=\"mode !== 'EDIT'\"\r\n (checkedEvent)=\"responsibilityForm.assignees.whoCanComplete = 'ALL'\"\r\n [checked]=\"responsibilityForm.assignees.whoCanComplete == 'ALL'\" [name]=\"'what'\">ALL SELECTED\r\n PERSONS NEED TO\r\n COMPLETE THIS<i class=\"icons\"\r\n [appTooltip]=\"'If selected, separate responsibilities will be created for each person.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=\"true\"></i>\r\n </app-cs-radio>\r\n <app-cs-radio *ngIf=\"mode !== 'EDIT'\"\r\n (checkedEvent)=\"responsibilityForm.assignees.whoCanComplete = 'ANY_ONE'\"\r\n [checked]=\"responsibilityForm.assignees.whoCanComplete == 'ANY_ONE'\" [name]=\"'what'\">ANY SELECTED\r\n PERSON CAN COMPLETE\r\n THIS <i class=\"icons\" [appTooltip]=\"'If selected, only one responsibility will be created.'\"\r\n placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=\"true\"></i>\r\n </app-cs-radio>\r\n\r\n <div class=\"switch-row align-right\" *ngIf=\"(mode == 'EDIT' && (!featureFlag_groups || (responsibilityForm?.assigneeGroups?.list.length === 0 && featureFlag_groups)))\">\r\n <app-cs-switch\r\n (ngValueChange)=\"openAssigneeChangeConfirmation($event)\" [ngValue]=\"responsibilityForm.assignees.whoCanComplete == 'ANY_ONE'\"> ANY SELECTED\r\n PERSON CAN COMPLETE\r\n THIS\r\n </app-cs-switch>\r\n </div>\r\n </ng-container>\r\n <app-popover #assignees [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let e_user of responsibilityForm?.assignees?.list | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('assignees',e_user)\"></i>\r\n {{ e_user.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- When? -->\r\n <div class=\"form-group-row\" [class.active]=\"activeSelector === 'frequency'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'frequency' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"(!responsibilityForm?.frequency || activeSelector === 'frequency')\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/when.svg\" alt=\"im\"\r\n *ngIf=\"!responsibilityForm?.frequency || activeSelector === 'frequency'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.frequency && activeSelector !== 'frequency' && responsibilityForm?.frequency != '' && responsibilityForm?.frequency != '5~0~0~0'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">When? <span class=\"required\">*</span></label>\r\n <div *ngIf=\"responsibilityForm?.frequency == '' || responsibilityForm?.frequency == '5~0~0~0'\"\r\n class=\"select button-sec\">\r\n <input type=\"text\" (click)=\"activateSelector('frequency',true)\" [placeholder]=\"frequencyPlaceholder\"\r\n readonly>\r\n <button (click)=\"activateSelector('frequency',true)\" type=\"button\">Set A frequency</button>\r\n </div>\r\n <div *ngIf=\"responsibilityForm?.frequency != '' && responsibilityForm?.frequency !== '5~0~0~0'\"\r\n class=\"selected button-sec\">\r\n <span class=\"chip\">{{frequencyPlaceholder}}</span>\r\n <button *ngIf=\"activeSelector !== 'frequency'\" type=\"button\" class=\"edit\"\r\n (click)=\"activateSelector('frequency',true)\">\r\n <i class=\"icons\"></i>Edit\r\n </button>\r\n </div>\r\n <p *ngIf=\"invalidType === 'when'\" [appScrollInView]=\"true\" class=\"error-message\">Please select the\r\n frequency of occurrence for this responsibility.</p>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Notes -->\r\n <div class=\"form-group-row\" [class.active]=\"activeSelector === 'notes'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'notes' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\"\r\n [class.checked]=\"checkBlank(responsibilityForm?.description).trim() !== '' && !focus.description\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/notes.svg\" alt=\"im\"\r\n *ngIf=\"(checkBlank(responsibilityForm?.description).trim() === '') || focus.description\">\r\n\r\n <svg class=\"checkIcon\"\r\n *ngIf=\"checkBlank(responsibilityForm?.description).trim() !== '' && !focus.description\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Notes</label>\r\n <marx-editor [(ngModel)]=\"responsibilityForm.description\" [editorConfig]=\"{mode: 'prime',\r\n colorPalette: true,\r\n link: true,\r\n id:'notes',\r\n placeholder: 'Add more information about completing the responsibility'}\"></marx-editor>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Objective -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.OBJECTIVE\"\r\n [attr.id]=\"'OBJECTIVE'\" [class.active]=\"activeSelector === 'objective'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'objective' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"checkBlank(responsibilityForm?.objective).trim() !=='' && !focus.objective\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/objectives.svg\" alt=\"im\"\r\n *ngIf=\"(checkBlank(responsibilityForm?.objective).trim() === '') || focus.objective\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"(checkBlank(responsibilityForm?.objective).trim() !== '') && !focus.objective\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Objective</label>\r\n <marx-editor [(ngModel)]=\"responsibilityForm.objective\" [editorConfig]=\"{mode: 'prime',\r\n colorPalette: true,\r\n id:'objective',\r\n link: true,\r\n placeholder: 'This option lets you specify an objective for the responsibility.'}\"></marx-editor>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Responsibility Center -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.RC\" [attr.id]=\"'RC'\"\r\n [class.active]=\"activeSelector === 'rc'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'rc' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"responsibilityForm?.rc?.length>0 && activeSelector !== 'rc'\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/responsibility-center.svg\"\r\n alt=\"\" *ngIf=\"responsibilityForm?.rc?.length==0 || activeSelector === 'rc'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.rc?.length>0 && activeSelector !== 'rc'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Responsibility Center </label>\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.rc?.length === 0\">\r\n <div class=\"custom-input\" (click)=\"activateSelector('rc',true)\"\r\n aria-placeholder=\"Select the responsibility center or the responsibility centers for this responsibility.\">\r\n </div>\r\n <!-- <input type=\"text\" (click)=\"activateSelector('rc',true)\" placeholder=\"Select Responsibility Center(s)\" readonly> -->\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.rc?.length > 0\"\r\n [class.readOnly]=\"openedFrom === 'RISK_TREATMENT'\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.rc?.length>1\"\r\n [class.plus]=\"responsibilityForm?.rc?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let rc of responsibilityForm?.rc?.slice(0,2)\"><i class=\"icons\"\r\n (click)=\"remove('rc',rc)\" *ngIf=\"openedFrom !== 'RISK_TREATMENT'\"></i>\r\n {{rc?.item_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.rc?.length > 2\" type=\"button\" appPopover\r\n (click)=\"rc.popover()\" placement=\"right\" placement=\"right\">+\r\n {{responsibilityForm?.rc?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'rc' && openedFrom !== 'RISK_TREATMENT'\" class=\"edit\"\r\n type=\"button\" (click)=\"activateSelector('rc',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <app-popover #rc [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let rc of responsibilityForm?.rc | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('rc',rc)\"></i>\r\n {{ rc.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Program -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.PROGRAM\" [attr.id]=\"'PROGRAM'\" [class.active]=\"activeSelector === 'program'\" [class.disabled]=\"activeSelector && activeSelector !== 'program' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"responsibilityForm?.program?.length>0 && activeSelector !== 'program'\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\" alt=\"\" *ngIf=\"responsibilityForm?.program?.length==0 || activeSelector === 'program'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.program?.length>0 && activeSelector !== 'program'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Program</label>\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.program?.length ==0\">\r\n <div class=\"custom-input\" (click)=\"activateSelector('program',true)\" aria-placeholder=\"Select the Program or Program Categories that this responsibility relates to.\"></div>\r\n <!-- <input type=\"text\" (click)=\"activateSelector('program',true)\" placeholder=\"Select Responsibility program(s)\" readonly> -->\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.program?.length > 0\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.program?.length>1\" [class.plus]=\"responsibilityForm?.program?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let program of responsibilityForm?.program\"><i class=\"icons\" *ngIf=\"false\" (click)=\"remove('program',program)\"></i> {{program?.name??'--'}}</span>\r\n <!-- <button *ngIf=\"responsibilityForm?.program?.length > 2\" class=\"count\" type=\"button\" appPopover (click)=\"program.popover()\" placement=\"right\">+ {{responsibilityForm?.program?.slice(2).length}}</button> -->\r\n <button *ngIf=\"responsibilityForm?.linkedProgram?.length > 1\" class=\"count\" type=\"button\" appPopover (click)=\"program.popover()\" placement=\"right\">+ {{responsibilityForm?.linkedProgram?.length - 1}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'program' && !hiddenList.includes('PROGRAM')\" class=\"edit\" type=\"button\" (click)=\"activateSelector('program',true)\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n <app-popover #program [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li class=\"multiple-program\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\" [appTooltip]=\"responsibilityForm?.program[0]?.name\" placement=\"bottom\"\r\n type=\"black\" delay=\"0\" [tooltipMandatory]=\"false\">\r\n <!-- <i class=\"icons\"></i> -->\r\n {{responsibilityForm?.program[0]?.name}}\r\n </span>\r\n <div class=\"primary-label\">PRIMARY</div>\r\n </div>\r\n </li>\r\n <li *ngFor=\"let program of responsibilityForm?.linkedProgram; let j = index\">\r\n <div class=\"avatar-card\" *ngIf=\"program?.category_id !== responsibilityForm?.program[0]?.category_id\">\r\n <span class=\"value\" [appTooltip]=\"program?.name\" placement=\"bottom\"\r\n type=\"black\" delay=\"0\" [tooltipMandatory]=\"false\">\r\n <i *ngIf=\"!hiddenList?.includes('PROGRAM') && !program?.isViewOnlyProgram\" class=\"icons\" (click)=\"remove('program',program)\"></i>\r\n {{ program?.name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <div *ngIf=\"responsibilityForm?.customTags?.length >0\">\r\n <ng-container *ngFor=\" let tag of responsibilityForm?.customTags\">\r\n <label class=\"vx-control-panel\">{{tag.tag_name}}</label>\r\n <input type=\"text\" [(ngModel)]=\"tag.value\" placeholder=\"{{tag.tag_name}}\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Responsibility Category -->\r\n <!-- <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.CATEGORY\" [attr.id]=\"'CATEGORY'\"\r\n [class.active]=\"activeSelector === 'category'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'category' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"responsibilityForm?.category?.length>0 && activeSelector !== 'category'\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\" alt=\"\"\r\n *ngIf=\"responsibilityForm?.category?.length==0 || activeSelector === 'category'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.category?.length>0 && activeSelector !== 'category'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Responsibility Category </label>\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.category?.length ==0\">\r\n <div class=\"custom-input\" (click)=\"activateSelector('category',true)\"\r\n aria-placeholder=\"Select the responsibility category or categories that this responsibility relates to.\">\r\n </div>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.category?.length > 0\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.category?.length>1\"\r\n [class.plus]=\"responsibilityForm?.category?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let category of responsibilityForm?.category?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('category',category)\"></i>\r\n {{category.item_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.category?.length > 2\" type=\"button\" appPopover\r\n (click)=\"category.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.category?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'category'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('category',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <app-popover #category [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let category of responsibilityForm?.category | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('category',category)\"></i>\r\n {{ category.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <div *ngIf=\"responsibilityForm?.customTags?.length >0\">\r\n <ng-container *ngFor=\" let tag of responsibilityForm?.customTags\">\r\n <label class=\"vx-control-panel\">{{tag.tag_name}}</label>\r\n <input type=\"text\" [(ngModel)]=\"tag.value\" placeholder=\"{{tag.tag_name}}\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Format & Evidence -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.FORMATE_EVIDENCE\"\r\n [attr.id]=\"'FORMATE_EVIDENCE'\" [class.active]=\"activeSelector === 'formate_evidence'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'formate_evidence' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img *ngIf=\"this.responsibilityForm.formatAndEvidence.evidenceRequired == false && this.responsibilityForm.formatAndEvidence.formatFiles.length == 0 && this.responsibilityForm.formatAndEvidence.formatLinks?.length == 0\"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/format-evidence.svg\" alt=\"im\">\r\n\r\n <svg *ngIf=\"this.responsibilityForm.formatAndEvidence.evidenceRequired || this.responsibilityForm.formatAndEvidence.formatFiles.length || this.responsibilityForm.formatAndEvidence.formatLinks?.length\"\r\n class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <app-format-and-evidence (updateFiles)=\"saveSelectedList('formate_evidence',$event)\"\r\n [mode]=\"'responsibility'\" [formatEvidanceData]=\"responsibilityForm?.formatAndEvidence\">\r\n </app-format-and-evidence>\r\n </div>\r\n\r\n </div>\r\n <!-- Assessment -->\r\n <div *ngIf=\"moreOptions?.ASSESSMENT\" [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\"\r\n [attr.id]=\"'ASSESSMENT'\" [class.active]=\"false\" [class.disabled]=\"false\">\r\n <div class=\"left\" [class.checked]=\"responsibilityForm.assessment?.assessment_id\">\r\n <img *ngIf=\"!responsibilityForm.assessment?.assessment_id\"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/assessments.svg\" alt=\"im\">\r\n\r\n <svg *ngIf=\"responsibilityForm.assessment?.assessment_id\" class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">ASSESSMENTS</label>\r\n <div *ngIf=\"!responsibilityForm.assessment?.assessment_id\" class=\"select\">\r\n <input type=\"text\" (click)=\"activateSelector('isAssessment',true);isAssessment = true\"\r\n placeholder=\"Select an assessment for this responsibility\"\r\n [disabled]=\"responsibilityForm.checkpoints?.length\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm.assessment?.assessment_id\">\r\n <div class=\"chip-container\" [class.more-one]=\"false\" [class.plus]=\"false\">\r\n <span class=\"chip with-question\">\r\n <span class=\"value\"\r\n [appTooltip]=\"responsibilityForm.assessment?.assessmentDetails?.assessment_name\"\r\n placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\"><i\r\n class=\"icons\"\r\n (click)=\"remove('assessment',category)\"></i>{{responsibilityForm.assessment?.assessmentDetails?.assessment_name}}</span>\r\n <span class=\"label\">{{responsibilityForm.assessment?.assessmentDetails?.questions}}\r\n {{responsibilityForm.assessment?.assessmentDetails?.questions > 1 ? 'Questions':\r\n 'Question'}}</span>\r\n </span>\r\n </div>\r\n <button (click)=\"activateSelector('isAssessment',true);isAssessment = true\" class=\"edit\"\r\n type=\"button\">\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <!-- Checkpoints -->\r\n <!-- *ngIf=\"moreOptions.checkpoints\" -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.CHECKPOINTS\"\r\n [attr.id]=\"'CHECKPOINTS'\" [class.active]=\"activeSelector === 'checkpoints'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'checkpoints' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/checkpoints.svg\" alt=\"im\"\r\n *ngIf=\"responsibilityForm?.checkpoints?.length==0 || activeSelector === 'checkpoints'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"responsibilityForm?.checkpoints?.length>0 && activeSelector !== 'checkpoints'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n <!-- {{responsibilityForm.checkpoints|json}}\r\n {{responsibilityForm.checkpointInstruction}} -->\r\n\r\n Checkpoints\r\n <!-- <button *ngIf=\"responsibilityForm?.checkpoints?.length === 0\" class=\"button\"\r\n (click)=\"activateSelector('checkpoints',true)\">+ Add Checkpoints</button> -->\r\n </label>\r\n <div class=\"select button-sec\" *ngIf=\"responsibilityForm?.checkpoints?.length === 0\">\r\n <input [disabled]=\"!responsibilityForm.checkpoints?.length\" type=\"text\"\r\n (click)=\"activateSelector('checkpoints',true)\"\r\n placeholder=\"Add checkpoints for this responsibility\" readonly>\r\n <button [disabled]=\"!responsibilityForm.checkpoints?.length\"\r\n (click)=\"activateSelector('checkpoints',true)\" type=\"button\">Add Checkpoints</button>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm.checkpoints?.length > 0\">\r\n <div class=\"chip-container checkpoints\" [class.more-one]=\"responsibilityForm.checkpoints?.length>1\"\r\n [class.plus]=\"responsibilityForm.checkpoints?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let checkpoint of responsibilityForm.checkpoints?.slice(0,1)\">\r\n {{checkpoint?.label}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm.checkpoints?.length > 1\" type=\"button\"\r\n appPopover (click)=\"checkpoint.popover()\" placement=\"right\">+\r\n {{responsibilityForm.checkpoints?.length- 1}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'checkpoints'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('checkpoints',true)\">\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"this.responsibilityForm.checkpoints?.length\" class=\"assessment-text\">\r\n <i class=\"icons alert-icon\"></i>\r\n <span>You can now use the new <strong>Checkpoints </strong>or <strong>Assessments</strong> feature\r\n instead of the old checkpoints functionality to create analytical questions. <button\r\n class=\"remove-btn\" (click)=\"onRemoveCheckpoints('checkpoint')\">Remove Checkpoints</button> to\r\n continue.</span>\r\n </div>\r\n <app-popover #checkpoint [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let checkpoint of responsibilityForm.checkpoints | slice: 1; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n {{ checkpoint?.label }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n <!-- New Checkpoints -->\r\n <!-- *ngIf=\"moreOptions.checkpoints\" -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.CHECKPOINTS_NEW\"\r\n [attr.id]=\"'CHECKPOINTS-NEW'\" [class.active]=\"activeSelector === 'checkpoints-new'\">\r\n <div class=\"left\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/checkpoints.svg\" alt=\"im\"\r\n *ngIf=\"responsibilityForm?.checkpoints?.length==0 || activeSelector === 'checkpoints'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"checkpointCount > 0 && activeSelector !== 'checkpoints'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n <!-- {{responsibilityForm.checkpoints|json}}\r\n {{responsibilityForm.checkpointInstruction}} -->\r\n\r\n Checkpoints\r\n <!-- <span class=\"checkpoint-version\"> V2.0</span> -->\r\n <!-- <button class=\"button\"\r\n (click)=\"activateSelector('checkpoints-new',true)\">+ Add Checkpoints</button> -->\r\n </label>\r\n <div class=\"select button-sec\" *ngIf=\"checkpointCount === 0\">\r\n <input type=\"text\" (click)=\"activateSelector('checkpoints-new',true)\"\r\n placeholder=\"Add checkpoints for this responsibility\" readonly>\r\n <button (click)=\"activateSelector('checkpoints-new',true)\" type=\"button\">Add Checkpoints</button>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"checkpointCount > 0\">\r\n <div class=\"chip-container checkpoints\" [class.more-one]=\"checkpointCount > 0\">\r\n <span class=\"chip\">\r\n <i class=\"icons\" (click)=\"onRemoveCheckpoints('new-checkpoints')\"></i>\r\n {{checkpointCount}} {{checkpointCount > 1 ? 'Questions': 'Question'}}</span>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'checkpoints-new'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('checkpoints-new',true)\">\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n </div>\r\n <app-popover #checkpoint [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let checkpoint of responsibilityForm.checkpoints | slice: 1; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n {{ checkpoint?.label }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n <!-- Risk Classification -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.RISK_CLASSIFICATION\"\r\n [attr.id]=\"'RISK_CLASSIFICATION'\" [class.active]=\"activeSelector === 'riskCalculator'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'riskCalculator' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/risks.svg\" alt=\"im\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Risk Classification\r\n <button (click)=\"activateSelector('riskCalculator',true)\" class=\"button\">+ Risk Calculator</button>\r\n </label>\r\n\r\n <div class=\"classification\">\r\n <label class=\"low\" *ngFor=\"let risk of riskClassification\" [ngClass]=\"[risk.class]\">\r\n <input type=\"radio\" name=\"classification\" [(ngModel)]=\"responsibilityForm.riskClass\"\r\n [value]=\"risk?.value\">\r\n <span>{{risk?.name}}</span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Reviewer -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.REVIEWER\" [attr.id]=\"'REVIEWER'\"\r\n [class.active]=\"activeSelector === 'reviewerFrequency'|| activeSelector === 'reviewer'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'reviewer' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/reviewer.svg\" alt=\"\"\r\n *ngIf=\"responsibilityForm?.reviewers?.list?.length==0 || activeSelector === 'reviewer'\">\r\n\r\n <svg *ngIf=\"responsibilityForm?.reviewers?.list?.length>0 && activeSelector !== 'reviewer'\"\r\n class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Reviewer</label>\r\n <div class=\"select\" *ngIf=\"((responsibilityForm?.reviewers?.list?.length == 0 && !featureFlag_groups)||((responsibilityForm?.reviewers?.list?.length == 0 && responsibilityForm?.groupReviewers?.list?.length == 0) && featureFlag_groups))\">\r\n <input type=\"text\" (click)=\"activateSelector('reviewer',true)\" placeholder=\"Select Reviewer\"\r\n readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"((responsibilityForm?.reviewers?.list?.length > 0 && !featureFlag_groups)||((responsibilityForm?.reviewers?.list?.length > 0 || responsibilityForm?.groupReviewers?.list?.length > 0 ) && featureFlag_groups))\">\r\n <div class=\"chip-container\" *ngIf=\"!featureFlag_groups\" [class.more-one]=\"responsibilityForm?.reviewers?.list?.length>1\"\r\n [class.plus]=\"responsibilityForm?.reviewers?.list?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let reviewer of responsibilityForm?.reviewers?.list?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('reviewer',reviewer)\"></i>\r\n {{reviewer.member_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.reviewers?.list?.length > 2\" type=\"button\"\r\n appPopover (click)=\"reviewer.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.reviewers?.list?.slice(2).length}}</button>\r\n </div>\r\n <div class=\"chip-container\" *ngIf=\"featureFlag_groups\">\r\n <div class=\"chip-inner\" *ngIf=\"responsibilityForm?.reviewers?.list.length > 0 \">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">USER(S)</span></span>\r\n <button class=\"count user\" appPopover (click)=\"user.popover()\" placement=\"left\"> {{responsibilityForm?.reviewers?.list?.length}}</button>\r\n </div>\r\n <span class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\" *ngIf=\"responsibilityForm?.reviewers?.list.length > 0 && responsibilityForm?.groupReviewers?.list?.length > 0\" >&</span>\r\n <div class=\"chip-inner\" *ngIf=\"responsibilityForm?.groupReviewers?.list.length > 0 \" >\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\" >USER GROUP(S)</span></span>\r\n <button class=\"count\" appPopover (click)=\"group.popover()\" placement=\"right\">{{responsibilityForm?.groupReviewers?.list?.length}}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'reviewer'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('reviewer',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <app-cs-radio\r\n [checked]=\"responsibilityForm.reviewers.sequentialWorkflow\" [name]=\"'reviewer'\" (checkedEvent)=\"onReviewerWorkflowChange('sequential')\" [class.disabled]=\"responsibilityForm?.groupReviewers?.list?.length > 0\">\r\n SEQUENTIAL<i class=\"icons\"\r\n [appTooltip]=\"'The responsibility will be sent for review one at a time in the sequence defined by you.'\"\r\n placement=\"bottom-right\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\"></i>\r\n </app-cs-radio>\r\n <app-cs-radio\r\n [checked]=\"!responsibilityForm.reviewers.sequentialWorkflow\" [name]=\"'reviewer'\" (checkedEvent)=\"onReviewerWorkflowChange('anyReviewer')\">\r\n ANY REVIEWER CAN MARK THIS AS REVIEWED<i class=\"icons\"\r\n [appTooltip]=\"'The responsibility will be sent for review to all reviewers at the same time. If anyone of the reviewer reviews the responsibility, it will be considered as reviewed.'\"\r\n placement=\"bottom-right\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\"></i>\r\n </app-cs-radio>\r\n <app-popover #reviewer [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let reviewer of responsibilityForm?.reviewers?.list | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('reviewer',reviewer)\"></i>\r\n {{ reviewer.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #user [dontCloseonClick]=\"true\" >\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let reviewer of responsibilityForm?.reviewers?.list ; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('reviewer',reviewer)\" ></i>\r\n {{ reviewer.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #group [dontCloseonClick]=\"true\" >\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of responsibilityForm?.groupReviewers?.list; let i = index\" >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('groupReviewer',group)\" ></i>\r\n {{group.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Overseer -->\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.OVERSEER\" [attr.id]=\"'OVERSEER'\"\r\n [class.active]=\" activeSelector === 'overseerNotify' || activeSelector === 'overseer'\"\r\n [class.disabled]=\"activeSelector && !['overseerNotify','overseerNotify'].includes(activeSelector) && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg\" alt=\"\"\r\n *ngIf=\"(responsibilityForm?.overseers?.list?.length==0 && responsibilityForm?.overseers?.notifyList?.length == 0)|| activeSelector === 'overseerNotify' || activeSelector === 'overseer'\">\r\n <svg class=\"checkIcon\" *ngIf=\"(responsibilityForm?.overseers?.list?.length>0 || responsibilityForm?.overseers?.notifyList?.length>0)\r\n && !( activeSelector === 'overseerNotify' || activeSelector === 'overseer')\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Overseer </label>\r\n <div class=\"select\" *ngIf=\"((responsibilityForm?.overseers?.list?.length == 0 && !featureFlag_groups)||((responsibilityForm?.overseers?.list?.length == 0 && responsibilityForm?.overseersGroups?.list?.length == 0) && featureFlag_groups))\">\r\n <input type=\"text\" (click)=\"activateSelector('overseer',true)\"\r\n placeholder=\"Who should have oversight of the responsibility?\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"((responsibilityForm?.overseers?.list?.length > 0 && !featureFlag_groups)||((responsibilityForm?.overseers?.list?.length > 0 || responsibilityForm?.overseersGroups?.list?.length > 0 ) && featureFlag_groups))\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.overseers?.list?.length>1\"\r\n [class.plus]=\"responsibilityForm?.overseers?.list?.length>2\" *ngIf=\"!featureFlag_groups\" >\r\n <span class=\"chip\" *ngFor=\"let overseer of responsibilityForm?.overseers?.list?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('overseer',overseer)\"></i>\r\n {{overseer.member_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.overseers?.list?.length > 2\" type=\"button\"\r\n appPopover (click)=\"overseers.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.overseers?.list?.slice(2).length}}</button>\r\n </div>\r\n <div class=\"chip-container\" *ngIf=\"featureFlag_groups\">\r\n <div class=\"chip-inner\" *ngIf=\"responsibilityForm?.overseers?.list.length > 0\" >\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">USER(S)</span></span>\r\n <button class=\"count user\" appPopover (click)=\"overseerUser.popover()\" placement=\"left\"> {{responsibilityForm?.overseers?.list?.length}}</button>\r\n </div>\r\n <span class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\" *ngIf=\"responsibilityForm?.overseers?.list.length > 0 && responsibilityForm?.overseersGroups?.list?.length > 0\" >&</span>\r\n <div class=\"chip-inner\" *ngIf=\"responsibilityForm?.overseersGroups?.list?.length > 0 \" >\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\" >USER GROUP(S)</span></span>\r\n <button class=\"count\" appPopover (click)=\"overseerGroup.popover()\" placement=\"right\">{{responsibilityForm?.overseersGroups?.list?.length}}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'overseer'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('overseer',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n\r\n <div class=\"select\" *ngIf=\"((responsibilityForm?.overseers?.notifyList?.length == 0 && !featureFlag_groups)||((responsibilityForm?.overseers?.notifyList?.length == 0 && responsibilityForm?.overseersGroups?.notifyList?.length == 0) && featureFlag_groups))\">\r\n <input type=\"text\" (click)=\"activateSelector('overseerNotify',true)\"\r\n placeholder=\"Who should be notified if the responsibility is not complet...\" readonly\r\n [appTooltip]=\"'Who should be notified if the responsibility is not completed?'\"\r\n placement=\"bottom\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n </div>\r\n <div class=\"selected\" *ngIf=\"((responsibilityForm?.overseers?.notifyList?.length > 0 && !featureFlag_groups)||((responsibilityForm?.overseers?.notifyList?.length > 0 || responsibilityForm?.overseersGroups?.notifyList?.length > 0 ) && featureFlag_groups))\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.overseers?.notifyList?.length>1\"\r\n [class.plus]=\"responsibilityForm?.overseers?.notifyList?.length>2\" *ngIf=\"!featureFlag_groups\">\r\n <span class=\"chip\"\r\n *ngFor=\"let overseer of responsibilityForm?.overseers?.notifyList?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('overseerNotifyList',overseer)\"></i>\r\n {{overseer.member_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.overseers?.notifyList?.length > 2\"\r\n type=\"button\" appPopover (click)=\"notify.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.overseers?.notifyList?.slice(2).length}}</button>\r\n </div>\r\n <div class=\"chip-container\" *ngIf=\"featureFlag_groups\">\r\n <div class=\"chip-inner\" *ngIf=\"responsibilityForm?.overseers?.notifyList.length > 0\">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">USER(S)</span></span>\r\n <button class=\"count user\" appPopover (click)=\"notifyUser.popover()\" placement=\"left\"> {{responsibilityForm?.overseers?.notifyList?.length}}</button>\r\n </div>\r\n <span class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\" *ngIf=\"responsibilityForm?.overseers?.notifyList.length > 0 && responsibilityForm?.overseersGroups?.notifyList?.length > 0\" >&</span>\r\n <div class=\"chip-inner\" *ngIf=\"responsibilityForm?.overseersGroups?.notifyList?.length > 0 \" >\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\" >USER GROUP(S)</span></span>\r\n <button class=\"count\" appPopover (click)=\"notifyGroup.popover()\" placement=\"right\">{{responsibilityForm?.overseersGroups?.notifyList?.length}}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'overseerNotify'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('overseerNotify',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <app-popover #overseers [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let overseer of responsibilityForm?.overseers?.list | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('overseer',overseer)\"></i>\r\n {{ overseer?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #overseerUser [dontCloseonClick]=\"true\" >\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let overseers of responsibilityForm?.overseers?.list ; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('overseer',overseers)\" ></i>\r\n {{ overseers?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #overseerGroup [dontCloseonClick]=\"true\" >\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let overseer of responsibilityForm?.overseersGroups?.list; let i = index\" >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('overseerGroup',overseer)\" ></i>\r\n {{overseer?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #notify [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"let overseer of responsibilityForm?.overseers?.notifyList | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('overseerNotifyList',overseer)\"></i>\r\n {{ overseer?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #notifyUser [dontCloseonClick]=\"true\" >\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let overseer of responsibilityForm?.overseers?.notifyList ; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('overseerNotifyList',overseer)\" ></i>\r\n {{ overseer?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #notifyGroup [dontCloseonClick]=\"true\" >\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of responsibilityForm?.overseersGroups?.notifyList; let i = index\" >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('overseerGroupNotifyList',group)\" ></i>\r\n {{group?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Assurance -->\r\n\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"moreOptions?.ASSURANCE\"\r\n [attr.id]=\"'ASSURANCE'\" [class.active]=\"activeSelector === 'assurance'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'assurance' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/reviewer.svg\" alt=\"\"\r\n *ngIf=\"responsibilityForm?.assuranceList?.length==0 || activeSelector === 'assurance'\">\r\n\r\n <svg *ngIf=\"responsibilityForm?.assuranceList?.length>0 && activeSelector !== 'assurance'\" class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Assurance</label>\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.assuranceList?.length ==0\">\r\n <div class=\"custom-input\" (click)=\"activateSelector('assurance',true)\"\r\n aria-placeholder=\"Select the test plan categories that you would like to add this responsibility to.\">\r\n </div>\r\n <!-- <input type=\"text\" (click)=\"activateSelector('assurance',true)\"\r\n placeholder=\"Select the test plan categories that you would like to add...\"\r\n readonly [appTooltip]=\"'Select the test plan categories that you would like to add this responsibility to.'\" placement=\"bottom\" delay=\"0\" [tooltipMandatory]=\"true\"> -->\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.assuranceList?.length > 0\">\r\n <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.assuranceList?.length>1\"\r\n [class.plus]=\"responsibilityForm?.assuranceList?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let assurance of responsibilityForm?.assuranceList?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('assurance',assurance)\"></i>\r\n {{assurance.category_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.assuranceList?.length > 2\" type=\"button\"\r\n appPopover (click)=\"assurance.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.assuranceList?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'assurance'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('assurance',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n <app-popover #assurance [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let assurance of responsibilityForm?.assuranceList | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('assurance',assurance)\"></i>\r\n {{ assurance.category_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\"\r\n *ngIf=\"moreOptions?.REQUIRES_AUDIT && responsibilityForm.rc.length > 0\" [attr.id]=\"'REQUIRES_AUDIT'\"\r\n [class.active]=\"activeSelector === 'requires_audit'\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'requires_audit' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/audit.svg\" alt=\"\"\r\n *ngIf=\"responsibilityForm?.requiresAuditList?.length==0 || activeSelector === 'requires_audit'\">\r\n\r\n <svg *ngIf=\"responsibilityForm?.requiresAuditList?.length>0 && activeSelector !== 'requires_audit'\"\r\n class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">REQUIRES AUDIT?</label>\r\n <div class=\"select\" *ngIf=\"responsibilityForm?.requiresAuditList?.length ==0\">\r\n <!-- <div class=\"custom-input\" (click)=\"activateSelector('assurance',true)\" aria-placeholder=\"Select the test plan categories that you would like to add this responsibility to.\"></div> -->\r\n <!-- <input type=\"text\" (click)=\"activateSelector('assurance',true)\"\r\n placeholder=\"Select the test plan categories that you would like to add...\"\r\n readonly [appTooltip]=\"'Select the test plan categories that you would like to add this responsibility to.'\" placement=\"bottom\" delay=\"0\" [tooltipMandatory]=\"true\"> -->\r\n\r\n <input type=\"text\" placeholder=\"If yes, select an Audit Category.\" readonly\r\n (click)=\"activateSelector('requires_audit',true)\">\r\n </div>\r\n <div class=\"selected\" *ngIf=\"responsibilityForm?.requiresAuditList?.length > 0\">\r\n <!-- <div class=\"chip-container\" [class.more-one]=\"responsibilityForm?.assuranceList?.length>1\" [class.plus]=\"responsibilityForm?.assuranceList?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let assurance of responsibilityForm?.assuranceList?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('assurance',assurance)\"></i>\r\n {{assurance.category_name}}</span>\r\n <button class=\"count\" *ngIf=\"responsibilityForm?.assuranceList?.length > 2\" type=\"button\"\r\n appPopover (click)=\"assurance.popover()\" placement=\"right\">+\r\n {{responsibilityForm?.assuranceList?.slice(2).length}}</button>\r\n </div> -->\r\n <!-- <button *ngIf=\"activeSelector !== 'assurance'\" class=\"edit\" type=\"button\" (click)=\"activateSelector('assurance',true)\"><i\r\n class=\"icons\"></i>\r\n Edit</button> -->\r\n\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"><i class=\"icons\" (click)=\"remove('requires_audit',overseer)\"></i>\r\n {{responsibilityForm?.requiresAuditList[0]?.category_name}}</span>\r\n </div>\r\n <button class=\"edit\" type=\"button\" (click)=\"activateSelector('requires_audit',true)\"><i\r\n class=\"icons\"></i> Edit</button>\r\n <!-- class=\"icons\"></i>\r\n Edit</button> -->\r\n </div>\r\n <ng-container *ngIf=\"responsibilityForm?.requiresAuditList?.length\">\r\n <label class=\"vx-control-panel vx-mt-8\">\r\n SAMPLE SIZE\r\n <app-cs-switch [(ngValue)]=\"isSample\" (ngValueChange)=\"switchEnable($event)\"></app-cs-switch>\r\n </label>\r\n <div class=\"sample-part\" [class.disabled]=\"!isSample\">\r\n <app-cs-radio value=\"0\" class=\"sample-radio\" (click)=\"selectedSampleData(0)\"\r\n [checked]=\"selectedSample === 0\">\r\n <div class=\"name\">COUNT</div>\r\n <input type=\"number\" placeholder=\"--\" (keypress)=\"checkInputValue($event)\"\r\n [(ngModel)]=\"sampleValue\">\r\n </app-cs-radio>\r\n <div class=\"or\">OR</div>\r\n <app-cs-radio value=\"1\" class=\"sample-radio\" (click)=\"selectedSampleData(1)\"\r\n [checked]=\"selectedSample === 1\">\r\n <div class=\"name\">PERCENTAGE</div>\r\n <input type=\"number\" (keypress)=\"checkInputValue($event)\" [(ngModel)]=\"samplePercentage\"\r\n placeholder=\"--\">\r\n </app-cs-radio>\r\n </div>\r\n <label class=\"vx-control-panel vx-mt-8\">SET A REMINDER IF THE AUDIT PLAN IS NOT CREATED.</label>\r\n <div class=\"reminder-part\">\r\n Send reminder every <input type=\"number\" value=\"2\" [(ngModel)]=\"sendAuditRemindersValue\"> Day by\r\n <div class=\"picker-group\">\r\n <input class=\"time\" aria-label=\"12hr format\" [(ngModel)]=\"auditTime\"\r\n [ngxTimepicker]=\"dailyTime\" placeholder=\"auditTime.toUpperCase()\" type=\"text\"\r\n [min]=\"currentTime\" readonly>\r\n <i class=\"icons\"></i>\r\n <ngx-material-timepicker #dailyTime [defaultTime]=\"auditTime\">\r\n </ngx-material-timepicker>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- <app-popover #assurance [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let assurance of responsibilityForm?.assuranceList | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('assurance',assurance)\"></i>\r\n {{ assurance.category_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover> -->\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<app-users-radio-list *ngIf=\"activeSelector === 'assignors'\" [usersList]=\"assignorsList\"\r\n [selectedUsers]=\"responsibilityForm.assignors.list\" [itemEmailKey]=\"'member_email'\" [userIdKey]=\"'member_id'\"\r\n [itemNameKey]=\"'member_name'\" (saveSelectedList)=\"saveSelectedList('assignors',$event)\"\r\n (closeUsersList)=\"activeDeselector()\">\r\n</app-users-radio-list>\r\n\r\n<ng-container *ngIf=\"activeSelector === 'assignees'\">\r\n <app-group-users-list *ngIf=\"isEntrust || responsibilityForm?.assignees?.whoCanComplete === 'ANY_ONE'\" [openedFrom]=\"openedFrom\" [usersList]=\"allUsersList\" [disabledId]=\"disableAssigneeIds\" [fromResponsibility] = \"'Assignee'\" [reviewerIds]=\"reviewerIds\" [overseerIds]=\"overseerIds\" [assignorId]=\"assignorId\"\r\n [groupsList]=\"groupsList\" [assigneeGroupsList] =\"groupAssigneeList\" [selectedUsers]=\"responsibilityForm?.assignees?.list\" [selectedGroups]=\"responsibilityForm?.assigneeGroups?.list\" [userIdKey]=\"'my_member_id'\" [groupIdKey]=\"'group_id'\"\r\n (saveSelectedList)=\"saveSelectedList('assignees',$event)\" (closeUsersList)=\"activeDeselector()\" [groupsEnabled]=\"featureFlag_groups\" >\r\n </app-group-users-list>\r\n <app-users-radio-list *ngIf=\"!isEntrust && responsibilityForm.assignees.whoCanComplete !== 'ANY_ONE'\" [itemEmailKey]=\"'employee_email'\" [usersList]=\"allUsersList\"\r\n [selectedUsers]=\"responsibilityForm.assignees.list\" [userIdKey]=\"'employee_id'\" [itemNameKey]=\"'employee_name'\" [disabledId]=\"disableRadioAssignee\" [fromResponsibility] = \"'Assignee'\" [reviewerIds]=\"reviewerIds\" [overseerIds]=\"overseerIds\" [assignorId]=\"assignorId\"\r\n (saveSelectedList)=\"saveSelectedList('assignees',$event)\" (closeUsersList)=\"activeDeselector()\">\r\n </app-users-radio-list>\r\n</ng-container>\r\n\r\n\r\n\r\n<app-checkpoints *ngIf=\"activeSelector === 'checkpoints'\"\r\n [checkpointInstruction]=\"responsibilityForm?.checkpointInstruction\"\r\n [checkpointData]=\"responsibilityForm?.checkpoints\" (saveCheckPoint)=\"saveSelectedList('checkpoints',$event)\"\r\n (closeCheckPoint)=\"activeDeselector()\"></app-checkpoints>\r\n<app-frequency-container *ngIf=\"activeSelector === 'frequency'\" [frequencyDetails]=\"frequencyDetails\"\r\n (selectedFrequency)=\"frequencyData($event)\" [mode]=\"'responsibility'\" (closeFrequency)=\"activeDeselector()\">\r\n</app-frequency-container>\r\n\r\n<app-responsibility-centers-list *ngIf=\"activeSelector === 'rc'\" [responsibilityCentersList]=\"responsibilityCentersList\"\r\n [radioSelection]=\"(mode == 'EDIT')?true:false\" [selectedResponsibilityCenters]=\"responsibilityForm.rc\"\r\n [rcIdKey]=\"'item_id'\" (saveSelectedList)=\"saveSelectedList('rc',$event)\" (closeRcList)=\"activeDeselector()\">\r\n</app-responsibility-centers-list>\r\n\r\n<app-category-multi-select *ngIf=\"activeSelector === 'category'\" [categoryList]=\"categories\"\r\n [allCategories]=\"allCategories\" [categoryIdKey]=\"'category_id'\" [selectedCategories]=\"responsibilityForm.category\"\r\n (saveSelectedCategory)=\"saveSelectedList('category',$event)\" (closeCategoriesList)=\"activeDeselector()\">\r\n</app-category-multi-select>\r\n\r\n<!-- [hideProgramsList]=\"(selectedProgram && !(this.selectedProgram?.programType === 0 && this.selectedProgram?.name?.toLowerCase() === 'uncategorized' )) ? true : false\" -->\r\n<app-program-listing *ngIf=\"activeSelector === 'program'\" [programsList]=\"programsList\"\r\n [selectedCategories]=\"responsibilityForm.category | refDisconnect\" [selectedProgram]=\"responsibilityForm.program | refDisconnect\"\r\n (saveSelectedProgram)=\"saveSelectedList('program',$event)\" (closeEvent)=\"activeDeselector()\" [linkedProgram]=\"responsibilityForm?.linkedProgram\" [mode]=\"(this.selectedProgram?.programType === 0 && this.selectedProgram?.name?.toLowerCase() === 'uncategorized' ) ? '' : mode\"\r\n [openedFrom]=\"openedFrom\" [responsibilityId]=\"responsibilityId\"></app-program-listing>\r\n\r\n<app-owner-list *ngIf=\"activeSelector === 'reviewer' && !featureFlag_groups\" [listHeading]=\"'Select a Reviewer'\"\r\n [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\" [usersList]=\"allUsersList\" [showWorkflow]=\"true\"\r\n [selectedUsers]=\"responsibilityForm.reviewers.list\" [userIdKey]=\"'employee_id'\" [itemEmailKey]=\"'employee_email'\"\r\n [itemNameKey]=\"'member_name'\" [disabledIds]=\"disableReviewerIds\"\r\n (saveSelectedList)=\"saveSelectedList('reviewer',$event);activateSelector('reviewerFrequency',true)\"\r\n (closeUsersList)=\"activeDeselector()\" [mode]=\"mode\" [fromResponsibility] = \"'Reviewer'\" [assignorId]=\"assignorId\" [assigneeIds]=\"assigneeIds\" [overseerIds]=\"overseerIds\"\r\n [reviewerWorkflowType]=\"(responsibilityForm?.reviewers?.sequentialWorkflow) ? 'SEQUENTIAL' : 'ANY REVIEWER CAN MARK THIS AS REVIEWED'\"\r\n (reviewerWorkflowTypeChange)=\"reviewerTypeChange($event)\">\r\n</app-owner-list>\r\n<user-group-list *ngIf=\"activeSelector === 'reviewer' && featureFlag_groups\" [selectedReviewer]=\"true\" [userlist]=\"reviewerMemberIdsList\" [groupEnabled]=\"true\" [groupList]=\"groupReviewerList\" [selectedGroups]=\"responsibilityForm?.groupReviewers?.list\"\r\n [selectedUsers] =\"responsibilityForm?.reviewers?.list\" (cancel)=\"activeDeselector()\" (save) = \"saveSelectedList('reviewer',$event);activateSelector('reviewerFrequency',true)\" [mode]=\"mode\" [disabledIds]=\"disableReviewerIds\" [fromResponsibility] = \"'Reviewer'\" [assignorId]=\"assignorId\" [assigneeIds]=\"assigneeIds\" [overseerIds]=\"overseerIds\"\r\n (reviewerWorkflowTypeChange) = \"reviewerTypeChange($event)\" [reviewerWorkflowType]=\"(responsibilityForm?.reviewers?.sequentialWorkflow) ? 'SEQUENTIAL' : 'ANY REVIEWER CAN MARK THIS AS REVIEWED'\" [featureflag]=\"featureFlag_groups\">\r\n </user-group-list>\r\n<app-owner-list *ngIf=\"activeSelector === 'overseer' && !featureFlag_groups\" [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\"\r\n [usersList]=\"allUsersList\" [selectedUsers]=\"responsibilityForm.overseers.list\" [userIdKey]=\"'employee_id'\" [fromResponsibility] = \"'Overseer'\" [assignorId]=\"assignorId\" [assigneeIds]=\"assigneeIds\" [reviewerIds]=\"reviewerIds\"\r\n [itemNameKey]=\"'member_name'\" (saveSelectedList)=\"saveSelectedList('overseer',$event)\" [disabledIds]=\"disableOverseerIds\"\r\n (closeUsersList)=\"activeDeselector()\" [itemEmailKey]=\"'employee_email'\" >\r\n</app-owner-list >\r\n<user-group-list *ngIf=\"activeSelector === 'overseer' && featureFlag_groups\" [groupEnabled]=\"true\" [groupList]=\"groupOverseerList\" [selectedGroups]=\"responsibilityForm?.overseersGroups?.list\"\r\n[userlist]=\"overseersList\" [selectedUsers]=\"responsibilityForm.overseers.list\" [disabledIds]=\"disableOverseerIds\" [fromResponsibility] = \"'Overseer'\" [assignorId]=\"assignorId\" [assigneeIds]=\"assigneeIds\" [reviewerIds]=\"reviewerIds\"\r\n (save)=\"saveSelectedList('overseer',$event)\" (cancel)=\"activeDeselector()\" [featureflag]=\"featureFlag_groups\">\r\n</user-group-list>\r\n\r\n<app-owner-list *ngIf=\"activeSelector ==='overseerNotify'&& !featureFlag_groups\" [singularText]=\"'User selected'\"\r\n [pluralText]=\"'Users selected'\" [usersList]=\"allUsersList\" [disabledIds]=\"disableOverseerIds\" [fromResponsibility] = \"'Overseer'\" [assignorId]=\"assignorId\" [assigneeIds]=\"assigneeIds\" [reviewerIds]=\"reviewerIds\"\r\n [selectedUsers]=\"responsibilityForm.overseers.notifyList\" [userIdKey]=\"'employee_id'\" [itemNameKey]=\"'member_name'\"\r\n (saveSelectedList)=\"saveSelectedList('overseerNotify',$event)\" (closeUsersList)=\"activeDeselector()\"\r\n [itemEmailKey]=\"'employee_email'\"></app-owner-list>\r\n <user-group-list *ngIf=\"activeSelector ==='overseerNotify' && featureFlag_groups\" [userlist]=\"overseersList\" [groupEnabled]=\"true\" [groupList]=\"groupOverseerList\" [selectedGroups]=\"responsibilityForm?.overseersGroups?.notifyList\"\r\n [selectedUsers]=\"responsibilityForm.overseers.notifyList\" [disabledIds]=\"disableOverseerIds\" [fromResponsibility] = \"'Overseer'\" [assignorId]=\"assignorId\" [assigneeIds]=\"assigneeIds\" [reviewerIds]=\"reviewerIds\"\r\n (save)=\"saveSelectedList('overseerNotify',$event)\" (cancel)=\"activeDeselector()\" [featureflag]=\"featureFlag_groups\">\r\n </user-group-list>\r\n\r\n<app-owner-list *ngIf=\"activeSelector === 'assurance'\" [singularText]=\"'Test Category selected'\"\r\n [pluralText]=\"'Test Categories selected'\" [searchPlaceholder]=\"'Search Test Category...'\"\r\n [listHeading]=\"'Select Test Categories'\" [usersList]=\"assuranceCategoriesList\"\r\n [noDataText]=\"'No Test Categories Found'\" [selectedUsers]=\"responsibilityForm.assuranceList\"\r\n [userIdKey]=\"'category_id'\" [itemEmailKey]=\"'category_name'\" [itemNameKey]=\"'category_name'\"\r\n (saveSelectedList)=\"saveSelectedList('assurance',$event)\" (closeUsersList)=\"activeDeselector()\"\r\n [searchPlaceholder]=\"'Search Category'\">\r\n</app-owner-list>\r\n\r\n<app-audit-category-list *ngIf=\"activeSelector === 'requires_audit'\" (closeList)=\"activeDeselector()\"\r\n [auditCategory]=\"assuranceRequiresAuditList\" (saveSelectedList)=\"saveSelectedList('requires_audit',$event)\"\r\n [selectedData]=\"responsibilityForm?.requiresAuditList[0]\"></app-audit-category-list>\r\n\r\n<app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n<app-framework-list *ngIf=\"activeSelector === 'framework'\" (assignControl)=\"assignFromFramework($event)\"\r\n[previousSelectedValues]=\"selectedFrameworkValues\"\r\n (closeFramework)=\"activeDeselector()\" (entrustFramework)=\"entrustFramework($event)\"></app-framework-list>\r\n\r\n<!-- risk-calculator here -->\r\n<app-risk-classification *ngIf=\"activeSelector === 'riskCalculator' \" [currentRiskValue]=\"responsibilityForm.riskClass\"\r\n (saveList)=\"saveSelectedList('calculatedrisk',$event)\" (closeList)=\"activeDeselector()\">\r\n</app-risk-classification>\r\n\r\n<app-review-frequency *ngIf=\"activeSelector === 'reviewerFrequency'\"\r\n [reviewCompleteDays]=\"responsibilityForm.reviewers.reviewFrequency.reviewCompleteDays\"\r\n [reviewNOtCompletedDays]=\"responsibilityForm.reviewers.reviewFrequency.reviewNOtCompletedDays\"\r\n (saveReviewFrequency)=\"saveSelectedList('reviewFrequency',$event)\"\r\n (closeReviewFrequency)=\"activeDeselector();activateSelector('reviewer',false);responsibilityForm.reviewers.list = [];responsibilityForm.groupReviewers.list = []\"\r\n (backToUserList)=\"activeDeselector();activateSelector('reviewer',true)\">\r\n</app-review-frequency>\r\n\r\n\r\n<app-assessment-list *ngIf=\"isAssessment\" [program_ids]=\"responsibilityForm.program[0]?._id\"\r\n (cancelAssessment)=\"isAssessment = false; activateSelector('isAssessment', false)\"\r\n [isEdit]=\"responsibilityForm?.assessment?.assessment_id ? true : false\"\r\n [selectedAssessment]=\"responsibilityForm?.assessment\"\r\n (onAssessmentSelect)=\"onAssessmentSelect($event);activateSelector('isAssessment', false)\"></app-assessment-list>\r\n\r\n<app-smiley-dialog-inline *ngIf=\"showSmiley\" [message]=\"smileyMessage\" [actionButtons]=\"actionButtons\"\r\n (action)=\"action($event)\" (closeSmiley)=\"closeSmiley($event)\"></app-smiley-dialog-inline>\r\n\r\n<div class=\"import\" *ngIf=\"activeSelector === 'checkpoints-new'\">\r\n <app-create-assessment-container #editor [openPortal]=\"'RESPONSIBILITY_CHECKPOINT'\"\r\n (postAssessment)=\"postAssessment($event)\" (setIsUploaded)=\"setIsUploaded($event)\"\r\n [checkpointJSON]=\"responsibilityForm.new_checkpoints\">\r\n </app-create-assessment-container>\r\n</div>\r\n",
|
|
5317
5398
|
styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::ng-deep .workflw-compliance{display:block;position:relative}::ng-deep .workflw-compliance marx-editor .editor-container{border-radius:4px}::ng-deep .workflw-compliance marx-editor .editor-container .editable-block{min-height:72px;padding:11px 15px;line-height:20px;font-size:14px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}@media not all and (min-resolution:0.001dpcm){@supports (-webkit-appearance:none){::ng-deep .workflw-compliance marx-editor .editor-container .editable-block:before{opacity:.72}}}::ng-deep .workflw-compliance marx-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .workflw-compliance marx-editor .editor-container .editable-block ul li{list-style:unset}::ng-deep .workflw-compliance marx-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .workflw-compliance marx-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .workflw-compliance marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .workflw-compliance marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:22px}::ng-deep .workflw-compliance marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .workflw-compliance marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .workflw-compliance .sample-part{display:flex;align-items:center;margin-bottom:4px}::ng-deep .workflw-compliance .sample-part .sample-radio{width:100%}::ng-deep .workflw-compliance .sample-part .sample-radio .radio-item{position:relative;width:100%}::ng-deep .workflw-compliance .sample-part .sample-radio .radio-item .radio{position:absolute;left:12px;top:12px}::ng-deep .workflw-compliance .sample-part .sample-radio .radio-item .value{border:1px solid #dbdbdb;border-radius:4px;height:40px;padding:8px 8px 8px 36px;margin:0;max-width:100%;width:100%;display:flex;align-items:center;justify-content:space-between;pointer-events:none}::ng-deep .workflw-compliance .sample-part .sample-radio .radio-item .value .name{color:#747576;font-size:11px;font-weight:500;text-transform:uppercase}::ng-deep .workflw-compliance .sample-part .sample-radio .radio-item .value input{border:1px solid #dcdcdc;background:#fff;border-radius:4px;height:24px;width:64px;text-align:center;padding:4px;color:#747576;font-size:13px}::ng-deep .workflw-compliance .sample-part .sample-radio .radio-item .value input:focus{outline:none;box-shadow:none}::ng-deep .workflw-compliance .sample-part .sample-radio .radio-item input:checked~svg{position:absolute;left:12px;top:12px}::ng-deep .workflw-compliance .sample-part .sample-radio .radio-item input:checked~.value{border:1px solid #34aa44;background:#eefcf0;pointer-events:auto}::ng-deep .workflw-compliance .sample-part .or{color:#161b2f;font-size:9px;font-weight:500;text-transform:uppercase;margin:0 10px}::ng-deep .workflw-compliance .sample-part.disabled{pointer-events:none}::ng-deep .workflw-compliance .sample-part.disabled .sample-radio .radio-item .value{background:#fbfbfb;border:1px solid #f1f1f1}::ng-deep .workflw-compliance .reminder-part{border:1px solid #dbdbdb;border-radius:4px;height:40px;padding:4px 12px;color:#747576;font-size:12px;display:flex;align-items:center}::ng-deep .workflw-compliance .reminder-part input{width:30px;border-radius:0;border:none;border-bottom:1px solid #dbdbdb;text-align:center;color:#747576;font-size:13px;font-weight:500;margin:0 4px}::ng-deep .workflw-compliance .reminder-part input:focus{outline:none!important;box-shadow:none!important}::ng-deep .workflw-compliance .reminder-part .picker-group{position:relative}::ng-deep .workflw-compliance .reminder-part .picker-group input{border:1px solid #f1f1f1!important;border-radius:4px!important;width:104px!important;height:28px!important;margin-left:8px!important;padding:6px 8px!important;cursor:pointer;color:#747576!important;font-size:12px!important;font-weight:500!important;text-align:left!important}::ng-deep .workflw-compliance .reminder-part .picker-group input:focus,::ng-deep .workflw-compliance .reminder-part .picker-group input:hover{outline:none!important;box-shadow:none!important}::ng-deep .workflw-compliance .reminder-part .picker-group i{color:#1e5dd3;position:absolute;top:6px;right:10px;font-size:16px}.assessment-text{color:#747576;font-size:11px;display:flex;align-items:center;padding:0 8px;margin:-16px 0 20px}.assessment-text i.alert-icon{color:#f2bf19;font-size:16px;margin-right:8px}.assessment-text strong{font-weight:600}.assessment-text button.remove-btn{background:transparent;border-radius:0;border:none;color:#1e5dd3;font-size:10px;font-weight:600;padding:0;margin:0}.import{position:fixed;top:0;right:30px;bottom:0;left:0;z-index:-1;width:calc(100vw - 30px)}.action-list ul.action-item li.multiple-program{background:#f8f8f8}.action-list ul.action-item li.multiple-program .avatar-card{padding:2px 7.5px}.action-list ul.action-item li.multiple-program .avatar-card span.value{color:#747576;font-size:11px;font-weight:600;width:unset}.action-list ul.action-item li.multiple-program .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}", "@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep .vx-form-group{display:block;position:relative;margin-bottom:20px}::ng-deep .vx-form-group:after{content:\"\";display:block;clear:both}::ng-deep .vx-form-group .select{position:relative}::ng-deep .vx-form-group .select:after{border-left-color:#707070;border-bottom:1px solid #707070;border-right:1px solid #707070;border-top-color:#707070;content:\"\";display:inline-block;right:15px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .vx-form-group .select input{cursor:pointer;padding-right:30px!important}::ng-deep .vx-form-group .select .custom-input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:3px 12px;line-height:16px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .vx-form-group .select .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:13px;width:94%;display:block;pointer-events:none;opacity:.8}::ng-deep .vx-form-group .select .custom-input:hover{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:116px}::ng-deep .vx-form-group .select+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .select+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .select+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .select~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .select.button-sec:after{display:none}::ng-deep .vx-form-group .select.button-sec button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;position:absolute;top:12px;right:8px;padding:0;margin:0}::ng-deep .vx-form-group .select+.vx-control-panel{margin-top:8px}::ng-deep .vx-form-group .select+.selected{margin-top:8px}::ng-deep .vx-form-group .select.select{margin-top:8px}::ng-deep .vx-form-group .upload-format{border:1px solid #dbdbdb;border-radius:4px;padding:8px 12px;display:block}::ng-deep .vx-form-group .upload-format span.text{line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:block;margin-bottom:6px}::ng-deep .vx-form-group .upload-format .radio-group{display:flex}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio{display:inline-block}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;margin-left:8px}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio+app-cs-radio{margin-left:12px}::ng-deep .vx-form-group .upload-format~.upload-format{margin-top:4px}::ng-deep .vx-form-group .form-tab{display:flex;justify-content:flex-start}::ng-deep .vx-form-group .form-tab button{background:transparent;color:#161b2f;font-size:11px;line-height:16px;text-transform:uppercase;cursor:pointer;padding:8px 8px 8px 0;border:none;outline:none;font-weight:500}::ng-deep .vx-form-group .form-tab button:disabled{opacity:.5;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}::ng-deep .vx-form-group .form-tab button+button{padding:8px}::ng-deep .vx-form-group .form-tab button.active{color:#1e5dd3}::ng-deep .vx-form-group .tab-group{border:1px solid #dbdbdb;border-radius:4px;padding:0;display:block;position:relative}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 24px;display:flex;align-items:center}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px;margin-right:20px}::ng-deep .vx-form-group .tab-group .upload-file .browse{display:flex;align-items:center;justify-content:center;width:calc(100% - 100px);text-align:center}::ng-deep .vx-form-group .tab-group .upload-file .browse span{display:inline-block;font-size:12px;color:#747576;line-height:16px;padding:0 4px}::ng-deep .vx-form-group .tab-group .upload-file .browse .label{font-size:11px;color:#1e5dd3;line-height:16px;font-weight:600;text-transform:uppercase;margin:0;padding:0}::ng-deep .vx-form-group .tab-group .upload-file .browse .label input{opacity:0;position:absolute;top:0;margin:0;padding:0;right:0;bottom:0;left:0;cursor:pointer;width:100%}::ng-deep .vx-form-group .tab-group.active{border-color:#1e5dd3}::ng-deep .vx-form-group .tab-group.uploaded{margin-top:4px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file{padding:12px \u200B24px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .image{display:none}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .browse{width:100%}::ng-deep .vx-form-group .tab-group+label.vx-form-group{margin-top:8px;margin-bottom:4px}::ng-deep .vx-form-group .file-list{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:4px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:relative}::ng-deep .vx-form-group .file-list span.file-name{color:#747576;line-height:16px;font-size:11px;font-weight:400;cursor:pointer;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .vx-form-group .file-list .button-group{display:flex}::ng-deep .vx-form-group .file-list button{font-size:12px;color:#eb2424;cursor:pointer;display:flex;padding:0;border:none;outline:none;background:transparent}::ng-deep .vx-form-group .file-list button.edit{color:#1e5dd3}::ng-deep .vx-form-group .file-list button+button{margin-left:16px}::ng-deep .vx-form-group .file-list+.file-list{margin-top:4px}::ng-deep .vx-form-group .file-list .file-container{display:flex;justify-content:space-between;width:100%}::ng-deep .vx-form-group .file-list.policy{background:#fff}::ng-deep .vx-form-group .file-list cs-select{position:relative;margin-top:8px;width:100%}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group input.value{height:32px!important;font-size:11px!important}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group i{right:12px!important;top:12px!important}::ng-deep .vx-form-group .file-list app-line-loader{display:block;position:absolute;left:10px;right:10px;bottom:0}::ng-deep .vx-form-group label.vx-control-panel{color:#161b2f;font-size:11px;font-weight:500;line-height:16px;margin-bottom:8px;display:block;text-transform:uppercase;width:100%;margin-top:4px;text-align:left}::ng-deep .vx-form-group label.vx-control-panel.custom-tag{font-size:10px}::ng-deep .vx-form-group label.vx-control-panel.vx-mt-8{margin-top:8px}::ng-deep .vx-form-group label.vx-control-panel span.required{color:#eb2424;font-size:16px;font-weight:400;position:relative;top:-2px}::ng-deep .vx-form-group label.vx-control-panel .button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;padding:0;margin:0}::ng-deep .vx-form-group label.vx-control-panel app-cs-switch{float:right;display:block}::ng-deep .vx-form-group label.vx-control-panel i{margin-left:8px;font-size:12px;color:#1e5dd3;cursor:pointer;position:relative;top:1px}::ng-deep .vx-form-group label.vx-control-panel i.depreciation-icon{color:#e4b700;font-size:16px;position:relative;top:3px}::ng-deep .vx-form-group label.vx-control-panel .checkpoint-version{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:10px;font-weight:600;line-height:14px;margin-left:4px;padding:0 2px}::ng-deep .vx-form-group .input,::ng-deep .vx-form-group input[type=text]{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400}::ng-deep .vx-form-group .input::-moz-placeholder,::ng-deep .vx-form-group input[type=text]::-moz-placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group .input:-ms-input-placeholder,::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group .input::placeholder,::ng-deep .vx-form-group input[type=text]::placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group .input:hover,::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group input[type=text]:hover{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .vx-form-group .input.error,::ng-deep .vx-form-group input[type=text].error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group .input.error:focus,::ng-deep .vx-form-group input[type=text].error:focus{box-shadow:0 0 5px rgba(211,30,30,.27)}::ng-deep .vx-form-group .input:disabled,::ng-deep .vx-form-group input[type=text]:disabled{background:#f1f1f1;cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}::ng-deep .vx-form-group .input:disabled:hover,::ng-deep .vx-form-group input[type=text]:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group .input span.text,::ng-deep .vx-form-group input[type=text] span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group .input .input-group,::ng-deep .vx-form-group input[type=text] .input-group{display:flex;align-items:center}::ng-deep .vx-form-group .input .input-group.counter,::ng-deep .vx-form-group input[type=text] .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group .input .input-group.counter button,::ng-deep .vx-form-group input[type=text] .input-group.counter button{height:24px;width:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#747576;font-size:8px;cursor:pointer;outline:none}::ng-deep .vx-form-group .input .input-group.counter input,::ng-deep .vx-form-group input[type=text] .input-group.counter input{-webkit-appearance:textfield;-moz-appearance:textfield;height:24px;width:calc(100% - 48px);border:1px solid #f1f1f1;outline:none;padding:0 6px;text-align:center}::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}::ng-deep .vx-form-group .input+.file-list,::ng-deep .vx-form-group input[type=text]+.file-list{margin-top:8px}::ng-deep .vx-form-group .input::-moz-placeholder,::ng-deep .vx-form-group input[type=text]::-moz-placeholder{font-size:13px}::ng-deep .vx-form-group .input::placeholder,::ng-deep .vx-form-group input[type=text]::placeholder{font-size:13px}::ng-deep .vx-form-group .input:-ms-input-placeholder,::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .input::-ms-input-placeholder,::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{width:100%;position:relative;z-index:1;margin:0 4px 0 0}::ng-deep .vx-form-group .classification label span{display:block;width:100%;height:24px;border:1px solid #f1f1f1;border-radius:2px;line-height:24px;font-size:10px;text-align:center;color:#747576;font-weight:500;position:relative;text-transform:uppercase}::ng-deep .vx-form-group .classification label span:before{height:2px;content:\"\";top:0;right:0;left:0;border-radius:2px;position:absolute;transition:all .2s ease-in-out}::ng-deep .vx-form-group .classification label input{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:1}::ng-deep .vx-form-group .classification label input:checked+span{color:#fff}::ng-deep .vx-form-group .classification label input:checked+span:before{bottom:0;height:100%;z-index:-1}::ng-deep .vx-form-group .classification label.low span:before{background:#34aa44}::ng-deep .vx-form-group .classification label.low-med span:before{background:#f2bf19}::ng-deep .vx-form-group .classification label.med-high span:before{background:#f29619}::ng-deep .vx-form-group .classification label.high span:before{background:#eb2424}::ng-deep .vx-form-group .classification label:last-of-type{margin-right:0}::ng-deep .vx-form-group .input{display:flex;align-items:center}::ng-deep .vx-form-group .selected{height:40px;border-radius:4px;border:1px solid #f1f1f1;background:#fbfbfb;outline:none;padding:8px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:flex;align-items:center;position:relative;justify-content:space-between}::ng-deep .vx-form-group .selected.first-field{z-index:2}::ng-deep .vx-form-group .selected .chip-container{display:flex;width:calc(100% - 60px);align-items:center}::ng-deep .vx-form-group .selected .chip-container.checkpoints{width:calc(100% - 120px)}::ng-deep .vx-form-group .selected .chip-container span.chip{background:#fff;border-radius:2px;box-shadow:0 0 3px #1e5dd31a;height:24px;padding:0 8px;color:#1e5dd3;font-size:12px;display:block;width:auto;max-width:100%;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}::ng-deep .vx-form-group .selected .chip-container span.chip.disabled{background:#f1f1f1;box-shadow:none;color:#747576;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}::ng-deep .vx-form-group .selected .chip-container span.chip i{font-weight:400;margin-right:8px;cursor:pointer;font-size:10px;position:relative;top:1px}::ng-deep .vx-form-group .selected .chip-container span.chip span.step{background:#1e5dd3;border-radius:2px;color:#fff;font-size:9px;line-height:14px;padding:0 4px;font-weight:400;text-align:center;min-width:auto;margin-right:4px}::ng-deep .vx-form-group .selected .chip-container span.chip+span.chip{margin-left:4px}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.value{color:#1e5dd3;font-size:12px;font-weight:400;line-height:24px;padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 80px)}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.label{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding-left:4px;padding-right:4px;line-height:12px;margin-left:8px}::ng-deep .vx-form-group .selected .chip-container span.value{color:#747576;font-size:13px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 52px);padding:0 4px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text{color:#747576;font-size:10px;font-weight:500;padding:0 8px;width:122px;line-height:14px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first{position:relative;min-width:162px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first:before{background:#f1f1f1;content:\"\";position:absolute;top:0;right:0;height:calc(100% + 12px);width:1px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text .no{color:#1e5dd3}::ng-deep .vx-form-group .selected .chip-container.plus span.chip{max-width:calc(50% - 35px)}::ng-deep .vx-form-group .selected .chip-container.more-one span.chip{max-width:50%}::ng-deep .vx-form-group .selected .chip-container .chip-inner{background:#fff;border-radius:2px;box-shadow:0 2px 4px #1e5dd31a;line-height:24px;padding:0 4px 0 8px;display:flex;align-items:center}::ng-deep .vx-form-group .selected .chip-container .chip-inner .chip{background:transparent;border-radius:0;box-shadow:none;height:auto;line-height:unset;padding:0;color:#747576;max-width:300px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count{border-radius:20px;height:16px;padding:0 6px;border:none;font-size:9px;line-height:16px;margin-left:4px;min-width:20px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count.user{background:#34aa44}::ng-deep .vx-form-group .selected .chip-container .chip-inner i.cross{cursor:pointer}::ng-deep .vx-form-group .selected button.count{background:#1e5dd3;border-radius:2px;height:24px;padding:0 8px;border:1px solid #1e5dd3;cursor:pointer;outline:none;color:#fff;font:13px;font-weight:500;line-height:20px;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit{border:1px solid #f1f1f1;border-radius:2px;background:#fff;outline:none;cursor:pointer;display:block;height:24px;padding:0 5px 0 4px;font-size:11px;font-weight:500;color:#1e5dd3;text-transform:uppercase;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit i{font-weight:400;font-size:8px;margin-right:4px}::ng-deep .vx-form-group .selected button.close-btn{background:transparent;border:none;padding:0;margin-left:8px;font-size:10px;color:#c7381b;display:flex;align-items:center}::ng-deep .vx-form-group .selected .workflow-label{min-width:92px;padding:4px;text-align:center;margin-left:-8px;margin-right:8px;border-right:1px solid #f1f1f1}::ng-deep .vx-form-group .selected .workflow-label p{margin:0;display:block;text-transform:uppercase}::ng-deep .vx-form-group .selected .workflow-label p.title{font-size:9px;line-height:12px;color:#161b2f;font-weight:500}::ng-deep .vx-form-group .selected .workflow-label p.description{font-size:11px;line-height:16px;color:#161b2f;font-weight:600}::ng-deep .vx-form-group .selected .workflow-label+.chip-container{width:calc(100% - 148px)}::ng-deep .vx-form-group .selected+.selected{margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .selected+app-cs-switch.who-toggle label.cs-switch span.value{color:#747576}::ng-deep .vx-form-group .selected+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .selected~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .selected.readOnly{pointer-events:none}::ng-deep .vx-form-group .selected span.chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .vx-form-group .select-list{position:absolute;background:#fff;box-shadow:0 0 5px #1e5dd3;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group marx-editor{margin-top:8px;display:block}::ng-deep .vx-form-group marx-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group marx-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px;position:static}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group marx-editor .editor-container:focus-within{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:hover{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group app-cs-switch label.cs-switch span.value{font-size:11px;color:#747576;text-transform:uppercase}::ng-deep .vx-form-group app-cs-switch+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group .date-time-picker{display:flex;justify-content:space-between;height:40px;border-radius:4px;border:1px solid #dbdbdb;padding:11px 0}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .vx-form-group .date-time-picker .picker-group{width:50%;position:relative;display:flex;align-items:center}::ng-deep .vx-form-group .date-time-picker .picker-group:first-of-type{border-right:1px solid #dbdbdb}::ng-deep .vx-form-group .date-time-picker .picker-group:only-of-type{border:none;width:100%}::ng-deep .vx-form-group .date-time-picker .picker-group input{height:38px;background:#fff;line-height:38px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400;border:none;padding:0 12px 0 34px;outline:none}::ng-deep .vx-form-group .date-time-picker .picker-group input:focus,::ng-deep .vx-form-group .date-time-picker .picker-group input:hover{box-shadow:none;border:none}::ng-deep .vx-form-group .date-time-picker .picker-group input::-moz-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input:-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group i{display:flex;justify-content:center;align-items:center;height:16px;width:16px;position:absolute;left:12px;top:0;color:#bcbcbc;font-size:16px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group app-cs-radio.disabled{pointer-events:none;opacity:.5;filter:grayscale(1);background:#f1f1f1}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}::ng-deep .vx-form-group .risk-type-field{background:#f8f8f8;border:1px solid #dbdbdb;border-radius:4px;height:40px;display:flex;align-items:center;padding:4px;position:relative;z-index:1}::ng-deep .vx-form-group .risk-type-field .type-item{width:50%;position:relative}::ng-deep .vx-form-group .risk-type-field .type-item button{background:transparent;border:none;border-radius:0;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase;width:100%;height:32px;padding:0 12px;text-align:left}::ng-deep .vx-form-group .risk-type-field .type-item button.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item .info{color:#1e5dd3;font-size:12px;position:absolute;top:10px;right:12px;cursor:pointer}::ng-deep .vx-form-group .risk-type-field .type-item.active button{color:#1e5dd3!important}::ng-deep .vx-form-group .risk-type-field .type-item:nth-child(2).active~.background-glider{transform:translate(100%)}::ng-deep .vx-form-group .risk-type-field .background-glider{background:#fff;border-radius:4px;box-shadow:0 1px 3px #161b2f26;position:absolute;display:flex;width:208px;height:32px;z-index:-1;transition:.25s ease-out}.left{width:36px;height:36px;margin-top:30px;margin-left:-58px;margin-right:20px;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;border-radius:50%}.left.deadline-completed{margin-top:18px}.left.checked{background:transparent}.left img{width:36px}.left .checkIcon{width:32px;height:32px;background:#fff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 0 #34aa44;-webkit-animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}.left .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;-webkit-animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;-webkit-animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.right{width:100%}.right span.indicator{position:absolute;top:36px;left:-16px;font-size:12px;color:#f0b819;cursor:pointer}.form-group-row{display:flex;position:relative;transition:all .2s ease-in-out}.form-group-row.disabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;filter:grayscale(1);z-index:2}.form-group-row.disabled .left{position:relative}.form-group-row.disabled .left:before{content:\"\";position:absolute;top:2px;right:0;bottom:0;left:2px;background:#fff;opacity:.7;border-radius:50%;width:32px;height:32px}.form-group-row.disabled .right{opacity:.3}.form-group-row.active{pointer-events:none;filter:grayscale(0);z-index:2;opacity:1}.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group input{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .radio-group-selector app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .radio-group-selector app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .radio-group-selector app-cs-radio label.radio-item .radio,::ng-deep .radio-group-selector app-cs-radio label.radio-item .radiomark{position:absolute!important;top:9px;left:12px}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value{font-size:11px!important;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0!important;max-width:100%!important;font-weight:500!important;color:#707070!important}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value i{font-size:12px;color:#1e5dd3}::ng-deep .radio-group-selector app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}@-webkit-keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes strokeCheck{to{stroke-dashoffset:0}}@-webkit-keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}.action-list{width:220px}.action-list ul{padding:0;margin:0;-webkit-animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.action-list ul.action-item{display:block}.action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}.action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}.action-list ul.action-item li button i{font-size:17px;margin-right:10px;color:#1c5bd1}.action-list ul.action-item li button:hover{background:#f3f3f3}.action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.action-list ul.action-item li .avatar-card.within-con{display:block}.action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#4681ef;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}.action-list ul.action-item li .avatar-card .avatar img{width:100%}.action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;-moz-text-align-last:left;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#1c5bd1;cursor:pointer;margin-right:5px}.action-list ul.action-item li .avatar-card.no-image{display:block}.action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.action-list ul.action-item li .chip-item i{margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}.action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.action-list ul.action-item li .chip-item span.id{font-size:9px}.action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}.action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}.action-list ul.action-item li:first-child{-webkit-animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(2){-webkit-animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(3){-webkit-animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(4){-webkit-animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(5){-webkit-animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(6){-webkit-animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(7){-webkit-animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(8){-webkit-animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(9){-webkit-animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(10){-webkit-animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@-webkit-keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@-webkit-keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}p.error-message{font-size:11px;font-weight:400;color:#eb2424;line-height:16px;margin-top:8px;margin-bottom:0}.edit-loader{position:absolute;top:-3px;left:-3px;width:46px;height:46px;transform:rotate(180deg)}.circular-loader{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto}.loader-path{stroke-dasharray:150,200;stroke-dashoffset:-10;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@-webkit-keyframes rotate{to{transform:rotate(1turn)}}@keyframes rotate{to{transform:rotate(1turn)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}::ng-deep .dropdown{position:fixed;background:#fff;box-shadow:0 3px 6px #00000029;padding:24px 0;z-index:9;max-height:calc(100vh - 200px);overflow:auto}::ng-deep .dropdown ul.dropdown-list{padding:0 20px;margin:0;display:block}::ng-deep .dropdown ul.dropdown-list li{list-style:none}::ng-deep .dropdown ul.dropdown-list li app-cs-radio{display:flex}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.radio{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.value{padding:11px 12px 11px 32px;width:100%;border:1px solid #bcbcbc;border-radius:4px;margin-left:0;max-width:100%}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item svg{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item input[type=radio]:checked~span.value{background:#e8feeb;border-color:#34aa44}::ng-deep .dropdown ul.dropdown-list li+li{margin-top:8px}app-smiley-dialog{position:relative;z-index:10}app-smiley-dialog-inline{position:absolute;top:-3px;right:0;bottom:0;z-index:999;width:520px;height:calc(100vh + 3px)}::ng-deep .vx-overlay{position:fixed;z-index:3;top:0;right:0;bottom:0;left:0}dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}dp-date-picker input:focus{outline:none}dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;-webkit-animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}dp-date-picker .dp-popup dp-day-calendar,dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}dp-date-picker .dp-popup dp-day-calendar button,dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays{display:flex;justify-content:space-around}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected{background:#1e5dd3}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}dp-date-picker .dp-open+div{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:rgba(0,0,0,.3)}@-webkit-keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}::ng-deep span.file{display:block;width:20px;min-width:20px;border-radius:0 0 2px 2px;position:relative;margin-right:5px;border:1px solid #747576;border-top:none;margin-top:5px;background:#fff}::ng-deep span.file.table{margin-right:8px;width:18px;min-width:18px}::ng-deep span.file.table i{font-size:8px}::ng-deep span.file.table .format{height:8px;font-size:7px;line-height:8px;font-weight:400}::ng-deep span.file:before{position:absolute;border-radius:0;top:-4px;right:-1px;content:\"\";height:4px;width:4px;display:block;background:linear-gradient(45deg,#747576,#747576 1%,#747576 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file:after{height:4px;left:-1px;right:3px;border-top:1px solid;border-right:none;border-left:1px solid;content:\"\";top:-4px;position:absolute;border-radius:2px 0 0 0;background:#fff}::ng-deep span.file .format{height:10px;font-size:6px;text-transform:uppercase;background:transparent;font-weight:600;text-align:center;display:block;line-height:10px}::ng-deep span.file i{font-size:10px;height:10px;display:flex;align-items:center;justify-content:center;color:#dbdbdb}::ng-deep span.file.docx{width:22px!important}::ng-deep span.file.pdf,::ng-deep span.file.template{border-color:#f31c39}::ng-deep span.file.pdf:before,::ng-deep span.file.template:before{background:linear-gradient(45deg,#f31c39,#f31c39 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f31c39\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.pdf:after,::ng-deep span.file.template:after{border-color:#f31c39}::ng-deep span.file.pdf .format,::ng-deep span.file.template .format{color:#f31c39}::ng-deep span.file.css,::ng-deep span.file.less,::ng-deep span.file.scss,::ng-deep span.file.xls,::ng-deep span.file.xlsx{border-color:#34aa44}::ng-deep span.file.css:before,::ng-deep span.file.less:before,::ng-deep span.file.scss:before,::ng-deep span.file.xls:before,::ng-deep span.file.xlsx:before{background:linear-gradient(45deg,#34aa44,#34aa44 1%,#34aa44 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.css:after,::ng-deep span.file.less:after,::ng-deep span.file.scss:after,::ng-deep span.file.xls:after,::ng-deep span.file.xlsx:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.css .format,::ng-deep span.file.less .format,::ng-deep span.file.scss .format,::ng-deep span.file.xls .format,::ng-deep span.file.xlsx .format{color:#34aa44}::ng-deep span.file.doc,::ng-deep span.file.docx,::ng-deep span.file.psd{border-color:#1e5dd3}::ng-deep span.file.doc:before,::ng-deep span.file.docx:before,::ng-deep span.file.psd:before{background:linear-gradient(45deg,#1e5dd3,#1e5dd3 1%,#1e5dd3 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.doc:after,::ng-deep span.file.docx:after,::ng-deep span.file.psd:after{border-color:#1e5dd3}::ng-deep span.file.doc .format,::ng-deep span.file.docx .format,::ng-deep span.file.psd .format{color:#1e5dd3}::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpeg,::ng-deep span.file.jpg,::ng-deep span.file.png,::ng-deep span.file.ppt{border-color:#f6882f}::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.jpg:before,::ng-deep span.file.png:before,::ng-deep span.file.ppt:before{background:linear-gradient(45deg,#f6882f,#f6882f 1%,#f6882f 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.jpg:after,::ng-deep span.file.png:after,::ng-deep span.file.ppt:after{border-color:#f6882f}::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.jpg .format,::ng-deep span.file.png .format,::ng-deep span.file.ppt .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7,#7aa6f7 1%,#7aa6f7 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.php:after{border-color:#7aa6f7}::ng-deep span.file.php .format{color:#7aa6f7}::ng-deep ngx-material-timepicker-container .timepicker-backdrop-overlay{background-color:rgba(0,0,0,.05)!important;z-index:9999999999!important}::ng-deep ngx-material-timepicker-container .timepicker-overlay{z-index:9999999999!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker{width:232px!important;border-radius:2px!important;box-shadow:0 4px 30px #161b2f26!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header{background-color:#fff!important;padding:0!important;border-radius:2px 2px 0 0}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container{display:block!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time{color:#000!important;width:150px!important;margin:0 auto;line-height:60px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control{font-size:40px;background-color:transparent!important;color:#000!important;font-weight:600;text-align:right;caret-color:transparent;outline:none;font-family:Poppins;line-height:56px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:focus,::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:hover{background-color:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control:last-of-type .timepicker-dial__control{text-align:left}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time span{padding:0 8px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period{display:flex!important;width:182px;margin:0 auto!important;background:#f1f1f1;padding:4px 10px;border-radius:20px;position:relative}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period:before{background:#f1f1f1;content:\"\";position:absolute;top:15px;left:-25px;width:calc(100% + 50px);height:2px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period{flex-direction:unset!important;position:relative;z-index:1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:after{content:\"\";position:absolute;right:-12px;top:0;border-left:14px solid #f1f1f1;border-bottom:12px solid transparent;border-top:12px solid transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:before{content:\"\";position:absolute;left:-18px;top:0;border-right:14px solid #f1f1f1;border-bottom:12px solid transparent;border-top:12px solid transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button{font-size:11px;background-color:transparent;padding:0;border-radius:20px;color:#747576;font-weight:600;font-family:Poppins;width:84px;height:24px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button.timepicker-dial__item_active{background:#fff!important;color:#1e5dd3!important;box-shadow:0 1px 2px #dbdbdb}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button+button{margin-left:0!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face{width:200px!important;height:200px!important;padding:10px!important;background:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer{height:calc(224px / 2 - 20px)!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span{color:#000}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span.active{color:#fff}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand{height:80px!important;top:calc(50% - 80px)!important;background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number>span.active{background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand_minute:before{border:4px solid #1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions{display:flex!important;padding:10px 0 0!important;background:#fff!important;justify-content:space-around!important;border-radius:0 0 2px 2px!important;overflow:hidden}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div:first-child ngx-material-timepicker-button button.timepicker-button{background:#f8f8f8;color:#1e5dd3}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button{line-height:28px!important;width:100%;background:#1e5dd3;color:#fff;border-radius:0!important;height:32px!important;width:116px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button span{font-weight:500!important;font-size:11px;font-family:Poppins}::ng-deep marx-modal .popup-modal-background{background-color:#161b2fcc!important}"]
|
|
5318
5399
|
},] }
|
|
5319
5400
|
];
|
|
@@ -7372,10 +7453,15 @@ class OwnerListComponent {
|
|
|
7372
7453
|
this.noDataText = '';
|
|
7373
7454
|
this.workflowList = ['SEQUENTIAL', 'ANY REVIEWER CAN MARK THIS AS REVIEWED'];
|
|
7374
7455
|
this.workflowText = 'Reviewer Workflow';
|
|
7456
|
+
this.disabledIds = [];
|
|
7375
7457
|
this.nonRemovableUsersList = [];
|
|
7376
7458
|
this.saveSelectedList = new EventEmitter();
|
|
7377
7459
|
this.closeUsersList = new EventEmitter();
|
|
7378
7460
|
this.reviewerWorkflowTypeChange = new EventEmitter();
|
|
7461
|
+
this.assignorId = [];
|
|
7462
|
+
this.assigneeIds = [];
|
|
7463
|
+
this.reviewerIds = [];
|
|
7464
|
+
this.overseerIds = [];
|
|
7379
7465
|
this.search = '';
|
|
7380
7466
|
this.selectedIds = [];
|
|
7381
7467
|
this.animation = false;
|
|
@@ -7389,6 +7475,8 @@ class OwnerListComponent {
|
|
|
7389
7475
|
} });
|
|
7390
7476
|
}
|
|
7391
7477
|
ngOnInit() {
|
|
7478
|
+
let disabledIds = [...this.disabledIds, ...this.nonRemovableUsersList];
|
|
7479
|
+
this.disabledIds = [...new Set(disabledIds)];
|
|
7392
7480
|
this.animation = true;
|
|
7393
7481
|
setTimeout(() => {
|
|
7394
7482
|
this.animation = false;
|
|
@@ -7457,7 +7545,7 @@ class OwnerListComponent {
|
|
|
7457
7545
|
OwnerListComponent.decorators = [
|
|
7458
7546
|
{ type: Component, args: [{
|
|
7459
7547
|
selector: 'app-owner-list',
|
|
7460
|
-
template: "<div class=\"add-risk-owner-list\" [class.animate]=\"animation\">\r\n <div class=\"add-risk-owner-list-head\">\r\n <h3 class=\"add-risk-owner-list-title\">{{listHeading}}</h3>\r\n </div>\r\n <div class=\"add-risk-owner-list-body\">\r\n <div class=\"search-block\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"search\" [attr.placeholder]=\"searchPlaceholder\" />\r\n </div>\r\n <ng-container *ngIf=\"(usersList | filter:search) as searchList\">\r\n <div class=\"body-top\" *ngIf=\"searchList?.length > 0 && search?.trim()?.length === 0\">\r\n <app-cs-checkbox [ngValue]=\"checkSelectAll()\" (ngValueChange)=\"selectAll($event)\">\r\n <strong>{{checkSelectAll(activeTab) ? 'Deselect All' : 'Select All'}}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <ul class=\"owner-list\" [class.full-height]=\"false\" *ngIf=\"searchList.length > 0\">\r\n <li *ngFor=\"let user of searchList\">\r\n <app-cs-checkbox [disabled]=\"
|
|
7548
|
+
template: "<div class=\"add-risk-owner-list\" [class.animate]=\"animation\">\r\n <div class=\"add-risk-owner-list-head\">\r\n <h3 class=\"add-risk-owner-list-title\">{{listHeading}}</h3>\r\n </div>\r\n <div class=\"add-risk-owner-list-body\">\r\n <div class=\"search-block\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"search\" [attr.placeholder]=\"searchPlaceholder\" />\r\n </div>\r\n <ng-container *ngIf=\"(usersList | filter:search) as searchList\">\r\n <div class=\"body-top\" *ngIf=\"searchList?.length > 0 && search?.trim()?.length === 0\">\r\n <app-cs-checkbox [ngValue]=\"checkSelectAll()\" (ngValueChange)=\"selectAll($event)\">\r\n <strong>{{checkSelectAll(activeTab) ? 'Deselect All' : 'Select All'}}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <ul class=\"owner-list\" [class.full-height]=\"false\" *ngIf=\"searchList.length > 0\">\r\n <li *ngFor=\"let user of searchList\" [appTooltip]=\"user | tooltipMessage: fromResponsibility:reviewerIds:overseerIds:assignorId:assigneeIds:'my_member_id':disabledIds?.includes(user[userIdKey])\" placement=\"bottom-left\"\r\n delay=\"0\" [tooltipMandatory]=true>\r\n <app-cs-checkbox [disabled]=\"disabledIds?.includes(user[userIdKey])\" [ngValue]=\"selectedIds?.includes(user[userIdKey])\"\r\n (ngValueChange)=\"selectUser(user[userIdKey],$event)\">\r\n <span class=\"name\" >{{user[itemNameKey]}}</span>\r\n </app-cs-checkbox>\r\n </li>\r\n\r\n </ul>\r\n <app-no-data *ngIf=\"searchList.length === 0\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(noDataText?.length > 0? noDataText :'No Users Found')\"></app-no-data>\r\n </ng-container>\r\n </div>\r\n <app-floating-bar\r\n [selectedData]=\"selectedUsers|shortMerge : nonRemovableUsersList\"\r\n [displayElementKey]=\"itemNameKey\"\r\n [elementId]=\"userIdKey\"\r\n [nonRemovableUsersList]=\"nonRemovableUsersList\"\r\n [singularText]=\"singularText\"\r\n [pluralText]=\"pluralText\"\r\n (closeEvent)=\"save(selectedIds)\"\r\n (closeList)=\"close()\"\r\n (deleteEvent)=\"deleteEvent($event)\"\r\n (workflowTypeChanged)=\"workflowTypeChanged($event)\"\r\n [showWorkflow]=\"showWorkflow\"\r\n [workflowText]=\"workflowText\"\r\n [selectedWorkflow]=\"reviewerWorkflowType\"\r\n [workflowList]=\"workflowList\"\r\n [mode]=\"mode\"\r\n [workflowPlaceHolder]=\"''\"\r\n [isDisabled]=\"selectedUsers?.length === 0 || usersList?.length === 0\">\r\n </app-floating-bar>\r\n</div>\r\n",
|
|
7461
7549
|
styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::ng-deep .add-risk-owner-list{border-top:3px solid #1e5dd3;position:fixed;top:0;right:500px;bottom:0;left:0;z-index:-1}::ng-deep .add-risk-owner-list-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border:1px solid #f1f1f1;border-right:none}::ng-deep .add-risk-owner-list-title{color:#161b2f;font-size:15px;font-weight:500;margin:0!important;padding:0;line-height:21px}::ng-deep .add-risk-owner-list-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .add-risk-owner-list-body{padding:24px 40px 24px 36px;height:calc(100vh - 112px)}::ng-deep .add-risk-owner-list-body.have-user{height:calc(100vh - 110px)}::ng-deep .add-risk-owner-list-body .search-block{position:relative}::ng-deep .add-risk-owner-list-body .search-block input{height:44px;line-height:24px;padding:10px 15px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}::ng-deep .add-risk-owner-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .add-risk-owner-list-body .search-block i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#f1f1f1}::ng-deep .add-risk-owner-list-body .body-top{display:flex;justify-content:space-between;padding:16px 0 0}::ng-deep .add-risk-owner-list-body .body-top app-cs-checkbox{display:flex}::ng-deep .add-risk-owner-list-body .body-top app-cs-checkbox label span.value strong{color:#161b2f;font-size:14px;font-weight:600;white-space:nowrap}::ng-deep .add-risk-owner-list-body ul{padding:0;margin:0}::ng-deep .add-risk-owner-list-body ul.owner-list{display:flex;align-items:flex-start;flex-wrap:wrap;max-height:calc(100vh - 240px);overflow:auto;scrollbar-width:thin;padding:16px 0 0}::ng-deep .add-risk-owner-list-body ul.owner-list.full-height{max-height:calc(100vh - 180px)}::ng-deep .add-risk-owner-list-body ul.owner-list li{width:50%;padding:0 20px 16px 0;list-style:none}::ng-deep .add-risk-owner-list-body ul.owner-list li app-cs-checkbox,::ng-deep .add-risk-owner-list-body ul.owner-list li app-cs-radio{display:flex}::ng-deep .add-risk-owner-list-body ul.owner-list li app-cs-checkbox label,::ng-deep .add-risk-owner-list-body ul.owner-list li app-cs-radio label{width:100%}::ng-deep .add-risk-owner-list-body ul.owner-list li app-cs-checkbox label span.value,::ng-deep .add-risk-owner-list-body ul.owner-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;flex-wrap:wrap}::ng-deep .add-risk-owner-list-body ul.owner-list li app-cs-checkbox label span.value span.name,::ng-deep .add-risk-owner-list-body ul.owner-list li app-cs-radio label span.value span.name{color:#161b2f;font-weight:400;line-height:20px;display:block;width:100%;font-size:13px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-right:24px}::ng-deep .add-risk-owner-list-body ul.owner-list li app-cs-checkbox label span.value span.position,::ng-deep .add-risk-owner-list-body ul.owner-list li app-cs-radio label span.value span.position{border-radius:2px;display:inline-flex;height:12px;align-items:center;padding:0 2px;text-transform:uppercase;font-size:9px;line-height:12px;font-weight:500}::ng-deep .add-risk-owner-list-body ul.owner-list li app-cs-checkbox label span.value span.position.admin,::ng-deep .add-risk-owner-list-body ul.owner-list li app-cs-radio label span.value span.position.admin{background:#fff9e6;color:#f2bf19}::ng-deep .add-risk-owner-list-body ul.owner-list li app-cs-checkbox label span.value span.position.key-admin,::ng-deep .add-risk-owner-list-body ul.owner-list li app-cs-radio label span.value span.position.key-admin{background:#dff2e1;color:#34aa44}::ng-deep .add-risk-owner-list-body ul.owner-list li app-cs-checkbox label span.value span.position.manager,::ng-deep .add-risk-owner-list-body ul.owner-list li app-cs-radio label span.value span.position.manager{color:#4681ef;background:#d4e2fc}::ng-deep .add-risk-owner-list-body ul.owner-list li app-cs-checkbox label span.value span.position.executive,::ng-deep .add-risk-owner-list-body ul.owner-list li app-cs-radio label span.value span.position.executive{color:#747576;background:#f1f1f1}::ng-deep .add-risk-owner-list-body app-no-data{display:block;height:calc(100% - 100px)}::ng-deep .add-risk-owner-list.animate{-webkit-animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}@-webkit-keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}"]
|
|
7462
7550
|
},] }
|
|
7463
7551
|
];
|
|
@@ -7478,10 +7566,16 @@ OwnerListComponent.propDecorators = {
|
|
|
7478
7566
|
noDataText: [{ type: Input }],
|
|
7479
7567
|
workflowList: [{ type: Input }],
|
|
7480
7568
|
workflowText: [{ type: Input }],
|
|
7569
|
+
disabledIds: [{ type: Input }],
|
|
7481
7570
|
nonRemovableUsersList: [{ type: Input }],
|
|
7482
7571
|
saveSelectedList: [{ type: Output }],
|
|
7483
7572
|
closeUsersList: [{ type: Output }],
|
|
7484
|
-
reviewerWorkflowTypeChange: [{ type: Output }]
|
|
7573
|
+
reviewerWorkflowTypeChange: [{ type: Output }],
|
|
7574
|
+
fromResponsibility: [{ type: Input }],
|
|
7575
|
+
assignorId: [{ type: Input }],
|
|
7576
|
+
assigneeIds: [{ type: Input }],
|
|
7577
|
+
reviewerIds: [{ type: Input }],
|
|
7578
|
+
overseerIds: [{ type: Input }]
|
|
7485
7579
|
};
|
|
7486
7580
|
|
|
7487
7581
|
// import isEqual from 'lodash-es/isEqual';
|
|
@@ -11916,13 +12010,13 @@ class FrequencyBulkService {
|
|
|
11916
12010
|
const index1 = firstHalfMonth.indexOf((date_value.getMonth() + 1).toString());
|
|
11917
12011
|
const index2 = secondHalfMonth.indexOf((date_value.getMonth() + 1).toString());
|
|
11918
12012
|
const pattern = index1 > -1 ? '~' + firstHalfMonth[index1] + ',' + secondHalfMonth[index1] + '~0' : '~' + firstHalfMonth[index2] + ',' + secondHalfMonth[index2] + '~0';
|
|
11919
|
-
frequency_details = '
|
|
12013
|
+
frequency_details = '3~' + date_value.getDate() + pattern;
|
|
11920
12014
|
break;
|
|
11921
12015
|
case 'biannual':
|
|
11922
12016
|
const biannualIndex = firstHalfMonth.indexOf((date_value.getMonth() + 1).toString());
|
|
11923
12017
|
const biannualIndex1 = secondHalfMonth.indexOf((date_value.getMonth() + 1).toString());
|
|
11924
12018
|
const biannualPattern = biannualIndex > -1 ? '~' + firstHalfMonth[biannualIndex] + ',' + secondHalfMonth[biannualIndex] + '~0' : '~' + firstHalfMonth[biannualIndex1] + ',' + secondHalfMonth[biannualIndex1] + '~0';
|
|
11925
|
-
frequency_details = '
|
|
12019
|
+
frequency_details = '3~' + date_value.getDate() + biannualPattern;
|
|
11926
12020
|
break;
|
|
11927
12021
|
case 'annual':
|
|
11928
12022
|
case 'yearly':
|
|
@@ -15055,6 +15149,10 @@ class GroupUsersListComponent {
|
|
|
15055
15149
|
this.closeUsersList = new EventEmitter();
|
|
15056
15150
|
this.selectedGroups = [];
|
|
15057
15151
|
this.assigneeGroupsList = [];
|
|
15152
|
+
this.disabledId = [];
|
|
15153
|
+
this.reviewerIds = [];
|
|
15154
|
+
this.overseerIds = [];
|
|
15155
|
+
this.assignorId = [];
|
|
15058
15156
|
this.search = '';
|
|
15059
15157
|
this.selectedIds = [];
|
|
15060
15158
|
this.animation = false;
|
|
@@ -15216,7 +15314,7 @@ class GroupUsersListComponent {
|
|
|
15216
15314
|
GroupUsersListComponent.decorators = [
|
|
15217
15315
|
{ type: Component, args: [{
|
|
15218
15316
|
selector: 'app-group-users-list',
|
|
15219
|
-
template: "<div class=\"add-risk-group-user-list\" [class.animate]=\"animation\">\r\n <div class=\"add-risk-group-user-list-head\">\r\n <h3 class=\"add-risk-group-user-list-title\">Select User(s)</h3>\r\n <!-- <button class=\"add-risk-group-user-list-close\" (click)=\"close()\">\r\n <i class=\"icons\"></i>\r\n </button> -->\r\n </div>\r\n <div class=\"add-risk-group-user-list-body\">\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"{{currentTab === 'USER' ? 'Search User(s)' :'Search User Group(s)'}} \" />\r\n </div>\r\n <div class=\"add-risk-group-user-list-tab vx-d-flex vx-align-center vx-mt-1 vx-mb-2\" *ngIf=\"groupsEnabled\">\r\n <button (click)=\"switchTab('USER')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'USER'\">USERS \r\n <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{ usersList?.length}}</span></button>\r\n <button (click)=\"switchTab('GROUP')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'GROUP'\">USER GROUPS \r\n <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{assigneeGroupsList?.length}}</span></button>\r\n </div>\r\n <ng-container *ngIf=\"!groupsEnabled\">\r\n <ng-container *ngIf=\"(usersList | filter:search) as userlist\">\r\n <ng-container *ngIf=\"(groupsList | filter:search) as grouplist\">\r\n <div class=\"body-top\" *ngIf=\"( userlist?.length > 0 || userlist?.length > 0 && grouplist?.length > 0) && search?.trim()?.length === 0\">\r\n <app-cs-checkbox\r\n *ngIf=\"(openedFrom === 'RISK_TREATMENT' && usersList?.length < 19) || openedFrom !== 'RISK_TREATMENT'\"\r\n [ngValue]=\"checkSelectAll()\" (ngValueChange)=\"selectAll($event)\">\r\n <strong>\r\n {{checkSelectAll() ? 'Deselect All' : 'Select All'}}\r\n </strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <div class=\"list-block\">\r\n \r\n <ul class=\"group-user-list\" *ngIf=\"grouplist?.length > 0\">\r\n <ng-container *ngFor=\"let group of grouplist\">\r\n <li *ngIf=\"!hideGroup(group.userIds)\">\r\n <app-cs-checkbox [ngValue]=\"checkGroupList(group.userIds) && group.userIds.length !== 0\"\r\n (ngValueChange)=\"selectGroup(group.userIds,$event)\"\r\n [disabled]=\"openedFrom === 'RISK_TREATMENT' && (selectedUsers.length + group.userIds.length) > 19 && !checkGroupList(group.userIds) || group.userIds.length === 0\"\r\n (click)=\"validationCheck((openedFrom === 'RISK_TREATMENT' && (selectedUsers.length + group.userIds.length) > 19 && !checkGroupList(group.userIds)))\">\r\n <span class=\"name\">{{group.groupName}}<span\r\n class=\"counter\">{{(group.userIds.length>1)?\r\n group.userIds.length+' USERS':group.userIds.length+' USER' }}</span></span>\r\n </app-cs-checkbox>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <ul class=\"group-user-list\" *ngIf=\"userlist?.length > 0\">\r\n <li *ngFor=\"let user of userlist\">\r\n <app-cs-checkbox [ngValue]=\"selectedIds.includes(user[userIdKey])\"\r\n (ngValueChange)=\"selectUser(user[userIdKey],$event)\"\r\n [disabled]=\"openedFrom === 'RISK_TREATMENT' && selectedUsers.length === 19 && !(selectedIds.includes(user[userIdKey]))\"\r\n (click)=\"validationCheck((openedFrom === 'RISK_TREATMENT' && selectedUsers.length === 19 && !(selectedIds.includes(user[userIdKey]))))\">\r\n <span class=\"name\" [appTooltip]=\"user.employee_email\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">{{user.employee_name}}</span>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n <app-no-data *ngIf=\"userlist?.length === 0 && grouplist?.length === 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No Users Found'\"></app-no-data>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"currentTab === 'USER' && groupsEnabled\">\r\n <ng-container *ngIf=\"(usersList | filter:search) as userlist\">\r\n <div class=\"body-top\" *ngIf=\"( userlist?.length > 0) && search?.trim()?.length === 0\">\r\n <app-cs-checkbox\r\n *ngIf=\"(openedFrom === 'RISK_TREATMENT' && usersList?.length < 19) || openedFrom !== 'RISK_TREATMENT'\"\r\n [ngValue]=\"checkSelectAll()\" (ngValueChange)=\"selectAll($event)\">\r\n <strong>\r\n {{checkSelectAll() ? 'Deselect All' : 'Select All'}}\r\n </strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <!-- when pagination was show then with-pagination this class was true -->\r\n <div class=\"list-block\" [class.with-pagination]=\"false\">\r\n <ul class=\"group-user-list\" *ngIf=\"userlist?.length > 0\">\r\n <li *ngFor=\"let user of userlist\">\r\n <app-cs-checkbox [ngValue]=\"selectedIds.includes(user[userIdKey])\"\r\n (ngValueChange)=\"selectUser(user[userIdKey],$event)\"\r\n [disabled]=\"openedFrom === 'RISK_TREATMENT' && selectedUsers.length === 19 && !(selectedIds.includes(user[userIdKey]))\"\r\n (click)=\"validationCheck((openedFrom === 'RISK_TREATMENT' && selectedUsers.length === 19 && !(selectedIds.includes(user[userIdKey]))))\">\r\n <span class=\"name\" [appTooltip]=\"user.employee_email\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">{{user.employee_name}}</span>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n <app-no-data *ngIf=\"userlist?.length === 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No Users Found'\"></app-no-data>\r\n </div>\r\n </ng-container> \r\n </ng-container>\r\n <ng-container *ngIf=\"currentTab === 'GROUP' && groupsEnabled\" >\r\n <ng-container *ngIf=\"(assigneeGroupsList | filter:search) as grouplist\">\r\n <div class=\"body-top\" *ngIf=\"grouplist?.length > 0 && search?.trim()?.length === 0\">\r\n <app-cs-checkbox [ngValue]=\"checkselectAllgroups()\" (ngValueChange)=\"selectAllGroups($event)\">\r\n <strong>\r\n {{checkselectAllgroups() ? 'Deselect All' : 'Select All'}}\r\n </strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <div class=\"list-block\" [class.with-pagination]=\"false\">\r\n <ul class=\"group-user-list\" *ngIf=\"grouplist?.length > 0\">\r\n <ng-container>\r\n <li *ngFor=\"let group of grouplist; let i = index\">\r\n <app-cs-checkbox [ngValue]=\"selectedGroupIds.includes(group[groupIdKey])\"\r\n (ngValueChange)=\"selectGroupElement(group,$event)\"\r\n [disabled]=\"(openedFrom === 'RISK_TREATMENT' && (group.member_ids.length) > 19 && !checkGroupList(group))\"\r\n (click)=\"validationCheck((openedFrom === 'RISK_TREATMENT' && (group.member_ids.length) > 19 && !checkGroupList(group)))\">\r\n <span class=\"name vx-d-flex vx-align-center vx-w-100\" >\r\n <span class=\"group-name\" [appTooltip]=\"group?.group_name\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">{{group?.group_name}}</span>\r\n <span class=\"counter\">{{group[\"member_count\"]}} {{group?.member_count > 1 ? 'USERS' :'USER'}}</span>\r\n </span>\r\n </app-cs-checkbox>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <app-no-data *ngIf=\"grouplist?.length === 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No Groups Found'\"></app-no-data>\r\n </div> \r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n <app-floating-bar [selectedData]=\"selectedUsers\" [selectedGroups]=\"selectedGroups\" [displayElementKey]=\"'employee_name'\" [elementId]=\"userIdKey\"\r\n [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\" (closeEvent)=\"save(selectedIds)\"\r\n (closeList)=\"close()\" (deleteEvent)=\"deleteEvent($event)\" (deleteGroupEvent)=\"deleteGroupEvent($event)\" [groupsEnabled]=\"groupsEnabled\"\r\n [isDisabled]=\"(groupsList?.length + usersList?.length) === 0 || selectedUsers?.length === 0 && selectedGroups?.length === 0\">\r\n </app-floating-bar>\r\n</div>",
|
|
15317
|
+
template: "<div class=\"add-risk-group-user-list\" [class.animate]=\"animation\">\r\n <div class=\"add-risk-group-user-list-head\">\r\n <h3 class=\"add-risk-group-user-list-title\">Select User(s)</h3>\r\n <!-- <button class=\"add-risk-group-user-list-close\" (click)=\"close()\">\r\n <i class=\"icons\"></i>\r\n </button> -->\r\n </div>\r\n <div class=\"add-risk-group-user-list-body\">\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"{{currentTab === 'USER' ? 'Search User(s)' :'Search User Group(s)'}} \" />\r\n </div>\r\n <div class=\"add-risk-group-user-list-tab vx-d-flex vx-align-center vx-mt-1 vx-mb-2\" *ngIf=\"groupsEnabled\">\r\n <button (click)=\"switchTab('USER')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'USER'\">USERS \r\n <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{ usersList?.length}}</span></button>\r\n <button (click)=\"switchTab('GROUP')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'GROUP'\">USER GROUPS \r\n <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{assigneeGroupsList?.length}}</span></button>\r\n </div>\r\n <ng-container *ngIf=\"!groupsEnabled\">\r\n <ng-container *ngIf=\"(usersList | filter:search) as userlist\">\r\n <ng-container *ngIf=\"(groupsList | filter:search) as grouplist\">\r\n <div class=\"body-top\" *ngIf=\"( userlist?.length > 0 || userlist?.length > 0 && grouplist?.length > 0) && search?.trim()?.length === 0\">\r\n <app-cs-checkbox\r\n *ngIf=\"(openedFrom === 'RISK_TREATMENT' && usersList?.length < 19) || openedFrom !== 'RISK_TREATMENT'\"\r\n [ngValue]=\"checkSelectAll()\" (ngValueChange)=\"selectAll($event)\">\r\n <strong>\r\n {{checkSelectAll() ? 'Deselect All' : 'Select All'}}\r\n </strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <div class=\"list-block\">\r\n \r\n <ul class=\"group-user-list\" *ngIf=\"grouplist?.length > 0\">\r\n <ng-container *ngFor=\"let group of grouplist\">\r\n <li *ngIf=\"!hideGroup(group.userIds)\">\r\n <app-cs-checkbox [ngValue]=\"checkGroupList(group.userIds) && group.userIds?.length !== 0\"\r\n (ngValueChange)=\"selectGroup(group.userIds,$event)\"\r\n [disabled]=\"openedFrom === 'RISK_TREATMENT' && (selectedUsers?.length + group.userIds?.length) > 19 && !checkGroupList(group.userIds) || group.userIds?.length === 0\"\r\n (click)=\"validationCheck((openedFrom === 'RISK_TREATMENT' && (selectedUsers?.length + group.userIds?.length) > 19 && !checkGroupList(group.userIds)))\">\r\n <span class=\"name\">{{group.groupName}}<span\r\n class=\"counter\">{{(group.userIds?.length>1)?\r\n group.userIds?.length+' USERS':group.userIds?.length+' USER' }}</span></span>\r\n </app-cs-checkbox>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <ul class=\"group-user-list\" *ngIf=\"userlist?.length > 0\">\r\n <li *ngFor=\"let user of userlist\" [appTooltip]=\"user | tooltipMessage:fromResponsibility:reviewerIds:overseerIds:assignorId:[]:'my_member_id':(openedFrom === 'RISK_TREATMENT' && selectedUsers?.length === 19 && !(selectedIds?.includes(user[userIdKey]))||(disabledId?.includes(user[userIdKey])))\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">\r\n <app-cs-checkbox [ngValue]=\"selectedIds?.includes(user[userIdKey])\"\r\n (ngValueChange)=\"selectUser(user[userIdKey],$event)\"\r\n [disabled]=\"(openedFrom === 'RISK_TREATMENT' && selectedUsers?.length === 19 && !(selectedIds?.includes(user[userIdKey]))||(disabledId?.includes(user[userIdKey])))\"\r\n (click)=\"validationCheck((openedFrom === 'RISK_TREATMENT' && selectedUsers?.length === 19 && !(selectedIds?.includes(user[userIdKey]))))\">\r\n <span class=\"name\">{{user.employee_name}}</span>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n <app-no-data *ngIf=\"userlist?.length === 0 && grouplist?.length === 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No Users Found'\"></app-no-data>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"currentTab === 'USER' && groupsEnabled\">\r\n <ng-container *ngIf=\"(usersList | filter:search) as userlist\">\r\n <div class=\"body-top\" *ngIf=\"( userlist?.length > 0) && search?.trim()?.length === 0\">\r\n <app-cs-checkbox\r\n *ngIf=\"(openedFrom === 'RISK_TREATMENT' && usersList?.length < 19) || openedFrom !== 'RISK_TREATMENT'\"\r\n [ngValue]=\"checkSelectAll()\" (ngValueChange)=\"selectAll($event)\">\r\n <strong>\r\n {{checkSelectAll() ? 'Deselect All' : 'Select All'}}\r\n </strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <!-- when pagination was show then with-pagination this class was true -->\r\n <div class=\"list-block\" [class.with-pagination]=\"false\">\r\n <ul class=\"group-user-list\" *ngIf=\"userlist?.length > 0\">\r\n <li *ngFor=\"let user of userlist\" [appTooltip]=\"user | tooltipMessage:fromResponsibility:reviewerIds:overseerIds:assignorId\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\" >\r\n <app-cs-checkbox [ngValue]=\"selectedIds?.includes(user[userIdKey])\"\r\n (ngValueChange)=\"selectUser(user[userIdKey],$event)\"\r\n [disabled]=\"((openedFrom === 'RISK_TREATMENT' && selectedUsers?.length === 19 && !(selectedIds?.includes(user[userIdKey])))||(disabledId?.includes(user[userIdKey])))\"\r\n (click)=\"validationCheck((openedFrom === 'RISK_TREATMENT' && selectedUsers?.length === 19 && !(selectedIds?.includes(user[userIdKey]))))\">\r\n <span class=\"name\">{{user.employee_name}}</span>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n <app-no-data *ngIf=\"userlist?.length === 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No Users Found'\"></app-no-data>\r\n </div>\r\n </ng-container> \r\n </ng-container>\r\n <ng-container *ngIf=\"currentTab === 'GROUP' && groupsEnabled\" >\r\n <ng-container *ngIf=\"(assigneeGroupsList | filter:search) as grouplist\">\r\n <div class=\"body-top\" *ngIf=\"grouplist?.length > 0 && search?.trim()?.length === 0\">\r\n <app-cs-checkbox [ngValue]=\"checkselectAllgroups()\" (ngValueChange)=\"selectAllGroups($event)\">\r\n <strong>\r\n {{checkselectAllgroups() ? 'Deselect All' : 'Select All'}}\r\n </strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <div class=\"list-block\" [class.with-pagination]=\"false\">\r\n <ul class=\"group-user-list\" *ngIf=\"grouplist?.length > 0\">\r\n <ng-container>\r\n <li *ngFor=\"let group of grouplist; let i = index\">\r\n <app-cs-checkbox [ngValue]=\"selectedGroupIds?.includes(group[groupIdKey])\"\r\n (ngValueChange)=\"selectGroupElement(group,$event)\"\r\n [disabled]=\"(openedFrom === 'RISK_TREATMENT' && (group.member_ids?.length) > 19 && !checkGroupList(group))\"\r\n (click)=\"validationCheck((openedFrom === 'RISK_TREATMENT' && (group.member_ids?.length) > 19 && !checkGroupList(group)))\">\r\n <span class=\"name vx-d-flex vx-align-center vx-w-100\" >\r\n <span class=\"group-name\" [appTooltip]=\"group?.group_name\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">{{group?.group_name}}</span>\r\n <span class=\"counter\">{{group[\"member_count\"]}} {{group?.member_count > 1 ? 'USERS' :'USER'}}</span>\r\n </span>\r\n </app-cs-checkbox>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <app-no-data *ngIf=\"grouplist?.length === 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No Groups Found'\"></app-no-data>\r\n </div> \r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n <app-floating-bar [selectedData]=\"selectedUsers\" [selectedGroups]=\"selectedGroups\" [displayElementKey]=\"'employee_name'\" [elementId]=\"userIdKey\"\r\n [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\" (closeEvent)=\"save(selectedIds)\"\r\n (closeList)=\"close()\" (deleteEvent)=\"deleteEvent($event)\" (deleteGroupEvent)=\"deleteGroupEvent($event)\" [groupsEnabled]=\"groupsEnabled\"\r\n [isDisabled]=\"(groupsList?.length + usersList?.length) === 0 || selectedUsers?.length === 0 && selectedGroups?.length === 0\">\r\n </app-floating-bar>\r\n</div>",
|
|
15220
15318
|
styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin.css\");@import url(\"https://cdn.v-comply.com/design-system/css/width/width.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\");::ng-deep .add-risk-group-user-list{border-top:3px solid #1e5dd3;position:fixed;top:0;right:500px;bottom:0;left:0}::ng-deep .add-risk-group-user-list-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border:1px solid #f1f1f1;border-right:none}::ng-deep .add-risk-group-user-list-title{color:#161b2f;font-size:15px;font-weight:500;margin:0!important;padding:0;line-height:21px}::ng-deep .add-risk-group-user-list-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .add-risk-group-user-list-tab{border-bottom:1px solid #f1f1f1}::ng-deep .add-risk-group-user-list-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.1875rem solid transparent;margin-right:2.5rem!important}::ng-deep .add-risk-group-user-list-tab button.tab-btn span{border-radius:1.25rem;color:#74757680;min-width:1.5rem}::ng-deep .add-risk-group-user-list-tab button.active{pointer-events:none}::ng-deep .add-risk-group-user-list-tab button.active.tab-btn{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .add-risk-group-user-list-tab button.active.tab-btn span{background:#1e5dd3;color:#fff;font-weight:500}::ng-deep .add-risk-group-user-list-body{padding:24px 40px 24px 36px;height:calc(100vh - 112px)}::ng-deep .add-risk-group-user-list-body.have-user{height:calc(100vh - 110px)}::ng-deep .add-risk-group-user-list-body .search-block{position:relative}::ng-deep .add-risk-group-user-list-body .search-block input{height:44px;line-height:24px;padding:10px 15px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}::ng-deep .add-risk-group-user-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .add-risk-group-user-list-body .search-block i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#f1f1f1}::ng-deep .add-risk-group-user-list-body app-pagination .wk-pagination-sec-ds{padding-top:0!important}::ng-deep .add-risk-group-user-list-body .body-top{display:flex;justify-content:space-between}::ng-deep .add-risk-group-user-list-body .body-top app-cs-checkbox{display:flex}::ng-deep .add-risk-group-user-list-body .body-top app-cs-checkbox label span.value strong{color:#161b2f;font-size:12px;font-weight:600;white-space:nowrap}::ng-deep .add-risk-group-user-list-body .body-top app-cs-checkbox label span.value span.name span.counter{background:#f1f1f1;border-radius:.125rem;color:#042e7d;font-size:9px;font-weight:600;line-height:12px;text-transform:uppercase;padding:0 4px;margin-left:8px}::ng-deep .add-risk-group-user-list-body .list-block{height:calc(100vh - 244px);overflow:hidden;overflow-y:auto}::ng-deep .add-risk-group-user-list-body .list-block::-webkit-scrollbar-track{background-color:transparent}::ng-deep .add-risk-group-user-list-body .list-block::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .add-risk-group-user-list-body .list-block::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .add-risk-group-user-list-body .list-block.with-pagination{height:calc(100vh - 280px)}::ng-deep .add-risk-group-user-list-body .list-block.full-height{max-height:calc(100vh - 180px)}::ng-deep .add-risk-group-user-list-body .list-block app-no-data{height:calc(100vh - 240px)}::ng-deep .add-risk-group-user-list-body ul{padding:0;margin:0}::ng-deep .add-risk-group-user-list-body ul.group-user-list{display:flex;align-items:flex-start;flex-wrap:wrap}::ng-deep .add-risk-group-user-list-body ul.group-user-list li{width:50%;padding:16px 0 0;list-style:none}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio{display:flex}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label{width:100%}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;flex-wrap:wrap}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.name,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.name{color:#161b2f;font-weight:400;line-height:20px;display:block;width:100%;font-size:12px}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.name .group-name,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.name .group-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 2.5rem)}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.position,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.position{border-radius:2px;display:inline-flex;height:12px;align-items:center;padding:0 2px;text-transform:uppercase;font-size:9px;line-height:12px;font-weight:500}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.position.admin,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.position.admin{background:#fff9e6;color:#f2bf19}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.position.key-admin,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.position.key-admin{background:#dff2e1;color:#34aa44}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.position.manager,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.position.manager{color:#4681ef;background:#d4e2fc}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.position.executive,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.position.executive{color:#747576;background:#f1f1f1}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox{display:flex}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-right:24px}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.name span.counter{background:#f1f1f1;border-radius:.125rem;color:#042e7d;font-size:9px;font-weight:600;line-height:12px;text-transform:uppercase;padding:0 4px;margin-left:8px}::ng-deep .add-risk-group-user-list-body app-no-data{display:block;height:calc(100% - 100px)}::ng-deep .add-risk-group-user-list.animate{-webkit-animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}@-webkit-keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}"]
|
|
15221
15319
|
},] }
|
|
15222
15320
|
];
|
|
@@ -15234,7 +15332,12 @@ GroupUsersListComponent.propDecorators = {
|
|
|
15234
15332
|
saveSelectedList: [{ type: Output }],
|
|
15235
15333
|
closeUsersList: [{ type: Output }],
|
|
15236
15334
|
selectedGroups: [{ type: Input }],
|
|
15237
|
-
assigneeGroupsList: [{ type: Input }]
|
|
15335
|
+
assigneeGroupsList: [{ type: Input }],
|
|
15336
|
+
disabledId: [{ type: Input }],
|
|
15337
|
+
fromResponsibility: [{ type: Input }],
|
|
15338
|
+
reviewerIds: [{ type: Input }],
|
|
15339
|
+
overseerIds: [{ type: Input }],
|
|
15340
|
+
assignorId: [{ type: Input }]
|
|
15238
15341
|
};
|
|
15239
15342
|
|
|
15240
15343
|
// import isEqual from 'lodash-es/isEqual';
|
|
@@ -15896,6 +15999,10 @@ class UserRadioListComponent {
|
|
|
15896
15999
|
this.itemEmailKey = '';
|
|
15897
16000
|
this.saveSelectedList = new EventEmitter();
|
|
15898
16001
|
this.closeUsersList = new EventEmitter();
|
|
16002
|
+
this.disabledId = [];
|
|
16003
|
+
this.reviewerIds = [];
|
|
16004
|
+
this.overseerIds = [];
|
|
16005
|
+
this.assignorId = [];
|
|
15899
16006
|
this.search = '';
|
|
15900
16007
|
this.selectedIds = [];
|
|
15901
16008
|
this.animation = false;
|
|
@@ -15926,8 +16033,8 @@ class UserRadioListComponent {
|
|
|
15926
16033
|
UserRadioListComponent.decorators = [
|
|
15927
16034
|
{ type: Component, args: [{
|
|
15928
16035
|
selector: 'app-users-radio-list',
|
|
15929
|
-
template: "<div class=\"add-risk-user-radio-list\" [class.animate]=\"animation\">\r\n <div class=\"add-risk-user-radio-list-head\">\r\n <h3 class=\"add-risk-user-radio-list-title\">Select User</h3>\r\n <!-- <button class=\"add-risk-user-radio-list-close\" (click)=\"close()\">\r\n <i class=\"icons\"></i>\r\n </button> -->\r\n </div>\r\n <div *ngIf=\"usersList
|
|
15930
|
-
styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::ng-deep .add-risk-user-radio-list{border-top:3px solid #1e5dd3;position:fixed;top:0;right:500px;bottom:0;left:0}::ng-deep .add-risk-user-radio-list-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border:1px solid #f1f1f1;border-right:none}::ng-deep .add-risk-user-radio-list-title{color:#161b2f;font-size:15px;font-weight:500;margin:0!important;padding:0;line-height:21px}::ng-deep .add-risk-user-radio-list-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .add-risk-user-radio-list-body{padding:24px 40px 24px 36px;height:calc(100vh - 112px)}::ng-deep .add-risk-user-radio-list-body.have-user{height:calc(100vh - 110px)}::ng-deep .add-risk-user-radio-list-body .search-block{position:relative}::ng-deep .add-risk-user-radio-list-body .search-block input{height:44px;line-height:24px;padding:10px 15px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}::ng-deep .add-risk-user-radio-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .add-risk-user-radio-list-body .search-block i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#f1f1f1}::ng-deep .add-risk-user-radio-list-body .body-top{display:flex;justify-content:space-between;padding:16px 0 0}::ng-deep .add-risk-user-radio-list-body .body-top app-cs-checkbox{display:flex}::ng-deep .add-risk-user-radio-list-body .body-top app-cs-checkbox label span.value strong{color:#161b2f;font-size:14px;font-weight:600;white-space:nowrap}::ng-deep .add-risk-user-radio-list-body ul{padding:0;margin:0}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list{display:flex;align-items:flex-start;flex-wrap:wrap;max-height:calc(100vh - 240px);overflow:auto;padding:16px 0 0}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list.full-height{max-height:calc(100vh - 180px)}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li{width:50%;padding:8px 0;list-style:none}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio{display:flex}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label{width:100%}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;flex-wrap:wrap}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value span.name,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value span.name{color:#161b2f;font-weight:400;line-height:20px;display:block;width:100%;font-size:13px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-right:24px}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value span.position,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value span.position{border-radius:2px;display:inline-flex;height:12px;align-items:center;padding:0 2px;text-transform:uppercase;font-size:9px;line-height:12px;font-weight:500}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value span.position.admin,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value span.position.admin{background:#fff9e6;color:#f2bf19}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value span.position.key-admin,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value span.position.key-admin{background:#dff2e1;color:#34aa44}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value span.position.manager,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value span.position.manager{color:#4681ef;background:#d4e2fc}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value span.position.executive,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value span.position.executive{color:#747576;background:#f1f1f1}::ng-deep .add-risk-user-radio-list-body app-no-data{display:block;height:calc(100% - 100px)}::ng-deep .add-risk-user-radio-list.animate{-webkit-animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}@-webkit-keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}"]
|
|
16036
|
+
template: "<div class=\"add-risk-user-radio-list\" [class.animate]=\"animation\">\r\n <div class=\"add-risk-user-radio-list-head\">\r\n <h3 class=\"add-risk-user-radio-list-title\">Select User</h3>\r\n <!-- <button class=\"add-risk-user-radio-list-close\" (click)=\"close()\">\r\n <i class=\"icons\"></i>\r\n </button> -->\r\n </div>\r\n <div *ngIf=\"usersList?.length > 0\" class=\"add-risk-user-radio-list-body\">\r\n <div class=\"search-block\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search User\" />\r\n </div>\r\n <ng-container *ngIf=\"(usersList | filter:search) as searchList\">\r\n <ul class=\"user-radio-list\" [class.full-height]=\"false\" *ngIf=\"searchList?.length >0 \">\r\n <li *ngFor=\"let user of usersList | filter:search\" [appTooltip]=\"user | tooltipMessage:fromResponsibility:reviewerIds:overseerIds:assignorId:[]:'my_member_id':disabledId?.includes(user[userIdKey])\" placement=\"bottom-left\" type=\"black\"\r\n delay=\"0\" [tooltipMandatory]=true >\r\n <app-cs-radio (checkedEvent)=\"selectUser(user)\" [name]=\"'category'\" [class.disabled]=\"(disabledId?.includes(user[userIdKey]))\"\r\n [checked]=\"selectedUser && (selectedUser[userIdKey]== user[userIdKey])\">\r\n <span class=\"name\" >\r\n {{user[itemNameKey] }}</span>\r\n </app-cs-radio>\r\n </li>\r\n </ul>\r\n <app-no-data *ngIf=\"searchList?.length === 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No Users Found'\"></app-no-data>\r\n\r\n </ng-container>\r\n </div>\r\n <div class=\"add-risk-user-radio-list-body\" *ngIf=\"usersList?.length === 0\">\r\n <app-no-data \r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No Users Found'\"></app-no-data>\r\n </div>\r\n \r\n <app-floating-bar [selectedData]=\"selectedUser ? [selectedUser]:[]\" [displayElementKey]=\"itemNameKey\"\r\n [elementId]=\"userIdKey\" [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\" (closeEvent)=\"save()\"\r\n (closeList)=\"close()\" (deleteEvent)=\"deleteEvent($event)\"\r\n [isDisabled]=\"usersList?.length === 0 || (selectedUser ? [selectedUser]:[])?.length === 0\">\r\n </app-floating-bar>\r\n\r\n\r\n</div>",
|
|
16037
|
+
styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::ng-deep .add-risk-user-radio-list{border-top:3px solid #1e5dd3;position:fixed;top:0;right:500px;bottom:0;left:0}::ng-deep .add-risk-user-radio-list-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border:1px solid #f1f1f1;border-right:none}::ng-deep .add-risk-user-radio-list-title{color:#161b2f;font-size:15px;font-weight:500;margin:0!important;padding:0;line-height:21px}::ng-deep .add-risk-user-radio-list-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .add-risk-user-radio-list-body{padding:24px 40px 24px 36px;height:calc(100vh - 112px)}::ng-deep .add-risk-user-radio-list-body.have-user{height:calc(100vh - 110px)}::ng-deep .add-risk-user-radio-list-body .search-block{position:relative}::ng-deep .add-risk-user-radio-list-body .search-block input{height:44px;line-height:24px;padding:10px 15px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}::ng-deep .add-risk-user-radio-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .add-risk-user-radio-list-body .search-block i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#f1f1f1}::ng-deep .add-risk-user-radio-list-body .body-top{display:flex;justify-content:space-between;padding:16px 0 0}::ng-deep .add-risk-user-radio-list-body .body-top app-cs-checkbox{display:flex}::ng-deep .add-risk-user-radio-list-body .body-top app-cs-checkbox label span.value strong{color:#161b2f;font-size:14px;font-weight:600;white-space:nowrap}::ng-deep .add-risk-user-radio-list-body ul{padding:0;margin:0}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list{display:flex;align-items:flex-start;flex-wrap:wrap;max-height:calc(100vh - 240px);overflow:auto;padding:16px 0 0}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list.full-height{max-height:calc(100vh - 180px)}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li{width:50%;padding:8px 0;list-style:none}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio{display:flex}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label{width:100%}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;flex-wrap:wrap}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value span.name,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value span.name{color:#161b2f;font-weight:400;line-height:20px;display:block;width:100%;font-size:13px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-right:24px}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value span.position,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value span.position{border-radius:2px;display:inline-flex;height:12px;align-items:center;padding:0 2px;text-transform:uppercase;font-size:9px;line-height:12px;font-weight:500}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value span.position.admin,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value span.position.admin{background:#fff9e6;color:#f2bf19}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value span.position.key-admin,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value span.position.key-admin{background:#dff2e1;color:#34aa44}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value span.position.manager,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value span.position.manager{color:#4681ef;background:#d4e2fc}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value span.position.executive,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value span.position.executive{color:#747576;background:#f1f1f1}::ng-deep .add-risk-user-radio-list-body app-no-data{display:block;height:calc(100% - 100px)}::ng-deep .add-risk-user-radio-list.animate{-webkit-animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .add-risk-user-radio-list app-cs-radio.disabled{pointer-events:none;opacity:.4}@-webkit-keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}"]
|
|
15931
16038
|
},] }
|
|
15932
16039
|
];
|
|
15933
16040
|
UserRadioListComponent.ctorParameters = () => [];
|
|
@@ -15938,7 +16045,12 @@ UserRadioListComponent.propDecorators = {
|
|
|
15938
16045
|
itemNameKey: [{ type: Input }],
|
|
15939
16046
|
itemEmailKey: [{ type: Input }],
|
|
15940
16047
|
saveSelectedList: [{ type: Output }],
|
|
15941
|
-
closeUsersList: [{ type: Output }]
|
|
16048
|
+
closeUsersList: [{ type: Output }],
|
|
16049
|
+
disabledId: [{ type: Input }],
|
|
16050
|
+
fromResponsibility: [{ type: Input }],
|
|
16051
|
+
reviewerIds: [{ type: Input }],
|
|
16052
|
+
overseerIds: [{ type: Input }],
|
|
16053
|
+
assignorId: [{ type: Input }]
|
|
15942
16054
|
};
|
|
15943
16055
|
|
|
15944
16056
|
class DataTypePipe {
|
|
@@ -27083,7 +27195,12 @@ class UserGroupListComponent {
|
|
|
27083
27195
|
this.searchKey = '';
|
|
27084
27196
|
this.usersList = [];
|
|
27085
27197
|
this.groupsList = [];
|
|
27198
|
+
this.assignorId = [];
|
|
27199
|
+
this.assigneeIds = [];
|
|
27200
|
+
this.reviewerIds = [];
|
|
27201
|
+
this.overseerIds = [];
|
|
27086
27202
|
this.fetchUserData = new EventEmitter();
|
|
27203
|
+
this.disabledIds = [];
|
|
27087
27204
|
this.nonRemovableUserIds = [];
|
|
27088
27205
|
this.selectedUsers = [];
|
|
27089
27206
|
this.selectedUserIds = [];
|
|
@@ -27264,6 +27381,8 @@ class UserGroupListComponent {
|
|
|
27264
27381
|
this.allGroupSelectedStatus();
|
|
27265
27382
|
}
|
|
27266
27383
|
ngOnInit() {
|
|
27384
|
+
let disabledIds = [...this.disabledIds, ...this.nonRemovableUserIds];
|
|
27385
|
+
this.disabledIds = [...new Set(disabledIds)];
|
|
27267
27386
|
this.paginationVisible();
|
|
27268
27387
|
this.animation = true;
|
|
27269
27388
|
setTimeout(() => {
|
|
@@ -27333,7 +27452,7 @@ class UserGroupListComponent {
|
|
|
27333
27452
|
UserGroupListComponent.decorators = [
|
|
27334
27453
|
{ type: Component, args: [{
|
|
27335
27454
|
selector: 'user-group-list',
|
|
27336
|
-
template: "<div class=\"user-group-list\" [class.animate]=\"animation\">\r\n <div class=\"user-group-list-head\">\r\n <h3 class=\"user-group-list-title\">{{panelTitle}}</h3>\r\n </div>\r\n <div class=\"user-group-list-body\">\r\n <app-loader-inline *ngIf=\"loading\"></app-loader-inline>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input *ngIf=\"!featureflag\" [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search Group'}}\" />\r\n <input *ngIf=\"featureflag\" [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search User Group'}}\" />\r\n </div>\r\n\r\n <div class=\"user-group-list-tab vx-d-flex vx-align-center vx-mb-2\" *ngIf=\"groupEnabled\">\r\n <button (click)=\"switchTab('USER')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'USER'\">USERS\r\n <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{userListInfo?.total_items || usersList?.length}}</span></button>\r\n <button (click)=\"switchTab('GROUP')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'GROUP'\">{{featureflag ? 'USER GROUPS':'GROUPS'}} <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{groupListInfo?.total_items || groupsList?.length}}</span></button>\r\n </div>\r\n\r\n\r\n\r\n <ng-container *ngIf=\"currentTab === 'USER'\">\r\n <ng-container *ngIf=\"(usersList|filter:searchKey) as users\">\r\n <vui-pagination *ngIf=\"userListInfo?.total_pages > 1 && usersList?.length !== userListInfo?.total_items\" [currentPage]=\"userCurrentPage\" [totalPage]=\"userListInfo?.total_pages\" (pageChanged)=\"userPageChange($event)\"></vui-pagination>\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"users?.length > 0;else nouser\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox *ngIf=\"!singleSelect\" #user [checked]=\"allUserSelected\" [disabled]=\"allUserSelectedDisabled\" (change)=\"selectAllUser($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!user?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <li class=\"vx-mb-4\" *ngFor=\"let user of users \">\r\n <vui-checkbox *ngIf=\"!singleSelect\" (change)=\"selectItem($event,user)\" [disabled]=\"nonRemovableUserIds?.includes(user?.member_id)\" [checked]=\"selectedUserIds.includes(user?.member_id)\"><div class=\"user-name\" [appTooltip]=\"user?.member_email ? user?.member_email : user?.employee_email\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{user?.member_name}}</div></vui-checkbox>\r\n <app-cs-radio *ngIf=\"singleSelect\" [name]=\"'radio-selector'\" (checkedEvent)=\"selectItemRadio($event,user)\"\r\n [name]=\"'rx-category'\" [checked]=\"selectedUserIds.includes(user?.member_id)\"\r\n [appTooltip]=\"user?.member_email\" placement=\"bottom-left\"\r\n delay=\"0\" [tooltipMandatory]=\"true\">\r\n {{user?.member_name}}\r\n </app-cs-radio>\r\n </li>\r\n\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nouser>\r\n <app-no-data [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No Users found.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentTab === 'GROUP'\">\r\n <ng-container *ngIf=\"(groupsList|search:searchKey:'group_name') as groups\">\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"groups?.length > 0; else nogroup\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox #group [checked]=\"allGroupSelected\" [disabled]=\"allGroupSelectedDisabled\" (change)=\"selectAllGroup($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!group?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <li class=\"vx-mb-4\" *ngFor=\"let group of groups\">\r\n <vui-checkbox (change)=\"selectGroup($event,group)\" [disabled]=\"nonRemovableGroupIds?.includes(group?.group_id)\" [checked]=\"selectedGroupIds.includes(group?.group_id)\">\r\n <div class=\"user-name vx-d-flex vx-align-center vx-w-100\" [appTooltip]=\"group?.group_name\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">\r\n <div class=\"group-name\">{{group?.group_name}} </div>\r\n <span class=\"counter vx-fs-9 vx-fw-600 vx-pl-1 vx-pr-1 vx-lh-3 vx-tt-uppercase\">{{group?.member_count}} {{group?.member_count > 1 ? 'USERS' :'USER'}}</span></div>\r\n </vui-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nogroup>\r\n <app-no-data [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No data to display.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n <div class=\"user-group-list-footer\">\r\n <vui-floating-bar *ngIf=\"(!singleSelect || (!singleSelect && selectedReviewer))\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\" (workflowTypeChanged) = \"workflowTypeChanged($event)\" [selectedWorkflow]=\"reviewerWorkflowType\" [showWorkflow]=\"selectedReviewer\" [groupSelected]=\"selectedGroups\" [mode]=\"mode\">\r\n <ng-container *ngIf=\"!groupEnabled\">\r\n <div class=\"chip\" *ngFor=\"let element of selectedUsers?.slice(0,1);let i = index\"><i *ngIf=\"!nonRemovableUserIds.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\" class=\"icons\"></i> <span>{{element?.member_name}}</span></div>\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length>1\" appPopover (click)=\"groupDisable.popover()\"\r\n placement=\"left\">+{{selectedUsers?.slice(1).length}}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"groupEnabled\">\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length\" appPopover (click)=\"userCount.popover()\"\r\n placement=\"left\">{{selectedUsers?.length}}</div>\r\n </ng-container>\r\n <div class=\"name\">\r\n <span *ngIf=\"selectedUsers?.length === 1\">User {{selectedGroups?.length > 0 ?' & ':'selected'}}</span>\r\n <span *ngIf=\"selectedUsers?.length > 1\">Users {{selectedGroups?.length > 0 ?' & ':'are selected'}}</span>\r\n </div>\r\n\r\n <div class=\"counter group\" *ngIf=\"selectedGroups?.length\" appPopover (click)=\"groupCount.popover()\"\r\n placement=\"left\">{{selectedGroups?.length}}</div>\r\n <div class=\"name\" >\r\n <span *ngIf=\"selectedGroups?.length === 1\">{{featureflag ?'User Group selected':'Group selected'}}</span>\r\n <span *ngIf=\"selectedGroups?.length > 1\">{{featureflag ?'User Groups selected':'Groups selected'}}</span>\r\n </div>\r\n\r\n <app-popover #userCount [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\"></i>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n <app-popover #groupDisable [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers.slice(1) let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\"></i>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n <app-popover #groupCount [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedGroups; let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableGroupIds.includes(element?.group_id)\"\r\n (click)=\"selectGroup({target:{checked:false}},element)\"></i>\r\n {{element?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </vui-floating-bar>\r\n <vui-floating-bar *ngIf=\"singleSelect\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\">\r\n <div class=\"chip\" *ngIf=\"selectedUsers?.length\" >\r\n <ng-container>\r\n <i class=\"icons\" (click)=\"selectItem({target:{checked:false}},selectedUsers[0])\"></i>\r\n <span class=\"value\"> {{selectedUsers[0]?.member_name}}</span>\r\n </ng-container>\r\n </div>\r\n </vui-floating-bar>\r\n </div>\r\n\r\n <div class=\"user-group-list-confirmation\" *ngIf=\"showConfirmation\">\r\n <div class=\"confirmation-top\">\r\n <div class=\"icon-block\"><i class=\"icons\"></i></div>\r\n <div class=\"text\">This action will reset the default {{userType}} selected for the Program.</div>\r\n </div>\r\n <div class=\"confirmation-bottom\">\r\n <div class=\"message\">Are you sure you would like to proceed?</div>\r\n <div class=\"button-group\">\r\n <button class=\"no-btn\" (click)=\"confirmAction('NO')\">NO</button>\r\n <button class=\"yes-btn\" (click)=\"confirmAction('YES')\">YES</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n",
|
|
27455
|
+
template: "<div class=\"user-group-list\" [class.animate]=\"animation\">\r\n <div class=\"user-group-list-head\">\r\n <h3 class=\"user-group-list-title\">{{panelTitle}}</h3>\r\n </div>\r\n <div class=\"user-group-list-body\">\r\n <app-loader-inline *ngIf=\"loading\"></app-loader-inline>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input *ngIf=\"!featureflag\" [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search Group'}}\" />\r\n <input *ngIf=\"featureflag\" [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search User Group'}}\" />\r\n </div>\r\n\r\n <div class=\"user-group-list-tab vx-d-flex vx-align-center vx-mb-2\" *ngIf=\"groupEnabled\">\r\n <button (click)=\"switchTab('USER')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'USER'\">USERS\r\n <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{userListInfo?.total_items || usersList?.length}}</span></button>\r\n <button (click)=\"switchTab('GROUP')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'GROUP'\">{{featureflag ? 'USER GROUPS':'GROUPS'}} <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{groupListInfo?.total_items || groupsList?.length}}</span></button>\r\n </div>\r\n\r\n\r\n\r\n <ng-container *ngIf=\"currentTab === 'USER'\">\r\n <ng-container *ngIf=\"(usersList|filter:searchKey) as users\">\r\n <vui-pagination *ngIf=\"userListInfo?.total_pages > 1 && usersList?.length !== userListInfo?.total_items\" [currentPage]=\"userCurrentPage\" [totalPage]=\"userListInfo?.total_pages\" (pageChanged)=\"userPageChange($event)\"></vui-pagination>\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"users?.length > 0;else nouser\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox *ngIf=\"!singleSelect\" #user [checked]=\"allUserSelected\" [disabled]=\"allUserSelectedDisabled\" (change)=\"selectAllUser($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!user?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <ng-container *ngFor=\"let user of users \" >\r\n <li class=\"vx-mb-4\" *ngIf=\"!singleSelect\" [appTooltip]=\"user |tooltipMessage: fromResponsibility:reviewerIds:overseerIds:assignorId:assigneeIds:'member_id':disabledIds?.includes(user?.member_id)\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <vui-checkbox (change)=\"selectItem($event,user)\" [disabled]=\"disabledIds?.includes(user?.member_id)\" [checked]=\"selectedUserIds?.includes(user?.member_id)\"><div class=\"user-name\" >{{user?.member_name}}</div></vui-checkbox>\r\n </li>\r\n <li class=\"vx-mb-4\" *ngIf=\"singleSelect\">\r\n <app-cs-radio [name]=\"'radio-selector'\" (checkedEvent)=\"selectItemRadio($event,user)\"\r\n [name]=\"'rx-category'\" [checked]=\"selectedUserIds?.includes(user?.member_id)\"\r\n [appTooltip]=\"user?.member_email\" placement=\"bottom-left\"\r\n delay=\"0\" [tooltipMandatory]=\"true\">\r\n {{user?.member_name}}\r\n </app-cs-radio>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nouser>\r\n <app-no-data [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No Users found.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentTab === 'GROUP'\">\r\n <ng-container *ngIf=\"(groupsList|search:searchKey:'group_name') as groups\">\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"groups?.length > 0; else nogroup\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox #group [checked]=\"allGroupSelected\" [disabled]=\"allGroupSelectedDisabled\" (change)=\"selectAllGroup($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!group?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <li class=\"vx-mb-4\" *ngFor=\"let group of groups\">\r\n <vui-checkbox (change)=\"selectGroup($event,group)\" [disabled]=\"nonRemovableGroupIds?.includes(group?.group_id)\" [checked]=\"selectedGroupIds?.includes(group?.group_id)\">\r\n <div class=\"user-name vx-d-flex vx-align-center vx-w-100\" [appTooltip]=\"group?.group_name\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">\r\n <div class=\"group-name\">{{group?.group_name}} </div>\r\n <span class=\"counter vx-fs-9 vx-fw-600 vx-pl-1 vx-pr-1 vx-lh-3 vx-tt-uppercase\">{{group?.member_count}} {{group?.member_count > 1 ? 'USERS' :'USER'}}</span></div>\r\n </vui-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nogroup>\r\n <app-no-data [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No data to display.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n <div class=\"user-group-list-footer\">\r\n <vui-floating-bar *ngIf=\"(!singleSelect || (!singleSelect && selectedReviewer))\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\" (workflowTypeChanged) = \"workflowTypeChanged($event)\" [selectedWorkflow]=\"reviewerWorkflowType\" [showWorkflow]=\"selectedReviewer\" [groupSelected]=\"selectedGroups\" [mode]=\"mode\">\r\n <ng-container *ngIf=\"!groupEnabled\">\r\n <div class=\"chip\" *ngFor=\"let element of selectedUsers?.slice(0,1);let i = index\"><i *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\" class=\"icons\"></i> <span>{{element?.member_name}}</span></div>\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length>1\" appPopover (click)=\"groupDisable.popover()\"\r\n placement=\"left\">+{{selectedUsers?.slice(1)?.length}}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"groupEnabled\">\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length\" appPopover (click)=\"userCount.popover()\"\r\n placement=\"left\">{{selectedUsers?.length}}</div>\r\n </ng-container>\r\n <div class=\"name\">\r\n <span *ngIf=\"selectedUsers?.length === 1\">User {{selectedGroups?.length > 0 ?' & ':'selected'}}</span>\r\n <span *ngIf=\"selectedUsers?.length > 1\">Users {{selectedGroups?.length > 0 ?' & ':'are selected'}}</span>\r\n </div>\r\n\r\n <div class=\"counter group\" *ngIf=\"selectedGroups?.length\" appPopover (click)=\"groupCount.popover()\"\r\n placement=\"left\">{{selectedGroups?.length}}</div>\r\n <div class=\"name\" >\r\n <span *ngIf=\"selectedGroups?.length === 1\">{{featureflag ?'User Group selected':'Group selected'}}</span>\r\n <span *ngIf=\"selectedGroups?.length > 1\">{{featureflag ?'User Groups selected':'Groups selected'}}</span>\r\n </div>\r\n\r\n <app-popover #userCount [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\"></i>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n <app-popover #groupDisable [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers.slice(1) let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\"></i>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n <app-popover #groupCount [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedGroups; let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableGroupIds?.includes(element?.group_id)\"\r\n (click)=\"selectGroup({target:{checked:false}},element)\"></i>\r\n {{element?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </vui-floating-bar>\r\n <vui-floating-bar *ngIf=\"singleSelect\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\">\r\n <div class=\"chip\" *ngIf=\"selectedUsers?.length\" >\r\n <ng-container>\r\n <i class=\"icons\" (click)=\"selectItem({target:{checked:false}},selectedUsers[0])\"></i>\r\n <span class=\"value\"> {{selectedUsers[0]?.member_name}}</span>\r\n </ng-container>\r\n </div>\r\n </vui-floating-bar>\r\n </div>\r\n\r\n <div class=\"user-group-list-confirmation\" *ngIf=\"showConfirmation\">\r\n <div class=\"confirmation-top\">\r\n <div class=\"icon-block\"><i class=\"icons\"></i></div>\r\n <div class=\"text\">This action will reset the default {{userType}} selected for the Program.</div>\r\n </div>\r\n <div class=\"confirmation-bottom\">\r\n <div class=\"message\">Are you sure you would like to proceed?</div>\r\n <div class=\"button-group\">\r\n <button class=\"no-btn\" (click)=\"confirmAction('NO')\">NO</button>\r\n <button class=\"yes-btn\" (click)=\"confirmAction('YES')\">YES</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n",
|
|
27337
27456
|
styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");@import url(\"https://cdn.v-comply.com/design-system/css/text/text.css\");@import url(\"https://cdn.v-comply.com/design-system/css/width/width.css\");@import url(\"https://cdn.v-comply.com/design-system/css/color/color.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\");::ng-deep .user-group-list{background:#fff;position:fixed;top:0;right:500px;bottom:0;left:0;border-top:3px solid #1e5dd3}::ng-deep .user-group-list.animate{-webkit-animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .user-group-list-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border:1px solid #f1f1f1;border-right:none}::ng-deep .user-group-list-title{color:#161b2f;font-size:15px;font-weight:500;margin:0!important;padding:0;line-height:21px}::ng-deep .user-group-list-body{padding:24px 40px 24px 36px;height:calc(100vh - 124px)}::ng-deep .user-group-list-body .search-block{position:relative}::ng-deep .user-group-list-body .search-block input{height:44px;line-height:24px;padding:10px 16px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}::ng-deep .user-group-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .user-group-list-body .search-block i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#f1f1f1}::ng-deep .user-group-list-mid{width:calc(100% + .75rem);height:calc(100vh - 13.5rem);overflow:auto;padding-right:.75rem}::ng-deep .user-group-list-mid::-webkit-scrollbar-track{background-color:#fff}::ng-deep .user-group-list-mid.with-pagination{height:calc(100vh - 17.5rem)}::ng-deep .user-group-list-mid .selected-owners{border-bottom:1px solid #dbdbdb}::ng-deep .user-group-list-mid .user-list-select{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item,::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item{position:relative;padding-left:1.5rem;width:100%}::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item .checkbox,::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item .checkbox{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item .checkmark,::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item .checkmark{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item span,::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item span{justify-content:unset!important;margin:0!important}::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item span.value,::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item span.value{color:#747576!important;font-size:11px!important;font-weight:600!important;text-transform:uppercase!important;width:100%}::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item span.value .user-name,::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item span.value .user-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .user-group-list-mid .user-list-item ul{list-style-type:none;align-items:flex-start;flex-wrap:wrap}::ng-deep .user-group-list-mid .user-list-item ul li{width:50%}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox{width:calc(100% - 4.5rem)}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item{position:relative;padding-left:1.5rem;width:100%}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item .checkbox{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item .checkmark{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span{justify-content:unset!important;margin:0!important}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value{color:#747576!important;font-size:12px!important;width:100%}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value .user-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value .user-name .group-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 2.5rem)}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value .counter{background:#f1f1f1;border-radius:.125rem;color:#042e7d;margin-left:.5rem!important}::ng-deep .user-group-list-tab{border-bottom:1px solid #f1f1f1}::ng-deep .user-group-list-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.1875rem solid transparent;margin-right:2.5rem!important}::ng-deep .user-group-list-tab button.tab-btn span{border-radius:1.25rem;color:#74757680;min-width:1.5rem}::ng-deep .user-group-list-tab button.active{pointer-events:none}::ng-deep .user-group-list-tab button.active.tab-btn{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .user-group-list-tab button.active.tab-btn span{background:#1e5dd3;color:#fff;font-weight:500}::ng-deep .user-group-list-confirmation{background:#161b2f;border-radius:.25rem;position:absolute;left:1rem;right:1rem;bottom:1.75rem;z-index:1}::ng-deep .user-group-list-confirmation .confirmation-top{display:flex;align-items:center;justify-content:flex-start;padding:1.25rem}::ng-deep .user-group-list-confirmation .confirmation-top .icon-block{height:2.25rem;width:2.25rem;border-radius:50%;background:#fff;border:1px solid #dbdbdb;display:flex;justify-content:center;align-items:center;margin-right:1rem}::ng-deep .user-group-list-confirmation .confirmation-top .icon-block i{color:#eb2424;font-size:12px}::ng-deep .user-group-list-confirmation .confirmation-top .text{color:#fff;font-size:14px;font-weight:300}::ng-deep .user-group-list-confirmation .confirmation-bottom{background:#282e48;border-radius:0 0 .25rem .25rem;padding:.75rem .75rem .75rem 1.25rem;display:flex;align-items:center;justify-content:space-between}::ng-deep .user-group-list-confirmation .confirmation-bottom .message{font-size:14px;font-weight:500;line-height:20px;color:#fff}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group{display:flex}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group button{height:1.5rem;width:4rem;border:1px solid #fff;border-radius:.125rem;display:flex;align-items:center;justify-content:center;line-height:22px;cursor:pointer;font-size:11px;text-transform:uppercase;font-weight:500;padding:0}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group button.no-btn{background:transparent;color:#fff}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group button.yes-btn{background:#fff;color:#1e5dd3;margin-left:.25rem}.group{background:#1e5dd3!important;border-color:#1e5dd3!important}.action-list{width:220px}.action-list ul{padding:0;margin:0;-webkit-animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.action-list ul.action-item{display:block}.action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}.action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}.action-list ul.action-item li button .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 16px)}.action-list ul.action-item li button i{font-size:17px;margin-right:10px;color:#1c5bd1}.action-list ul.action-item li button:hover{background:#f3f3f3}.action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.action-list ul.action-item li .avatar-card.within-con{display:block}.action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;min-width:24px!important;overflow:hidden;background:#4681ef;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}.action-list ul.action-item li .avatar-card .avatar img{background:#fff;width:100%;height:100%}.action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;-moz-text-align-last:left;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#1c5bd1;cursor:pointer;margin-right:5px}.action-list ul.action-item li .avatar-card.no-image{display:block}.action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.action-list ul.action-item li .avatar-card i.delete-icon{color:#d93b41;cursor:pointer;font-size:14px}.action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.action-list ul.action-item li .chip-item i{margin-left:7px;font-size:10px;cursor:pointer;display:inline-flex}.action-list ul.action-item li .chip-item span{display:block;width:auto;width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.action-list ul.action-item li .chip-item span.id{font-size:9px}.action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}.action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}.action-list ul.action-item li:first-child{-webkit-animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(2){-webkit-animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(3){-webkit-animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(4){-webkit-animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(5){-webkit-animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(6){-webkit-animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(7){-webkit-animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(8){-webkit-animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(9){-webkit-animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(10){-webkit-animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@-webkit-keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}"]
|
|
27338
27457
|
},] }
|
|
27339
27458
|
];
|
|
@@ -27350,9 +27469,15 @@ UserGroupListComponent.propDecorators = {
|
|
|
27350
27469
|
reviewerWorkflowTypeChange: [{ type: Output }],
|
|
27351
27470
|
mode: [{ type: Input }],
|
|
27352
27471
|
fieldType: [{ type: Input }],
|
|
27472
|
+
fromResponsibility: [{ type: Input }],
|
|
27473
|
+
assignorId: [{ type: Input }],
|
|
27474
|
+
assigneeIds: [{ type: Input }],
|
|
27475
|
+
reviewerIds: [{ type: Input }],
|
|
27476
|
+
overseerIds: [{ type: Input }],
|
|
27353
27477
|
userListInfo: [{ type: Input }],
|
|
27354
27478
|
groupListInfo: [{ type: Input }],
|
|
27355
27479
|
fetchUserData: [{ type: Output }],
|
|
27480
|
+
disabledIds: [{ type: Input }],
|
|
27356
27481
|
nonRemovableUserIds: [{ type: Input }],
|
|
27357
27482
|
nonRemovableGroupIds: [{ type: Input }],
|
|
27358
27483
|
loading: [{ type: Input }],
|
|
@@ -28364,6 +28489,68 @@ FilterPipe.decorators = [
|
|
|
28364
28489
|
},] }
|
|
28365
28490
|
];
|
|
28366
28491
|
|
|
28492
|
+
class TooltipMessagePipe {
|
|
28493
|
+
transform(value, ...args) {
|
|
28494
|
+
let responsibilityType = args[0];
|
|
28495
|
+
let currentUser = value;
|
|
28496
|
+
let reviewerIds = args[1];
|
|
28497
|
+
let overseerIds = args[2];
|
|
28498
|
+
let assignorId = args[3] ? args[3] : [];
|
|
28499
|
+
let assigneeIds = args[4] ? args[4] : [];
|
|
28500
|
+
let member_id = args[5] ? args[5] : 'member_id';
|
|
28501
|
+
let isDisabled = args[6] ? args[6] : false;
|
|
28502
|
+
switch (responsibilityType) {
|
|
28503
|
+
case "Assignee":
|
|
28504
|
+
if ((reviewerIds === null || reviewerIds === void 0 ? void 0 : reviewerIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) && !(assignorId === null || assignorId === void 0 ? void 0 : assignorId.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id]))) {
|
|
28505
|
+
return "This user is already selected as the reviewer for this responsibility";
|
|
28506
|
+
}
|
|
28507
|
+
else if ((assignorId === null || assignorId === void 0 ? void 0 : assignorId.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) && (reviewerIds === null || reviewerIds === void 0 ? void 0 : reviewerIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id]))) {
|
|
28508
|
+
return "This user is already selected as the assignor and reviewer for this responsibility";
|
|
28509
|
+
}
|
|
28510
|
+
if (overseerIds === null || overseerIds === void 0 ? void 0 : overseerIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) {
|
|
28511
|
+
return "This user is already selected as the overseer for this responsibility";
|
|
28512
|
+
}
|
|
28513
|
+
return currentUser === null || currentUser === void 0 ? void 0 : currentUser.employee_email;
|
|
28514
|
+
case "Reviewer":
|
|
28515
|
+
if ((assigneeIds === null || assigneeIds === void 0 ? void 0 : assigneeIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) && !(assignorId === null || assignorId === void 0 ? void 0 : assignorId.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id]))) {
|
|
28516
|
+
return "This user is already selected as the assignee for this responsibility";
|
|
28517
|
+
}
|
|
28518
|
+
else if ((assignorId === null || assignorId === void 0 ? void 0 : assignorId.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) && (assigneeIds === null || assigneeIds === void 0 ? void 0 : assigneeIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id]))) {
|
|
28519
|
+
return "This user is already selected as the assignor and assignee for this responsibility";
|
|
28520
|
+
}
|
|
28521
|
+
if (overseerIds === null || overseerIds === void 0 ? void 0 : overseerIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) {
|
|
28522
|
+
return "This user is already selected as the overseer for this responsibility";
|
|
28523
|
+
}
|
|
28524
|
+
return (currentUser === null || currentUser === void 0 ? void 0 : currentUser.member_email) ? currentUser === null || currentUser === void 0 ? void 0 : currentUser.member_email : currentUser === null || currentUser === void 0 ? void 0 : currentUser.employee_email;
|
|
28525
|
+
case "Overseer":
|
|
28526
|
+
if ((assigneeIds === null || assigneeIds === void 0 ? void 0 : assigneeIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) && !(assignorId === null || assignorId === void 0 ? void 0 : assignorId.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id]))) {
|
|
28527
|
+
return "This user is already selected as the assignee for this responsibility";
|
|
28528
|
+
}
|
|
28529
|
+
else if ((assignorId === null || assignorId === void 0 ? void 0 : assignorId.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) && (assigneeIds === null || assigneeIds === void 0 ? void 0 : assigneeIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id]))) {
|
|
28530
|
+
return "This user is already selected as the assignor and assignee for this responsibility";
|
|
28531
|
+
}
|
|
28532
|
+
if ((reviewerIds === null || reviewerIds === void 0 ? void 0 : reviewerIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) && !(assignorId === null || assignorId === void 0 ? void 0 : assignorId.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id]))) {
|
|
28533
|
+
return "This user is already selected as the reviewer for this responsibility";
|
|
28534
|
+
}
|
|
28535
|
+
else if ((assignorId === null || assignorId === void 0 ? void 0 : assignorId.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) && (reviewerIds === null || reviewerIds === void 0 ? void 0 : reviewerIds.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id]))) {
|
|
28536
|
+
return "This user is already selected as the assignor and reviewer for this responsibility";
|
|
28537
|
+
}
|
|
28538
|
+
if (assignorId === null || assignorId === void 0 ? void 0 : assignorId.includes(currentUser === null || currentUser === void 0 ? void 0 : currentUser[member_id])) {
|
|
28539
|
+
return "This user is already selected as the assignor for this responsibility";
|
|
28540
|
+
}
|
|
28541
|
+
return (currentUser === null || currentUser === void 0 ? void 0 : currentUser.member_email) ? currentUser === null || currentUser === void 0 ? void 0 : currentUser.member_email : currentUser === null || currentUser === void 0 ? void 0 : currentUser.employee_email;
|
|
28542
|
+
default:
|
|
28543
|
+
return isDisabled ? "" : (currentUser === null || currentUser === void 0 ? void 0 : currentUser.member_email) ? currentUser === null || currentUser === void 0 ? void 0 : currentUser.member_email : currentUser === null || currentUser === void 0 ? void 0 : currentUser.employee_email;
|
|
28544
|
+
}
|
|
28545
|
+
return "";
|
|
28546
|
+
}
|
|
28547
|
+
}
|
|
28548
|
+
TooltipMessagePipe.decorators = [
|
|
28549
|
+
{ type: Pipe, args: [{
|
|
28550
|
+
name: 'tooltipMessage'
|
|
28551
|
+
},] }
|
|
28552
|
+
];
|
|
28553
|
+
|
|
28367
28554
|
// import { AssessmentListModule } from './assessment-list/assessment-list.module';
|
|
28368
28555
|
// import { AssessmentPreviewModule } from '../../sharedComponents/assessment-preview/assessment-preview.module';
|
|
28369
28556
|
class CreateProgramUiModule {
|
|
@@ -28399,7 +28586,8 @@ CreateProgramUiModule.decorators = [
|
|
|
28399
28586
|
SearchNewPipe,
|
|
28400
28587
|
SelectedAssessmentPipe,
|
|
28401
28588
|
AssessmentResolverPipe,
|
|
28402
|
-
FilterPipe
|
|
28589
|
+
FilterPipe,
|
|
28590
|
+
TooltipMessagePipe
|
|
28403
28591
|
],
|
|
28404
28592
|
imports: [
|
|
28405
28593
|
CommonModule,
|
|
@@ -28433,7 +28621,8 @@ CreateProgramUiModule.decorators = [
|
|
|
28433
28621
|
Pagination,
|
|
28434
28622
|
DefineFrameworkListingComponent,
|
|
28435
28623
|
CustomFieldComponent,
|
|
28436
|
-
AssessmentResolverPipe
|
|
28624
|
+
AssessmentResolverPipe,
|
|
28625
|
+
TooltipMessagePipe
|
|
28437
28626
|
// AssessmentListModule
|
|
28438
28627
|
]
|
|
28439
28628
|
},] }
|
|
@@ -30264,5 +30453,5 @@ VComplyWorkflowEngineModule.decorators = [
|
|
|
30264
30453
|
* Generated bundle index. Do not edit.
|
|
30265
30454
|
*/
|
|
30266
30455
|
|
|
30267
|
-
export { VComplyWorkflowEngineModule, WorkflowEngineContainerComponent, WorkflowEngineService, UiKitService as ɵa, SnackBarService as ɵb, CheckpointsListComponent as ɵba, ReviewFrequencyComponent as ɵbb, FrequencyContainerComponent as ɵbc, FrequencyDailyComponent as ɵbd, FrequencyWeeklyComponent as ɵbe, FrequencyMonthlyComponent as ɵbf, FrequencyQuarterlyComponent as ɵbg, FrequencyBiannualComponent as ɵbh, FrequencyAnnualComponent as ɵbi, FrequencyOneTimeComponent as ɵbj, FrequencyRandomComponent as ɵbk, FrequencyOnCompletionOfComponent as ɵbl, FrequencyOngoingComponent as ɵbm, FrequencyTopComponent as ɵbn, FrequencyLifecycleComponent as ɵbo, FrequencyDueDateComponent as ɵbp, FrequencyCheckboxListComponent as ɵbq, FrequencyRadioListComponent as ɵbr, GroupUsersListComponent as ɵbs, AddMultipleResponsibilityComponent as ɵbt, FrequencyBulkService as ɵbu, BulkResponsibilityViewComponent as ɵbv, CheckpointsPolicyContainerComponent as ɵbw, CheckpointsPolicyListComponent as ɵbx, CheckpointsPolicyQuestionsComponent as ɵby, WorkflowSurveyFormComponent as ɵbz, AuthService as ɵc, LogAnIssueComponent as ɵca, LogIssueService as ɵcb, FilterPipe$1 as ɵcc, CheckboxListComponent as ɵcd, RadioListComponent as ɵce, ListMapperPipe as ɵcf, CreateDocumentsComponent as ɵcg, SearchPipe$1 as ɵch, UserFilterPipe as ɵci, FrameworkListComponent as ɵcj, ParentTableComponent as ɵck, DataTypePipe as ɵcl, CheckpointFloatingBarComponent as ɵcm, FormatAndEvidenceComponent as ɵcn, RiskClassificationComponent as ɵco, DragDropDirective as ɵcp, AutofocusDirective as ɵcq, ScrollInViewDirective as ɵcr, spaceTrimDirective as ɵcs, ShortMergePipe as ɵct, SpaceBreakerPipe as ɵcu, FormatHtmlPipe as ɵcv, WithinDataPipe as ɵcw, ResponsibilityRiskSelectorComponent as ɵcx, ConditionalFocusDirective as ɵcy, ListLoaderComponent as ɵcz, TokenDecoderService as ɵd, ArrayFilterPipe as ɵda, AuditCategoryListComponent as ɵdb, DocumentSectionComponent as ɵdc, WorkflowAssessmentComponent as ɵdd, AssessmentService$2 as ɵde, ImportAnAssessmentComponent as ɵdf, AssessmentListComponent as ɵdg, AssessmentService$1 as ɵdh, RadioListWithPaginationComponent as ɵdi, LinkTreatmentLoaderComponent as ɵdj, AssessmentListLoaderComponent as ɵdk, AssessmentListSubLoaderComponent as ɵdl, UncategorizedFilterPipe as ɵdm, ProgramListingComponent as ɵdn, WorkflowProgramComponent as ɵdo, RolesListComponent as ɵdp, FrameworkListTableComponent as ɵdq, FrameworkResponsibilityTableComponent as ɵdr, FrameworkTableLoaderComponent as ɵds, ArrayConcatPipe as ɵdt, SpaceTrimPipe as ɵdu, AddMultipleResponsibilityContainerComponent as ɵdv, BulkUploadService as ɵdw, AddMultipleResponsibilityWithTabComponent as ɵdx, CreateAssessmentModule as ɵdy, CreateAssessmentContainerComponent as ɵdz, Configurations as ɵe, EditorService as ɵea, DialogService as ɵeb, DialogModule as ɵec, DialogComponent as ɵed, InsertionDirective as ɵee, DialogRef as ɵef, DialogConfig as ɵeg, QuestionTypeComponent as ɵeh, AddPageDetailsComponent as ɵei, AssessmentSettingsComponent as ɵej, ResultCriteriaService as ɵek, AddSegmentPopupComponent as ɵel, AddResponseSetPopupComponent as ɵem, EditorWrapperComponent as ɵen, ValidatorService as ɵeo, QuickSettingsComponent as ɵep, SingleLineEditorComponent as ɵeq, ResponseSelectorComponent as ɵer, MoveComponent as ɵes, LogicComponent as ɵet, AddLogicComponent as ɵeu, ToolkitComponent as ɵev, ErrorMessagePipe as ɵew, QuestionFilterPipe as ɵex, QuestionParserPipe as ɵey, FormatterPipe as ɵez, WorkflowRiskComponent as ɵf, SettingAnonymousComponent as ɵfa, SettingResponseSegmentComponent as ɵfb, PageHeaderComponent as ɵfc, WelcomeThankyouComponent as ɵfd, CurrentPageQuestionPipe as ɵfe, QuestionPageFilterPipe as ɵff, TypeOfPipe as ɵfg, TooltipModule as ɵfh, ToolTipDirective as ɵfi, PopoverModule as ɵfj, PopoverComponent as ɵfk, PopoverService as ɵfl, PopoverDirective as ɵfm, PopoverEventDirective as ɵfn, PopoverLongpressDirective as ɵfo, FormgroupModule$1 as ɵfp, CsCheckboxComponent$1 as ɵfq, CsRadioComponent$1 as ɵfr, CsSwitchComponent$1 as ɵfs, CsRadioGroupComponent$1 as ɵft, CsSelectComponent$2 as ɵfu, PascalPipe$1 as ɵfv, CsCheckboxIndeterminateComponent$1 as ɵfw, NoDataModule$1 as ɵfx, NoDataComponent$1 as ɵfy, BuildModule as ɵfz, AddRiskService as ɵg, MultipleChoiceComponent as ɵga, CheckboxComponent$1 as ɵgb, ImageChoiceComponent as ɵgc, StarRatingComponent as ɵgd, MatrixDropdownComponent as ɵge, DropdownComponent as ɵgf, MatrixRatingScaleComponent as ɵgg, RankingComponent as ɵgh, SliderComponent as ɵgi, MultipleTextboxComponent as ɵgj, DateTimeComponent as ɵgk, ChoiceSettingsPanelComponent as ɵgl, WelcomeComponent$1 as ɵgm, ThankYouComponent$1 as ɵgn, WeightageSelectorComponent as ɵgo, FormgroupModule as ɵgp, CsCheckboxComponent as ɵgq, CsRadioComponent as ɵgr, CsSwitchComponent as ɵgs, CsRadioGroupComponent as ɵgt, CsSelectComponent as ɵgu, PascalPipe as ɵgv, SearchMultiSelectPipe as ɵgw, ClickOutsideDirective as ɵgx, CsCheckboxIndeterminateComponent as ɵgy, PreviewModule as ɵgz, WorkflowComplianceComponent as ɵh, PreviewWrapperComponent as ɵha, PreviewMultipleChoiceComponent as ɵhb, PreviewCheckboxComponent as ɵhc, PreviewImageChoiceComponent as ɵhd, PreviewStarRatingComponent as ɵhe, PreviewSingleTextboxComponent as ɵhf, PreviewCommentBoxComponent as ɵhg, PreviewMatrixDropdownComponent as ɵhh, PreviewDropdownComponent as ɵhi, PreviewMatrixRatingScaleComponent as ɵhj, PreviewRankingComponent as ɵhk, PreviewSliderComponent as ɵhl, PreviewMultipleTextboxComponent as ɵhm, PreviewDateTimeComponent as ɵhn, PreviewFileUploadComponent as ɵho, WelcomeComponent as ɵhp, ThankYouComponent as ɵhq, SelectModule as ɵhr, CsSelectComponent$1 as ɵhs, SelectService as ɵht, CsOptionComponent as ɵhu, AssessmentPreviewModule as ɵhv, CheckboxQuestionComponent as ɵhw, DateTimeComponent$1 as ɵhx, DeviceComponent as ɵhy, FileUploadComponent as ɵhz, ResponsibilityService as ɵi, PreviewComponent as ɵia, PreviewContainerComponent as ɵib, QuickSettingsComponent$1 as ɵic, RadioQuestionComponent as ɵid, SelectQuestionComponent as ɵie, SingleTextboxComponent as ɵif, PageHeaderComponent$1 as ɵig, WelcomeComponent$2 as ɵih, LogicQuestionsModule as ɵii, LogicMultipleChoiceComponent as ɵij, LogicCheckboxComponent as ɵik, LogicImageChoiceComponent as ɵil, LogicStarRatingComponent as ɵim, LogicSingleTextboxComponent as ɵin, LogicCommentBoxComponent as ɵio, LogicDropdownComponent as ɵip, LogicRankingComponent as ɵiq, LogicSliderComponent as ɵir, LogicMultipleTextboxComponent as ɵis, LogicDateTimeComponent as ɵit, EditorLoaderModule as ɵiu, EditorLoaderComponent as ɵiv, LineLoaderModule as ɵiw, LineLoaderComponent as ɵix, VLoaderModule as ɵiy, LoaderComponent$1 as ɵiz, FrequencyService as ɵj, LoaderInlineComponent as ɵja, SmileyDialogModule as ɵjb, SmileyDialogComponent as ɵjc, SnackBarModule as ɵjd, SnackBarComponent as ɵje, SmileyDialogInlineModule as ɵjf, SmileyDialogInlineComponent as ɵjg, ClickOutsideModule as ɵjh, ClickOutsideDirective$1 as ɵji, PopoverHoverModule as ɵjj, PopoverHoverComponent as ɵjk, PopoverHoverService as ɵjl, PopoverHoverDirective as ɵjm, PaginationModule$1 as ɵjn, PaginationComponent$1 as ɵjo, ActionDialogModule as ɵjp, DeleteComponent as ɵjq, DeactivateComponent as ɵjr, ActiveComponent as ɵjs, DuplicateComponent as ɵjt, CreateProgramUiModule as ɵju, TabSelector as ɵjv, TickMarkComponent as ɵjw, FormFieldComponent as ɵjx, FilePillComponent as ɵjy, InputWithPillComponent as ɵjz, ProgramsService as ɵk, SwitchComponent as ɵka, InputTrimDirective as ɵkb, RoleListComponent as ɵkc, CheckboxComponent as ɵkd, VuiFloatingBarComponent as ɵke, SearchPipe as ɵkf, UserGroupListComponent as ɵkg, ListToIdPipe as ɵkh, RefDisconnectPipe as ɵki, AssessmentPickerComponent as ɵkj, AssessmentService as ɵkk, AssessmentLoaderComponent as ɵkl, AssessmentSubLoaderComponent as ɵkm, Pagination as ɵkn, DefineFrameworkListingComponent as ɵko, FrameworkService as ɵkp, CustomFieldComponent as ɵkq, LoaderComponent as ɵkr, LoaderFrameworkComponent as ɵks, PagerPipe as ɵkt, CategoryAllSelectPipe as ɵku, SubCatIndeterPipe as ɵkv, SearchNewPipe as ɵkw, SelectedAssessmentPipe as ɵkx, AssessmentResolverPipe as ɵky, FilterPipe as ɵkz, WorkflowPolicyComponent as ɵl,
|
|
30456
|
+
export { VComplyWorkflowEngineModule, WorkflowEngineContainerComponent, WorkflowEngineService, UiKitService as ɵa, SnackBarService as ɵb, CheckpointsListComponent as ɵba, ReviewFrequencyComponent as ɵbb, FrequencyContainerComponent as ɵbc, FrequencyDailyComponent as ɵbd, FrequencyWeeklyComponent as ɵbe, FrequencyMonthlyComponent as ɵbf, FrequencyQuarterlyComponent as ɵbg, FrequencyBiannualComponent as ɵbh, FrequencyAnnualComponent as ɵbi, FrequencyOneTimeComponent as ɵbj, FrequencyRandomComponent as ɵbk, FrequencyOnCompletionOfComponent as ɵbl, FrequencyOngoingComponent as ɵbm, FrequencyTopComponent as ɵbn, FrequencyLifecycleComponent as ɵbo, FrequencyDueDateComponent as ɵbp, FrequencyCheckboxListComponent as ɵbq, FrequencyRadioListComponent as ɵbr, GroupUsersListComponent as ɵbs, AddMultipleResponsibilityComponent as ɵbt, FrequencyBulkService as ɵbu, BulkResponsibilityViewComponent as ɵbv, CheckpointsPolicyContainerComponent as ɵbw, CheckpointsPolicyListComponent as ɵbx, CheckpointsPolicyQuestionsComponent as ɵby, WorkflowSurveyFormComponent as ɵbz, AuthService as ɵc, LogAnIssueComponent as ɵca, LogIssueService as ɵcb, FilterPipe$1 as ɵcc, CheckboxListComponent as ɵcd, RadioListComponent as ɵce, ListMapperPipe as ɵcf, CreateDocumentsComponent as ɵcg, SearchPipe$1 as ɵch, UserFilterPipe as ɵci, FrameworkListComponent as ɵcj, ParentTableComponent as ɵck, DataTypePipe as ɵcl, CheckpointFloatingBarComponent as ɵcm, FormatAndEvidenceComponent as ɵcn, RiskClassificationComponent as ɵco, DragDropDirective as ɵcp, AutofocusDirective as ɵcq, ScrollInViewDirective as ɵcr, spaceTrimDirective as ɵcs, ShortMergePipe as ɵct, SpaceBreakerPipe as ɵcu, FormatHtmlPipe as ɵcv, WithinDataPipe as ɵcw, ResponsibilityRiskSelectorComponent as ɵcx, ConditionalFocusDirective as ɵcy, ListLoaderComponent as ɵcz, TokenDecoderService as ɵd, ArrayFilterPipe as ɵda, AuditCategoryListComponent as ɵdb, DocumentSectionComponent as ɵdc, WorkflowAssessmentComponent as ɵdd, AssessmentService$2 as ɵde, ImportAnAssessmentComponent as ɵdf, AssessmentListComponent as ɵdg, AssessmentService$1 as ɵdh, RadioListWithPaginationComponent as ɵdi, LinkTreatmentLoaderComponent as ɵdj, AssessmentListLoaderComponent as ɵdk, AssessmentListSubLoaderComponent as ɵdl, UncategorizedFilterPipe as ɵdm, ProgramListingComponent as ɵdn, WorkflowProgramComponent as ɵdo, RolesListComponent as ɵdp, FrameworkListTableComponent as ɵdq, FrameworkResponsibilityTableComponent as ɵdr, FrameworkTableLoaderComponent as ɵds, ArrayConcatPipe as ɵdt, SpaceTrimPipe as ɵdu, AddMultipleResponsibilityContainerComponent as ɵdv, BulkUploadService as ɵdw, AddMultipleResponsibilityWithTabComponent as ɵdx, CreateAssessmentModule as ɵdy, CreateAssessmentContainerComponent as ɵdz, Configurations as ɵe, EditorService as ɵea, DialogService as ɵeb, DialogModule as ɵec, DialogComponent as ɵed, InsertionDirective as ɵee, DialogRef as ɵef, DialogConfig as ɵeg, QuestionTypeComponent as ɵeh, AddPageDetailsComponent as ɵei, AssessmentSettingsComponent as ɵej, ResultCriteriaService as ɵek, AddSegmentPopupComponent as ɵel, AddResponseSetPopupComponent as ɵem, EditorWrapperComponent as ɵen, ValidatorService as ɵeo, QuickSettingsComponent as ɵep, SingleLineEditorComponent as ɵeq, ResponseSelectorComponent as ɵer, MoveComponent as ɵes, LogicComponent as ɵet, AddLogicComponent as ɵeu, ToolkitComponent as ɵev, ErrorMessagePipe as ɵew, QuestionFilterPipe as ɵex, QuestionParserPipe as ɵey, FormatterPipe as ɵez, WorkflowRiskComponent as ɵf, SettingAnonymousComponent as ɵfa, SettingResponseSegmentComponent as ɵfb, PageHeaderComponent as ɵfc, WelcomeThankyouComponent as ɵfd, CurrentPageQuestionPipe as ɵfe, QuestionPageFilterPipe as ɵff, TypeOfPipe as ɵfg, TooltipModule as ɵfh, ToolTipDirective as ɵfi, PopoverModule as ɵfj, PopoverComponent as ɵfk, PopoverService as ɵfl, PopoverDirective as ɵfm, PopoverEventDirective as ɵfn, PopoverLongpressDirective as ɵfo, FormgroupModule$1 as ɵfp, CsCheckboxComponent$1 as ɵfq, CsRadioComponent$1 as ɵfr, CsSwitchComponent$1 as ɵfs, CsRadioGroupComponent$1 as ɵft, CsSelectComponent$2 as ɵfu, PascalPipe$1 as ɵfv, CsCheckboxIndeterminateComponent$1 as ɵfw, NoDataModule$1 as ɵfx, NoDataComponent$1 as ɵfy, BuildModule as ɵfz, AddRiskService as ɵg, MultipleChoiceComponent as ɵga, CheckboxComponent$1 as ɵgb, ImageChoiceComponent as ɵgc, StarRatingComponent as ɵgd, MatrixDropdownComponent as ɵge, DropdownComponent as ɵgf, MatrixRatingScaleComponent as ɵgg, RankingComponent as ɵgh, SliderComponent as ɵgi, MultipleTextboxComponent as ɵgj, DateTimeComponent as ɵgk, ChoiceSettingsPanelComponent as ɵgl, WelcomeComponent$1 as ɵgm, ThankYouComponent$1 as ɵgn, WeightageSelectorComponent as ɵgo, FormgroupModule as ɵgp, CsCheckboxComponent as ɵgq, CsRadioComponent as ɵgr, CsSwitchComponent as ɵgs, CsRadioGroupComponent as ɵgt, CsSelectComponent as ɵgu, PascalPipe as ɵgv, SearchMultiSelectPipe as ɵgw, ClickOutsideDirective as ɵgx, CsCheckboxIndeterminateComponent as ɵgy, PreviewModule as ɵgz, WorkflowComplianceComponent as ɵh, PreviewWrapperComponent as ɵha, PreviewMultipleChoiceComponent as ɵhb, PreviewCheckboxComponent as ɵhc, PreviewImageChoiceComponent as ɵhd, PreviewStarRatingComponent as ɵhe, PreviewSingleTextboxComponent as ɵhf, PreviewCommentBoxComponent as ɵhg, PreviewMatrixDropdownComponent as ɵhh, PreviewDropdownComponent as ɵhi, PreviewMatrixRatingScaleComponent as ɵhj, PreviewRankingComponent as ɵhk, PreviewSliderComponent as ɵhl, PreviewMultipleTextboxComponent as ɵhm, PreviewDateTimeComponent as ɵhn, PreviewFileUploadComponent as ɵho, WelcomeComponent as ɵhp, ThankYouComponent as ɵhq, SelectModule as ɵhr, CsSelectComponent$1 as ɵhs, SelectService as ɵht, CsOptionComponent as ɵhu, AssessmentPreviewModule as ɵhv, CheckboxQuestionComponent as ɵhw, DateTimeComponent$1 as ɵhx, DeviceComponent as ɵhy, FileUploadComponent as ɵhz, ResponsibilityService as ɵi, PreviewComponent as ɵia, PreviewContainerComponent as ɵib, QuickSettingsComponent$1 as ɵic, RadioQuestionComponent as ɵid, SelectQuestionComponent as ɵie, SingleTextboxComponent as ɵif, PageHeaderComponent$1 as ɵig, WelcomeComponent$2 as ɵih, LogicQuestionsModule as ɵii, LogicMultipleChoiceComponent as ɵij, LogicCheckboxComponent as ɵik, LogicImageChoiceComponent as ɵil, LogicStarRatingComponent as ɵim, LogicSingleTextboxComponent as ɵin, LogicCommentBoxComponent as ɵio, LogicDropdownComponent as ɵip, LogicRankingComponent as ɵiq, LogicSliderComponent as ɵir, LogicMultipleTextboxComponent as ɵis, LogicDateTimeComponent as ɵit, EditorLoaderModule as ɵiu, EditorLoaderComponent as ɵiv, LineLoaderModule as ɵiw, LineLoaderComponent as ɵix, VLoaderModule as ɵiy, LoaderComponent$1 as ɵiz, FrequencyService as ɵj, LoaderInlineComponent as ɵja, SmileyDialogModule as ɵjb, SmileyDialogComponent as ɵjc, SnackBarModule as ɵjd, SnackBarComponent as ɵje, SmileyDialogInlineModule as ɵjf, SmileyDialogInlineComponent as ɵjg, ClickOutsideModule as ɵjh, ClickOutsideDirective$1 as ɵji, PopoverHoverModule as ɵjj, PopoverHoverComponent as ɵjk, PopoverHoverService as ɵjl, PopoverHoverDirective as ɵjm, PaginationModule$1 as ɵjn, PaginationComponent$1 as ɵjo, ActionDialogModule as ɵjp, DeleteComponent as ɵjq, DeactivateComponent as ɵjr, ActiveComponent as ɵjs, DuplicateComponent as ɵjt, CreateProgramUiModule as ɵju, TabSelector as ɵjv, TickMarkComponent as ɵjw, FormFieldComponent as ɵjx, FilePillComponent as ɵjy, InputWithPillComponent as ɵjz, ProgramsService as ɵk, SwitchComponent as ɵka, InputTrimDirective as ɵkb, RoleListComponent as ɵkc, CheckboxComponent as ɵkd, VuiFloatingBarComponent as ɵke, SearchPipe as ɵkf, UserGroupListComponent as ɵkg, ListToIdPipe as ɵkh, RefDisconnectPipe as ɵki, AssessmentPickerComponent as ɵkj, AssessmentService as ɵkk, AssessmentLoaderComponent as ɵkl, AssessmentSubLoaderComponent as ɵkm, Pagination as ɵkn, DefineFrameworkListingComponent as ɵko, FrameworkService as ɵkp, CustomFieldComponent as ɵkq, LoaderComponent as ɵkr, LoaderFrameworkComponent as ɵks, PagerPipe as ɵkt, CategoryAllSelectPipe as ɵku, SubCatIndeterPipe as ɵkv, SearchNewPipe as ɵkw, SelectedAssessmentPipe as ɵkx, AssessmentResolverPipe as ɵky, FilterPipe as ɵkz, WorkflowPolicyComponent as ɵl, TooltipMessagePipe as ɵla, PaginationModule as ɵlb, PaginationComponent as ɵlc, NoDataModule as ɵld, NoDataComponent as ɵle, PolicyService as ɵm, MoreOptionComponent as ɵn, OwnerListComponent as ɵo, UserRadioListComponent as ɵp, CategoryListComponent as ɵq, CategoryMultiSelectComponent as ɵr, FloatingBarComponent as ɵs, ResponsibilityCentersListComponent as ɵt, WorkflowPaginationComponent as ɵu, AddMultipleRiskComponent as ɵv, BulkViewComponent as ɵw, CheckpointsComponent as ɵx, ConfirmationAlertComponent as ɵy, CheckpointsQuestionsComponent as ɵz };
|
|
30268
30457
|
//# sourceMappingURL=vcomply-workflow-engine.js.map
|