vcomply-workflow-engine 2.1.76 → 2.1.79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/bundles/vcomply-workflow-engine.umd.js +116 -42
  2. package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
  3. package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +2 -2
  4. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +3 -1
  5. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.js +1 -1
  6. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngsummary.json +1 -1
  7. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.js +2 -2
  8. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.ngfactory.js +1 -1
  9. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.js +54 -25
  10. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ngfactory.js +40 -39
  11. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ngsummary.json +1 -1
  12. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.js +2 -2
  13. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.ngfactory.js +1 -1
  14. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.js +18 -0
  15. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.ngsummary.json +1 -0
  16. package/esm2015/lib/workflow-program/create-program-ui/checkbox/checkbox.component.js +2 -2
  17. package/esm2015/lib/workflow-program/create-program-ui/checkbox/checkbox.component.ngfactory.js +1 -1
  18. package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.js +4 -2
  19. package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngfactory.js +1 -1
  20. package/esm2015/lib/workflow-program/create-program-ui/custom-field/custom-field.component.js +2 -2
  21. package/esm2015/lib/workflow-program/create-program-ui/custom-field/custom-field.component.ngfactory.js +1 -1
  22. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.js +1 -1
  23. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.js +1 -1
  24. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.js +1 -1
  25. package/esm2015/lib/workflow-program/create-program-ui/directives/input-trim.directive.js +1 -1
  26. package/esm2015/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.js +1 -1
  27. package/esm2015/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.js +1 -1
  28. package/esm2015/lib/workflow-program/create-program-ui/pipes/search.pipe.js +1 -1
  29. package/esm2015/lib/workflow-program/create-program-ui/role-list/loader/loader.component.js +2 -2
  30. package/esm2015/lib/workflow-program/create-program-ui/role-list/loader/loader.component.ngfactory.js +1 -1
  31. package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.js +2 -2
  32. package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.ngfactory.js +1 -1
  33. package/esm2015/lib/workflow-program/workflow-program.component.js +27 -6
  34. package/esm2015/lib/workflow-program/workflow-program.component.ngfactory.js +3 -3
  35. package/esm2015/lib/workflow-services/programs.service.js +2 -2
  36. package/esm2015/vcomply-workflow-engine.js +6 -5
  37. package/esm2015/vcomply-workflow-engine.ngsummary.json +1 -1
  38. package/fesm2015/vcomply-workflow-engine.js +109 -39
  39. package/fesm2015/vcomply-workflow-engine.js.map +1 -1
  40. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +1 -0
  41. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +2 -9
  42. package/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.d.ts +4 -0
  43. package/lib/workflow-program/workflow-program.component.d.ts +1 -0
  44. package/lib/workflow-services/programs.service.d.ts +1 -3
  45. package/package.json +1 -1
  46. package/vcomply-workflow-engine.d.ts +5 -4
  47. package/vcomply-workflow-engine.metadata.json +1 -1
@@ -379,6 +379,7 @@
379
379
  responsibilityName: '',
380
380
  rcId: null
381
381
  };
