vcomply-workflow-engine 2.2.0 → 2.2.3
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 +83 -38
- package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.js +43 -25
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ngfactory.js +40 -39
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ngsummary.json +1 -1
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.js +18 -0
- package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.ngsummary.json +1 -0
- package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.js +4 -2
- package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngfactory.js +1 -1
- package/esm2015/lib/workflow-program/workflow-program.component.js +14 -9
- package/esm2015/lib/workflow-program/workflow-program.component.ngfactory.js +3 -3
- package/esm2015/lib/workflow-services/programs.service.js +2 -2
- package/esm2015/vcomply-workflow-engine.js +6 -5
- package/esm2015/vcomply-workflow-engine.ngsummary.json +1 -1
- package/fesm2015/vcomply-workflow-engine.js +76 -35
- package/fesm2015/vcomply-workflow-engine.js.map +1 -1
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +2 -9
- package/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.d.ts +4 -0
- package/lib/workflow-program/workflow-program.component.d.ts +1 -0
- package/lib/workflow-services/programs.service.d.ts +1 -3
- package/package.json +1 -1
- package/vcomply-workflow-engine.d.ts +5 -4
- package/vcomply-workflow-engine.metadata.json +1 -1
|
@@ -22185,7 +22185,7 @@ class ProgramsService {
|
|
|
22185
22185
|
overseers: { cc_email: this.listToId(form === null || form === void 0 ? void 0 : form.program_overseer, 'member_id'), cc_email_groups: this.listToId(form === null || form === void 0 ? void 0 : form.program_overseer_group, 'group_id'), failure_cc_email: [], failure_cc_email_groups: [] },
|
|
22186
22186
|
default_overseers: { cc_email: this.listToId(form === null || form === void 0 ? void 0 : form.program_default_overseer, 'member_id'), cc_email_groups: this.listToId(form === null || form === void 0 ? void 0 : form.program_default_overseer_group, 'group_id'),
|
|
22187
22187
|
failure_cc_email: this.listToId(form === null || form === void 0 ? void 0 : form.program_default_failed_overseer, 'member_id'), failure_cc_email_groups: this.listToId(form === null || form === void 0 ? void 0 : form.program_default_failed_overseer_group, 'group_id') },
|
|
22188
|
-
assessment:
|
|
22188
|
+
assessment: instance.selectedAssessment,
|
|
22189
22189
|
evidence_upload_flag: (form === null || form === void 0 ? void 0 : form.evidence_required) ? 1 : 0,
|
|
22190
22190
|
is_key_evidence: form === null || form === void 0 ? void 0 : form.allow_any_file_key_evidence,
|
|
22191
22191
|
custom_fields: (_m = form === null || form === void 0 ? void 0 : form.custom_fields) !== null && _m !== void 0 ? _m : [],
|
|
@@ -22621,7 +22621,13 @@ class WorkflowProgramComponent {
|
|
|
22621
22621
|
break;
|
|
22622
22622
|
}
|
|
22623
22623
|
case 'ASSESSMENT': {
|
|
22624
|
-
|
|
22624
|
+
const assessment = evt.map((ele) => ele.assessmentIds)[0];
|
|
22625
|
+
this.selectedAssessment = evt.map(((ele) => {
|
|
22626
|
+
ele.assessmentIds = ele.assessmentIds.map((assessment) => assessment.id);
|
|
22627
|
+
return ele;
|
|
22628
|
+
}));
|
|
22629
|
+
console.log("this.selectedAssessment ==>", this.selectedAssessment, assessment);
|
|
22630
|
+
this.setFormField('program_assessments', assessment);
|
|
22625
22631
|
this.fieldDeselector(type);
|
|
22626
22632
|
break;
|
|
22627
22633
|
}
|
|
@@ -22884,6 +22890,7 @@ class WorkflowProgramComponent {
|
|
|
22884
22890
|
const defaultVal = (_c = (_b = (_a = this.lists) === null || _a === void 0 ? void 0 : _a.ROLES) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.filter((ele) => (ele === null || ele === void 0 ? void 0 : ele.roleType) === "system role");
|
|
22885
22891
|
console.log("approvers");
|
|
22886
22892
|
this.setFormField('program_roles', defaultVal);
|
|
22893
|
+
console.log("AAAA");
|
|
22887
22894
|
//for setting all tghe key admin and admin as default owner
|
|
22888
22895
|
this.fetchGroupsAssociatedWithRoles(role);
|
|
22889
22896
|
this.fetchUsersAssociatedWithRoles(role === null || role === void 0 ? void 0 : role.approvers);
|
|
@@ -22911,15 +22918,15 @@ class WorkflowProgramComponent {
|
|
|
22911
22918
|
}
|
|
22912
22919
|
fetchUsersAssociatedWithRoles(approvers) {
|
|
22913
22920
|
var _a, _b;
|
|
22921
|
+
console.log("DDDD");
|
|
22914
22922
|
const roleIds = (_b = (_a = this.controls.program_roles) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.map((ele) => ele === null || ele === void 0 ? void 0 : ele._id);
|
|
22915
22923
|
// if (fetchAll) {
|
|
22916
|
-
console.log('fetchAllRoleUsers before API call');
|
|
22917
22924
|
this.programService.fetchAllRoleUsers(roleIds).subscribe({
|
|
22918
22925
|
next: (res) => {
|
|
22919
22926
|
var _a, _b;
|
|
22920
|
-
console.log('fetchAllRoleUsers after API call');
|
|
22921
22927
|
this.lists.OWNERS = res;
|
|
22922
22928
|
this.lists.APPROVERS = res;
|
|
22929
|
+
console.log("EEEE");
|
|
22923
22930
|
if (approvers === null || approvers === void 0 ? void 0 : approvers.length) {
|
|
22924
22931
|
const approversDetails = res.data.filter((user) => approvers.includes(user.member_id));
|
|
22925
22932
|
this.setFormField('program_approver', approversDetails);
|
|
@@ -22936,13 +22943,13 @@ class WorkflowProgramComponent {
|
|
|
22936
22943
|
}
|
|
22937
22944
|
fetchGroupsAssociatedWithRoles(role) {
|
|
22938
22945
|
var _a, _b;
|
|
22939
|
-
console.log(
|
|
22946
|
+
console.log("BBBBB");
|
|
22940
22947
|
const roleIds = (_b = (_a = this.controls.program_roles) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.map((ele) => ele === null || ele === void 0 ? void 0 : ele._id);
|
|
22941
22948
|
this.programService.fetchAllRoleGroups(roleIds).subscribe({
|
|
22942
22949
|
next: (res) => {
|
|
22943
22950
|
var _a;
|
|
22944
|
-
console.log('fetchAllRoleGroups after API call');
|
|
22945
22951
|
this.lists.OWNERS_GROUPS = res;
|
|
22952
|
+
console.log("CCCCCC");
|
|
22946
22953
|
if ((_a = role === null || role === void 0 ? void 0 : role.owners_group) === null || _a === void 0 ? void 0 : _a.length) {
|
|
22947
22954
|
const ownersGroupDetails = role.owners_group.length ? res.data.filter((group) => role.owners_group.includes(group === null || group === void 0 ? void 0 : group.group_id)) : [];
|
|
22948
22955
|
this.setFormField('program_owners_group', ownersGroupDetails);
|
|
@@ -23069,13 +23076,11 @@ class WorkflowProgramComponent {
|
|
|
23069
23076
|
selectAllRoleOwner(evt) {
|
|
23070
23077
|
var _a, _b, _c;
|
|
23071
23078
|
//need to fetch all the users for all the selected roles
|
|
23072
|
-
console.log('fetchAllRoleUsers before API call');
|
|
23073
23079
|
if ((_a = evt === null || evt === void 0 ? void 0 : evt.target) === null || _a === void 0 ? void 0 : _a.checked) {
|
|
23074
23080
|
const roleIds = (_c = (_b = this.controls.program_roles) === null || _b === void 0 ? void 0 : _b.value) === null || _c === void 0 ? void 0 : _c.map((ele) => ele === null || ele === void 0 ? void 0 : ele._id);
|
|
23075
23081
|
this.programService.fetchAllRoleUsers(roleIds).subscribe({
|
|
23076
23082
|
next: (res) => {
|
|
23077
23083
|
var _a;
|
|
23078
|
-
console.log('fetchAllRoleUsers after API call');
|
|
23079
23084
|
const user = this.uniqueByProp([...(_a = this.controls.program_owners) === null || _a === void 0 ? void 0 : _a.value, ...res === null || res === void 0 ? void 0 : res.data], 'member_id');
|
|
23080
23085
|
this.setFormField('program_owners', user);
|
|
23081
23086
|
},
|
|
@@ -23352,7 +23357,7 @@ class WorkflowProgramComponent {
|
|
|
23352
23357
|
WorkflowProgramComponent.decorators = [
|
|
23353
23358
|
{ type: Component, args: [{
|
|
23354
23359
|
selector: 'app-workflow-program',
|
|
23355
|
-
template: "<div class=\"workflow-program\" #form>\r\n <form novalidate [formGroup]=\"programForm\">\r\n <!-- Program Category Type -->\r\n <form-field [checked]=\"controls?.program_type?.value > -1\" [active]=\"false\" [disabled]=\"sideElements.includes(activeList)\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/issue-type.svg'\">\r\n <label class=\"vx-control-panel\">PROGRAM TYPE <span class=\"required\">*</span></label>\r\n <tab-selector formControlName=\"program_type\" [displayArray]=\"constants?.categoryType\"></tab-selector>\r\n <!-- <p *ngIf=\"program_name?.invalid\" class=\"error-message\">Add a program type</p> -->\r\n </form-field>\r\n\r\n <!-- Program Category Name -->\r\n <form-field [checked]=\"controls?.program_name?.value?.trim()?.length\" [active]=\"false\" [disabled]=\"sideElements.includes(activeList)\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/what.svg'\">\r\n <label class=\"vx-control-panel\">PROGRAM NAME <span class=\"required\">*</span></label>\r\n <input InputTrim formControlName=\"program_name\" type=\"text\"\r\n placeholder=\"What is the Program Category\u2019s name?\">\r\n\r\n <p *ngIf=\"controls?.program_name?.errors && controls?.program_name?.touched\" class=\"error-message\">Enter a\r\n name for this Program.</p>\r\n <div class=\"upload-files vx-d-flex vx-align-center vx-flex-wrap vx-mt-1\">\r\n <file-pill *ngFor=\"let attachment of controls?.description_attachment?.value |slice:0:2\"\r\n [extension]=\"attachment?.org_file?.split('.').pop()\" [name]=\"attachment?.org_file\"\r\n [disabled]=\"attachment?.uploading\" (delete)=\"deleteAttachment('DESCRIPTION',attachment)\">\r\n </file-pill>\r\n <button *ngIf=\"controls?.description_attachment?.value?.length > 2\" class=\"file-count\" appPopover (click)=\"uploadFile.popover()\" placement=\"right\">+{{controls?.description_attachment?.value?.length - 2}}</button>\r\n <app-popover #uploadFile [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li class=\"vx-p-2\" *ngFor=\"let attachment of controls?.description_attachment?.value|slice:2\">\r\n <file-pill [extension]=\"attachment?.org_file?.split('.').pop()\" [name]=\"attachment?.org_file\"\r\n [disabled]=\"attachment?.uploading\" (delete)=\"deleteAttachment('DESCRIPTION',attachment)\"></file-pill>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <marx-editor [(ngModel)]=\"editorData.programDescription\" [ngModelOptions]=\"{standalone: true}\"\r\n (sendSavedFiles)=\"selectFile('DESCRIPTION',$event)\"\r\n (ngModelChange)=\"setFormField('program_description',$event)\" [editorConfig]=\"constants?.description\">\r\n </marx-editor>\r\n </form-field>\r\n\r\n <!-- Objective -->\r\n <form-field [checked]=\"controls?.program_objective?.value?.trim()?.length\" [active]=\"activeList === 'OBJECTIVE'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'OBJECTIVE'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/objectives.svg'\">\r\n <label class=\"vx-control-panel\">OBJECTIVE <span class=\"required\">*</span></label>\r\n <marx-editor [(ngModel)]=\"editorData.programObjective\" [ngModelOptions]=\"{standalone: true}\"\r\n (ngModelChange)=\"setFormField('program_objective',$event)\" [editorConfig]=\"constants?.objective\">\r\n </marx-editor>\r\n <p *ngIf=\"false\" class=\"error-message\">Specify the objective for this Program.</p>\r\n </form-field>\r\n\r\n <!-- Roles -->\r\n <form-field [checked]=\"controls?.program_roles?.value?.length \" [active]=\"activeList === 'ROLE'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'ROLE'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/roles.svg'\">\r\n <label class=\"vx-control-panel\">ROLE(S) <span class=\"required\">*</span></label>\r\n <input-with-pill [placeholder]=\"'Which user roles have access to this program?'\"\r\n (select)=\"activateList('ROLE')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_roles?.value?.length\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\">\r\n <span class=\"chip\"><i *ngIf=\"controls?.program_roles?.value[0]?.roleType !== 'system role'\"\r\n (click)=\"remove(controls?.program_roles?.value[0],'ROLE')\"\r\n class=\"icons\"></i>{{controls?.program_roles?.value[0]?.roleName}}</span>\r\n <button *ngIf=\"controls?.program_roles?.value?.length > 1\" class=\"count\" appPopover\r\n (click)=\"role.popover()\" placement=\"right\">\r\n +{{controls?.program_roles?.value?.length - 1}}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='ROLE'\" class=\"edit\" type=\"button\" (click)=\"activateList('ROLE')\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n </input-with-pill>\r\n <p *ngIf=\"false\" class=\"error-message\">Add a role(s)</p>\r\n <app-popover #role [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let data of controls?.program_roles?.value | slice:1\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i *ngIf=\"data?.roleType !== 'system role'\" class=\"icons\"\r\n (click)=\"remove(data,'ROLE')\"></i>\r\n {{data?.roleName}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </form-field>\r\n\r\n <!-- Owners -->\r\n <form-field [checked]=\"controls?.program_owners.value?.length > 0 || controls?.program_owners_group.value?.length > 0\" [active]=\"activeList === 'OWNER'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'OWNER'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/owner.svg'\">\r\n <label class=\"vx-control-panel\">OWNER(S) <span class=\"required\">*</span></label>\r\n <input-with-pill [placeholder]=\"'Who is responsible for managing this program?'\"\r\n (select)=\"activateList('OWNER')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_owners.value[0]\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\">\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)=\"owner.popover()\" placement=\"right\">{{controls?.program_owners?.value?.length}}</button>\r\n </div>\r\n <span class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\" *ngIf=\"controls?.program_owners_group?.value?.length && controls?.program_owners?.value?.length\">&</span>\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_owners_group?.value?.length\">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">GROUP(S)</span></span>\r\n <button *ngIf=\"controls?.program_owners_group?.value?.length\" class=\"count\" appPopover (click)=\"group.popover()\" placement=\"right\">{{controls?.program_owners_group?.value?.length }}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='OWNER'\" [class.disabled]=\"controls?.all_user_in_role?.value\" (click)=\"activateList('OWNER')\"\r\n class=\"edit\" type=\"button\"><i class=\"icons\"></i>Edit</button>\r\n </div>\r\n </input-with-pill>\r\n <p *ngIf=\"false\" class=\"error-message\">Add a owner(s)</p>\r\n <div class=\"vx-d-flex vx-align-center vx-justify-end vx-mt-2\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-mr-2\">ALL USERS ASSOCIATED WITH THE\r\n SELECTED ROLES</div>\r\n <switch formControlName=\"all_user_in_role\" (change)=\"selectAllRoleOwner($event)\"></switch>\r\n </div>\r\n <app-popover #owner [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let owner of controls?.program_owners?.value \">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i *ngIf=\"!['ADMIN','KEY_ADMIN','LOGGED_IN'].includes(owner?.user_role)\"\r\n class=\"icons\" (click)=\"remove(owner,'OWNER')\"></i>\r\n {{owner?.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 owner of controls?.program_owners_group?.value \">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i *ngIf=\"!['ADMIN','KEY_ADMIN','LOGGED_IN'].includes(owner?.user_role)\"\r\n class=\"icons\" (click)=\"remove(owner,'OWNER_GROUP')\"></i>\r\n {{owner?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </form-field>\r\n\r\n <!-- Approvers -->\r\n <form-field [checked]=\"controls?.program_approver?.value?.length\" [active]=\"activeList === 'APPROVER'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'APPROVER'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval.svg'\">\r\n <label class=\"vx-control-panel\">APPROVER</label>\r\n <input-with-pill [placeholder]=\"'Who is responsible for managing this program?'\"\r\n (select)=\"activateList('APPROVER')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_approver?.value[0]\">\r\n <div class=\"chip-container\">\r\n <!-- <div class=\"chip-inner\"> -->\r\n <span class=\"chip\"><i (click)=\"remove(controls?.program_approver?.value[0],'APPROVER')\"\r\n class=\"icons\"></i>{{controls?.program_approver?.value[0]?.member_name}}</span>\r\n <!-- </div> -->\r\n </div>\r\n <button *ngIf=\"activeList!=='APPROVER'\"(click)=\"activateList('APPROVER')\" class=\"edit\" type=\"button\"><i\r\n class=\"icons\"></i>Edit</button>\r\n </div>\r\n </input-with-pill>\r\n </form-field>\r\n\r\n <!-- Performance Calculated -->\r\n <form-field [checked]=\"controls?.performance_calculation?.value\" [active]=\"activeList === 'PERFORMANCE'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'PERFORMANCE'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/performance-calc.svg'\">\r\n <label class=\"vx-control-panel\">HOW SHOULD THE PERFORMANCE OF THIS CATEGORY BE CALCULATED?</label>\r\n <tab-selector formControlName=\"performance_calculation\" [displayArray]=\"constants?.performanceCalculation\">\r\n </tab-selector>\r\n </form-field>\r\n <div\r\n class=\"scope-label vx-fs-10 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mb-5 vx-lh-4 vx-d-inline-block\">\r\n PROGRAM SCOPE <span class=\"vx-fs-12\">*</span></div>\r\n\r\n <!-- Program Frequency -->\r\n <form-field [checked]=\"[true,false].includes(controls?.recurring_frequency?.value)\" [active]=\"activeList === 'FREQUENCY'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'FREQUENCY'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/recurring.svg'\">\r\n <label class=\"vx-control-panel\">PROGRAM FREQUENCY</label>\r\n <div class=\"upload-format\">\r\n <div class=\"vx-d-flex vx-align-center vx-justify-between\">\r\n <span class=\"text vx-mb-0\">Is this program recurring?</span>\r\n <div class=\"radio-group program\">\r\n <app-cs-radio [name]=\"'recurring_frequency'\" [checked]=\"controls?.recurring_frequency?.value\"\r\n (checkedEvent)=\"setFormField('recurring_frequency',true)\">YES</app-cs-radio>\r\n <app-cs-radio [name]=\"'recurring_frequency'\" [checked]=\"!controls?.recurring_frequency?.value\"\r\n (checkedEvent)=\"setFormField('recurring_frequency',false)\">NO</app-cs-radio>\r\n </div>\r\n </div>\r\n </div>\r\n </form-field>\r\n\r\n <!-- Scope Changes -->\r\n <form-field [checked]=\"[true,false].includes(controls?.lock_scope_change?.value)\" [active]=\"activeList === 'SCOPE'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'SCOPE'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/lock-scope.svg'\">\r\n <label class=\"vx-control-panel\">SCOPE CHANGES</label>\r\n <div class=\"upload-format\">\r\n <span class=\"text\">Would you like to <span class=\"vx-label-txt vx-fw-500\">lock changes</span> to the program\r\n scope?</span>\r\n <div class=\"radio-group program\">\r\n <app-cs-radio [name]=\"'lock_scope_change'\" [checked]=\"controls?.lock_scope_change?.value\"\r\n (checkedEvent)=\"setFormField('lock_scope_change',true)\">YES</app-cs-radio>\r\n <app-cs-radio [name]=\"'lock_scope_change'\" [checked]=\"!controls?.lock_scope_change?.value\"\r\n (checkedEvent)=\"setFormField('lock_scope_change',false)\">NO</app-cs-radio>\r\n </div>\r\n </div>\r\n </form-field>\r\n\r\n <!-- Framework -->\r\n <form-field [checked]=\"false\" [active]=\"activeList === 'FRAMEWORK'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'FRAMEWORK'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg'\">\r\n <label class=\"vx-control-panel\">FRAMEWORK</label>\r\n <input-with-pill [placeholder]=\"'Select a framework that this Program Category relates to'\" (select)=\"activateList('FRAMEWORK')\">\r\n <div class=\"selected\" *ngIf=\"controls?.framework?.value\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\">\r\n <span class=\"chip\"><i (click)=\"remove(controls?.framework.value,'FRAMEWORK')\" class=\"icons\"></i>{{controls?.framework?.value?.framework_name}}</span>\r\n <!-- <button class=\"count\" appPopover (click)=\"framework.popover()\" placement=\"right\">+5</button> -->\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='FRAMEWORK'\" (click)=\"activateList('FRAMEWORK')\" class=\"edit\" type=\"button\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </input-with-pill>\r\n <app-popover #framework [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let data of [1, 1, 1, 1, 1, 1, 1]\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\"></i>\r\n Manage framework name\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </form-field>\r\n\r\n <!-- Responsibility Center -->\r\n <form-field [checked]=\"controls?.rc?.value?.length\" [active]=\"activeList === 'RC'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'RC'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/responsibility-center.svg'\">\r\n <label class=\"vx-control-panel\">RESPONSIBILITY CENTER</label>\r\n <input-with-pill (select)=\"activateList('RC')\"\r\n [placeholder]=\"'Which Responsibility Center(s) can be linked to the responsibilities associated with this Program Category.'\">\r\n <div class=\"selected\" *ngIf=\"controls?.rc?.value && controls?.rc?.value?.length\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\">\r\n <span class=\"chip\"><i class=\"icons\"\r\n (click)=\"remove(controls?.rc?.value[0],'RC')\"></i>{{controls?.rc?.value[0]?.item_name}}</span>\r\n <button *ngIf=\"controls?.rc?.value?.length > 1\" class=\"count\" appPopover\r\n (click)=\"rc.popover()\" placement=\"right\">+{{controls?.rc?.value?.length -1 }}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='RC'\" class=\"edit\" type=\"button\" (click)=\"activateList('RC')\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n </input-with-pill>\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 controls?.rc?.value |slice:1\">\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 </form-field>\r\n\r\n <!-- Assignee -->\r\n <form-field [checked]=\"controls?.program_assignee?.value?.length || controls?.program_default_assignee?.value?.length ||controls?.program_default_assignee?.value?.length || controls?.program_default_assignee_group?.value?.length\"\r\n [active]=\"['ASSIGNEE','DEFAULT_ASSIGNEE']?.includes(activeList)\" [disabled]=\"sideElements?.includes(activeList) && !['ASSIGNEE','DEFAULT_ASSIGNEE'].includes(activeList)\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/who.svg'\">\r\n <label class=\"vx-control-panel\" [class.disabled]=\"activeList === 'DEFAULT_ASSIGNEE'\">ASSIGNEE(S)</label>\r\n <input-with-pill [disabled]=\"activeList === 'DEFAULT_ASSIGNEE'\" [placeholder]=\"'Select persons responsible for executing controls within this program'\"\r\n (select)=\"activateList('ASSIGNEE')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_assignee?.value?.length || controls?.program_assignee_group?.value?.length\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_assignee?.value?.length\">\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)=\"assignee.popover()\" placement=\"right\">{{controls?.program_assignee?.value?.length}}</button>\r\n </div>\r\n <span class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\" *ngIf=\"controls?.program_assignee_group?.value?.length && controls?.program_assignee?.value?.length\">&</span>\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_assignee_group?.value?.length\">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">GROUP(S)</span></span>\r\n <button *ngIf=\"controls?.program_assignee_group?.value?.length\" class=\"count\" appPopover (click)=\"assignee_group.popover()\" placement=\"right\">{{controls?.program_assignee_group?.value?.length }}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='ASSIGNEE'\" class=\"edit\" type=\"button\" (click)=\"activateList('ASSIGNEE')\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </input-with-pill>\r\n <app-popover #assignee [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let assignee of controls?.program_assignee?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(assignee,'ASSIGNEE')\" class=\"icons\"></i>\r\n {{assignee?.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 #assignee_group [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of controls?.program_assignee_group?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(group,'ASSIGNEE_GROUP')\" class=\"icons\"></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 <label class=\"vx-control-panel\" [class.disabled]=\"activeList === 'ASSIGNEE'\">DEFAULT ASSIGNEE(S)</label>\r\n <input-with-pill [disabled]=\"activeList === 'ASSIGNEE'\" [placeholder]=\"'Select persons responsible for executing controls within this program'\" (select)=\"activateList('DEFAULT_ASSIGNEE')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_default_assignee?.value?.length || controls?.program_default_assignee_group?.value?.length\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_default_assignee?.value?.length\">\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)=\"defaultAssignee.popover()\" placement=\"right\">{{controls?.program_default_assignee?.value?.length}}</button>\r\n </div>\r\n <span class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\" *ngIf=\"controls?.program_default_assignee_group?.value?.length && controls?.program_default_assignee?.value?.length\">&</span>\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_default_assignee_group?.value?.length\">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">GROUP(S)</span></span>\r\n <button *ngIf=\"controls?.program_default_assignee_group?.value?.length\" class=\"count\" appPopover (click)=\"defaultAssigneeGroup.popover()\" placement=\"right\">{{controls?.program_default_assignee_group?.value?.length }}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='DEFAULT_ASSIGNEE'\" (click)=\"activateList('DEFAULT_ASSIGNEE')\" class=\"edit\" type=\"button\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </input-with-pill>\r\n <app-popover #defaultAssignee [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let assignee of controls?.program_default_assignee?.value \">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(assignee,'DEFAULT_ASSIGNEE')\" class=\"icons\"></i>\r\n {{assignee?.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 #defaultAssigneeGroup [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of controls?.program_default_assignee_group?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(assignee,'DEFAULT_ASSIGNEE_GROUP')\" class=\"icons\"></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 class=\"radio-group-selector\" [class.disabled]=\"activeList === 'ASSIGNEE'\">\r\n <app-cs-radio [name]=\"'assignee'\" [checked]=\"controls?.assignee_completion_criteria?.value === 'ALL'\" (checkedEvent)=\"setFormField('assignee_completion_criteria', 'ALL')\">\r\n ALL SELECTED PERSONS NEED TO COMPLETE THIS <i class=\"icons\"\r\n [appTooltip]=\"'If selected, separate responsibilities will be created for each person.'\"\r\n placement=\"bottom-right\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\" ></i>\r\n </app-cs-radio>\r\n <app-cs-radio [name]=\"'assignee'\" [checked]=\"controls?.assignee_completion_criteria?.value === 'ANYONE'\" (checkedEvent)=\"setFormField('assignee_completion_criteria', 'ANYONE')\">\r\n ANY SELECTED PERSON CAN COMPLETE THIS <i class=\"icons\"\r\n [appTooltip]=\"'If selected, only one responsibility will be created.'\" placement=\"bottom-right\"\r\n delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\"></i>\r\n </app-cs-radio>\r\n </div>\r\n </form-field>\r\n\r\n <!-- Reviewer -->\r\n <form-field [appScrollInView]=\"scrollToBottom\" *ngIf=\"additionalOption?.REVIEWER\"\r\n [checked]=\"controls?.program_reviewer?.value?.length || controls?.program_default_reviewer?.value?.length ||controls?.program_default_reviewer?.value?.length || controls?.program_default_reviewer_group?.value?.length\"\r\n [active]=\"['REVIEWER','DEFAULT_REVIEWER']?.includes(activeList)\" [disabled]=\"sideElements?.includes(activeList) && !['REVIEWER','DEFAULT_REVIEWER'].includes(activeList)\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/reviewer.svg'\">\r\n <label [class.disabled]=\"activeList === 'DEFAULT_REVIEWER'\" class=\"vx-control-panel\">Reviewer(s)</label>\r\n <input-with-pill [disabled]=\"activeList === 'DEFAULT_REVIEWER'\" [placeholder]=\"'Select persons responsible for executing controls within this program'\" (select)=\"activateList('REVIEWER')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_reviewer?.value?.length || controls?.program_reviewer_group?.value?.length\">\r\n\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_reviewer?.value?.length\">\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)=\"reviewer.popover()\" placement=\"right\">{{controls?.program_reviewer?.value?.length}}</button>\r\n </div>\r\n <span class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\" *ngIf=\"controls?.program_reviewer_group?.value?.length && controls?.program_reviewer?.value?.length\">&</span>\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_reviewer_group?.value?.length\">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">GROUP(S)</span></span>\r\n <button *ngIf=\"controls?.program_reviewer_group?.value?.length\" class=\"count\" appPopover (click)=\"reviewerGroup.popover()\" placement=\"right\">{{controls?.program_reviewer_group?.value?.length }}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='REVIEWER'\" (click)=\"activateList('REVIEWER')\" class=\"edit\" type=\"button\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </input-with-pill>\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 controls?.program_reviewer?.value | slice:1\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(reviewer,'REVIEWER')\" class=\"icons\"></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 #reviewerGroup [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of controls?.program_reviewer_group?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(group,'REVIEWER_GROUP')\" class=\"icons\"></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 <label [class.disabled]=\"activeList === 'REVIEWER'\" class=\"vx-control-panel\">DEFAULT Reviewer(S)</label>\r\n <input-with-pill [disabled]=\"activeList === 'REVIEWER'\" [placeholder]=\"'Select persons responsible for executing controls within this program'\" (select)=\"activateList('DEFAULT_REVIEWER')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_default_reviewer?.value?.length || controls?.program_default_reviewer_group?.value?.length\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_default_reviewer?.value?.length\">\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)=\"defaultReviewer.popover()\" placement=\"right\">{{controls?.program_default_reviewer?.value?.length}}</button>\r\n </div>\r\n <span class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\" *ngIf=\"controls?.program_default_reviewer_group?.value?.length && controls?.program_default_reviewer?.value?.length\">&</span>\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_default_reviewer_group?.value?.length\">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">GROUP(S)</span></span>\r\n <button *ngIf=\"controls?.program_default_reviewer_group?.value?.length\" class=\"count\" appPopover (click)=\"assignee_group.popover()\" placement=\"right\">{{controls?.program_default_reviewer_group?.value?.length }}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='DEFAULT_REVIEWER'\" (click)=\"activateList('DEFAULT_REVIEWER')\" class=\"edit\" type=\"button\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </input-with-pill>\r\n <app-popover #defaultReviewer [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let reviewer of controls?.program_default_reviewer?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(reviewer,'DEFAULT_REVIEWER')\" class=\"icons\"></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 #defaultReviewerGroup [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of controls?.program_default_reviewer_group?.value \">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(group,'DEFAULT_REVIEWER_GROUP')\" class=\"icons\"></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 class=\"radio-group-selector\" [class.disabled]=\"activeList === 'REVIEWER'\">\r\n <app-cs-radio [name]=\"'reviewer'\" [checked]=\"controls?.reviewer_completion_criteria?.value == 'SEQUENTIAL'\" (checkedEvent)=\"setFormField('reviewer_completion_criteria', 'SEQUENTIAL')\">\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 [name]=\"'reviewer'\" [checked]=\"controls?.reviewer_completion_criteria?.value == 'ANYONE'\" (checkedEvent)=\"setFormField('reviewer_completion_criteria', 'ANYONE')\">\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 </div>\r\n </form-field>\r\n\r\n <!-- Overseer -->\r\n <form-field [appScrollInView]=\"scrollToBottom\" *ngIf=\"additionalOption?.OVERSEER\"\r\n [checked]=\"controls?.program_overseer?.value?.length || controls?.program_default_overseer?.value?.length ||controls?.program_default_overseer?.value?.length || controls?.program_default_overseer_group?.value?.length\"\r\n [active]=\"activeList === 'OVERSEER'\" [disabled]=\"sideElements?.includes(activeList) && !['OVERSEER','DEFAULT_OVERSEER','DEFAULT_FAILED_OVERSEER'].includes(activeList)\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg'\">\r\n <label class=\"vx-control-panel\" [class.disabled]=\"['DEFAULT_OVERSEER','DEFAULT_FAILED_OVERSEER'].includes(activeList)\">Overseer</label>\r\n <input-with-pill [disabled]=\"['DEFAULT_OVERSEER','DEFAULT_FAILED_OVERSEER'].includes(activeList)\" [placeholder]=\"'Who should have oversight of the responsibility?'\" (select)=\"activateList('OVERSEER')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_overseer?.value?.length || controls?.program_overseer_group?.value?.length\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_overseer?.value?.length\">\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)=\"overseers.popover()\" placement=\"right\">{{controls?.program_overseer?.value?.length}}</button>\r\n </div>\r\n\r\n <span *ngIf=\"controls?.program_overseer_group?.value?.length && controls?.program_overseer?.value?.length \" class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\">&</span>\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_overseer_group?.value?.length \">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">GROUP(S)</span></span>\r\n <button class=\"count\" appPopover (click)=\"overseerGroup.popover()\" placement=\"right\">{{controls?.program_overseer_group?.value?.length}}</button>\r\n </div>\r\n </div>\r\n\r\n <button *ngIf=\"activeList!=='OVERSEER'\" (click)=\"activateList('OVERSEER')\" class=\"edit\" type=\"button\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </input-with-pill>\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 controls?.program_overseer?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove(overseer,'OVERSEER')\"></i> {{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 #overseerGroup [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of controls?.program_overseer_group?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(group,'OVERSEER_GROUP')\" class=\"icons\"></i> {{group?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <ng-container [class.disabled]=\"activeList === 'OVERSEER'\">\r\n <label class=\"vx-control-panel\" [class.disabled]=\"['OVERSEER'].includes(activeList)\">DEFAULT Overseer</label>\r\n <input-with-pill [disabled]=\"['OVERSEER','DEFAULT_FAILED_OVERSEER'].includes(activeList)\" [placeholder]=\"'Who should have oversight of the responsibility?'\" (select)=\"activateList('DEFAULT_OVERSEER')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_default_overseer?.value?.length || controls?.program_default_overseer_group?.value?.length\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_default_overseer?.value?.length\">\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)=\"overseersDefault.popover()\" placement=\"right\">{{controls?.program_default_overseer?.value?.length}}</button>\r\n </div>\r\n\r\n <span *ngIf=\"controls?.program_default_overseer_group?.value?.length && controls?.program_default_overseer?.value?.length\" class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\">&</span>\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_default_overseer_group?.value?.length \">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">GROUP(S)</span></span>\r\n <button class=\"count\" appPopover (click)=\"overseerDefaultGroup.popover()\" placement=\"right\">{{controls?.program_default_overseer_group?.value?.length}}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='DEFAULT_OVERSEER'\" (click)=\"activateList('DEFAULT_OVERSEER')\" class=\"edit\" type=\"button\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </input-with-pill>\r\n <app-popover #overseersDefault [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let overseer of controls?.program_default_overseer?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove(overseer,'DEFAULT_OVERSEER')\"></i> {{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 #overseerDefaultGroup [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of controls?.program_default_overseer_group?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(group,'DEFAULT_OVERSEER_GROUP')\" class=\"icons\"></i> {{group?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <label class=\"vx-control-panel\" > </label>\r\n <input-with-pill class=\"vx-mt-2\" [disabled]=\"['OVERSEER','DEFAULT_OVERSEER'].includes(activeList)\" [placeholder]=\"'Who should be notified if the responsibility is not completed?'\" (select)=\"activateList('DEFAULT_FAILED_OVERSEER')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_default_failed_overseer?.value?.length || controls?.program_default_failed_overseer_group?.value?.length\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_default_failed_overseer?.value?.length\">\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)=\"overseersDefaultFail.popover()\" placement=\"right\">{{controls?.program_default_failed_overseer?.value?.length}}</button>\r\n </div>\r\n\r\n <span *ngIf=\"controls?.program_default_failed_overseer_group?.value?.length && controls?.program_default_failed_overseer?.value?.length\" class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\">&</span>\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_default_failed_overseer_group?.value?.length \">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">GROUP(S)</span></span>\r\n <button class=\"count\" appPopover (click)=\"overseerDefaultFailGroup.popover()\" placement=\"right\">{{controls?.program_default_failed_overseer_group?.value?.length}}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='DEFAULT_FAILED_OVERSEER'\" (click)=\"activateList('DEFAULT_FAILED_OVERSEER')\" class=\"edit\" type=\"button\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </input-with-pill>\r\n <app-popover #overseersDefaultFail [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let overseer of controls?.program_default_failed_overseer?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove(overseer,'DEFAULT_FAILED_OVERSEER')\"></i> {{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 #overseerDefaultFailGroup [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of controls?.program_default_failed_overseer_group?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(group,'DEFAULT_FAILED_OVERSEER_GROUP')\" class=\"icons\"></i> {{group?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n</ng-container>\r\n </form-field>\r\n\r\n <!-- Assessment -->\r\n <form-field [appScrollInView]=\"scrollToBottom\" *ngIf=\"additionalOption?.ASSESSMENT\"\r\n [checked]=\"controls?.program_assessments?.value?.length\"\r\n [active]=\"activeList === 'ASSESSMENT'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'ASSESSMENT'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/assessments.svg'\">\r\n <label class=\"vx-control-panel\">ASSESSMENTS</label>\r\n <input-with-pill [placeholder]=\"'Select assessment for this responsibility'\" (select)=\"activateList('ASSESSMENT')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_assessments?.value?.length\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\">\r\n <span class=\"chip\"><i class=\"icons\"\r\n (click)=\"remove(controls?.program_assessments?.value[0],'ASSESSMENT')\"></i>{{controls?.program_assessments?.value[0]?.assessment_name}}</span>\r\n <button *ngIf=\"controls?.program_assessments?.value?.length > 1\" class=\"count\" appPopover\r\n (click)=\"program_assessments.popover()\" placement=\"right\">+{{controls?.program_assessments?.value?.length -1 }}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='ASSESSMENT'\" class=\"edit\" type=\"button\" (click)=\"activateList('ASSESSMENT')\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n </input-with-pill>\r\n <app-popover #program_assessments [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let assessment of controls?.program_assessments?.value | slice:1\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(assessment,'ASSESSMENT')\" class=\"icons\" ></i> {{assessment?.assessment_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </form-field>\r\n\r\n\r\n <!-- Format & Evidence -->\r\n <form-field [appScrollInView]=\"scrollToBottom\" *ngIf=\"additionalOption?.FORMATE_EVIDENCE\" [checked]=\"[true,false].includes(controls?.evidence_required?.value)\"\r\n [active]=\"false\" [disabled]=\"sideElements.includes(activeList)\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/format-evidence.svg'\">\r\n <div class=\"upload-format\">\r\n\r\n <span class=\"text\">Do all responsibilities within this program require evidence?</span>\r\n <div class=\"radio-group program\">\r\n <app-cs-radio [name]=\"'evidence_required'\" [checked]=\"controls?.evidence_required?.value\"\r\n (checkedEvent)=\"setFormField('evidence_required',true)\">YES</app-cs-radio>\r\n <app-cs-radio [name]=\"'evidence_required'\" [checked]=\"!controls?.evidence_required?.value\"\r\n (checkedEvent)=\"setFormField('evidence_required',false)\">NO</app-cs-radio>\r\n </div>\r\n </div>\r\n <div class=\"vx-d-flex vx-align-center vx-justify-end vx-mt-2\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-mr-2\">Allow any file to be marked as\r\n key\r\n evidence</div>\r\n <switch formControlName=\"allow_any_file_key_evidence\"\r\n (change)=\"setFormField('allow_any_file_key_evidence',$event?.target?.checked)\"></switch>\r\n </div>\r\n </form-field>\r\n\r\n\r\n <!-- Custom Field -->\r\n <form-field [appScrollInView]=\"scrollToBottom\" *ngIf=\"additionalOption?.CUSTOM_FIELDS\" [checked]=\"controls?.custom_fields?.value?.length\"\r\n [active]=\"false\" [disabled]=\"sideElements.includes(activeList)\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/custom-fields.svg'\">\r\n <label class=\"vx-control-panel\">CUSTOM FIELDS</label>\r\n <custom-field formControlName=\"custom_fields\"></custom-field>\r\n </form-field>\r\n </form>\r\n</div>\r\n\r\n\r\n<!-- list of roles -->\r\n<role-list *ngIf=\"activeList === 'ROLE'\" [selected]=\"controls?.program_roles?.value | refDisconnect\" [loading]=\"listLoadingState.ROLES\"\r\n [list]=\"lists?.ROLES?.data ?? []\" (save)=\"listAction($event,'ROLE')\" (cancel)=\"fieldDeselector('ROLE')\"></role-list>\r\n\r\n<!-- list of frameworks -->\r\n<app-define-framework-listing *ngIf=\"activeList === 'FRAMEWORK'\" (cancel)=\"fieldDeselector('FRAMEWORK')\" (next)=\"listAction($event,'FRAMEWORK')\" [mode]=\"mode\" [selectedFramework]=\"controls?.framework?.value\"></app-define-framework-listing>\r\n<!-- list of responsibility center -->\r\n<app-responsibility-centers-list *ngIf=\"activeList === 'RC'\" [responsibilityCentersList]=\"lists?.RC ?? []\"\r\n [radioSelection]=\"false\" [rcIdKey]=\"'rc_id'\" (closeRcList)=\"fieldDeselector('RC')\"\r\n (saveSelectedList)=\"listAction($event,'RC')\" [selectedResponsibilityCenters]=\"controls?.rc?.value | refDisconnect\">\r\n</app-responsibility-centers-list>\r\n<!-- render userlist with group -->\r\n\r\n<user-group-list *ngIf=\"activeList === 'OWNER'\" [groupEnabled]=\"true\" [singleSelect]=\"false\" [loading]=\"listLoadingState.USERS\"\r\n [nonRemovableUserIds]=\"lists.NON_REMOVABLE_OWNERS | listToId : 'member_id'\" [userlist]=\"lists?.OWNERS?.data ?? []\"\r\n [selectedUsers]=\"controls?.program_owners?.value | refDisconnect\"\r\n (fetchUserData)=\"fetchUsersAssociatedWithRoles(false,$event)\" [userListInfo]=\"lists?.OWNERS\"\r\n [groupListInfo]=\"lists?.OWNERS_GROUPS\" [groupList]=\"lists?.OWNERS_GROUPS?.data ?? []\"\r\n [selectedGroups]=\"controls?.program_owners_group?.value | refDisconnect\" (save)=\"listAction($event,'OWNER')\"\r\n (cancel)=\"fieldDeselector('OWNER')\"></user-group-list>\r\n<user-group-list *ngIf=\"activeList === 'APPROVER'\" [groupEnabled]=\"false\" [singleSelect]=\"true\"\r\n [userlist]=\"lists?.APPROVERS?.data ?? []\" [selectedUsers]=\"controls?.program_approver?.value | refDisconnect\"\r\n [userListInfo]=\"lists?.APPROVERS\" (save)=\"listAction($event,'APPROVER')\" (cancel)=\"fieldDeselector('APPROVER')\">\r\n</user-group-list>\r\n<user-group-list *ngIf=\"activeList === 'ASSIGNEE'\" [groupEnabled]=\"true\" [singleSelect]=\"false\"\r\n [userlist]=\"lists?.ASSIGNEES ?? []\" [selectedUsers]=\"controls?.program_assignee?.value | refDisconnect\" [groupList]=\"lists?.ASSIGNEES_GROUP ?? []\"\r\n [selectedGroups]=\"controls?.program_assignee_group?.value | refDisconnect\"\r\n [userListInfo]=\"lists?.ASSIGNEES\" (save)=\"listAction($event,'ASSIGNEE')\" (cancel)=\"fieldDeselector('ASSIGNEE')\">\r\n</user-group-list>\r\n<user-group-list *ngIf=\"activeList === 'DEFAULT_ASSIGNEE'\" [groupEnabled]=\"true\" [singleSelect]=\"false\"\r\n [userlist]=\"lists?.DEFAULT_ASSIGNEES ?? []\" [selectedUsers]=\"controls?.program_default_assignee?.value | refDisconnect\" [groupList]=\"lists?.DEFAULT_ASSIGNEES_GROUP ?? []\"\r\n [selectedGroups]=\"controls?.program_default_assignee_group?.value | refDisconnect\"\r\n [userListInfo]=\"lists?.DEFAULT_ASSIGNEE\" (save)=\"listAction($event,'DEFAULT_ASSIGNEE')\" (cancel)=\"fieldDeselector('DEFAULT_ASSIGNEE')\">\r\n</user-group-list>\r\n\r\n<user-group-list *ngIf=\"activeList === 'REVIEWER'\" [groupEnabled]=\"true\" [singleSelect]=\"false\"\r\n [userlist]=\"lists?.REVIEWERS ?? []\" [selectedUsers]=\"controls?.program_reviewer?.value | refDisconnect\" [groupList]=\"lists?.REVIEWERS_GROUP ?? []\"\r\n [selectedGroups]=\"controls?.program_reviewer_group?.value | refDisconnect\"\r\n [userListInfo]=\"lists?.REVIEWERS\" (save)=\"listAction($event,'REVIEWER')\" (cancel)=\"fieldDeselector('REVIEWER')\">\r\n</user-group-list>\r\n<user-group-list *ngIf=\"activeList === 'DEFAULT_REVIEWER'\" [groupEnabled]=\"true\" [singleSelect]=\"false\"\r\n [userlist]=\"lists?.DEFAULT_REVIEWERS ?? []\" [selectedUsers]=\"controls?.program_default_reviewer?.value | refDisconnect\" [groupList]=\"lists?.DEFAULT_REVIEWERS_GROUP ?? []\"\r\n [selectedGroups]=\"controls?.program_default_reviewer_group?.value | refDisconnect\"\r\n [userListInfo]=\"lists?.DEFAULT_REVIEWERS\" (save)=\"listAction($event,'DEFAULT_REVIEWER')\" (cancel)=\"fieldDeselector('DEFAULT_REVIEWER')\">\r\n</user-group-list>\r\n<user-group-list *ngIf=\"activeList === 'OVERSEER'\" [groupEnabled]=\"true\" [singleSelect]=\"false\"\r\n [userlist]=\"lists?.OVERSEERS ?? []\" [selectedUsers]=\"controls?.program_overseer?.value | refDisconnect\" [groupList]=\"lists?.OVERSEERS_GROUP ?? []\"\r\n [selectedGroups]=\"controls?.program_overseer_group?.value | refDisconnect\"\r\n [userListInfo]=\"lists?.OVERSEES\" (save)=\"listAction($event,'OVERSEER')\" (cancel)=\"fieldDeselector('OVERSEER')\">\r\n</user-group-list>\r\n<user-group-list *ngIf=\"activeList === 'DEFAULT_OVERSEER'\" [groupEnabled]=\"true\" [singleSelect]=\"false\"\r\n [userlist]=\"lists?.DEFAULT_OVERSEERS ?? []\" [selectedUsers]=\"controls?.program_default_overseer?.value | refDisconnect\" [groupList]=\"lists?.DEFAULT_OVERSEERS_GROUP ?? []\"\r\n [selectedGroups]=\"controls?.program_default_overseer_group?.value | refDisconnect\"\r\n [userListInfo]=\"lists?.DEFAULT_OVERSEERS\" (save)=\"listAction($event,'DEFAULT_OVERSEER')\" (cancel)=\"fieldDeselector('DEFAULT_OVERSEER')\">\r\n</user-group-list>\r\n<user-group-list *ngIf=\"activeList === 'DEFAULT_FAILED_OVERSEER'\" [groupEnabled]=\"true\" [singleSelect]=\"false\"\r\n [userlist]=\"lists?.DEFAULT_OVERSEERS ?? []\" [selectedUsers]=\"controls?.program_default_failed_overseer?.value | refDisconnect\" [groupList]=\"lists?.DEFAULT_OVERSEERS_GROUP ?? []\"\r\n [selectedGroups]=\"controls?.program_default_failed_overseer_group?.value | refDisconnect\"\r\n [userListInfo]=\"lists?.DEFAULT_OVERSEERS\" (save)=\"listAction($event,'DEFAULT_FAILED_OVERSEER')\" (cancel)=\"fieldDeselector('DEFAULT_FAILED_OVERSEER')\">\r\n</user-group-list>\r\n<assessment-picker *ngIf=\"activeList === 'ASSESSMENT'\" [selectedAssessment]=\"controls?.program_assessments?.value | refDisconnect\" (cancelAssessment)=\"fieldDeselector('ASSESSMENT')\" (onAssessmentSelect)=\"listAction($event,'ASSESSMENT')\"></assessment-picker>\r\n<app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n <app-smiley-dialog-inline\r\n *ngIf=\"showSmiley\"\r\n [message]=\"smileyMessage\"\r\n [actionButtons]=\"actionButtons\"\r\n (action)=\"action($event)\"\r\n (closeSmiley)=\"closeSmiley($event)\">\r\n </app-smiley-dialog-inline>\r\n",
|
|
23360
|
+
template: "<div class=\"workflow-program\" #form>\r\n <form novalidate [formGroup]=\"programForm\">\r\n <!-- Program Category Type -->\r\n <form-field [checked]=\"controls?.program_type?.value > -1\" [active]=\"false\" [disabled]=\"sideElements.includes(activeList)\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/issue-type.svg'\">\r\n <label class=\"vx-control-panel\">PROGRAM TYPE <span class=\"required\">*</span></label>\r\n <tab-selector formControlName=\"program_type\" [displayArray]=\"constants?.categoryType\"></tab-selector>\r\n <!-- <p *ngIf=\"program_name?.invalid\" class=\"error-message\">Add a program type</p> -->\r\n </form-field>\r\n\r\n <!-- Program Category Name -->\r\n <form-field [checked]=\"controls?.program_name?.value?.trim()?.length\" [active]=\"false\" [disabled]=\"sideElements.includes(activeList)\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/what.svg'\">\r\n <label class=\"vx-control-panel\">PROGRAM NAME <span class=\"required\">*</span></label>\r\n <input InputTrim formControlName=\"program_name\" type=\"text\"\r\n placeholder=\"What is the Program Category\u2019s name?\">\r\n\r\n <p *ngIf=\"controls?.program_name?.errors && controls?.program_name?.touched\" class=\"error-message\">Enter a\r\n name for this Program.</p>\r\n <div class=\"upload-files vx-d-flex vx-align-center vx-flex-wrap vx-mt-1\">\r\n <file-pill *ngFor=\"let attachment of controls?.description_attachment?.value |slice:0:2\"\r\n [extension]=\"attachment?.org_file?.split('.').pop()\" [name]=\"attachment?.org_file\"\r\n [disabled]=\"attachment?.uploading\" (delete)=\"deleteAttachment('DESCRIPTION',attachment)\">\r\n </file-pill>\r\n <button *ngIf=\"controls?.description_attachment?.value?.length > 2\" class=\"file-count\" appPopover (click)=\"uploadFile.popover()\" placement=\"right\">+{{controls?.description_attachment?.value?.length - 2}}</button>\r\n <app-popover #uploadFile [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li class=\"vx-p-2\" *ngFor=\"let attachment of controls?.description_attachment?.value|slice:2\">\r\n <file-pill [extension]=\"attachment?.org_file?.split('.').pop()\" [name]=\"attachment?.org_file\"\r\n [disabled]=\"attachment?.uploading\" (delete)=\"deleteAttachment('DESCRIPTION',attachment)\"></file-pill>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <marx-editor [(ngModel)]=\"editorData.programDescription\" [ngModelOptions]=\"{standalone: true}\"\r\n (sendSavedFiles)=\"selectFile('DESCRIPTION',$event)\"\r\n (ngModelChange)=\"setFormField('program_description',$event)\" [editorConfig]=\"constants?.description\">\r\n </marx-editor>\r\n </form-field>\r\n\r\n <!-- Objective -->\r\n <form-field [checked]=\"controls?.program_objective?.value?.trim()?.length\" [active]=\"activeList === 'OBJECTIVE'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'OBJECTIVE'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/objectives.svg'\">\r\n <label class=\"vx-control-panel\">OBJECTIVE <span class=\"required\">*</span></label>\r\n <marx-editor [(ngModel)]=\"editorData.programObjective\" [ngModelOptions]=\"{standalone: true}\"\r\n (ngModelChange)=\"setFormField('program_objective',$event)\" [editorConfig]=\"constants?.objective\">\r\n </marx-editor>\r\n <p *ngIf=\"false\" class=\"error-message\">Specify the objective for this Program.</p>\r\n </form-field>\r\n\r\n <!-- Roles -->\r\n <form-field [checked]=\"controls?.program_roles?.value?.length \" [active]=\"activeList === 'ROLE'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'ROLE'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/roles.svg'\">\r\n <label class=\"vx-control-panel\">ROLE(S) <span class=\"required\">*</span></label>\r\n <input-with-pill [placeholder]=\"'Which user roles have access to this program?'\"\r\n (select)=\"activateList('ROLE')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_roles?.value?.length\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\">\r\n <span class=\"chip\"><i *ngIf=\"controls?.program_roles?.value[0]?.roleType !== 'system role'\"\r\n (click)=\"remove(controls?.program_roles?.value[0],'ROLE')\"\r\n class=\"icons\"></i>{{controls?.program_roles?.value[0]?.roleName}}</span>\r\n <button *ngIf=\"controls?.program_roles?.value?.length > 1\" class=\"count\" appPopover\r\n (click)=\"role.popover()\" placement=\"right\">\r\n +{{controls?.program_roles?.value?.length - 1}}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='ROLE'\" class=\"edit\" type=\"button\" (click)=\"activateList('ROLE')\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n </input-with-pill>\r\n <p *ngIf=\"false\" class=\"error-message\">Add a role(s)</p>\r\n <app-popover #role [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let data of controls?.program_roles?.value | slice:1\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i *ngIf=\"data?.roleType !== 'system role'\" class=\"icons\"\r\n (click)=\"remove(data,'ROLE')\"></i>\r\n {{data?.roleName}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </form-field>\r\n\r\n <!-- Owners -->\r\n <form-field [checked]=\"controls?.program_owners.value?.length > 0 || controls?.program_owners_group.value?.length > 0\" [active]=\"activeList === 'OWNER'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'OWNER'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/owner.svg'\">\r\n <label class=\"vx-control-panel\">OWNER(S) <span class=\"required\">*</span></label>\r\n <input-with-pill [placeholder]=\"'Who is responsible for managing this program?'\"\r\n (select)=\"activateList('OWNER')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_owners.value[0]\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\">\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)=\"owner.popover()\" placement=\"right\">{{controls?.program_owners?.value?.length}}</button>\r\n </div>\r\n <span class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\" *ngIf=\"controls?.program_owners_group?.value?.length && controls?.program_owners?.value?.length\">&</span>\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_owners_group?.value?.length\">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">GROUP(S)</span></span>\r\n <button *ngIf=\"controls?.program_owners_group?.value?.length\" class=\"count\" appPopover (click)=\"group.popover()\" placement=\"right\">{{controls?.program_owners_group?.value?.length }}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='OWNER'\" [class.disabled]=\"controls?.all_user_in_role?.value\" (click)=\"activateList('OWNER')\"\r\n class=\"edit\" type=\"button\"><i class=\"icons\"></i>Edit</button>\r\n </div>\r\n </input-with-pill>\r\n <p *ngIf=\"false\" class=\"error-message\">Add a owner(s)</p>\r\n <div class=\"vx-d-flex vx-align-center vx-justify-end vx-mt-2\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-mr-2\">ALL USERS ASSOCIATED WITH THE\r\n SELECTED ROLES</div>\r\n <switch formControlName=\"all_user_in_role\" (change)=\"selectAllRoleOwner($event)\"></switch>\r\n </div>\r\n <app-popover #owner [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let owner of controls?.program_owners?.value \">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i *ngIf=\"!['ADMIN','KEY_ADMIN','LOGGED_IN'].includes(owner?.user_role)\"\r\n class=\"icons\" (click)=\"remove(owner,'OWNER')\"></i>\r\n {{owner?.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 owner of controls?.program_owners_group?.value \">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i *ngIf=\"!['ADMIN','KEY_ADMIN','LOGGED_IN'].includes(owner?.user_role)\"\r\n class=\"icons\" (click)=\"remove(owner,'OWNER_GROUP')\"></i>\r\n {{owner?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </form-field>\r\n\r\n <!-- Approvers -->\r\n <form-field [checked]=\"controls?.program_approver?.value?.length\" [active]=\"activeList === 'APPROVER'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'APPROVER'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval.svg'\">\r\n <label class=\"vx-control-panel\">APPROVER</label>\r\n <input-with-pill [placeholder]=\"'Who is responsible for managing this program?'\"\r\n (select)=\"activateList('APPROVER')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_approver?.value[0]\">\r\n <div class=\"chip-container\">\r\n <!-- <div class=\"chip-inner\"> -->\r\n <span class=\"chip\"><i (click)=\"remove(controls?.program_approver?.value[0],'APPROVER')\"\r\n class=\"icons\"></i>{{controls?.program_approver?.value[0]?.member_name}}</span>\r\n <!-- </div> -->\r\n </div>\r\n <button *ngIf=\"activeList!=='APPROVER'\"(click)=\"activateList('APPROVER')\" class=\"edit\" type=\"button\"><i\r\n class=\"icons\"></i>Edit</button>\r\n </div>\r\n </input-with-pill>\r\n </form-field>\r\n\r\n <!-- Performance Calculated -->\r\n <form-field [checked]=\"controls?.performance_calculation?.value\" [active]=\"activeList === 'PERFORMANCE'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'PERFORMANCE'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/performance-calc.svg'\">\r\n <label class=\"vx-control-panel\">HOW SHOULD THE PERFORMANCE OF THIS CATEGORY BE CALCULATED?</label>\r\n <tab-selector formControlName=\"performance_calculation\" [displayArray]=\"constants?.performanceCalculation\">\r\n </tab-selector>\r\n </form-field>\r\n <div\r\n class=\"scope-label vx-fs-10 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mb-5 vx-lh-4 vx-d-inline-block\">\r\n PROGRAM SCOPE <span class=\"vx-fs-12\">*</span></div>\r\n\r\n <!-- Program Frequency -->\r\n <form-field [checked]=\"[true,false].includes(controls?.recurring_frequency?.value)\" [active]=\"activeList === 'FREQUENCY'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'FREQUENCY'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/recurring.svg'\">\r\n <label class=\"vx-control-panel\">PROGRAM FREQUENCY</label>\r\n <div class=\"upload-format\">\r\n <div class=\"vx-d-flex vx-align-center vx-justify-between\">\r\n <span class=\"text vx-mb-0\">Is this program recurring?</span>\r\n <div class=\"radio-group program\">\r\n <app-cs-radio [name]=\"'recurring_frequency'\" [checked]=\"controls?.recurring_frequency?.value\"\r\n (checkedEvent)=\"setFormField('recurring_frequency',true)\">YES</app-cs-radio>\r\n <app-cs-radio [name]=\"'recurring_frequency'\" [checked]=\"!controls?.recurring_frequency?.value\"\r\n (checkedEvent)=\"setFormField('recurring_frequency',false)\">NO</app-cs-radio>\r\n </div>\r\n </div>\r\n </div>\r\n </form-field>\r\n\r\n <!-- Scope Changes -->\r\n <form-field [checked]=\"[true,false].includes(controls?.lock_scope_change?.value)\" [active]=\"activeList === 'SCOPE'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'SCOPE'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/lock-scope.svg'\">\r\n <label class=\"vx-control-panel\">SCOPE CHANGES</label>\r\n <div class=\"upload-format\">\r\n <span class=\"text\">Would you like to <span class=\"vx-label-txt vx-fw-500\">lock changes</span> to the program\r\n scope?</span>\r\n <div class=\"radio-group program\">\r\n <app-cs-radio [name]=\"'lock_scope_change'\" [checked]=\"controls?.lock_scope_change?.value\"\r\n (checkedEvent)=\"setFormField('lock_scope_change',true)\">YES</app-cs-radio>\r\n <app-cs-radio [name]=\"'lock_scope_change'\" [checked]=\"!controls?.lock_scope_change?.value\"\r\n (checkedEvent)=\"setFormField('lock_scope_change',false)\">NO</app-cs-radio>\r\n </div>\r\n </div>\r\n </form-field>\r\n\r\n <!-- Framework -->\r\n <form-field [checked]=\"false\" [active]=\"activeList === 'FRAMEWORK'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'FRAMEWORK'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg'\">\r\n <label class=\"vx-control-panel\">FRAMEWORK</label>\r\n <input-with-pill [placeholder]=\"'Select a framework that this Program Category relates to'\" (select)=\"activateList('FRAMEWORK')\">\r\n <div class=\"selected\" *ngIf=\"controls?.framework?.value\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\">\r\n <span class=\"chip\"><i (click)=\"remove(controls?.framework.value,'FRAMEWORK')\" class=\"icons\"></i>{{controls?.framework?.value?.framework_name}}</span>\r\n <!-- <button class=\"count\" appPopover (click)=\"framework.popover()\" placement=\"right\">+5</button> -->\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='FRAMEWORK'\" (click)=\"activateList('FRAMEWORK')\" class=\"edit\" type=\"button\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </input-with-pill>\r\n <app-popover #framework [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let data of [1, 1, 1, 1, 1, 1, 1]\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\"></i>\r\n Manage framework name\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </form-field>\r\n\r\n <!-- Responsibility Center -->\r\n <form-field [checked]=\"controls?.rc?.value?.length\" [active]=\"activeList === 'RC'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'RC'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/responsibility-center.svg'\">\r\n <label class=\"vx-control-panel\">RESPONSIBILITY CENTER</label>\r\n <input-with-pill (select)=\"activateList('RC')\"\r\n [placeholder]=\"'Which Responsibility Center(s) can be linked to the responsibilities associated with this Program Category.'\">\r\n <div class=\"selected\" *ngIf=\"controls?.rc?.value && controls?.rc?.value?.length\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\">\r\n <span class=\"chip\"><i class=\"icons\"\r\n (click)=\"remove(controls?.rc?.value[0],'RC')\"></i>{{controls?.rc?.value[0]?.item_name}}</span>\r\n <button *ngIf=\"controls?.rc?.value?.length > 1\" class=\"count\" appPopover\r\n (click)=\"rc.popover()\" placement=\"right\">+{{controls?.rc?.value?.length -1 }}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='RC'\" class=\"edit\" type=\"button\" (click)=\"activateList('RC')\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n </input-with-pill>\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 controls?.rc?.value |slice:1\">\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 </form-field>\r\n\r\n <!-- Assignee -->\r\n <form-field [checked]=\"controls?.program_assignee?.value?.length || controls?.program_default_assignee?.value?.length ||controls?.program_default_assignee?.value?.length || controls?.program_default_assignee_group?.value?.length\"\r\n [active]=\"['ASSIGNEE','DEFAULT_ASSIGNEE']?.includes(activeList)\" [disabled]=\"sideElements?.includes(activeList) && !['ASSIGNEE','DEFAULT_ASSIGNEE'].includes(activeList)\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/who.svg'\">\r\n <label class=\"vx-control-panel\" [class.disabled]=\"activeList === 'DEFAULT_ASSIGNEE'\">ASSIGNEE(S)</label>\r\n <input-with-pill [disabled]=\"activeList === 'DEFAULT_ASSIGNEE'\" [placeholder]=\"'Select persons responsible for executing controls within this program'\"\r\n (select)=\"activateList('ASSIGNEE')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_assignee?.value?.length || controls?.program_assignee_group?.value?.length\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_assignee?.value?.length\">\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)=\"assignee.popover()\" placement=\"right\">{{controls?.program_assignee?.value?.length}}</button>\r\n </div>\r\n <span class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\" *ngIf=\"controls?.program_assignee_group?.value?.length && controls?.program_assignee?.value?.length\">&</span>\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_assignee_group?.value?.length\">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">GROUP(S)</span></span>\r\n <button *ngIf=\"controls?.program_assignee_group?.value?.length\" class=\"count\" appPopover (click)=\"assignee_group.popover()\" placement=\"right\">{{controls?.program_assignee_group?.value?.length }}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='ASSIGNEE'\" class=\"edit\" type=\"button\" (click)=\"activateList('ASSIGNEE')\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </input-with-pill>\r\n <app-popover #assignee [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let assignee of controls?.program_assignee?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(assignee,'ASSIGNEE')\" class=\"icons\"></i>\r\n {{assignee?.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 #assignee_group [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of controls?.program_assignee_group?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(group,'ASSIGNEE_GROUP')\" class=\"icons\"></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 <label class=\"vx-control-panel\" [class.disabled]=\"activeList === 'ASSIGNEE'\">DEFAULT ASSIGNEE(S)</label>\r\n <input-with-pill [disabled]=\"activeList === 'ASSIGNEE'\" [placeholder]=\"'Select persons responsible for executing controls within this program'\" (select)=\"activateList('DEFAULT_ASSIGNEE')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_default_assignee?.value?.length || controls?.program_default_assignee_group?.value?.length\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_default_assignee?.value?.length\">\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)=\"defaultAssignee.popover()\" placement=\"right\">{{controls?.program_default_assignee?.value?.length}}</button>\r\n </div>\r\n <span class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\" *ngIf=\"controls?.program_default_assignee_group?.value?.length && controls?.program_default_assignee?.value?.length\">&</span>\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_default_assignee_group?.value?.length\">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">GROUP(S)</span></span>\r\n <button *ngIf=\"controls?.program_default_assignee_group?.value?.length\" class=\"count\" appPopover (click)=\"defaultAssigneeGroup.popover()\" placement=\"right\">{{controls?.program_default_assignee_group?.value?.length }}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='DEFAULT_ASSIGNEE'\" (click)=\"activateList('DEFAULT_ASSIGNEE')\" class=\"edit\" type=\"button\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </input-with-pill>\r\n <app-popover #defaultAssignee [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let assignee of controls?.program_default_assignee?.value \">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(assignee,'DEFAULT_ASSIGNEE')\" class=\"icons\"></i>\r\n {{assignee?.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 #defaultAssigneeGroup [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of controls?.program_default_assignee_group?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(assignee,'DEFAULT_ASSIGNEE_GROUP')\" class=\"icons\"></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 class=\"radio-group-selector\" [class.disabled]=\"activeList === 'ASSIGNEE'\">\r\n <app-cs-radio [name]=\"'assignee'\" [checked]=\"controls?.assignee_completion_criteria?.value === 'ALL'\" (checkedEvent)=\"setFormField('assignee_completion_criteria', 'ALL')\">\r\n ALL SELECTED PERSONS NEED TO COMPLETE THIS <i class=\"icons\"\r\n [appTooltip]=\"'If selected, separate responsibilities will be created for each person.'\"\r\n placement=\"bottom-right\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\" ></i>\r\n </app-cs-radio>\r\n <app-cs-radio [name]=\"'assignee'\" [checked]=\"controls?.assignee_completion_criteria?.value === 'ANYONE'\" (checkedEvent)=\"setFormField('assignee_completion_criteria', 'ANYONE')\">\r\n ANY SELECTED PERSON CAN COMPLETE THIS <i class=\"icons\"\r\n [appTooltip]=\"'If selected, only one responsibility will be created.'\" placement=\"bottom-right\"\r\n delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\"></i>\r\n </app-cs-radio>\r\n </div>\r\n </form-field>\r\n\r\n <!-- Reviewer -->\r\n <form-field [appScrollInView]=\"scrollToBottom\" *ngIf=\"additionalOption?.REVIEWER\"\r\n [checked]=\"controls?.program_reviewer?.value?.length || controls?.program_default_reviewer?.value?.length ||controls?.program_default_reviewer?.value?.length || controls?.program_default_reviewer_group?.value?.length\"\r\n [active]=\"['REVIEWER','DEFAULT_REVIEWER']?.includes(activeList)\" [disabled]=\"sideElements?.includes(activeList) && !['REVIEWER','DEFAULT_REVIEWER'].includes(activeList)\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/reviewer.svg'\">\r\n <label [class.disabled]=\"activeList === 'DEFAULT_REVIEWER'\" class=\"vx-control-panel\">Reviewer(s)</label>\r\n <input-with-pill [disabled]=\"activeList === 'DEFAULT_REVIEWER'\" [placeholder]=\"'Select persons responsible for executing controls within this program'\" (select)=\"activateList('REVIEWER')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_reviewer?.value?.length || controls?.program_reviewer_group?.value?.length\">\r\n\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_reviewer?.value?.length\">\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)=\"reviewer.popover()\" placement=\"right\">{{controls?.program_reviewer?.value?.length}}</button>\r\n </div>\r\n <span class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\" *ngIf=\"controls?.program_reviewer_group?.value?.length && controls?.program_reviewer?.value?.length\">&</span>\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_reviewer_group?.value?.length\">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">GROUP(S)</span></span>\r\n <button *ngIf=\"controls?.program_reviewer_group?.value?.length\" class=\"count\" appPopover (click)=\"reviewerGroup.popover()\" placement=\"right\">{{controls?.program_reviewer_group?.value?.length }}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='REVIEWER'\" (click)=\"activateList('REVIEWER')\" class=\"edit\" type=\"button\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </input-with-pill>\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 controls?.program_reviewer?.value | slice:1\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(reviewer,'REVIEWER')\" class=\"icons\"></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 #reviewerGroup [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of controls?.program_reviewer_group?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(group,'REVIEWER_GROUP')\" class=\"icons\"></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 <label [class.disabled]=\"activeList === 'REVIEWER'\" class=\"vx-control-panel\">DEFAULT Reviewer(S)</label>\r\n <input-with-pill [disabled]=\"activeList === 'REVIEWER'\" [placeholder]=\"'Select persons responsible for executing controls within this program'\" (select)=\"activateList('DEFAULT_REVIEWER')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_default_reviewer?.value?.length || controls?.program_default_reviewer_group?.value?.length\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_default_reviewer?.value?.length\">\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)=\"defaultReviewer.popover()\" placement=\"right\">{{controls?.program_default_reviewer?.value?.length}}</button>\r\n </div>\r\n <span class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\" *ngIf=\"controls?.program_default_reviewer_group?.value?.length && controls?.program_default_reviewer?.value?.length\">&</span>\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_default_reviewer_group?.value?.length\">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">GROUP(S)</span></span>\r\n <button *ngIf=\"controls?.program_default_reviewer_group?.value?.length\" class=\"count\" appPopover (click)=\"assignee_group.popover()\" placement=\"right\">{{controls?.program_default_reviewer_group?.value?.length }}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='DEFAULT_REVIEWER'\" (click)=\"activateList('DEFAULT_REVIEWER')\" class=\"edit\" type=\"button\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </input-with-pill>\r\n <app-popover #defaultReviewer [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let reviewer of controls?.program_default_reviewer?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(reviewer,'DEFAULT_REVIEWER')\" class=\"icons\"></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 #defaultReviewerGroup [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of controls?.program_default_reviewer_group?.value \">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(group,'DEFAULT_REVIEWER_GROUP')\" class=\"icons\"></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 class=\"radio-group-selector\" [class.disabled]=\"activeList === 'REVIEWER'\">\r\n <app-cs-radio [name]=\"'reviewer'\" [checked]=\"controls?.reviewer_completion_criteria?.value == 'SEQUENTIAL'\" (checkedEvent)=\"setFormField('reviewer_completion_criteria', 'SEQUENTIAL')\">\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 [name]=\"'reviewer'\" [checked]=\"controls?.reviewer_completion_criteria?.value == 'ANYONE'\" (checkedEvent)=\"setFormField('reviewer_completion_criteria', 'ANYONE')\">\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 </div>\r\n </form-field>\r\n\r\n <!-- Overseer -->\r\n <form-field [appScrollInView]=\"scrollToBottom\" *ngIf=\"additionalOption?.OVERSEER\"\r\n [checked]=\"controls?.program_overseer?.value?.length || controls?.program_default_overseer?.value?.length ||controls?.program_default_overseer?.value?.length || controls?.program_default_overseer_group?.value?.length\"\r\n [active]=\"activeList === 'OVERSEER'\" [disabled]=\"sideElements?.includes(activeList) && !['OVERSEER','DEFAULT_OVERSEER','DEFAULT_FAILED_OVERSEER'].includes(activeList)\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg'\">\r\n <label class=\"vx-control-panel\" [class.disabled]=\"['DEFAULT_OVERSEER','DEFAULT_FAILED_OVERSEER'].includes(activeList)\">Overseer</label>\r\n <input-with-pill [disabled]=\"['DEFAULT_OVERSEER','DEFAULT_FAILED_OVERSEER'].includes(activeList)\" [placeholder]=\"'Who should have oversight of the responsibility?'\" (select)=\"activateList('OVERSEER')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_overseer?.value?.length || controls?.program_overseer_group?.value?.length\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_overseer?.value?.length\">\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)=\"overseers.popover()\" placement=\"right\">{{controls?.program_overseer?.value?.length}}</button>\r\n </div>\r\n\r\n <span *ngIf=\"controls?.program_overseer_group?.value?.length && controls?.program_overseer?.value?.length \" class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\">&</span>\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_overseer_group?.value?.length \">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">GROUP(S)</span></span>\r\n <button class=\"count\" appPopover (click)=\"overseerGroup.popover()\" placement=\"right\">{{controls?.program_overseer_group?.value?.length}}</button>\r\n </div>\r\n </div>\r\n\r\n <button *ngIf=\"activeList!=='OVERSEER'\" (click)=\"activateList('OVERSEER')\" class=\"edit\" type=\"button\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </input-with-pill>\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 controls?.program_overseer?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove(overseer,'OVERSEER')\"></i> {{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 #overseerGroup [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of controls?.program_overseer_group?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(group,'OVERSEER_GROUP')\" class=\"icons\"></i> {{group?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <ng-container [class.disabled]=\"activeList === 'OVERSEER'\">\r\n <label class=\"vx-control-panel\" [class.disabled]=\"['OVERSEER'].includes(activeList)\">DEFAULT Overseer</label>\r\n <input-with-pill [disabled]=\"['OVERSEER','DEFAULT_FAILED_OVERSEER'].includes(activeList)\" [placeholder]=\"'Who should have oversight of the responsibility?'\" (select)=\"activateList('DEFAULT_OVERSEER')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_default_overseer?.value?.length || controls?.program_default_overseer_group?.value?.length\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_default_overseer?.value?.length\">\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)=\"overseersDefault.popover()\" placement=\"right\">{{controls?.program_default_overseer?.value?.length}}</button>\r\n </div>\r\n\r\n <span *ngIf=\"controls?.program_default_overseer_group?.value?.length && controls?.program_default_overseer?.value?.length\" class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\">&</span>\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_default_overseer_group?.value?.length \">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">GROUP(S)</span></span>\r\n <button class=\"count\" appPopover (click)=\"overseerDefaultGroup.popover()\" placement=\"right\">{{controls?.program_default_overseer_group?.value?.length}}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='DEFAULT_OVERSEER'\" (click)=\"activateList('DEFAULT_OVERSEER')\" class=\"edit\" type=\"button\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </input-with-pill>\r\n <app-popover #overseersDefault [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let overseer of controls?.program_default_overseer?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove(overseer,'DEFAULT_OVERSEER')\"></i> {{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 #overseerDefaultGroup [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of controls?.program_default_overseer_group?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(group,'DEFAULT_OVERSEER_GROUP')\" class=\"icons\"></i> {{group?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <label class=\"vx-control-panel\" > </label>\r\n <input-with-pill class=\"vx-mt-2\" [disabled]=\"['OVERSEER','DEFAULT_OVERSEER'].includes(activeList)\" [placeholder]=\"'Who should be notified if the responsibility is not completed?'\" (select)=\"activateList('DEFAULT_FAILED_OVERSEER')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_default_failed_overseer?.value?.length || controls?.program_default_failed_overseer_group?.value?.length\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_default_failed_overseer?.value?.length\">\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)=\"overseersDefaultFail.popover()\" placement=\"right\">{{controls?.program_default_failed_overseer?.value?.length}}</button>\r\n </div>\r\n\r\n <span *ngIf=\"controls?.program_default_failed_overseer_group?.value?.length && controls?.program_default_failed_overseer?.value?.length\" class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\">&</span>\r\n <div class=\"chip-inner\" *ngIf=\"controls?.program_default_failed_overseer_group?.value?.length \">\r\n <span class=\"chip\"><span class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase\">GROUP(S)</span></span>\r\n <button class=\"count\" appPopover (click)=\"overseerDefaultFailGroup.popover()\" placement=\"right\">{{controls?.program_default_failed_overseer_group?.value?.length}}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='DEFAULT_FAILED_OVERSEER'\" (click)=\"activateList('DEFAULT_FAILED_OVERSEER')\" class=\"edit\" type=\"button\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </input-with-pill>\r\n <app-popover #overseersDefaultFail [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let overseer of controls?.program_default_failed_overseer?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove(overseer,'DEFAULT_FAILED_OVERSEER')\"></i> {{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 #overseerDefaultFailGroup [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let group of controls?.program_default_failed_overseer_group?.value\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(group,'DEFAULT_FAILED_OVERSEER_GROUP')\" class=\"icons\"></i> {{group?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n</ng-container>\r\n </form-field>\r\n\r\n <!-- Assessment -->\r\n <form-field [appScrollInView]=\"scrollToBottom\" *ngIf=\"additionalOption?.ASSESSMENT\"\r\n [checked]=\"controls?.program_assessments?.value?.length\"\r\n [active]=\"activeList === 'ASSESSMENT'\" [disabled]=\"sideElements.includes(activeList) && activeList !== 'ASSESSMENT'\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/assessments.svg'\">\r\n <label class=\"vx-control-panel\">ASSESSMENTS</label>\r\n <input-with-pill [placeholder]=\"'Select assessment for this responsibility'\" (select)=\"activateList('ASSESSMENT')\">\r\n <div class=\"selected\" *ngIf=\"controls?.program_assessments?.value?.length\">\r\n <div class=\"chip-container\">\r\n <div class=\"chip-inner\">\r\n <span class=\"chip\"><i class=\"icons\"\r\n (click)=\"remove(controls?.program_assessments?.value[0],'ASSESSMENT')\"></i>{{controls?.program_assessments?.value[0]?.assessment_name}}</span>\r\n <button *ngIf=\"controls?.program_assessments?.value?.length > 1\" class=\"count\" appPopover\r\n (click)=\"program_assessments.popover()\" placement=\"right\">+{{controls?.program_assessments?.value?.length -1 }}</button>\r\n </div>\r\n </div>\r\n <button *ngIf=\"activeList!=='ASSESSMENT'\" class=\"edit\" type=\"button\" (click)=\"activateList('ASSESSMENT')\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n </input-with-pill>\r\n <app-popover #program_assessments [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let assessment of controls?.program_assessments?.value | slice:1\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i (click)=\"remove(assessment,'ASSESSMENT')\" class=\"icons\" ></i> {{assessment?.assessment_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </form-field>\r\n\r\n\r\n <!-- Format & Evidence -->\r\n <form-field [appScrollInView]=\"scrollToBottom\" *ngIf=\"additionalOption?.FORMATE_EVIDENCE\" [checked]=\"[true,false].includes(controls?.evidence_required?.value)\"\r\n [active]=\"false\" [disabled]=\"sideElements.includes(activeList)\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/format-evidence.svg'\">\r\n <div class=\"upload-format\">\r\n\r\n <span class=\"text\">Do all responsibilities within this program require evidence?</span>\r\n <div class=\"radio-group program\">\r\n <app-cs-radio [name]=\"'evidence_required'\" [checked]=\"controls?.evidence_required?.value\"\r\n (checkedEvent)=\"setFormField('evidence_required',true)\">YES</app-cs-radio>\r\n <app-cs-radio [name]=\"'evidence_required'\" [checked]=\"!controls?.evidence_required?.value\"\r\n (checkedEvent)=\"setFormField('evidence_required',false)\">NO</app-cs-radio>\r\n </div>\r\n </div>\r\n <div class=\"vx-d-flex vx-align-center vx-justify-end vx-mt-2\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-mr-2\">Allow any file to be marked as\r\n key\r\n evidence</div>\r\n <switch formControlName=\"allow_any_file_key_evidence\"\r\n (change)=\"setFormField('allow_any_file_key_evidence',$event?.target?.checked)\"></switch>\r\n </div>\r\n </form-field>\r\n\r\n\r\n <!-- Custom Field -->\r\n <form-field [appScrollInView]=\"scrollToBottom\" *ngIf=\"additionalOption?.CUSTOM_FIELDS\" [checked]=\"controls?.custom_fields?.value?.length\"\r\n [active]=\"false\" [disabled]=\"sideElements.includes(activeList)\"\r\n [img]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/custom-fields.svg'\">\r\n <label class=\"vx-control-panel\">CUSTOM FIELDS</label>\r\n <custom-field formControlName=\"custom_fields\"></custom-field>\r\n </form-field>\r\n </form>\r\n</div>\r\n\r\n\r\n<!-- list of roles -->\r\n<role-list *ngIf=\"activeList === 'ROLE'\" [selected]=\"controls?.program_roles?.value | refDisconnect\" [loading]=\"listLoadingState.ROLES\"\r\n [list]=\"lists?.ROLES?.data ?? []\" (save)=\"listAction($event,'ROLE')\" (cancel)=\"fieldDeselector('ROLE')\"></role-list>\r\n\r\n<!-- list of frameworks -->\r\n<app-define-framework-listing *ngIf=\"activeList === 'FRAMEWORK'\" (cancel)=\"fieldDeselector('FRAMEWORK')\" (next)=\"listAction($event,'FRAMEWORK')\" [mode]=\"mode\" [selectedFramework]=\"controls?.framework?.value\"></app-define-framework-listing>\r\n<!-- list of responsibility center -->\r\n<app-responsibility-centers-list *ngIf=\"activeList === 'RC'\" [responsibilityCentersList]=\"lists?.RC ?? []\"\r\n [radioSelection]=\"false\" [rcIdKey]=\"'rc_id'\" (closeRcList)=\"fieldDeselector('RC')\"\r\n (saveSelectedList)=\"listAction($event,'RC')\" [selectedResponsibilityCenters]=\"controls?.rc?.value | refDisconnect\">\r\n</app-responsibility-centers-list>\r\n<!-- render userlist with group -->\r\n\r\n<user-group-list *ngIf=\"activeList === 'OWNER'\" [groupEnabled]=\"true\" [singleSelect]=\"false\" [loading]=\"listLoadingState.USERS\"\r\n [nonRemovableUserIds]=\"lists.NON_REMOVABLE_OWNERS | listToId : 'member_id'\" [userlist]=\"lists?.OWNERS?.data ?? []\"\r\n [selectedUsers]=\"controls?.program_owners?.value | refDisconnect\"\r\n (fetchUserData)=\"fetchUsersAssociatedWithRoles(false,$event)\" [userListInfo]=\"lists?.OWNERS\"\r\n [groupListInfo]=\"lists?.OWNERS_GROUPS\" [groupList]=\"lists?.OWNERS_GROUPS?.data ?? []\"\r\n [selectedGroups]=\"controls?.program_owners_group?.value | refDisconnect\" (save)=\"listAction($event,'OWNER')\"\r\n (cancel)=\"fieldDeselector('OWNER')\"></user-group-list>\r\n<user-group-list *ngIf=\"activeList === 'APPROVER'\" [groupEnabled]=\"false\" [singleSelect]=\"true\"\r\n [userlist]=\"lists?.APPROVERS?.data ?? []\" [selectedUsers]=\"controls?.program_approver?.value | refDisconnect\"\r\n [userListInfo]=\"lists?.APPROVERS\" (save)=\"listAction($event,'APPROVER')\" (cancel)=\"fieldDeselector('APPROVER')\">\r\n</user-group-list>\r\n<user-group-list *ngIf=\"activeList === 'ASSIGNEE'\" [groupEnabled]=\"true\" [singleSelect]=\"false\"\r\n [userlist]=\"lists?.ASSIGNEES ?? []\" [selectedUsers]=\"controls?.program_assignee?.value | refDisconnect\" [groupList]=\"lists?.ASSIGNEES_GROUP ?? []\"\r\n [selectedGroups]=\"controls?.program_assignee_group?.value | refDisconnect\"\r\n [userListInfo]=\"lists?.ASSIGNEES\" (save)=\"listAction($event,'ASSIGNEE')\" (cancel)=\"fieldDeselector('ASSIGNEE')\">\r\n</user-group-list>\r\n<user-group-list *ngIf=\"activeList === 'DEFAULT_ASSIGNEE'\" [groupEnabled]=\"true\" [singleSelect]=\"false\"\r\n [userlist]=\"lists?.DEFAULT_ASSIGNEES ?? []\" [selectedUsers]=\"controls?.program_default_assignee?.value | refDisconnect\" [groupList]=\"lists?.DEFAULT_ASSIGNEES_GROUP ?? []\"\r\n [selectedGroups]=\"controls?.program_default_assignee_group?.value | refDisconnect\"\r\n [userListInfo]=\"lists?.DEFAULT_ASSIGNEE\" (save)=\"listAction($event,'DEFAULT_ASSIGNEE')\" (cancel)=\"fieldDeselector('DEFAULT_ASSIGNEE')\">\r\n</user-group-list>\r\n\r\n<user-group-list *ngIf=\"activeList === 'REVIEWER'\" [groupEnabled]=\"true\" [singleSelect]=\"false\"\r\n [userlist]=\"lists?.REVIEWERS ?? []\" [selectedUsers]=\"controls?.program_reviewer?.value | refDisconnect\" [groupList]=\"lists?.REVIEWERS_GROUP ?? []\"\r\n [selectedGroups]=\"controls?.program_reviewer_group?.value | refDisconnect\"\r\n [userListInfo]=\"lists?.REVIEWERS\" (save)=\"listAction($event,'REVIEWER')\" (cancel)=\"fieldDeselector('REVIEWER')\">\r\n</user-group-list>\r\n<user-group-list *ngIf=\"activeList === 'DEFAULT_REVIEWER'\" [groupEnabled]=\"true\" [singleSelect]=\"false\"\r\n [userlist]=\"lists?.DEFAULT_REVIEWERS ?? []\" [selectedUsers]=\"controls?.program_default_reviewer?.value | refDisconnect\" [groupList]=\"lists?.DEFAULT_REVIEWERS_GROUP ?? []\"\r\n [selectedGroups]=\"controls?.program_default_reviewer_group?.value | refDisconnect\"\r\n [userListInfo]=\"lists?.DEFAULT_REVIEWERS\" (save)=\"listAction($event,'DEFAULT_REVIEWER')\" (cancel)=\"fieldDeselector('DEFAULT_REVIEWER')\">\r\n</user-group-list>\r\n<user-group-list *ngIf=\"activeList === 'OVERSEER'\" [groupEnabled]=\"true\" [singleSelect]=\"false\"\r\n [userlist]=\"lists?.OVERSEERS ?? []\" [selectedUsers]=\"controls?.program_overseer?.value | refDisconnect\" [groupList]=\"lists?.OVERSEERS_GROUP ?? []\"\r\n [selectedGroups]=\"controls?.program_overseer_group?.value | refDisconnect\"\r\n [userListInfo]=\"lists?.OVERSEES\" (save)=\"listAction($event,'OVERSEER')\" (cancel)=\"fieldDeselector('OVERSEER')\">\r\n</user-group-list>\r\n<user-group-list *ngIf=\"activeList === 'DEFAULT_OVERSEER'\" [groupEnabled]=\"true\" [singleSelect]=\"false\"\r\n [userlist]=\"lists?.DEFAULT_OVERSEERS ?? []\" [selectedUsers]=\"controls?.program_default_overseer?.value | refDisconnect\" [groupList]=\"lists?.DEFAULT_OVERSEERS_GROUP ?? []\"\r\n [selectedGroups]=\"controls?.program_default_overseer_group?.value | refDisconnect\"\r\n [userListInfo]=\"lists?.DEFAULT_OVERSEERS\" (save)=\"listAction($event,'DEFAULT_OVERSEER')\" (cancel)=\"fieldDeselector('DEFAULT_OVERSEER')\">\r\n</user-group-list>\r\n<user-group-list *ngIf=\"activeList === 'DEFAULT_FAILED_OVERSEER'\" [groupEnabled]=\"true\" [singleSelect]=\"false\"\r\n [userlist]=\"lists?.DEFAULT_OVERSEERS ?? []\" [selectedUsers]=\"controls?.program_default_failed_overseer?.value | refDisconnect\" [groupList]=\"lists?.DEFAULT_OVERSEERS_GROUP ?? []\"\r\n [selectedGroups]=\"controls?.program_default_failed_overseer_group?.value | refDisconnect\"\r\n [userListInfo]=\"lists?.DEFAULT_OVERSEERS\" (save)=\"listAction($event,'DEFAULT_FAILED_OVERSEER')\" (cancel)=\"fieldDeselector('DEFAULT_FAILED_OVERSEER')\">\r\n</user-group-list>\r\n<assessment-picker *ngIf=\"activeList === 'ASSESSMENT'\" [selectedAssessmentData]=\"selectedAssessment\" (cancelAssessment)=\"fieldDeselector('ASSESSMENT')\" (onAssessmentSelect)=\"listAction($event,'ASSESSMENT')\"></assessment-picker>\r\n<app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n <app-smiley-dialog-inline\r\n *ngIf=\"showSmiley\"\r\n [message]=\"smileyMessage\"\r\n [actionButtons]=\"actionButtons\"\r\n (action)=\"action($event)\"\r\n (closeSmiley)=\"closeSmiley($event)\">\r\n </app-smiley-dialog-inline>\r\n",
|
|
23356
23361
|
styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");@import url(\"https://cdn.v-comply.com/design-system/css/display/display.css\");@import url(\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\");@import url(\"https://cdn.v-comply.com/design-system/css/text/text.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/margin/margin.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-top.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\");::ng-deep .workflow-program{display:block;position:relative}::ng-deep .workflow-program .scope-label{background:#747576;border-radius:.125rem;position:relative;z-index:1}::ng-deep .workflow-program .scope-label:before{background:#f1f1f1;content:\"\";position:absolute;top:.5rem;left:6.3125rem;width:22.2rem;height:1px;z-index:-1}::ng-deep .workflow-program .scope-label:after{background:#f1f1f1;content:\"\";position:absolute;top:.5rem;left:-2.5rem;width:2.5rem;height:1px;z-index:-1}::ng-deep .workflow-program .scope-label .required{position:absolute;top:0;right:-.625rem}::ng-deep .workflow-program .date-picker .picker-group{width:calc(50% - .125rem);position:relative}::ng-deep .workflow-program .date-picker .picker-group:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .workflow-program .date-picker .picker-group input{height:2.5rem;border-radius:.25rem;border:1px solid #dbdbdb;background:#fff;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;padding:0 2rem 0 .75rem;outline:none}::ng-deep .workflow-program .date-picker .picker-group input:focus,::ng-deep .workflow-program .date-picker .picker-group input:hover{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .workflow-program .date-picker .picker-group input::-moz-placeholder{color:#747576;font-size:13px}::ng-deep .workflow-program .date-picker .picker-group input::placeholder{color:#747576;font-size:13px}::ng-deep .workflow-program .date-picker .picker-group input:-ms-input-placeholder{color:#747576;font-size:13px}::ng-deep .workflow-program .date-picker .picker-group input::-ms-input-placeholder{color:#747576;font-size:13px}::ng-deep .workflow-program .date-picker .picker-group i{height:1rem;width:1rem;position:absolute;right:.75rem;top:.625rem;pointer-events:none}::ng-deep .workflow-program .program-type-field{background:#f8f8f8;border:1px solid #dbdbdb;border-radius:4px;height:40px;display:flex;align-items:center;justify-content:space-between;padding:4px;position:relative;z-index:1}::ng-deep .workflow-program .program-type-field .type-item{position:relative}::ng-deep .workflow-program .program-type-field .type-item:first-of-type{width:6.25rem}::ng-deep .workflow-program .program-type-field .type-item:nth-child(2){width:5.75rem}::ng-deep .workflow-program .program-type-field .type-item:nth-child(2).active~.background-glider{transform:translate(6.4375rem);width:5.75rem}::ng-deep .workflow-program .program-type-field .type-item:nth-child(3){width:8.625rem}::ng-deep .workflow-program .program-type-field .type-item:nth-child(3).active~.background-glider{transform:translate(12.375rem);width:8.625rem}::ng-deep .workflow-program .program-type-field .type-item:last-of-type{width:5.25rem}::ng-deep .workflow-program .program-type-field .type-item:last-of-type.active~.background-glider{transform:translate(21.1875rem);width:5.25rem}::ng-deep .workflow-program .program-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:center}::ng-deep .workflow-program .program-type-field .type-item button.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none}::ng-deep .workflow-program .program-type-field .type-item .info{color:#1e5dd3;font-size:12px;position:absolute;top:10px;right:12px;cursor:pointer}::ng-deep .workflow-program .program-type-field .type-item.active button{color:#1e5dd3!important}::ng-deep .workflow-program .program-type-field .background-glider{background:#fff;border-radius:4px;box-shadow:0 1px 3px #161b2f26;position:absolute;display:flex;width:6.25rem;height:32px;z-index:-1;transition:.25s ease-out}::ng-deep .workflow-program .vx-form-group .upload-files .file-item{background:#f1f1f1;border:1px solid #dbdbdb;border-radius:.25rem;padding-left:.125rem}::ng-deep .workflow-program .vx-form-group .upload-files .file-item .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:8.5rem}::ng-deep .workflow-program .vx-form-group .upload-files .file-item button.delete-btn{background:transparent;border-radius:0;border:none;border-left:1px solid #dbdbdb;height:1.625rem}::ng-deep .workflow-program .vx-form-group .upload-files button.file-count{background:#1e5dd3;border-radius:.125rem;border:none;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0;margin:4px 0 0 4px}::ng-deep .workflow-program .vx-form-group .upload-format .radio-group app-cs-radio{height:1.375rem}::ng-deep .workflow-program .vx-form-group .default-selected{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:.25rem;margin-top:.5rem}::ng-deep .workflow-program .vx-form-group .default-selected .selected{border-radius:0;border:none;background:none}::ng-deep .workflow-program .vx-form-group .default-selected .default-radio{border-top:1px solid #f1f1f1}::ng-deep .workflow-program .vx-form-group .default-selected .default-radio app-cs-radio{margin-top:0!important}::ng-deep .workflow-program .vx-form-group .default-selected .default-radio app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .workflow-program .vx-form-group .default-selected .default-radio app-cs-radio label.radio-item span.radio{position:absolute;top:.5rem;left:.75rem}::ng-deep .workflow-program .vx-form-group .default-selected .default-radio app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;padding:.5rem .5rem .5rem 2.25rem;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .workflow-program .vx-form-group .default-selected .default-radio app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .workflow-program .vx-form-group .default-selected .default-radio app-cs-radio label.radio-item svg{position:absolute;top:.5rem;left:.75rem}::ng-deep .workflow-program .vx-form-group .selected .custom-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:2.4rem}::ng-deep .workflow-program .vx-form-group .selected button.cross-btn{background:transparent;border-radius:0;border:0;padding:0}::ng-deep .workflow-program .vx-form-group .custom-input{position:relative}::ng-deep .workflow-program .vx-form-group .custom-input input{padding-right:2rem}::ng-deep .workflow-program .vx-form-group .custom-input button.cross-btn{background:transparent;border-radius:0;border:0;position:absolute;top:.875rem;right:.625rem}::ng-deep .workflow-program .vx-form-group button.add-more-btn{background:transparent;border-radius:0;border:none;padding:0}::ng-deep app-popover .action-list ul.action-item .avatar-card .value{text-transform:none!important}::ng-deep app-popover .action-list ul.action-item li file-pill .file-item{background:transparent!important;border:none!important;border-radius:0!important;padding:0!important;margin:0!important}::ng-deep app-popover .action-list ul.action-item li file-pill .file-name{width:100%!important;max-width:100%!important}::ng-deep app-popover .action-list ul.action-item li file-pill button.delete-btn{border:none!important;padding-right:0!important}.disabled{opacity:.4;pointer-events:none;filter:grayscale(1)}", "@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 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}::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:22px}::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 .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}"]
|
|
23357
23362
|
},] }
|
|
23358
23363
|
];
|
|
@@ -24398,8 +24403,10 @@ class AssessmentPickerComponent {
|
|
|
24398
24403
|
this.isDeleted = false;
|
|
24399
24404
|
this.searchAssessments = '';
|
|
24400
24405
|
this.isPreview = false;
|
|
24406
|
+
this.selectedAssessmentData = [];
|
|
24401
24407
|
this.onAssessmentSelect = new EventEmitter();
|
|
24402
24408
|
this.cancelAssessment = new EventEmitter();
|
|
24409
|
+
this.selectedAssessmentArr = [];
|
|
24403
24410
|
this.selectedAssessments = [];
|
|
24404
24411
|
this.selectedAssessmentIds = [];
|
|
24405
24412
|
this.dataPerPage = 30;
|
|
@@ -24411,7 +24418,7 @@ class AssessmentPickerComponent {
|
|
|
24411
24418
|
}
|
|
24412
24419
|
}
|
|
24413
24420
|
ngOnChanges(changes) {
|
|
24414
|
-
console.log("changes ====>", changes, this.selectedAssessmentData);
|
|
24421
|
+
console.log("changes ====>", changes, this.selectedAssessmentData, this.assessmentCategory);
|
|
24415
24422
|
}
|
|
24416
24423
|
ngOnInit() {
|
|
24417
24424
|
this.animation = true;
|
|
@@ -24444,6 +24451,7 @@ class AssessmentPickerComponent {
|
|
|
24444
24451
|
*
|
|
24445
24452
|
*/
|
|
24446
24453
|
showSubList(index, id) {
|
|
24454
|
+
console.log("this.openedCategory ==>", this.openedCategory);
|
|
24447
24455
|
if (this.openedCategory.includes(index)) {
|
|
24448
24456
|
this.openedCategory = this.openedCategory.filter(ele => ele !== index);
|
|
24449
24457
|
}
|
|
@@ -24451,6 +24459,7 @@ class AssessmentPickerComponent {
|
|
|
24451
24459
|
this.openedCategory.push(index);
|
|
24452
24460
|
this.getAssessmentList(index, id);
|
|
24453
24461
|
}
|
|
24462
|
+
console.log("this.openedCategory ==>", this.openedCategory);
|
|
24454
24463
|
return this.openedCategory;
|
|
24455
24464
|
}
|
|
24456
24465
|
// TODO: Pagination
|
|
@@ -24460,6 +24469,7 @@ class AssessmentPickerComponent {
|
|
|
24460
24469
|
*/
|
|
24461
24470
|
onPageSelection(event) {
|
|
24462
24471
|
this.openedCategory = [];
|
|
24472
|
+
console.log("111");
|
|
24463
24473
|
this.assessmentPayload.page_no = event.toString();
|
|
24464
24474
|
this.getAssessmentCategoryList();
|
|
24465
24475
|
}
|
|
@@ -24470,6 +24480,7 @@ class AssessmentPickerComponent {
|
|
|
24470
24480
|
*/
|
|
24471
24481
|
onAssessmentSearch(search) {
|
|
24472
24482
|
this.openedCategory = [];
|
|
24483
|
+
console.log("222");
|
|
24473
24484
|
this.assessmentPayload.page_no = "1";
|
|
24474
24485
|
this.assessmentPayload.search_title = search;
|
|
24475
24486
|
this.assessmentPayload.search_text = search;
|
|
@@ -24482,6 +24493,7 @@ class AssessmentPickerComponent {
|
|
|
24482
24493
|
*/
|
|
24483
24494
|
onAlphabetSelected(event) {
|
|
24484
24495
|
this.openedCategory = [];
|
|
24496
|
+
console.log("333");
|
|
24485
24497
|
this.assessmentPayload.page_no = "1";
|
|
24486
24498
|
this.assessmentPayload.alphabet_filter = event;
|
|
24487
24499
|
this.assessmentPayload.search_text = '';
|
|
@@ -24491,7 +24503,14 @@ class AssessmentPickerComponent {
|
|
|
24491
24503
|
getAssessmentCategoryList() {
|
|
24492
24504
|
this.isLoader = true;
|
|
24493
24505
|
this.assessmentService.getAssessmentCategory(this.assessmentPayload).subscribe((res) => {
|
|
24506
|
+
var _a;
|
|
24494
24507
|
this.assessmentCategory = res;
|
|
24508
|
+
if ((_a = this.selectedAssessmentData) === null || _a === void 0 ? void 0 : _a.length) {
|
|
24509
|
+
this.selectedAssessmentData.forEach((ele) => {
|
|
24510
|
+
const index = res.data.findIndex((assessment) => assessment.id === ele.category_id);
|
|
24511
|
+
this.showSubList(index, ele.category_id);
|
|
24512
|
+
});
|
|
24513
|
+
}
|
|
24495
24514
|
this.isLoader = false;
|
|
24496
24515
|
});
|
|
24497
24516
|
}
|
|
@@ -24514,35 +24533,39 @@ class AssessmentPickerComponent {
|
|
|
24514
24533
|
* @param evt
|
|
24515
24534
|
* @param payload
|
|
24516
24535
|
*/
|
|
24517
|
-
selectAssessment(evt, payload) {
|
|
24536
|
+
selectAssessment(evt, payload, category) {
|
|
24518
24537
|
var _a;
|
|
24519
|
-
|
|
24520
|
-
|
|
24521
|
-
|
|
24522
|
-
|
|
24523
|
-
|
|
24524
|
-
|
|
24525
|
-
|
|
24526
|
-
|
|
24527
|
-
|
|
24528
|
-
|
|
24529
|
-
|
|
24530
|
-
this.selectedAssessments = this.uniqueByProp([...this.selectedAssessments, ...[payload]], 'id');
|
|
24531
|
-
this.selectedAssessmentIds = this.selectedAssessments.map((ele) => ele === null || ele === void 0 ? void 0 : ele.id);
|
|
24532
|
-
}
|
|
24533
|
-
else if (action === 'DELETE') {
|
|
24534
|
-
let index = this.selectedAssessments.findIndex((ele) => (ele === null || ele === void 0 ? void 0 : ele.id) === (payload === null || payload === void 0 ? void 0 : payload.id));
|
|
24535
|
-
if (index > -1) {
|
|
24536
|
-
this.selectedAssessments = this.selectedAssessments.filter((ele) => (ele === null || ele === void 0 ? void 0 : ele.id) !== (payload === null || payload === void 0 ? void 0 : payload.id));
|
|
24537
|
-
this.selectedAssessmentIds = this.selectedAssessmentIds.filter((ele) => ele !== (payload === null || payload === void 0 ? void 0 : payload.id));
|
|
24538
|
+
console.log("payload ==>", payload);
|
|
24539
|
+
const index = this.selectedAssessmentArr.findIndex((ele) => ele.category_id === category.id);
|
|
24540
|
+
if (index > -1) {
|
|
24541
|
+
if ((_a = evt === null || evt === void 0 ? void 0 : evt.target) === null || _a === void 0 ? void 0 : _a.checked) {
|
|
24542
|
+
this.selectedAssessmentArr[index].assessmentIds.push(payload);
|
|
24543
|
+
}
|
|
24544
|
+
else {
|
|
24545
|
+
this.selectedAssessmentArr[index].assessmentIds = this.selectedAssessmentArr[index].assessmentIds.filter((assessment) => assessment.id !== payload.id);
|
|
24546
|
+
if (this.selectedAssessmentArr[index].assessmentIds.length === 0) {
|
|
24547
|
+
this.selectedAssessmentArr.splice(index, 1);
|
|
24548
|
+
}
|
|
24538
24549
|
}
|
|
24539
24550
|
}
|
|
24540
|
-
|
|
24551
|
+
else {
|
|
24552
|
+
this.selectedAssessmentArr.push({
|
|
24553
|
+
category_id: category.id,
|
|
24554
|
+
assessmentIds: [payload]
|
|
24555
|
+
});
|
|
24556
|
+
}
|
|
24557
|
+
const selectedData = JSON.parse(JSON.stringify(this.selectedAssessmentArr));
|
|
24558
|
+
this.selectedAssessmentData = selectedData.map((ele) => {
|
|
24559
|
+
ele.assessmentIds = ele.assessmentIds.map((assessment) => assessment.id);
|
|
24560
|
+
return ele;
|
|
24561
|
+
});
|
|
24562
|
+
console.log(" this.selectedAssessmentArr this.selectedAssessmentArr", this.selectedAssessmentData, selectedData);
|
|
24563
|
+
// evt?.target?.checked === true ? this.manipulateSelectedAssessment('ADD', payload) : this.manipulateSelectedAssessment('DELETE', payload)
|
|
24541
24564
|
}
|
|
24542
24565
|
// TODO: Display selected data in bottom floating bar with next enabled button having
|
|
24543
24566
|
// TODO: Send data in payload of create Responsibility form
|
|
24544
24567
|
save() {
|
|
24545
|
-
this.onAssessmentSelect.emit(this.
|
|
24568
|
+
this.onAssessmentSelect.emit(this.selectedAssessmentArr);
|
|
24546
24569
|
}
|
|
24547
24570
|
close() {
|
|
24548
24571
|
this.cancelAssessment.emit();
|
|
@@ -24565,7 +24588,7 @@ class AssessmentPickerComponent {
|
|
|
24565
24588
|
AssessmentPickerComponent.decorators = [
|
|
24566
24589
|
{ type: Component, args: [{
|
|
24567
24590
|
selector: 'assessment-picker',
|
|
24568
|
-
template: "<app-preview *ngIf=\"isPreview\" [questionData]=\"previewQuestionData\" (previewBack)=\"previewBack()\"></app-preview>\r\n<div class=\"assessment-list\" [class.animate]=\"animation\">\r\n \r\n <ng-container >\r\n <div class=\"assessment-list-head\">\r\n <button class=\"back-btn\">\r\n <!-- <i class=\"icons\"></i> -->\r\n </button>\r\n <h3 class=\"assessment-list-title\">Select an Assessment</h3>\r\n </div>\r\n <div class=\"assessment-list-body\">\r\n <div class=\"search-block\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"searchAssessments\" (change)=\"onAssessmentSearch($event.target.value)\" placeholder=\"Search Assessment Category\" />\r\n </div>\r\n <pagination \r\n \r\n [pageCount]=\"assessmentCategory?.totalPage\" \r\n [total]=\"assessmentCategory?.totalRecords\" \r\n [start]=\"assessmentCategory?.start_value\" \r\n [end]=\"assessmentCategory?.end_value\" \r\n [activeAlphabet]=\"''\" \r\n (selectedAlphabet)=\"onAlphabetSelected($event)\" \r\n (selectedPage)=\"onPageSelection($event)\"\r\n ></pagination>\r\n <div *ngIf=\"assessmentCategory.data.length === 0 && !isLoader\" class=\"assessment-list-part\">\r\n <app-no-data [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No Assessments Found.'\"></app-no-data>\r\n </div>\r\n <div *ngIf=\"assessmentCategory.data.length || isLoader\" class=\"assessment-list-part\">\r\n <div *ngIf=\"isEdit && selectedAssessment?.assessmentDetails?.assessment_name\" class=\"assessment-list-selected\">\r\n <div class=\"assessment-list-heading\">Assessment already selected for this responsibility</div>\r\n <div class=\"assessment-list-item\">\r\n <div class=\"table-row\">\r\n <div class=\"table-column serial disabled\">\r\n <app-cs-radio [disabled]=\"true\" class=\"disabled\" [checked]=\"true\" [readonly]=\"true\"></app-cs-radio>\r\n </div>\r\n <div class=\"table-column sub-name\">\r\n <div class=\"name-inner\">\r\n <div class=\"value\" [appTooltip]=\"selectedAssessment?.assessmentDetails?.assessment_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{selectedAssessment?.assessmentDetails?.assessment_name}}</div>\r\n <div class=\"within-part\">\r\n <span class=\"within-box\">Within</span>\r\n <span class=\"value\" [appTooltip]=\"selectedAssessment?.category_details?.category_name + (selectedAssessment?.category_details?.parent_tree ? ' > ' + selectedAssessment?.category_details?.parent_tree : '')\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{selectedAssessment?.category_details?.category_name + (selectedAssessment?.category_details?.parent_tree ? ' > ' + selectedAssessment?.category_details?.parent_tree : '')}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-column question\">\r\n <div class=\"label\">{{selectedAssessment?.assessmentDetails?.questions}} {{selectedAssessment?.assessmentDetails?.questions > 1 ? 'Questions': 'Question'}}</div>\r\n <div class=\"buttons\">\r\n <button class=\"action-btn\" (click)=\"preview(selectedAssessment?.assessmentDetails)\"><i class=\"icons\"></i> Preview</button>\r\n <!-- <button class=\"action-btn\"><i class=\"icons\"></i> Edit</button> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"assessment-list-heading\">Select an Assessment for this responsibility</div>\r\n\r\n <!--\r\n Assessment category list \r\n active class is used for highlighting opened element\r\n -->\r\n <ng-container *ngIf=\"!isLoader\">\r\n <div *ngFor=\"let data of assessmentCategory.data; let i = index;\" class=\"assessment-list-item\" [class.active]=\"openedCategory.includes(i) || data.id === selectedAssessment?.category_id\">\r\n <div class=\"table-row main-list\" (click)=\"showSubList(i, data?.id)\" [class.disabled]=\"data?.assessmentcount < 1\">\r\n <div class=\"table-column serial\">\r\n <div [id]=\"'sr-no' + i\" class=\"sr-no\" [appTooltip]=\"i + 1\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{dataPerPage * (assessmentPayload.page_no - 1) + (i + 1)}}</div>\r\n </div>\r\n <div class=\"table-column name\">\r\n <div class=\"name-inner\">\r\n <div class=\"value\" [appTooltip]=\"data.category_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{data?.category_name}}</div>\r\n <div class=\"within-part\" *ngIf=\"data?.parent_tree\">\r\n <span class=\"within-box\">Within</span>\r\n <span class=\"value\" [appTooltip]=\"data.parent_tree\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{data?.parent_tree}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-column action\">\r\n <button [id]=\"'arrow' + i\" class=\"arrow\" [class.disabled] = \"data?.assessmentcount < 1\" [disabled]=\"data?.assessmentcount < 1\">\r\n <i *ngIf=\"!openedCategory.includes(i)\" class=\"icons\"></i>\r\n <i *ngIf=\"openedCategory.includes(i)\" class=\"icons\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <!-- Assessment list start from here -->\r\n <div *ngIf=\"openedCategory.includes(i)\" class=\"sub-list\">\r\n <ng-container *ngIf=\"data.assessmentData?.length > 0\">\r\n <div class=\"table-row\" *ngFor=\"let assessment of data.assessmentData; let j = index\" [class.active]=\"selectedAssessmentIds.includes(assessment?.id)\">\r\n <div class=\"table-column serial\">\r\n <div [id]=\"'sub-sr-no'+ i+j\" class=\"sr-no\" [appTooltip]=\"'1.1'\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n {{dataPerPage * (assessmentPayload.page_no - 1) + (i + 1)}}.{{j + 1}}\r\n <!-- <app-cs-radio name=\"assessment\" [value]=\"assessment.id\" [checked]=\"assessment?.id === selectedAssessment?.assessment_id && data?.id === selectedAssessment?.category_id\"\r\n (checkedEvent)=\"setAssessment(data, assessment)\"></app-cs-radio> -->\r\n <!-- (change)=\"selectGroup($event,group)\" [disabled]=\"nonRemovableGroupIds?.includes(group?.group_id)\" [checked]=\"selectedGroupIds.includes(group?.group_id)\" -->\r\n \r\n <vui-checkbox [checked]=\"selectedAssessmentIds.includes(assessment?.id)\" (change)=\"selectAssessment($event,assessment)\"></vui-checkbox>\r\n </div>\r\n </div>\r\n <div class=\"table-column sub-name\">\r\n <div class=\"value\" [appTooltip]=\"'Mission and message, communications to external audiences'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{assessment?.assessment_name}}</div>\r\n </div>\r\n <div class=\"table-column question\">\r\n <div class=\"label\">{{assessment?.questions}} {{assessment?.questions > 1 ? 'Questions' : 'Question'}}</div>\r\n <div class=\"buttons\">\r\n <button class=\"action-btn\" (click)=\"preview(assessment)\"><i class=\"icons\"></i> Preview</button>\r\n <!-- <button class=\"action-btn\"><i class=\"icons\"></i> Edit</button> -->\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- Loader loading isLoader -->\r\n <assessment-sub-loader *ngIf=\"!data.assessmentData?.length\"></assessment-sub-loader>\r\n <!-- <app-line-loader *ngIf=\"!data.assessmentData?.length\" [loaderHeight]=\"'5'\"></app-line-loader> -->\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- Loader loading isLoader -->\r\n <assessment-loader *ngIf=\"isLoader\"></assessment-loader>\r\n </div>\r\n <!-- No data image -->\r\n <app-no-data *ngIf=\"!assessmentCategory.data.length && !isLoader\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No Data to Display'\"></app-no-data>\r\n </div>\r\n <!-- \r\n bottom floating bar which includes cancel, next button\r\n closing tab\r\n -->\r\n\r\n\r\n <vui-floating-bar (closeEvent)=\"save()\" (closeList)=\"close()\">\r\n <div class=\"counter\" *ngIf=\"selectedAssessments?.length\" appPopover (click)=\"assessmentCount.popover()\" \r\n placement=\"left\">{{selectedAssessments?.length}}</div>\r\n <div class=\"name\"> \r\n <span *ngIf=\"selectedAssessments?.length === 1\">Assessment selected</span>\r\n <span *ngIf=\"selectedAssessments?.length > 1\">Assessments selected</span>\r\n </div>\r\n <app-popover #assessmentCount [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedAssessments; let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" \r\n (click)=\"selectAssessment({target:{checked:false}},element)\"></i>\r\n {{element?.assessment_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n \r\n </vui-floating-bar>\r\n \r\n </ng-container>\r\n</div>\r\n",
|
|
24591
|
+
template: "<app-preview *ngIf=\"isPreview\" [questionData]=\"previewQuestionData\" (previewBack)=\"previewBack()\"></app-preview>\r\n<div class=\"assessment-list\" [class.animate]=\"animation\">\r\n\r\n <ng-container >\r\n <div class=\"assessment-list-head\">\r\n <button class=\"back-btn\">\r\n <!-- <i class=\"icons\"></i> -->\r\n </button>\r\n <h3 class=\"assessment-list-title\">Select an Assessment</h3>\r\n </div>\r\n <div class=\"assessment-list-body\">\r\n <div class=\"search-block\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"searchAssessments\" (change)=\"onAssessmentSearch($event.target.value)\" placeholder=\"Search Assessment Category\" />\r\n </div>\r\n <pagination\r\n\r\n [pageCount]=\"assessmentCategory?.totalPage\"\r\n [total]=\"assessmentCategory?.totalRecords\"\r\n [start]=\"assessmentCategory?.start_value\"\r\n [end]=\"assessmentCategory?.end_value\"\r\n [activeAlphabet]=\"''\"\r\n (selectedAlphabet)=\"onAlphabetSelected($event)\"\r\n (selectedPage)=\"onPageSelection($event)\"\r\n ></pagination>\r\n <div *ngIf=\"assessmentCategory.data.length === 0 && !isLoader\" class=\"assessment-list-part\">\r\n <app-no-data [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No Assessments Found.'\"></app-no-data>\r\n </div>\r\n <div *ngIf=\"assessmentCategory.data.length || isLoader\" class=\"assessment-list-part\">\r\n <div *ngIf=\"isEdit && selectedAssessment?.assessmentDetails?.assessment_name\" class=\"assessment-list-selected\">\r\n <div class=\"assessment-list-heading\">Assessment already selected for this responsibility</div>\r\n <div class=\"assessment-list-item\">\r\n <div class=\"table-row\">\r\n <div class=\"table-column serial disabled\">\r\n <app-cs-radio [disabled]=\"true\" class=\"disabled\" [checked]=\"true\" [readonly]=\"true\"></app-cs-radio>\r\n </div>\r\n <div class=\"table-column sub-name\">\r\n <div class=\"name-inner\">\r\n <div class=\"value\" [appTooltip]=\"selectedAssessment?.assessmentDetails?.assessment_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{selectedAssessment?.assessmentDetails?.assessment_name}}</div>\r\n <div class=\"within-part\">\r\n <span class=\"within-box\">Within</span>\r\n <span class=\"value\" [appTooltip]=\"selectedAssessment?.category_details?.category_name + (selectedAssessment?.category_details?.parent_tree ? ' > ' + selectedAssessment?.category_details?.parent_tree : '')\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{selectedAssessment?.category_details?.category_name + (selectedAssessment?.category_details?.parent_tree ? ' > ' + selectedAssessment?.category_details?.parent_tree : '')}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-column question\">\r\n <div class=\"label\">{{selectedAssessment?.assessmentDetails?.questions}} {{selectedAssessment?.assessmentDetails?.questions > 1 ? 'Questions': 'Question'}}</div>\r\n <div class=\"buttons\">\r\n <button class=\"action-btn\" (click)=\"preview(selectedAssessment?.assessmentDetails)\"><i class=\"icons\"></i> Preview</button>\r\n <!-- <button class=\"action-btn\"><i class=\"icons\"></i> Edit</button> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"assessment-list-heading\">Select an Assessment for this responsibility</div>\r\n\r\n <!--\r\n Assessment category list\r\n active class is used for highlighting opened element\r\n -->\r\n <ng-container *ngIf=\"!isLoader\">\r\n <div *ngFor=\"let data of assessmentCategory.data; let i = index;\" class=\"assessment-list-item\" [class.active]=\"openedCategory.includes(i) || data.id === selectedAssessment?.category_id\">\r\n <div class=\"table-row main-list\" (click)=\"showSubList(i, data?.id)\" [class.disabled]=\"data?.assessmentcount < 1\">\r\n <div class=\"table-column serial\">\r\n <div [id]=\"'sr-no' + i\" class=\"sr-no\" [appTooltip]=\"i + 1\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{dataPerPage * (assessmentPayload.page_no - 1) + (i + 1)}}</div>\r\n </div>\r\n <div class=\"table-column name\">\r\n <div class=\"name-inner\">\r\n <div class=\"value\" [appTooltip]=\"data.category_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{data?.category_name}}</div>\r\n <div class=\"within-part\" *ngIf=\"data?.parent_tree\">\r\n <span class=\"within-box\">Within</span>\r\n <span class=\"value\" [appTooltip]=\"data.parent_tree\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{data?.parent_tree}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-column action\">\r\n <button [id]=\"'arrow' + i\" class=\"arrow\" [class.disabled] = \"data?.assessmentcount < 1\" [disabled]=\"data?.assessmentcount < 1\">\r\n <i *ngIf=\"!openedCategory.includes(i)\" class=\"icons\"></i>\r\n <i *ngIf=\"openedCategory.includes(i)\" class=\"icons\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <!-- Assessment list start from here -->\r\n <div *ngIf=\"openedCategory.includes(i)\" class=\"sub-list\">\r\n <ng-container *ngIf=\"data.assessmentData?.length > 0\">\r\n <div class=\"table-row\" *ngFor=\"let assessment of data.assessmentData; let j = index\" [class.active]=\"(selectedAssessmentData |selectedAssessment: data.id).includes(assessment.id)\">\r\n <div class=\"table-column serial\">\r\n <div [id]=\"'sub-sr-no'+ i+j\" class=\"sr-no\" [appTooltip]=\"'1.1'\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n {{dataPerPage * (assessmentPayload.page_no - 1) + (i + 1)}}.{{j + 1}}\r\n <!-- <app-cs-radio name=\"assessment\" [value]=\"assessment.id\" [checked]=\"assessment?.id === selectedAssessment?.assessment_id && data?.id === selectedAssessment?.category_id\"\r\n (checkedEvent)=\"setAssessment(data, assessment)\"></app-cs-radio> -->\r\n <!-- (change)=\"selectGroup($event,group)\" [disabled]=\"nonRemovableGroupIds?.includes(group?.group_id)\" [checked]=\"selectedGroupIds.includes(group?.group_id)\" -->\r\n\r\n <vui-checkbox [checked]=\"(selectedAssessmentData |selectedAssessment: data.id).includes(assessment.id)\" (change)=\"selectAssessment($event,assessment, data)\"></vui-checkbox>\r\n </div>\r\n </div>\r\n <div class=\"table-column sub-name\">\r\n <div class=\"value\" [appTooltip]=\"'Mission and message, communications to external audiences'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{assessment?.assessment_name}}</div>\r\n </div>\r\n <div class=\"table-column question\">\r\n <div class=\"label\">{{assessment?.questions}} {{assessment?.questions > 1 ? 'Questions' : 'Question'}}</div>\r\n <div class=\"buttons\">\r\n <button class=\"action-btn\" (click)=\"preview(assessment)\"><i class=\"icons\"></i> Preview</button>\r\n <!-- <button class=\"action-btn\"><i class=\"icons\"></i> Edit</button> -->\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- Loader loading isLoader -->\r\n <assessment-sub-loader *ngIf=\"!data.assessmentData?.length\"></assessment-sub-loader>\r\n <!-- <app-line-loader *ngIf=\"!data.assessmentData?.length\" [loaderHeight]=\"'5'\"></app-line-loader> -->\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- Loader loading isLoader -->\r\n <assessment-loader *ngIf=\"isLoader\"></assessment-loader>\r\n </div>\r\n <!-- No data image -->\r\n <app-no-data *ngIf=\"!assessmentCategory.data.length && !isLoader\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No Data to Display'\"></app-no-data>\r\n </div>\r\n <!--\r\n bottom floating bar which includes cancel, next button\r\n closing tab\r\n -->\r\n\r\n\r\n <vui-floating-bar (closeEvent)=\"save()\" (closeList)=\"close()\">\r\n <div class=\"counter\" *ngIf=\"selectedAssessments?.length\" appPopover (click)=\"assessmentCount.popover()\"\r\n placement=\"left\">{{selectedAssessments?.length}}</div>\r\n <div class=\"name\">\r\n <span *ngIf=\"selectedAssessments?.length === 1\">Assessment selected</span>\r\n <span *ngIf=\"selectedAssessments?.length > 1\">Assessments selected</span>\r\n </div>\r\n <app-popover #assessmentCount [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedAssessments; let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\"\r\n (click)=\"selectAssessment({target:{checked:false}},element)\"></i>\r\n {{element?.assessment_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n </vui-floating-bar>\r\n\r\n </ng-container>\r\n</div>\r\n",
|
|
24569
24592
|
styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::ng-deep .assessment-list{background:#fff;border-top:3px solid #1e5dd3;position:fixed;top:0;right:500px;bottom:0;left:0;z-index:1}::ng-deep .assessment-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 .assessment-list-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;align-items:center;border:1px solid #f1f1f1;border-right:none}::ng-deep .assessment-list-head button.back-btn{background:transparent;border-radius:0;border:0;color:#161b2f;font-size:16px;padding:0;margin:0 8px 0 0}::ng-deep .assessment-list-title{color:#161b2f;font-size:15px;font-weight:500;margin:0!important;padding:0;line-height:21px}::ng-deep .assessment-list-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .assessment-list-body{padding:24px 40px 24px 36px;height:calc(100vh - 112px)}::ng-deep .assessment-list-body .search-block{position:relative}::ng-deep .assessment-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 .assessment-list-body .search-block input::-moz-placeholder{font-weight:400}::ng-deep .assessment-list-body .search-block input:-ms-input-placeholder{font-weight:400}::ng-deep .assessment-list-body .search-block input::placeholder{font-weight:400}::ng-deep .assessment-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .assessment-list-body .search-block i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#f1f1f1}::ng-deep .assessment-list-body .assessment-list-part{height:calc(100vh - 228px);overflow:auto;padding:8px 12px 0 0;width:calc(100% + 12px)}::ng-deep .assessment-list-body .assessment-list-part::-webkit-scrollbar-track{background-color:#fff;position:absolute}::ng-deep .assessment-list-body .assessment-list-part::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .assessment-list-body .assessment-list-part::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-selected{margin-bottom:8px}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-heading{color:#161b2f;font-size:12px;font-weight:600;margin-bottom:4px}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item{border:1px solid #f1f1f1;border-radius:2px;margin-bottom:4px}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .main-list{cursor:pointer}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item.active{border-color:#1e5dd3;box-shadow:0 3px 6px #4681ef26}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row{display:flex;align-items:center;justify-content:space-between}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row.disabled{pointer-events:none}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column{color:#747576;height:48px;position:relative;width:100%;display:flex;align-items:center;padding:0 4px}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.serial{width:32px;max-width:32px;justify-content:center}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.serial .sr-no{width:16px;background:#f8f8f8;-ms-writing-mode:tb-lr;writing-mode:vertical-lr;color:#747576;font-size:10px;font-weight:500;display:flex;height:100%;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.serial .sr-no vui-checkbox{position:absolute;top:8px;left:0;opacity:0;transition:all .2s ease-in-out}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.serial .sr-no vui-checkbox label.checkbox-item{position:unset}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.name{width:calc(100% - 64px);min-width:calc(100% - 64px)}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.name .name-inner{width:100%}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.name .name-inner .value{color:#161b2f;font-size:12px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-right:20px}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.action{width:32px;max-width:32px;justify-content:center}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.action button.arrow{background:transparent;border:none;border-radius:0;color:#747576;font-size:12px;padding:0;margin:0;display:flex;align-items:center;justify-content:center;height:100%;width:100%}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.action button.disabled{opacity:.5!important;pointer-events:none}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.sub-name{width:calc(100% - 232px);min-width:calc(100% - 232px)}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.sub-name .name-inner{width:100%}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.sub-name .value{color:#747576;font-size:12px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-right:20px}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.question{width:200px;max-width:200px;justify-content:flex-end}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.question .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-right:8px}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.question .buttons{display:flex;width:0;overflow:hidden;transition:all .2s ease-in-out}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.question .buttons button.action-btn{background:#fff;border:1px solid #f1f1f1;border-radius:2px;color:#1e5dd3;font-size:11px;font-weight:500;line-height:24px;text-transform:uppercase;padding:0 8px;display:flex;align-items:center;margin:0}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.question .buttons button.action-btn i{margin-right:4px}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.question .buttons button.action-btn+button{margin-left:4px}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row:hover .table-column.question .buttons{width:86px}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .sub-list .table-row{border-top:1px solid #f1f1f1}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .sub-list .table-row.active .table-column.serial .sr-no,::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .sub-list .table-row:hover .table-column.serial .sr-no{color:#f8f8f8}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .sub-list .table-row.active .table-column.serial .sr-no vui-checkbox,::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .sub-list .table-row:hover .table-column.serial .sr-no vui-checkbox{opacity:1}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .sub-list .table-row .table-column{height:32px}::ng-deep .assessment-list-body ul{padding:0;margin:0}::ng-deep .assessment-list-body ul.assessment{max-height:calc(100vh - 240px);overflow:auto;padding:16px 12px 0 0;width:calc(100% + 12px)}::ng-deep .assessment-list-body ul.assessment::-webkit-scrollbar-track{background-color:#fff;position:absolute}::ng-deep .assessment-list-body ul.assessment::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .assessment-list-body ul.assessment::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .assessment-list-body ul.assessment li{padding:0 0 12px;list-style:none;display:flex;align-items:center;justify-content:space-between}::ng-deep .assessment-list-body ul.assessment li vui-checkbox{width:calc(100% - 260px)}::ng-deep .assessment-list-body ul.assessment li vui-checkbox .radio-item .value .name{font-size:12px;color:#161b2f;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .assessment-list-body ul.assessment li .right{display:flex;align-items:center}::ng-deep .assessment-list-body ul.assessment li .right .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}::ng-deep .assessment-list-body ul.assessment li .right .buttons{display:flex;width:0;overflow:hidden;transition:all .2s ease-in-out}::ng-deep .assessment-list-body ul.assessment li .right .buttons button.action-btn{background:#fff;border:1px solid #f1f1f1;border-radius:2px;color:#1e5dd3;font-size:11px;font-weight:500;line-height:24px;text-transform:uppercase;padding:0 8px;margin-left:12px;display:flex;align-items:center}::ng-deep .assessment-list-body ul.assessment li .right .buttons button.action-btn i{margin-right:4px}::ng-deep .assessment-list-body ul.assessment li .right .buttons button.action-btn+button{margin-left:4px}::ng-deep .assessment-list-body ul.assessment li:hover .right .buttons{width:156px}.within-part{display:flex;align-items:center;padding-right:12px}.within-part .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:12px;color:#747576}.within-box{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding:0 4px;margin-right:8px;line-height:12px}@-webkit-keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}.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)}}"]
|
|
24570
24593
|
},] }
|
|
24571
24594
|
];
|
|
@@ -25176,6 +25199,23 @@ SearchNewPipe.decorators = [
|
|
|
25176
25199
|
},] }
|
|
25177
25200
|
];
|
|
25178
25201
|
|
|
25202
|
+
class SelectedAssessmentPipe {
|
|
25203
|
+
transform(selectedData, category_id) {
|
|
25204
|
+
if (selectedData === null || selectedData === void 0 ? void 0 : selectedData.length) {
|
|
25205
|
+
const index = selectedData.findIndex((ele) => ele.category_id === category_id);
|
|
25206
|
+
if (index > -1) {
|
|
25207
|
+
return selectedData[index].assessmentIds;
|
|
25208
|
+
}
|
|
25209
|
+
}
|
|
25210
|
+
return [];
|
|
25211
|
+
}
|
|
25212
|
+
}
|
|
25213
|
+
SelectedAssessmentPipe.decorators = [
|
|
25214
|
+
{ type: Pipe, args: [{
|
|
25215
|
+
name: 'selectedAssessment'
|
|
25216
|
+
},] }
|
|
25217
|
+
];
|
|
25218
|
+
|
|
25179
25219
|
// import { AssessmentListModule } from './assessment-list/assessment-list.module';
|
|
25180
25220
|
// import { AssessmentPreviewModule } from '../../sharedComponents/assessment-preview/assessment-preview.module';
|
|
25181
25221
|
class CreateProgramUiModule {
|
|
@@ -25208,7 +25248,8 @@ CreateProgramUiModule.decorators = [
|
|
|
25208
25248
|
PagerPipe,
|
|
25209
25249
|
CategoryAllSelectPipe,
|
|
25210
25250
|
SubCatIndeterPipe,
|
|
25211
|
-
SearchNewPipe
|
|
25251
|
+
SearchNewPipe,
|
|
25252
|
+
SelectedAssessmentPipe
|
|
25212
25253
|
],
|
|
25213
25254
|
imports: [
|
|
25214
25255
|
CommonModule,
|
|
@@ -25382,5 +25423,5 @@ VComplyWorkflowEngineModule.decorators = [
|
|
|
25382
25423
|
* Generated bundle index. Do not edit.
|
|
25383
25424
|
*/
|
|
25384
25425
|
|
|
25385
|
-
export { VComplyWorkflowEngineModule, WorkflowEngineContainerComponent, WorkflowEngineService, UiKitService as ɵa, SnackBarService as ɵb, ReviewFrequencyComponent as ɵba, FrequencyContainerComponent as ɵbb, FrequencyDailyComponent as ɵbc, FrequencyWeeklyComponent as ɵbd, FrequencyMonthlyComponent as ɵbe, FrequencyQuarterlyComponent as ɵbf, FrequencyBiannualComponent as ɵbg, FrequencyAnnualComponent as ɵbh, FrequencyOneTimeComponent as ɵbi, FrequencyRandomComponent as ɵbj, FrequencyOnCompletionOfComponent as ɵbk, FrequencyOngoingComponent as ɵbl, FrequencyTopComponent as ɵbm, FrequencyLifecycleComponent as ɵbn, FrequencyDueDateComponent as ɵbo, FrequencyCheckboxListComponent as ɵbp, FrequencyRadioListComponent as ɵbq, GroupUsersListComponent as ɵbr, AddMultipleResponsibilityComponent as ɵbs, FrequencyBulkService as ɵbt, BulkResponsibilityViewComponent as ɵbu, CheckpointsPolicyContainerComponent as ɵbv, CheckpointsPolicyListComponent as ɵbw, CheckpointsPolicyQuestionsComponent as ɵbx, WorkflowSurveyFormComponent as ɵby, LogAnIssueComponent as ɵbz, AuthService as ɵc, LogIssueService as ɵca, FilterPipe as ɵcb, CheckboxListComponent as ɵcc, RadioListComponent as ɵcd, ListMapperPipe as ɵce, CreateDocumentsComponent as ɵcf, SearchPipe$1 as ɵcg, UserFilterPipe as ɵch, FrameworkListComponent as ɵci, ParentTableComponent as ɵcj, DataTypePipe as ɵck, CheckpointFloatingBarComponent as ɵcl, FormatAndEvidenceComponent as ɵcm, RiskClassificationComponent as ɵcn, DragDropDirective as ɵco, AutofocusDirective as ɵcp, ScrollInViewDirective as ɵcq, ShortMergePipe as ɵcr, SpaceBreakerPipe as ɵcs, FormatHtmlPipe as ɵct, WithinDataPipe as ɵcu, ResponsibilityRiskSelectorComponent as ɵcv, ConditionalFocusDirective as ɵcw, ListLoaderComponent as ɵcx, ArrayFilterPipe as ɵcy, AuditCategoryListComponent as ɵcz, TokenDecoderService as ɵd, DocumentSectionComponent as ɵda, WorkflowAssessmentComponent as ɵdb, AssessmentService$2 as ɵdc, ImportAnAssessmentComponent as ɵdd, AssessmentListComponent as ɵde, AssessmentService$1 as ɵdf, RadioListWithPaginationComponent as ɵdg, LinkTreatmentLoaderComponent as ɵdh, AssessmentListLoaderComponent as ɵdi, AssessmentListSubLoaderComponent as ɵdj, UncategorizedFilterPipe as ɵdk, WorkflowProgramComponent as ɵdl, ProgramsService as ɵdm, RolesListComponent as ɵdn, CreateAssessmentModule as ɵdo, CreateAssessmentContainerComponent as ɵdp, EditorService as ɵdq, DialogService as ɵdr, DialogModule as ɵds, DialogComponent as ɵdt, InsertionDirective as ɵdu, DialogRef as ɵdv, DialogConfig as ɵdw, QuestionTypeComponent as ɵdx, AddPageDetailsComponent as ɵdy, AssessmentSettingsComponent as ɵdz, Configurations as ɵe, ResultCriteriaService as ɵea, AddSegmentPopupComponent as ɵeb, AddResponseSetPopupComponent as ɵec, EditorWrapperComponent as ɵed, ValidatorService as ɵee, QuickSettingsComponent as ɵef, SingleLineEditorComponent as ɵeg, ResponseSelectorComponent as ɵeh, MoveComponent as ɵei, LogicComponent as ɵej, AddLogicComponent as ɵek, ToolkitComponent as ɵel, ErrorMessagePipe as ɵem, QuestionFilterPipe as ɵen, QuestionParserPipe as ɵeo, FormatterPipe as ɵep, SettingAnonymousComponent as ɵeq, SettingResponseSegmentComponent as ɵer, PageHeaderComponent as ɵes, WelcomeThankyouComponent as ɵet, CurrentPageQuestionPipe as ɵeu, QuestionPageFilterPipe as ɵev, TypeOfPipe as ɵew, TooltipModule as ɵex, ToolTipDirective as ɵey, PopoverModule as ɵez, WorkflowRiskComponent as ɵf, PopoverComponent as ɵfa, PopoverService as ɵfb, PopoverDirective as ɵfc, PopoverEventDirective as ɵfd, PopoverLongpressDirective as ɵfe, FormgroupModule$1 as ɵff, CsCheckboxComponent$1 as ɵfg, CsRadioComponent$1 as ɵfh, CsSwitchComponent$1 as ɵfi, CsRadioGroupComponent$1 as ɵfj, CsSelectComponent$2 as ɵfk, PascalPipe$1 as ɵfl, CsCheckboxIndeterminateComponent$1 as ɵfm, NoDataModule$1 as ɵfn, NoDataComponent$1 as ɵfo, BuildModule as ɵfp, MultipleChoiceComponent as ɵfq, CheckboxComponent$1 as ɵfr, ImageChoiceComponent as ɵfs, StarRatingComponent as ɵft, MatrixDropdownComponent as ɵfu, DropdownComponent as ɵfv, MatrixRatingScaleComponent as ɵfw, RankingComponent as ɵfx, SliderComponent as ɵfy, MultipleTextboxComponent as ɵfz, AddRiskService as ɵg, DateTimeComponent as ɵga, ChoiceSettingsPanelComponent as ɵgb, WelcomeComponent$1 as ɵgc, ThankYouComponent$1 as ɵgd, WeightageSelectorComponent as ɵge, FormgroupModule as ɵgf, CsCheckboxComponent as ɵgg, CsRadioComponent as ɵgh, CsSwitchComponent as ɵgi, CsRadioGroupComponent as ɵgj, CsSelectComponent as ɵgk, PascalPipe as ɵgl, SearchMultiSelectPipe as ɵgm, ClickOutsideDirective as ɵgn, CsCheckboxIndeterminateComponent as ɵgo, PreviewModule as ɵgp, PreviewWrapperComponent as ɵgq, PreviewMultipleChoiceComponent as ɵgr, PreviewCheckboxComponent as ɵgs, PreviewImageChoiceComponent as ɵgt, PreviewStarRatingComponent as ɵgu, PreviewSingleTextboxComponent as ɵgv, PreviewCommentBoxComponent as ɵgw, PreviewMatrixDropdownComponent as ɵgx, PreviewDropdownComponent as ɵgy, PreviewMatrixRatingScaleComponent as ɵgz, WorkflowComplianceComponent as ɵh, PreviewRankingComponent as ɵha, PreviewSliderComponent as ɵhb, PreviewMultipleTextboxComponent as ɵhc, PreviewDateTimeComponent as ɵhd, PreviewFileUploadComponent as ɵhe, WelcomeComponent as ɵhf, ThankYouComponent as ɵhg, SelectModule as ɵhh, CsSelectComponent$1 as ɵhi, SelectService as ɵhj, CsOptionComponent as ɵhk, AssessmentPreviewModule as ɵhl, CheckboxQuestionComponent as ɵhm, DateTimeComponent$1 as ɵhn, DeviceComponent as ɵho, FileUploadComponent as ɵhp, PreviewComponent as ɵhq, PreviewContainerComponent as ɵhr, QuickSettingsComponent$1 as ɵhs, RadioQuestionComponent as ɵht, SelectQuestionComponent as ɵhu, SingleTextboxComponent as ɵhv, PageHeaderComponent$1 as ɵhw, WelcomeComponent$2 as ɵhx, LogicQuestionsModule as ɵhy, LogicMultipleChoiceComponent as ɵhz, ResponsibilityService as ɵi, LogicCheckboxComponent as ɵia, LogicImageChoiceComponent as ɵib, LogicStarRatingComponent as ɵic, LogicSingleTextboxComponent as ɵid, LogicCommentBoxComponent as ɵie, LogicDropdownComponent as ɵif, LogicRankingComponent as ɵig, LogicSliderComponent as ɵih, LogicMultipleTextboxComponent as ɵii, LogicDateTimeComponent as ɵij, EditorLoaderModule as ɵik, EditorLoaderComponent as ɵil, LineLoaderModule as ɵim, LineLoaderComponent as ɵin, VLoaderModule as ɵio, LoaderComponent$1 as ɵip, LoaderInlineComponent as ɵiq, SmileyDialogModule as ɵir, SmileyDialogComponent as ɵis, SnackBarModule as ɵit, SnackBarComponent as ɵiu, SmileyDialogInlineModule as ɵiv, SmileyDialogInlineComponent as ɵiw, ClickOutsideModule as ɵix, ClickOutsideDirective$1 as ɵiy, PopoverHoverModule as ɵiz, FrequencyService as ɵj, PopoverHoverComponent as ɵja, PopoverHoverService as ɵjb, PopoverHoverDirective as ɵjc, PaginationModule$1 as ɵjd, PaginationComponent$1 as ɵje, ActionDialogModule as ɵjf, DeleteComponent as ɵjg, DeactivateComponent as ɵjh, ActiveComponent as ɵji, DuplicateComponent as ɵjj, CreateProgramUiModule as ɵjk, TabSelector as ɵjl, TickMarkComponent as ɵjm, FormFieldComponent as ɵjn, FilePillComponent as ɵjo, InputWithPillComponent as ɵjp, SwitchComponent as ɵjq, InputTrimDirective as ɵjr, RoleListComponent as ɵjs, CheckboxComponent as ɵjt, VuiFloatingBarComponent as ɵju, SearchPipe as ɵjv, UserGroupListComponent as ɵjw, ListToIdPipe as ɵjx, RefDisconnectPipe as ɵjy, AssessmentPickerComponent as ɵjz, WorkflowPolicyComponent as ɵk, AssessmentService as ɵka, AssessmentLoaderComponent as ɵkb, AssessmentSubLoaderComponent as ɵkc, Pagination as ɵkd, DefineFrameworkListingComponent as ɵke, FrameworkService as ɵkf, CustomFieldComponent as ɵkg, LoaderComponent as ɵkh, LoaderFrameworkComponent as ɵki, PagerPipe as ɵkj, CategoryAllSelectPipe as ɵkk, SubCatIndeterPipe as ɵkl, SearchNewPipe as ɵkm,
|
|
25426
|
+
export { VComplyWorkflowEngineModule, WorkflowEngineContainerComponent, WorkflowEngineService, UiKitService as ɵa, SnackBarService as ɵb, ReviewFrequencyComponent as ɵba, FrequencyContainerComponent as ɵbb, FrequencyDailyComponent as ɵbc, FrequencyWeeklyComponent as ɵbd, FrequencyMonthlyComponent as ɵbe, FrequencyQuarterlyComponent as ɵbf, FrequencyBiannualComponent as ɵbg, FrequencyAnnualComponent as ɵbh, FrequencyOneTimeComponent as ɵbi, FrequencyRandomComponent as ɵbj, FrequencyOnCompletionOfComponent as ɵbk, FrequencyOngoingComponent as ɵbl, FrequencyTopComponent as ɵbm, FrequencyLifecycleComponent as ɵbn, FrequencyDueDateComponent as ɵbo, FrequencyCheckboxListComponent as ɵbp, FrequencyRadioListComponent as ɵbq, GroupUsersListComponent as ɵbr, AddMultipleResponsibilityComponent as ɵbs, FrequencyBulkService as ɵbt, BulkResponsibilityViewComponent as ɵbu, CheckpointsPolicyContainerComponent as ɵbv, CheckpointsPolicyListComponent as ɵbw, CheckpointsPolicyQuestionsComponent as ɵbx, WorkflowSurveyFormComponent as ɵby, LogAnIssueComponent as ɵbz, AuthService as ɵc, LogIssueService as ɵca, FilterPipe as ɵcb, CheckboxListComponent as ɵcc, RadioListComponent as ɵcd, ListMapperPipe as ɵce, CreateDocumentsComponent as ɵcf, SearchPipe$1 as ɵcg, UserFilterPipe as ɵch, FrameworkListComponent as ɵci, ParentTableComponent as ɵcj, DataTypePipe as ɵck, CheckpointFloatingBarComponent as ɵcl, FormatAndEvidenceComponent as ɵcm, RiskClassificationComponent as ɵcn, DragDropDirective as ɵco, AutofocusDirective as ɵcp, ScrollInViewDirective as ɵcq, ShortMergePipe as ɵcr, SpaceBreakerPipe as ɵcs, FormatHtmlPipe as ɵct, WithinDataPipe as ɵcu, ResponsibilityRiskSelectorComponent as ɵcv, ConditionalFocusDirective as ɵcw, ListLoaderComponent as ɵcx, ArrayFilterPipe as ɵcy, AuditCategoryListComponent as ɵcz, TokenDecoderService as ɵd, DocumentSectionComponent as ɵda, WorkflowAssessmentComponent as ɵdb, AssessmentService$2 as ɵdc, ImportAnAssessmentComponent as ɵdd, AssessmentListComponent as ɵde, AssessmentService$1 as ɵdf, RadioListWithPaginationComponent as ɵdg, LinkTreatmentLoaderComponent as ɵdh, AssessmentListLoaderComponent as ɵdi, AssessmentListSubLoaderComponent as ɵdj, UncategorizedFilterPipe as ɵdk, WorkflowProgramComponent as ɵdl, ProgramsService as ɵdm, RolesListComponent as ɵdn, CreateAssessmentModule as ɵdo, CreateAssessmentContainerComponent as ɵdp, EditorService as ɵdq, DialogService as ɵdr, DialogModule as ɵds, DialogComponent as ɵdt, InsertionDirective as ɵdu, DialogRef as ɵdv, DialogConfig as ɵdw, QuestionTypeComponent as ɵdx, AddPageDetailsComponent as ɵdy, AssessmentSettingsComponent as ɵdz, Configurations as ɵe, ResultCriteriaService as ɵea, AddSegmentPopupComponent as ɵeb, AddResponseSetPopupComponent as ɵec, EditorWrapperComponent as ɵed, ValidatorService as ɵee, QuickSettingsComponent as ɵef, SingleLineEditorComponent as ɵeg, ResponseSelectorComponent as ɵeh, MoveComponent as ɵei, LogicComponent as ɵej, AddLogicComponent as ɵek, ToolkitComponent as ɵel, ErrorMessagePipe as ɵem, QuestionFilterPipe as ɵen, QuestionParserPipe as ɵeo, FormatterPipe as ɵep, SettingAnonymousComponent as ɵeq, SettingResponseSegmentComponent as ɵer, PageHeaderComponent as ɵes, WelcomeThankyouComponent as ɵet, CurrentPageQuestionPipe as ɵeu, QuestionPageFilterPipe as ɵev, TypeOfPipe as ɵew, TooltipModule as ɵex, ToolTipDirective as ɵey, PopoverModule as ɵez, WorkflowRiskComponent as ɵf, PopoverComponent as ɵfa, PopoverService as ɵfb, PopoverDirective as ɵfc, PopoverEventDirective as ɵfd, PopoverLongpressDirective as ɵfe, FormgroupModule$1 as ɵff, CsCheckboxComponent$1 as ɵfg, CsRadioComponent$1 as ɵfh, CsSwitchComponent$1 as ɵfi, CsRadioGroupComponent$1 as ɵfj, CsSelectComponent$2 as ɵfk, PascalPipe$1 as ɵfl, CsCheckboxIndeterminateComponent$1 as ɵfm, NoDataModule$1 as ɵfn, NoDataComponent$1 as ɵfo, BuildModule as ɵfp, MultipleChoiceComponent as ɵfq, CheckboxComponent$1 as ɵfr, ImageChoiceComponent as ɵfs, StarRatingComponent as ɵft, MatrixDropdownComponent as ɵfu, DropdownComponent as ɵfv, MatrixRatingScaleComponent as ɵfw, RankingComponent as ɵfx, SliderComponent as ɵfy, MultipleTextboxComponent as ɵfz, AddRiskService as ɵg, DateTimeComponent as ɵga, ChoiceSettingsPanelComponent as ɵgb, WelcomeComponent$1 as ɵgc, ThankYouComponent$1 as ɵgd, WeightageSelectorComponent as ɵge, FormgroupModule as ɵgf, CsCheckboxComponent as ɵgg, CsRadioComponent as ɵgh, CsSwitchComponent as ɵgi, CsRadioGroupComponent as ɵgj, CsSelectComponent as ɵgk, PascalPipe as ɵgl, SearchMultiSelectPipe as ɵgm, ClickOutsideDirective as ɵgn, CsCheckboxIndeterminateComponent as ɵgo, PreviewModule as ɵgp, PreviewWrapperComponent as ɵgq, PreviewMultipleChoiceComponent as ɵgr, PreviewCheckboxComponent as ɵgs, PreviewImageChoiceComponent as ɵgt, PreviewStarRatingComponent as ɵgu, PreviewSingleTextboxComponent as ɵgv, PreviewCommentBoxComponent as ɵgw, PreviewMatrixDropdownComponent as ɵgx, PreviewDropdownComponent as ɵgy, PreviewMatrixRatingScaleComponent as ɵgz, WorkflowComplianceComponent as ɵh, PreviewRankingComponent as ɵha, PreviewSliderComponent as ɵhb, PreviewMultipleTextboxComponent as ɵhc, PreviewDateTimeComponent as ɵhd, PreviewFileUploadComponent as ɵhe, WelcomeComponent as ɵhf, ThankYouComponent as ɵhg, SelectModule as ɵhh, CsSelectComponent$1 as ɵhi, SelectService as ɵhj, CsOptionComponent as ɵhk, AssessmentPreviewModule as ɵhl, CheckboxQuestionComponent as ɵhm, DateTimeComponent$1 as ɵhn, DeviceComponent as ɵho, FileUploadComponent as ɵhp, PreviewComponent as ɵhq, PreviewContainerComponent as ɵhr, QuickSettingsComponent$1 as ɵhs, RadioQuestionComponent as ɵht, SelectQuestionComponent as ɵhu, SingleTextboxComponent as ɵhv, PageHeaderComponent$1 as ɵhw, WelcomeComponent$2 as ɵhx, LogicQuestionsModule as ɵhy, LogicMultipleChoiceComponent as ɵhz, ResponsibilityService as ɵi, LogicCheckboxComponent as ɵia, LogicImageChoiceComponent as ɵib, LogicStarRatingComponent as ɵic, LogicSingleTextboxComponent as ɵid, LogicCommentBoxComponent as ɵie, LogicDropdownComponent as ɵif, LogicRankingComponent as ɵig, LogicSliderComponent as ɵih, LogicMultipleTextboxComponent as ɵii, LogicDateTimeComponent as ɵij, EditorLoaderModule as ɵik, EditorLoaderComponent as ɵil, LineLoaderModule as ɵim, LineLoaderComponent as ɵin, VLoaderModule as ɵio, LoaderComponent$1 as ɵip, LoaderInlineComponent as ɵiq, SmileyDialogModule as ɵir, SmileyDialogComponent as ɵis, SnackBarModule as ɵit, SnackBarComponent as ɵiu, SmileyDialogInlineModule as ɵiv, SmileyDialogInlineComponent as ɵiw, ClickOutsideModule as ɵix, ClickOutsideDirective$1 as ɵiy, PopoverHoverModule as ɵiz, FrequencyService as ɵj, PopoverHoverComponent as ɵja, PopoverHoverService as ɵjb, PopoverHoverDirective as ɵjc, PaginationModule$1 as ɵjd, PaginationComponent$1 as ɵje, ActionDialogModule as ɵjf, DeleteComponent as ɵjg, DeactivateComponent as ɵjh, ActiveComponent as ɵji, DuplicateComponent as ɵjj, CreateProgramUiModule as ɵjk, TabSelector as ɵjl, TickMarkComponent as ɵjm, FormFieldComponent as ɵjn, FilePillComponent as ɵjo, InputWithPillComponent as ɵjp, SwitchComponent as ɵjq, InputTrimDirective as ɵjr, RoleListComponent as ɵjs, CheckboxComponent as ɵjt, VuiFloatingBarComponent as ɵju, SearchPipe as ɵjv, UserGroupListComponent as ɵjw, ListToIdPipe as ɵjx, RefDisconnectPipe as ɵjy, AssessmentPickerComponent as ɵjz, WorkflowPolicyComponent as ɵk, AssessmentService as ɵka, AssessmentLoaderComponent as ɵkb, AssessmentSubLoaderComponent as ɵkc, Pagination as ɵkd, DefineFrameworkListingComponent as ɵke, FrameworkService as ɵkf, CustomFieldComponent as ɵkg, LoaderComponent as ɵkh, LoaderFrameworkComponent as ɵki, PagerPipe as ɵkj, CategoryAllSelectPipe as ɵkk, SubCatIndeterPipe as ɵkl, SearchNewPipe as ɵkm, SelectedAssessmentPipe as ɵkn, PaginationModule as ɵko, PaginationComponent as ɵkp, NoDataModule as ɵkq, NoDataComponent as ɵkr, PolicyService as ɵl, MoreOptionComponent as ɵm, OwnerListComponent as ɵn, UserRadioListComponent as ɵo, CategoryListComponent as ɵp, CategoryMultiSelectComponent as ɵq, FloatingBarComponent as ɵr, ResponsibilityCentersListComponent as ɵs, WorkflowPaginationComponent as ɵt, AddMultipleRiskComponent as ɵu, BulkViewComponent as ɵv, CheckpointsComponent as ɵw, ConfirmationAlertComponent as ɵx, CheckpointsQuestionsComponent as ɵy, CheckpointsListComponent as ɵz };
|
|
25386
25427
|
//# sourceMappingURL=vcomply-workflow-engine.js.map
|