382
+ this.pid = '';
382
383
  this.issueData = {
383
384
  auditPlanId: null,
384
385
  auditPlanName: '',
@@ -777,6 +778,7 @@
777
778
  defaultRiskType: [{ type: i0.Input }],
778
779
  moveToRegisterMode: [{ type: i0.Input }],
779
780
  reponsibilityData: [{ type: i0.Input }],
781
+ pid: [{ type: i0.Input }],
780
782
  issueData: [{ type: i0.Input }],
781
783
  entrustButtonName: [{ type: i0.Input }],
782
784
  config: [{ type: i0.Input }],
@@ -3041,7 +3043,7 @@
3041
3043
  var _this = this;
3042
3044
  var params = new i1.HttpParams();
3043
3045
  if (program_id) {
3044
- params = params.append('program_id', program_id);
3046
+ params = params.append('program_ids', program_id);
3045
3047
  }
3046
3048
  this.responsibilityService.getOrganizationPeople(params).subscribe(function (res) {
3047
3049
  _this.assigneesList = res.assignee.map(function (user) {
@@ -23684,7 +23686,7 @@
23684
23686
  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: [] },
23685
23687
  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'),
23686
23688
  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') },
23687
- assessment: { ids: this.listToId(form === null || form === void 0 ? void 0 : form.program_assessments, 'id') },
23689
+ assessment: instance.selectedAssessment,
23688
23690
  evidence_upload_flag: (form === null || form === void 0 ? void 0 : form.evidence_required) ? 1 : 0,
23689
23691
  is_key_evidence: form === null || form === void 0 ? void 0 : form.allow_any_file_key_evidence,
23690
23692
  custom_fields: (_m = form === null || form === void 0 ? void 0 : form.custom_fields) !== null && _m !== void 0 ? _m : [],
@@ -24141,7 +24143,18 @@
24141
24143
  break;
24142
24144
  }
24143
24145
  case 'ASSESSMENT': {
24144
- this.setFormField('program_assessments', this.uniqueByProp(evt, 'id'));
24146
+ var assessment = evt.map(function (ele) { return ele.assessmentIds; })[0];
24147
+ this.selectedAssessment = evt.map((function (ele) {
24148
+ ele.assessmentIds = ele.assessmentIds.map(function (assessment) {
24149
+ if (assessment._id) {
24150
+ return assessment._id;
24151
+ }
24152
+ return assessment.id;
24153
+ });
24154
+ return ele;
24155
+ }));
24156
+ console.log("this.selectedAssessment ==>", this.selectedAssessment, assessment);
24157
+ this.setFormField('program_assessments', assessment);
24145
24158
  this.fieldDeselector(type);
24146
24159
  break;
24147
24160
  }
@@ -24405,9 +24418,10 @@
24405
24418
  var 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(function (ele) { return (ele === null || ele === void 0 ? void 0 : ele.roleType) === "system role"; });
24406
24419
  console.log("approvers");
24407
24420
  _this.setFormField('program_roles', defaultVal);
24421
+ console.log("AAAA");
24408
24422
  //for setting all tghe key admin and admin as default owner
24409
- //this.fetchGroupsAssociatedWithRoles(role);
24410
- //this.fetchUsersAssociatedWithRoles(role?.approvers);
24423
+ _this.fetchGroupsAssociatedWithRoles(role);
24424
+ _this.fetchUsersAssociatedWithRoles(role === null || role === void 0 ? void 0 : role.approvers);
24411
24425
  _this.listLoadingState.ROLES = false;
24412
24426
  if ((_d = role === null || role === void 0 ? void 0 : role.roles) === null || _d === void 0 ? void 0 : _d.length) {
24413
24427
  var roleIdArr_1 = (_e = role === null || role === void 0 ? void 0 : role.roles) === null || _e === void 0 ? void 0 : _e.map(function (role) { return role.roleId; });
@@ -24434,6 +24448,7 @@
24434
24448
  WorkflowProgramComponent.prototype.fetchUsersAssociatedWithRoles = function (approvers) {
24435
24449
  var _this = this;
24436
24450
  var _a, _b;
24451
+ console.log("DDDD");
24437
24452
  var roleIds = (_b = (_a = this.controls.program_roles) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.map(function (ele) { return ele === null || ele === void 0 ? void 0 : ele._id; });
24438
24453
  // if (fetchAll) {
24439
24454
  this.programService.fetchAllRoleUsers(roleIds).subscribe({
@@ -24441,6 +24456,7 @@
24441
24456
  var _a, _b;
24442
24457
  _this.lists.OWNERS = res;
24443
24458
  _this.lists.APPROVERS = res;
24459
+ console.log("EEEE");
24444
24460
  if (approvers === null || approvers === void 0 ? void 0 : approvers.length) {
24445
24461
  var approversDetails = res.data.filter(function (user) { return approvers.includes(user.member_id); });
24446
24462
  _this.setFormField('program_approver', approversDetails);
@@ -24458,11 +24474,13 @@
24458
24474
  WorkflowProgramComponent.prototype.fetchGroupsAssociatedWithRoles = function (role) {
24459
24475
  var _this = this;
24460
24476
  var _a, _b;
24477
+ console.log("BBBBB");
24461
24478
  var roleIds = (_b = (_a = this.controls.program_roles) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.map(function (ele) { return ele === null || ele === void 0 ? void 0 : ele._id; });
24462
24479
  this.programService.fetchAllRoleGroups(roleIds).subscribe({
24463
24480
  next: function (res) {
24464
24481
  var _a;
24465
24482
  _this.lists.OWNERS_GROUPS = res;
24483
+ console.log("CCCCCC");
24466
24484
  if ((_a = role === null || role === void 0 ? void 0 : role.owners_group) === null || _a === void 0 ? void 0 : _a.length) {
24467
24485
  var ownersGroupDetails = role.owners_group.length ? res.data.filter(function (group) { return role.owners_group.includes(group === null || group === void 0 ? void 0 : group.group_id); }) : [];
24468
24486
  _this.setFormField('program_owners_group', ownersGroupDetails);
@@ -24641,7 +24659,6 @@
24641
24659
  });
24642
24660
  }
24643
24661
  if (payload && this.mode === 'EDIT') {
24644
- alert("f");
24645
24662
  this.programService.updateProgram(payload, this.programId).subscribe({
24646
24663
  next: function (res) { console.log(res); _this.loader = false; _this.showSmiley = true; _this.uiKitService.isSmileyOn = true; },
24647
24664
  error: function (err) { console.log(err); }
@@ -24764,6 +24781,12 @@
24764
24781
  _this.setFormField('framework', Object.assign(Object.assign({}, res.framework_details), { _id: (_f = res === null || res === void 0 ? void 0 : res.framework_details) === null || _f === void 0 ? void 0 : _f.framework_id }));
24765
24782
  _this.fetchRoles(res);
24766
24783
  if (res.assessmentData.length) {
24784
+ res.assessmentData = res.assessmentData.map(function (ele) {
24785
+ console.log("ele.assessments ==>", ele.assessments);
24786
+ ele.assessmentIds = __spreadArray([], __read(new Set(ele.assessments)));
24787
+ return ele;
24788
+ });
24789
+ console.log(res.assessmentData);
24767
24790
  _this.listAction(res.assessmentData, 'ASSESSMENT');
24768
24791
  _this.constants.additionalOption.ASSESSMENT = true;
24769
24792
  }
@@ -24878,7 +24901,7 @@
24878
24901
  WorkflowProgramComponent.decorators = [
24879
24902
  { type: i0.Component, args: [{
24880
24903
  selector: 'app-workflow-program',
24881
- 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\">&#xe90d;</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\">&#xe9ba;</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')\">&#xe90d;</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\">&#xe9ba;</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')\">&#xe90d;</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')\">&#xe90d;</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\">&#xe90d;</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\">&#xe9ba;</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\">&#xe90d;</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\">&#xe9ba;</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\">&#xe90d;</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')\">&#xe90d;</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\">&#xe9ba;</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')\">&#xe90d;</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\">&#xe9ba;</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\">&#xe90d;</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\">&#xe90d;</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\">&#xe9ba;</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\">&#xe90d;</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\">&#xe90d;</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\" >&#xe91f;</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\">&#xe91f;</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\">&#xe9ba;</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\">&#xe90d;</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\">&#xe90d;</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\">&#xe9ba;</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\">&#xe90d;</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\">&#xe90d;</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\">&#xe91f;</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\">&#xe91f;</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\">&#xe9ba;</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')\">&#xe90d;</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\">&#xe90d;</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\">&#xe9ba;</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')\">&#xe90d;</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\">&#xe90d;</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\">&#xe9ba;</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')\">&#xe90d;</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\">&#xe90d;</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')\">&#xe90d;</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\">&#xe9ba;</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\" >&#xe90d;</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",
24904
+ 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\">&#xe90d;</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\">&#xe9ba;</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')\">&#xe90d;</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\">&#xe9ba;</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')\">&#xe90d;</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')\">&#xe90d;</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\">&#xe90d;</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\">&#xe9ba;</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\">&#xe90d;</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\">&#xe9ba;</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\">&#xe90d;</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')\">&#xe90d;</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\">&#xe9ba;</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')\">&#xe90d;</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\">&#xe9ba;</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\">&#xe90d;</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\">&#xe90d;</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\">&#xe9ba;</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\">&#xe90d;</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\">&#xe90d;</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\" >&#xe91f;</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\">&#xe91f;</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\">&#xe9ba;</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\">&#xe90d;</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\">&#xe90d;</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\">&#xe9ba;</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\">&#xe90d;</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\">&#xe90d;</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\">&#xe91f;</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\">&#xe91f;</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\">&#xe9ba;</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')\">&#xe90d;</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\">&#xe90d;</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\">&#xe9ba;</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')\">&#xe90d;</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\">&#xe90d;</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\">&#xe9ba;</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')\">&#xe90d;</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\">&#xe90d;</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')\">&#xe90d;</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\">&#xe9ba;</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\" >&#xe90d;</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",
24882
24905
  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}"]
24883
24906
  },] }
24884
24907
  ];
@@ -25269,7 +25292,7 @@
25269
25292
  RoleListComponent.decorators = [
25270
25293
  { type: i0.Component, args: [{
25271
25294
  selector: 'role-list',
25272
- template: "<div class=\"roles-list\" [class.animate]=\"animation\">\r\n <div class=\"roles-list-head\">\r\n <h3 class=\"roles-list-title\">Select Roles(s)</h3>\r\n </div>\r\n \r\n <div class=\"roles-list-body\">\r\n <div class=\"search-block\" [class.disabled]=\"!rolesList?.length\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" placeholder=\"Search Roles\" [(ngModel)]=\"searchKey\"/>\r\n </div>\r\n <div class=\"vx-mt-4\">\r\n <role-loader *ngIf=\"loading\"></role-loader>\r\n </div>\r\n \r\n <ng-container *ngIf=\"!loading\">\r\n <ng-container *ngIf=\"(rolesList|search:searchKey:'roleName') as roles\">\r\n <div *ngIf=\"roles?.length > 0\" class=\"roles-list-mid vx-mt-2\">\r\n <div class=\"role-box-select vx-pb-2\">\r\n <vui-checkbox [indeterminateEnabled]=\"false\" #check (change)=\"selectAll($event)\"\r\n [(ngModel)]=\"allSelected\" [checked]=\"allSelected\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt\">{{!check.checked ? 'Select All' :\r\n 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n \r\n <div class=\"role-box vx-mb-2\" *ngFor=\"let role of roles; let i = index\">\r\n <div (click)=\"!expandedRows.includes(role?._id) ? expandOrCollapse('EXPAND',role?._id): expandOrCollapse('COLLAPSE',role?._id) \"\r\n class=\"role-box-heading vx-d-flex vx-align-center vx-justify-between vx-p-3\">\r\n <div class=\"left vx-d-flex vx-align-center vx-lh-4\">\r\n <vui-checkbox [disabled]=\"systemRolesIds.includes(role?._id)\"\r\n [checked]=\"selectedIds.includes(role?._id)\" (change)=\"selectItem($event,role)\">\r\n </vui-checkbox>\r\n <div class=\"name vx-fs-12 vx-label-txt\" [appTooltip]=\"'Role name'\" placement=\"bottom-left\"\r\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{role?.roleName}}</div>\r\n <span *ngIf=\"role?.roleActions?.length > 0\"\r\n class=\"count vx-fs-9 vx-fw-600 vx-lh-3 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-ml-2\">{{role?.roleActions?.length}}\r\n PERMISSIONS</span>\r\n </div>\r\n <div class=\"right vx-d-flex vx-align-center vx-justify-between\">\r\n <div *ngIf=\"role?.licenseType === 'power users'\"\r\n class=\"status-label vx-fs-9 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1\"\r\n [class.power-user]=\"true\" [class.all-user]=\"false\"> Power User</div>\r\n <div *ngIf=\"role?.licenseType === 'light users'\"\r\n class=\"status-label vx-fs-9 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1\"\r\n [class.power-user]=\"false\" [class.all-user]=\"true\">Light User</div>\r\n <button class=\"arrow-btn vx-fs-12 vx-paragraph-txt vx-m-0 vx-p-0 vx-d-flex vx-align-center\">\r\n <i *ngIf=\"!expandedRows.includes(role?._id)\" class=\"icons\">&#xe970;</i>\r\n <i *ngIf=\"expandedRows.includes(role?._id)\" class=\"icons\">&#xe9e8;</i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"role-box-list\" *ngIf=\"expandedRows.includes(role?._id)\">\r\n <ul class=\"vx-p-0 vx-m-0\">\r\n <li class=\"vx-p-3 vx-lh-4\" *ngFor=\"let permission of role?.roleActions\">\r\n <div class=\"value vx-fs-12 vx-label-txt\">{{permission}}</div>\r\n </li>\r\n <!-- <li class=\"vx-p-3 vx-lh-4\">\r\n <div class=\"value vx-fs-12 vx-label-txt\">View User List</div>\r\n </li>\r\n <li class=\"vx-p-3 vx-lh-4\">\r\n <div class=\"value vx-fs-12 vx-label-txt\">Manage Users <span class=\"vx-fs-10 vx-paragraph-txt\">(Create/Edit/Delete/Deactivate)</span></div>\r\n </li>\r\n <li class=\"vx-p-3 vx-lh-4\">\r\n <div class=\"value vx-fs-12 vx-label-txt\">Over-ride Log In</div>\r\n </li>\r\n <li class=\"vx-p-3 vx-lh-4\">\r\n <div class=\"value vx-fs-12 vx-label-txt\">View Statutory Holidays</div>\r\n </li>\r\n <li class=\"vx-p-3 vx-lh-4\">\r\n <div class=\"value vx-fs-12 vx-label-txt\">Manage Statutory Holidays</div>\r\n </li> -->\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <app-no-data *ngIf=\"roles?.length === 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"searchKey?.length > 0 ?'No match found.': 'No Roles Found'\"></app-no-data>\r\n \r\n </ng-container>\r\n </ng-container>\r\n \r\n </div>\r\n\r\n <div class=\"roles-list-footer\">\r\n <vui-floating-bar (closeEvent)=\"saveList()\" (closeList)=\"closeList()\">\r\n <div class=\"counter\" *ngIf=\"selectedRoles?.length\" \r\n placement=\"left\">{{selectedRoles?.length}}</div>\r\n <div class=\"name\" *ngIf=\"selectedRoles?.length>1\"> \r\n <span *ngIf=\"selectedRoles?.length === 1\">Role selected</span>\r\n <span *ngIf=\"selectedRoles?.length > 1\">Roles selected</span>\r\n </div>\r\n </vui-floating-bar>\r\n </div>\r\n</div>",
25295
+ template: "<div class=\"roles-list\" [class.animate]=\"animation\">\n <div class=\"roles-list-head\">\n <h3 class=\"roles-list-title\">Select Roles(s)</h3>\n </div>\n \n <div class=\"roles-list-body\">\n <div class=\"search-block\" [class.disabled]=\"!rolesList?.length\">\n <i class=\"icons\">&#xe90b;</i>\n <input type=\"text\" placeholder=\"Search Roles\" [(ngModel)]=\"searchKey\"/>\n </div>\n <div class=\"vx-mt-4\">\n <role-loader *ngIf=\"loading\"></role-loader>\n </div>\n \n <ng-container *ngIf=\"!loading\">\n <ng-container *ngIf=\"(rolesList|search:searchKey:'roleName') as roles\">\n <div *ngIf=\"roles?.length > 0\" class=\"roles-list-mid vx-mt-2\">\n <div class=\"role-box-select vx-pb-2\">\n <vui-checkbox [indeterminateEnabled]=\"false\" #check (change)=\"selectAll($event)\"\n [(ngModel)]=\"allSelected\" [checked]=\"allSelected\">\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt\">{{!check.checked ? 'Select All' :\n 'Deselect All'}}</div>\n </vui-checkbox>\n </div>\n \n <div class=\"role-box vx-mb-2\" *ngFor=\"let role of roles; let i = index\">\n <div (click)=\"!expandedRows.includes(role?._id) ? expandOrCollapse('EXPAND',role?._id): expandOrCollapse('COLLAPSE',role?._id) \"\n class=\"role-box-heading vx-d-flex vx-align-center vx-justify-between vx-p-3\">\n <div class=\"left vx-d-flex vx-align-center vx-lh-4\">\n <vui-checkbox [disabled]=\"systemRolesIds.includes(role?._id)\"\n [checked]=\"selectedIds.includes(role?._id)\" (change)=\"selectItem($event,role)\">\n </vui-checkbox>\n <div class=\"name vx-fs-12 vx-label-txt\" [appTooltip]=\"'Role name'\" placement=\"bottom-left\"\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{role?.roleName}}</div>\n <span *ngIf=\"role?.roleActions?.length > 0\"\n class=\"count vx-fs-9 vx-fw-600 vx-lh-3 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-ml-2\">{{role?.roleActions?.length}}\n PERMISSIONS</span>\n </div>\n <div class=\"right vx-d-flex vx-align-center vx-justify-between\">\n <div *ngIf=\"role?.licenseType === 'power users'\"\n class=\"status-label vx-fs-9 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1\"\n [class.power-user]=\"true\" [class.all-user]=\"false\"> Power User</div>\n <div *ngIf=\"role?.licenseType === 'light users'\"\n class=\"status-label vx-fs-9 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1\"\n [class.power-user]=\"false\" [class.all-user]=\"true\">Light User</div>\n <button class=\"arrow-btn vx-fs-12 vx-paragraph-txt vx-m-0 vx-p-0 vx-d-flex vx-align-center\">\n <i *ngIf=\"!expandedRows.includes(role?._id)\" class=\"icons\">&#xe970;</i>\n <i *ngIf=\"expandedRows.includes(role?._id)\" class=\"icons\">&#xe9e8;</i>\n </button>\n </div>\n </div>\n <div class=\"role-box-list\" *ngIf=\"expandedRows.includes(role?._id)\">\n <ul class=\"vx-p-0 vx-m-0\">\n <li class=\"vx-p-3 vx-lh-4\" *ngFor=\"let permission of role?.roleActions\">\n <div class=\"value vx-fs-12 vx-label-txt\">{{permission}}</div>\n </li>\n <!-- <li class=\"vx-p-3 vx-lh-4\">\n <div class=\"value vx-fs-12 vx-label-txt\">View User List</div>\n </li>\n <li class=\"vx-p-3 vx-lh-4\">\n <div class=\"value vx-fs-12 vx-label-txt\">Manage Users <span class=\"vx-fs-10 vx-paragraph-txt\">(Create/Edit/Delete/Deactivate)</span></div>\n </li>\n <li class=\"vx-p-3 vx-lh-4\">\n <div class=\"value vx-fs-12 vx-label-txt\">Over-ride Log In</div>\n </li>\n <li class=\"vx-p-3 vx-lh-4\">\n <div class=\"value vx-fs-12 vx-label-txt\">View Statutory Holidays</div>\n </li>\n <li class=\"vx-p-3 vx-lh-4\">\n <div class=\"value vx-fs-12 vx-label-txt\">Manage Statutory Holidays</div>\n </li> -->\n </ul>\n </div>\n </div>\n </div>\n \n <app-no-data *ngIf=\"roles?.length === 0\"\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\n [noDataText]=\"searchKey?.length > 0 ?'No match found.': 'No Roles Found'\"></app-no-data>\n \n </ng-container>\n </ng-container>\n \n </div>\n\n <div class=\"roles-list-footer\">\n <vui-floating-bar (closeEvent)=\"saveList()\" (closeList)=\"closeList()\">\n <div class=\"counter\" *ngIf=\"selectedRoles?.length\" \n placement=\"left\">{{selectedRoles?.length}}</div>\n <div class=\"name\" *ngIf=\"selectedRoles?.length>1\"> \n <span *ngIf=\"selectedRoles?.length === 1\">Role selected</span>\n <span *ngIf=\"selectedRoles?.length > 1\">Roles selected</span>\n </div>\n </vui-floating-bar>\n </div>\n</div>",
25273
25296
  styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");@import url(\"https://cdn.v-comply.com/design-system/css/text/text.css\");@import url(\"https://cdn.v-comply.com/design-system/css/color/color.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\");::ng-deep .roles-list{background:#fff;position:fixed;top:0;right:500px;bottom:0;left:0;border-top:3px solid #1e5dd3}::ng-deep .roles-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 .roles-list-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border:1px solid #f1f1f1;border-right:none}::ng-deep .roles-list-title{color:#161b2f;font-size:15px;font-weight:500;margin:0!important;padding:0;line-height:21px}::ng-deep .roles-list-body{padding:24px 40px 24px 36px;height:calc(100vh - 124px)}::ng-deep .roles-list-body .search-block{position:relative}::ng-deep .roles-list-body .search-block input{height:44px;line-height:24px;padding:10px 16px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}::ng-deep .roles-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .roles-list-body .search-block i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#f1f1f1}::ng-deep .roles-list-mid{width:calc(100% + .75rem);height:calc(100vh - 14rem);overflow:auto;padding-right:.75rem}::ng-deep .roles-list-mid .role-box{border:1px solid #f1f1f1;border-radius:.25rem}::ng-deep .roles-list-mid .role-box-select{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .roles-list-mid .role-box-select vui-checkbox .checkbox-item{position:relative;padding-left:1.75rem;width:100%}::ng-deep .roles-list-mid .role-box-select vui-checkbox .checkbox-item .checkbox,::ng-deep .roles-list-mid .role-box-select vui-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .roles-list-mid .role-box-select vui-checkbox .checkbox-item .value{margin:0!important}::ng-deep .roles-list-mid .role-box-heading{cursor:pointer}::ng-deep .roles-list-mid .role-box-heading .left{width:calc(100% - 6.5rem)}::ng-deep .roles-list-mid .role-box-heading .left vui-checkbox{height:1rem}::ng-deep .roles-list-mid .role-box-heading .left vui-checkbox .checkbox-item{position:relative;padding-left:1.75rem;height:1rem}::ng-deep .roles-list-mid .role-box-heading .left vui-checkbox .checkbox-item .checkbox,::ng-deep .roles-list-mid .role-box-heading .left vui-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .roles-list-mid .role-box-heading .left .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 9.25rem)}::ng-deep .roles-list-mid .role-box-heading .left .count{background:#f1f1f1;border-radius:.125rem;color:#042e7d}::ng-deep .roles-list-mid .role-box-heading .right{width:6.5rem}::ng-deep .roles-list-mid .role-box-heading .right .status-label{border-radius:.125rem;height:.75rem}::ng-deep .roles-list-mid .role-box-heading .right .status-label.all-user{background:#7aa6f7}::ng-deep .roles-list-mid .role-box-heading .right .status-label.power-user{background:#fadd8a}::ng-deep .roles-list-mid .role-box-heading .right button.arrow-btn{background:transparent;border:none;border-radius:0}::ng-deep .roles-list-mid .role-box-list ul{list-style-type:none}::ng-deep .roles-list-mid .role-box-list ul li{border-top:1px solid #f1f1f1;padding-left:2.5rem!important;position:relative}::ng-deep .roles-list-mid .role-box-list ul li:before{background:#dbdbdb;border-radius:.125rem;width:.25rem;height:.25rem;content:\"\";position:absolute;top:18px;left:18px}::ng-deep .roles-list-mid .role-box-list ul li .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .roles-list-mid .role-box-list ul li vui-checkbox .checkbox-item{width:100%}::ng-deep .roles-list-mid .role-box-list ul li vui-checkbox .checkbox-item span.value{width:100%}::ng-deep .roles-list-mid .role-box-list ul li vui-checkbox .checkbox-item span.value .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.counter{border-radius:2px;background:#66bf72;border:1px solid #66bf72;height:24px;padding:0 5px;color:#fff;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;margin-left:5px;min-width:24px;justify-content:center;line-height:24px;margin-right:5px}.counter,.name{font-weight:500}.name{margin-left:4px;color:#707070;font-size:12px;line-height:18px;white-space:nowrap}.name b{text-transform:lowercase}"]
25274
25297
  },] }
25275
25298
  ];
@@ -25314,7 +25337,7 @@
25314
25337
  CheckboxComponent.decorators = [
25315
25338
  { type: i0.Component, args: [{
25316
25339
  selector: 'vui-checkbox',
25317
- template: "<label class=\"checkbox-item\" [class.disabled]=\"disabled\">\r\n <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" (change)=\"valueChanged()\"/>\r\n <span class=\"checkbox\">\r\n <span class=\"inner\"></span>\r\n </span>\r\n <!-- svg for checkmark -->\r\n <ng-container *ngIf=\"!indeterminateEnabled\">\r\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkmark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkmark__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"indeterminateEnabled\">\r\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkmark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path fill=\"none\" d=\"M37.9,27H14v-2h23.9V27z\"/>\r\n </svg>\r\n </ng-container>\r\n \r\n <span class=\"value\"><ng-content></ng-content></span>\r\n </label>\r\n ",
25340
+ template: "<label class=\"checkbox-item\" [class.disabled]=\"disabled\">\n <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" (change)=\"valueChanged()\"/>\n <span class=\"checkbox\">\n <span class=\"inner\"></span>\n </span>\n <!-- svg for checkmark -->\n <ng-container *ngIf=\"!indeterminateEnabled\">\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\n <circle class=\"checkmark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path class=\"checkmark__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\n </svg>\n </ng-container>\n \n <ng-container *ngIf=\"indeterminateEnabled\">\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\n <circle class=\"checkmark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path fill=\"none\" d=\"M37.9,27H14v-2h23.9V27z\"/>\n </svg>\n </ng-container>\n \n <span class=\"value\"><ng-content></ng-content></span>\n </label>\n ",
25318
25341
  providers: [CHECKBOX_VALUE_ACCESSOR],
25319
25342
  inputs: ['disabled', 'checked', 'indeterminateEnabled'],
25320
25343
  styles: ["label.checkbox-item{display:inline-flex;align-items:center;cursor:pointer;margin:0;width:100%;position:relative;padding:0 0 0 16px}label.checkbox-item span{display:inline-flex;align-items:center;justify-content:center}label.checkbox-item span.checkbox{height:16px;width:16px;border-radius:2px;border:1px solid #dbdbdb;position:absolute;top:0;left:0;padding:2px;margin-top:0}label.checkbox-item span.value{color:#4e4e4e;font-size:14px;line-height:16px;font-weight:400;margin-left:10px;max-width:calc(100% - 26px);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}label.checkbox-item span.value:empty{display:none}label.checkbox-item svg{display:none;margin-top:0}label.checkbox-item input[type=checkbox]{display:none}label.checkbox-item input[type=checkbox]:checked~svg{display:block}label.checkbox-item input[type=checkbox]:checked+.checkbox{display:none}label.checkbox-item input[type=checkbox]:disabled~*{opacity:.7;pointer-events:none}.disabled{opacity:.4!important;pointer-events:none}.checkmark{width:16px;height:16px;border-radius:2px;position:absolute;top:0;left:0;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 0 #34aa44;-webkit-animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.checkmark__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;-webkit-animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;-webkit-animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@-webkit-keyframes stroke{to{stroke-dashoffset:0}}@keyframes stroke{to{stroke-dashoffset:0}}@-webkit-keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@-webkit-keyframes fill{to{box-shadow:inset 0 0 0 30px #34aa44}}@keyframes fill{to{box-shadow:inset 0 0 0 30px #34aa44}}"]
@@ -26005,8 +26028,10 @@
26005
26028
  this.isDeleted = false;
26006
26029
  this.searchAssessments = '';
26007
26030
  this.isPreview = false;
26031
+ this.selectedAssessmentData = [];
26008
26032
  this.onAssessmentSelect = new i0.EventEmitter();
26009
26033
  this.cancelAssessment = new i0.EventEmitter();
26034
+ this.selectedAssessmentArr = [];
26010
26035
  this.selectedAssessments = [];
26011
26036
  this.selectedAssessmentIds = [];
26012
26037
  this.dataPerPage = 30;
@@ -26022,7 +26047,7 @@
26022
26047
  configurable: true
26023
26048
  });
26024
26049
  AssessmentPickerComponent.prototype.ngOnChanges = function (changes) {
26025
- console.log("changes ====>", changes, this.selectedAssessmentData);
26050
+ console.log("changes ====>", changes, this.selectedAssessmentData, this.assessmentCategory);
26026
26051
  };
26027
26052
  AssessmentPickerComponent.prototype.ngOnInit = function () {
26028
26053
  var _this = this;
@@ -26057,6 +26082,7 @@
26057
26082
  *
26058
26083
  */
26059
26084
  AssessmentPickerComponent.prototype.showSubList = function (index, id) {
26085
+ console.log("this.openedCategory ==>", this.openedCategory);
26060
26086
  if (this.openedCategory.includes(index)) {
26061
26087
  this.openedCategory = this.openedCategory.filter(function (ele) { return ele !== index; });
26062
26088
  }
@@ -26064,6 +26090,7 @@
26064
26090
  this.openedCategory.push(index);
26065
26091
  this.getAssessmentList(index, id);
26066
26092
  }
26093
+ console.log("this.openedCategory ==>", this.openedCategory);
26067
26094
  return this.openedCategory;
26068
26095
  };
26069
26096
  // TODO: Pagination
@@ -26073,6 +26100,7 @@
26073
26100
  */
26074
26101
  AssessmentPickerComponent.prototype.onPageSelection = function (event) {
26075
26102
  this.openedCategory = [];
26103
+ console.log("111");
26076
26104
  this.assessmentPayload.page_no = event.toString();
26077
26105
  this.getAssessmentCategoryList();
26078
26106
  };
@@ -26083,6 +26111,7 @@
26083
26111
  */
26084
26112
  AssessmentPickerComponent.prototype.onAssessmentSearch = function (search) {
26085
26113
  this.openedCategory = [];
26114
+ console.log("222");
26086
26115
  this.assessmentPayload.page_no = "1";
26087
26116
  this.assessmentPayload.search_title = search;
26088
26117
  this.assessmentPayload.search_text = search;
@@ -26095,6 +26124,7 @@
26095
26124
  */
26096
26125
  AssessmentPickerComponent.prototype.onAlphabetSelected = function (event) {
26097
26126
  this.openedCategory = [];
26127
+ console.log("333");
26098
26128
  this.assessmentPayload.page_no = "1";
26099
26129
  this.assessmentPayload.alphabet_filter = event;
26100
26130
  this.assessmentPayload.search_text = '';
@@ -26105,7 +26135,15 @@
26105
26135
  var _this = this;
26106
26136
  this.isLoader = true;
26107
26137
  this.assessmentService.getAssessmentCategory(this.assessmentPayload).subscribe(function (res) {
26138
+ var _a;
26108
26139
  _this.assessmentCategory = res;
26140
+ if ((_a = _this.selectedAssessmentData) === null || _a === void 0 ? void 0 : _a.length) {
26141
+ _this.selectedAssessmentArr = __spreadArray([], __read(new Set(_this.selectedAssessmentData)));
26142
+ _this.selectedAssessmentData.forEach(function (ele) {
26143
+ var index = res.data.findIndex(function (assessment) { return assessment.id === ele.category_id; });
26144
+ _this.showSubList(index, ele.category_id);
26145
+ });
26146
+ }
26109
26147
  _this.isLoader = false;
26110
26148
  });
26111
26149
  };
@@ -26120,7 +26158,17 @@
26120
26158
  search_title: "",
26121
26159
  };
26122
26160
  this.assessmentService.getAssessmentList(payload, id).subscribe(function (res) {
26161
+ var _a;
26123
26162
  _this.assessmentCategory.data[index].assessmentData = __spreadArray([], __read(new Set(res)));
26163
+ if ((_a = _this.selectedAssessmentData) === null || _a === void 0 ? void 0 : _a.length) {
26164
+ var index_1 = _this.selectedAssessmentArr.findIndex(function (ele) { return ele.category_id === id; });
26165
+ if (index_1 !== -1) {
26166
+ _this.selectedAssessmentArr[index_1].assessmentIds = _this.selectedAssessmentArr[index_1].assessmentIds.map(function (ele) {
26167
+ ele = res.find(function (data) { return data.id === ele; });
26168
+ return ele;
26169
+ });
26170
+ }
26171
+ }
26124
26172
  });
26125
26173
  };
26126
26174
  /**
@@ -26129,35 +26177,39 @@
26129
26177
  * @param evt
26130
26178
  * @param payload
26131
26179
  */
26132
- AssessmentPickerComponent.prototype.selectAssessment = function (evt, payload) {
26180
+ AssessmentPickerComponent.prototype.selectAssessment = function (evt, payload, category) {
26133
26181
  var _a;
26134
- ((_a = evt === null || evt === void 0 ? void 0 : evt.target) === null || _a === void 0 ? void 0 : _a.checked) === true ? this.manipulateSelectedAssessment('ADD', payload) : this.manipulateSelectedAssessment('DELETE', payload);
26135
- };
26136
- /**
26137
- * #### Description
26138
- *
26139
- * Manipulates selected items in role list
26140
- * @param action :'ADD' | 'DELETE'
26141
- * @param payload
26142
- */
26143
- AssessmentPickerComponent.prototype.manipulateSelectedAssessment = function (action, payload) {
26144
- if (action === 'ADD') {
26145
- this.selectedAssessments = this.uniqueByProp(__spreadArray(__spreadArray([], __read(this.selectedAssessments)), [payload]), 'id');
26146
- this.selectedAssessmentIds = this.selectedAssessments.map(function (ele) { return ele === null || ele === void 0 ? void 0 : ele.id; });
26147
- }
26148
- else if (action === 'DELETE') {
26149
- var index = this.selectedAssessments.findIndex(function (ele) { return (ele === null || ele === void 0 ? void 0 : ele.id) === (payload === null || payload === void 0 ? void 0 : payload.id); });
26150
- if (index > -1) {
26151
- this.selectedAssessments = this.selectedAssessments.filter(function (ele) { return (ele === null || ele === void 0 ? void 0 : ele.id) !== (payload === null || payload === void 0 ? void 0 : payload.id); });
26152
- this.selectedAssessmentIds = this.selectedAssessmentIds.filter(function (ele) { return ele !== (payload === null || payload === void 0 ? void 0 : payload.id); });
26182
+ console.log("payload ==>", payload);
26183
+ var index = this.selectedAssessmentArr.findIndex(function (ele) { return ele.category_id === category.id; });
26184
+ if (index > -1) {
26185
+ if ((_a = evt === null || evt === void 0 ? void 0 : evt.target) === null || _a === void 0 ? void 0 : _a.checked) {
26186
+ this.selectedAssessmentArr[index].assessmentIds.push(payload);
26187
+ }
26188
+ else {
26189
+ this.selectedAssessmentArr[index].assessmentIds = this.selectedAssessmentArr[index].assessmentIds.filter(function (assessment) { return assessment.id !== payload.id; });
26190
+ if (this.selectedAssessmentArr[index].assessmentIds.length === 0) {
26191
+ this.selectedAssessmentArr.splice(index, 1);
26192
+ }
26153
26193
  }
26154
26194
  }
26155
- // this.allGroupSelectedStatus();
26195
+ else {
26196
+ this.selectedAssessmentArr.push({
26197
+ category_id: category.id,
26198
+ assessmentIds: [payload]
26199
+ });
26200
+ }
26201
+ var selectedData = JSON.parse(JSON.stringify(this.selectedAssessmentArr));
26202
+ this.selectedAssessmentData = selectedData.map(function (ele) {
26203
+ ele.assessmentIds = ele.assessmentIds.map(function (assessment) { return assessment.id; });
26204
+ return ele;
26205
+ });
26206
+ console.log(" this.selectedAssessmentArr this.selectedAssessmentArr", this.selectedAssessmentData, selectedData);
26207
+ // evt?.target?.checked === true ? this.manipulateSelectedAssessment('ADD', payload) : this.manipulateSelectedAssessment('DELETE', payload)
26156
26208
  };
26157
26209
  // TODO: Display selected data in bottom floating bar with next enabled button having
26158
26210
  // TODO: Send data in payload of create Responsibility form
26159
26211
  AssessmentPickerComponent.prototype.save = function () {
26160
- this.onAssessmentSelect.emit(this.selectedAssessments);
26212
+ this.onAssessmentSelect.emit(this.selectedAssessmentArr);
26161
26213
  };
26162
26214
  AssessmentPickerComponent.prototype.close = function () {
26163
26215
  this.cancelAssessment.emit();
@@ -26181,7 +26233,7 @@
26181
26233
  AssessmentPickerComponent.decorators = [
26182
26234
  { type: i0.Component, args: [{
26183
26235
  selector: 'assessment-picker',
26184
- 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\">&#xe91d;</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\">&#xe90b;</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\">&#xeae5;</i> Preview</button>\r\n <!-- <button class=\"action-btn\"><i class=\"icons\">&#xe90c;</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\">&#xe970;</i>\r\n <i *ngIf=\"openedCategory.includes(i)\" class=\"icons\">&#xe9e8;</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\">&#xeae5;</i> Preview</button>\r\n <!-- <button class=\"action-btn\"><i class=\"icons\">&#xe9ba;</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)\">&#xe90d;</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",
26236
+ 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\">&#xe91d;</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\">&#xe90b;</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\">&#xeae5;</i> Preview</button>\r\n <!-- <button class=\"action-btn\"><i class=\"icons\">&#xe90c;</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\">&#xe970;</i>\r\n <i *ngIf=\"openedCategory.includes(i)\" class=\"icons\">&#xe9e8;</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\">&#xeae5;</i> Preview</button>\r\n <!-- <button class=\"action-btn\"><i class=\"icons\">&#xe9ba;</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)\">&#xe90d;</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",
26185
26237
  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)}}"]
26186
26238
  },] }
26187
26239
  ];
@@ -26207,7 +26259,7 @@
26207
26259
  AssessmentLoaderComponent.decorators = [
26208
26260
  { type: i0.Component, args: [{
26209
26261
  selector: 'assessment-loader',
26210
- template: "<div class=\"assessment-list-item\" *ngFor=\"let data of [1, 1, 1, 1, 1, 1, 1]\">\r\n <div class=\"table-row\">\r\n <div class=\"table-column serial\">\r\n <div class=\"sr-no\"></div>\r\n </div>\r\n <div class=\"table-column name\">\r\n <div class=\"loader\"></div>\r\n </div>\r\n <div class=\"table-column action\">\r\n <div class=\"loader\"></div>\r\n </div>\r\n </div>\r\n</div>",
26262
+ template: "<div class=\"assessment-list-item\" *ngFor=\"let data of [1, 1, 1, 1, 1, 1, 1]\">\n <div class=\"table-row\">\n <div class=\"table-column serial\">\n <div class=\"sr-no\"></div>\n </div>\n <div class=\"table-column name\">\n <div class=\"loader\"></div>\n </div>\n <div class=\"table-column action\">\n <div class=\"loader\"></div>\n </div>\n </div>\n</div>",
26211
26263
  styles: [".assessment-list-item{border:1px solid #f1f1f1;border-radius:2px;margin-bottom:4px}.assessment-list-item .table-row{display:flex;align-items:center;justify-content:space-between}.assessment-list-item .table-row .table-column{height:48px;position:relative;width:100%;display:flex;align-items:center;padding:0 4px}.assessment-list-item .table-row .table-column.serial{width:32px;max-width:32px;justify-content:center}.assessment-list-item .table-row .table-column.serial .sr-no{width:16px;background:#f8f8f8;-ms-writing-mode:tb-lr;writing-mode:vertical-lr;height:100%}.assessment-list-item .table-row .table-column.name{width:calc(100% - 64px);min-width:calc(100% - 64px)}.assessment-list-item .table-row .table-column.name .loader{width:calc(100% - 200px)}.assessment-list-item .table-row .table-column.action{width:32px;max-width:32px;justify-content:center}.assessment-list-item .table-row .table-column.action .loader{width:28px}.loader{background:#f1f1f1;border-radius:20px;height:10px}"]
26212
26264
  },] }
26213
26265
  ];
@@ -26223,7 +26275,7 @@
26223
26275
  AssessmentSubLoaderComponent.decorators = [
26224
26276
  { type: i0.Component, args: [{
26225
26277
  selector: 'assessment-sub-loader',
26226
- template: "<div class=\"assessment-list-item\" *ngFor=\"let data of [1, 1, 1, 1, 1, 1, 1]\">\r\n <div class=\"sub-list\">\r\n <div class=\"table-row\">\r\n <div class=\"table-column serial\">\r\n <div class=\"sr-no\"></div>\r\n </div>\r\n <div class=\"table-column sub-name\">\r\n <div class=\"loader\"></div>\r\n </div>\r\n <div class=\"table-column question\">\r\n <div class=\"loader\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>",
26278
+ template: "<div class=\"assessment-list-item\" *ngFor=\"let data of [1, 1, 1, 1, 1, 1, 1]\">\n <div class=\"sub-list\">\n <div class=\"table-row\">\n <div class=\"table-column serial\">\n <div class=\"sr-no\"></div>\n </div>\n <div class=\"table-column sub-name\">\n <div class=\"loader\"></div>\n </div>\n <div class=\"table-column question\">\n <div class=\"loader\"></div>\n </div>\n </div>\n </div>\n</div>",
26227
26279
  styles: [".assessment-list-item{border:none!important;border-top:1px solid #f1f1f1;border-radius:2px;margin-bottom:0!important}.assessment-list-item .table-row{display:flex;align-items:center;justify-content:space-between}.assessment-list-item .table-row .table-column{height:32px;position:relative;width:100%;display:flex;align-items:center;padding:0 4px}.assessment-list-item .table-row .table-column.serial{width:32px;max-width:32px;justify-content:center}.assessment-list-item .table-row .table-column.serial .sr-no{width:16px;background:#f8f8f8;-ms-writing-mode:tb-lr;writing-mode:vertical-lr;height:100%}.assessment-list-item .table-row .table-column.sub-name{width:calc(100% - 232px);min-width:calc(100% - 232px)}.assessment-list-item .table-row .table-column.sub-name .loader{width:calc(100% - 200px)}.assessment-list-item .table-row .table-column.question{width:200px;max-width:200px;justify-content:flex-end}.assessment-list-item .table-row .table-column.question .loader{width:72px}.loader{background:#f1f1f1;border-radius:20px;height:10px}"]
26228
26280
  },] }
26229
26281
  ];
@@ -26697,7 +26749,7 @@
26697
26749
  CustomFieldComponent.decorators = [
26698
26750
  { type: i0.Component, args: [{
26699
26751
  selector: 'custom-field',
26700
- template: "\r\n <ng-container *ngFor=\"let field of customFields; let i = index\">\r\n <!-- <div class=\"selected\" *ngIf=\"field?.name && !field?.isEditing \">\r\n <div (click)=\"manipulateCustomField('ACTIVATE')\" class=\"custom-text vx-fs-13 vx-paragraph-txt\">CUSTOM TAG TEXT HERE</div>\r\n <button *ngIf=\"customFields?.length > 1\" (click)=\"manipulateCustomField('DELETE',i)\" class=\"cross-btn vx-fs-12 vx-txt-red vx-p-0 vx-m-0 vx-ml-2 vx-d-flex vx-align-center vx-justify-center\"><i class=\"icons\">&#xe9ae;</i></button>\r\n </div> -->\r\n \r\n <div class=\"custom-input vx-mt-2\" >\r\n <input #custom_fields (keyup.enter)=\"manipulateCustomField('ADD')\" (keyup.backspace)=\"field?.name?.length ? null : manipulateCustomField('DELETE',i)\" (ngModelChange)=\"valChange()\" type=\"text\" placeholder=\"Add a field name\" [(ngModel)]=\"field.name\" [ngModelOptions]=\"{standalone: true}\">\r\n <button *ngIf=\"customFields?.length > 1\" (click)=\"manipulateCustomField('DELETE',i)\" class=\"cross-btn vx-fs-12 vx-txt-red vx-p-0 vx-m-0 vx-ml-2 vx-d-flex vx-align-center vx-justify-center\"><i class=\"icons\">&#xe9ae;</i></button>\r\n </div>\r\n </ng-container>\r\n \r\n <div class=\"vx-d-flex vx-align-center vx-justify-end vx-mt-2\">\r\n <button (click)=\"manipulateCustomField('ADD')\" class=\"add-more-btn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0\">+ ADD MORE\r\n FIELDS</button>\r\n </div>",
26752
+ template: "\n <ng-container *ngFor=\"let field of customFields; let i = index\">\n <!-- <div class=\"selected\" *ngIf=\"field?.name && !field?.isEditing \">\n <div (click)=\"manipulateCustomField('ACTIVATE')\" class=\"custom-text vx-fs-13 vx-paragraph-txt\">CUSTOM TAG TEXT HERE</div>\n <button *ngIf=\"customFields?.length > 1\" (click)=\"manipulateCustomField('DELETE',i)\" class=\"cross-btn vx-fs-12 vx-txt-red vx-p-0 vx-m-0 vx-ml-2 vx-d-flex vx-align-center vx-justify-center\"><i class=\"icons\">&#xe9ae;</i></button>\n </div> -->\n \n <div class=\"custom-input vx-mt-2\" >\n <input #custom_fields (keyup.enter)=\"manipulateCustomField('ADD')\" (keyup.backspace)=\"field?.name?.length ? null : manipulateCustomField('DELETE',i)\" (ngModelChange)=\"valChange()\" type=\"text\" placeholder=\"Add a field name\" [(ngModel)]=\"field.name\" [ngModelOptions]=\"{standalone: true}\">\n <button *ngIf=\"customFields?.length > 1\" (click)=\"manipulateCustomField('DELETE',i)\" class=\"cross-btn vx-fs-12 vx-txt-red vx-p-0 vx-m-0 vx-ml-2 vx-d-flex vx-align-center vx-justify-center\"><i class=\"icons\">&#xe9ae;</i></button>\n </div>\n </ng-container>\n \n <div class=\"vx-d-flex vx-align-center vx-justify-end vx-mt-2\">\n <button (click)=\"manipulateCustomField('ADD')\" class=\"add-more-btn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0\">+ ADD MORE\n FIELDS</button>\n </div>",
26701
26753
  providers: [CUSTOM_TAG_VALUE_ACCESSOR],
26702
26754
  styles: [""]
26703
26755
  },] }
@@ -26718,7 +26770,7 @@
26718
26770
  LoaderComponent.decorators = [
26719
26771
  { type: i0.Component, args: [{
26720
26772
  selector: 'role-loader',
26721
- template: "<div class=\"assessment-list-item\" *ngFor=\"let data of [1, 1, 1, 1, 1, 1, 1]\">\r\n <div class=\"table-row\">\r\n <div class=\"table-column serial\">\r\n <div class=\"sr-no\"></div>\r\n </div>\r\n <div class=\"table-column name\">\r\n <div class=\"loader\"></div>\r\n </div>\r\n <div class=\"table-column action\">\r\n <div class=\"loader\"></div>\r\n </div>\r\n </div>\r\n</div>",
26773
+ template: "<div class=\"assessment-list-item\" *ngFor=\"let data of [1, 1, 1, 1, 1, 1, 1]\">\n <div class=\"table-row\">\n <div class=\"table-column serial\">\n <div class=\"sr-no\"></div>\n </div>\n <div class=\"table-column name\">\n <div class=\"loader\"></div>\n </div>\n <div class=\"table-column action\">\n <div class=\"loader\"></div>\n </div>\n </div>\n</div>",
26722
26774
  styles: [".assessment-list-item{border:1px solid #f1f1f1;border-radius:2px;margin-bottom:4px}.assessment-list-item .table-row{display:flex;align-items:center;justify-content:space-between}.assessment-list-item .table-row .table-column{height:48px;position:relative;width:100%;display:flex;align-items:center;padding:0 4px}.assessment-list-item .table-row .table-column.serial{width:32px;max-width:32px;justify-content:center}.assessment-list-item .table-row .table-column.serial .sr-no{width:16px;background:#f8f8f8;-ms-writing-mode:tb-lr;writing-mode:vertical-lr;height:100%}.assessment-list-item .table-row .table-column.name{width:calc(100% - 64px);min-width:calc(100% - 64px)}.assessment-list-item .table-row .table-column.name .loader{width:calc(100% - 200px)}.assessment-list-item .table-row .table-column.action{width:32px;max-width:32px;justify-content:center}.assessment-list-item .table-row .table-column.action .loader{width:28px}.loader{background:#f1f1f1;border-radius:20px;height:10px}"]
26723
26775
  },] }
26724
26776
  ];
@@ -26838,6 +26890,26 @@
26838
26890
  },] }
26839
26891
  ];
26840
26892
 
26893
+ var SelectedAssessmentPipe = /** @class */ (function () {
26894
+ function SelectedAssessmentPipe() {
26895
+ }
26896
+ SelectedAssessmentPipe.prototype.transform = function (selectedData, category_id) {
26897
+ if (selectedData === null || selectedData === void 0 ? void 0 : selectedData.length) {
26898
+ var index = selectedData.findIndex(function (ele) { return ele.category_id === category_id; });
26899
+ if (index > -1) {
26900
+ return selectedData[index].assessmentIds;
26901
+ }
26902
+ }
26903
+ return [];
26904
+ };
26905
+ return SelectedAssessmentPipe;
26906
+ }());
26907
+ SelectedAssessmentPipe.decorators = [
26908
+ { type: i0.Pipe, args: [{
26909
+ name: 'selectedAssessment'
26910
+ },] }
26911
+ ];
26912
+
26841
26913
  // import { AssessmentListModule } from './assessment-list/assessment-list.module';
26842
26914
  // import { AssessmentPreviewModule } from '../../sharedComponents/assessment-preview/assessment-preview.module';
26843
26915
  var CreateProgramUiModule = /** @class */ (function () {
@@ -26873,7 +26945,8 @@
26873
26945
  PagerPipe,
26874
26946
  CategoryAllSelectPipe,
26875
26947
  SubCatIndeterPipe,
26876
- SearchNewPipe
26948
+ SearchNewPipe,
26949
+ SelectedAssessmentPipe
26877
26950
  ],
26878
26951
  imports: [
26879
26952
  common.CommonModule,
@@ -27313,10 +27386,11 @@
27313
27386
  exports.ɵkl = CategoryAllSelectPipe;
27314
27387
  exports.ɵkm = SubCatIndeterPipe;
27315
27388
  exports.ɵkn = SearchNewPipe;
27316
- exports.ɵko = PaginationModule;
27317
- exports.ɵkp = PaginationComponent;
27318
- exports.ɵkq = NoDataModule;
27319
- exports.ɵkr = NoDataComponent;
27389
+ exports.ɵko = SelectedAssessmentPipe;
27390
+ exports.ɵkp = PaginationModule;
27391
+ exports.ɵkq = PaginationComponent;
27392
+ exports.ɵkr = NoDataModule;
27393
+ exports.ɵks = NoDataComponent;
27320
27394
  exports.ɵl = PolicyService;
27321
27395
  exports.ɵm = MoreOptionComponent;
27322
27396
  exports.ɵn = OwnerListComponent;