vcomply-workflow-engine 2.9.69 → 2.9.71
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/vcomply-workflow-engine.umd.js +108 -47
- package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
- package/esm2015/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.js +11 -3
- package/esm2015/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.ngfactory.js +17 -17
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.js +2 -2
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.ngfactory.js +3 -3
- package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.js +2 -2
- package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.ngfactory.js +2 -2
- package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.js +2 -2
- package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.ngfactory.js +2 -2
- package/esm2015/lib/sharedComponents/select-approvers/select-approvers.component.js +2 -2
- package/esm2015/lib/sharedComponents/select-approvers/select-approvers.component.ngfactory.js +2 -2
- package/esm2015/lib/sharedComponents/users-radio-list/users-radio-list.component.js +5 -3
- package/esm2015/lib/sharedComponents/users-radio-list/users-radio-list.component.ngfactory.js +3 -3
- package/esm2015/lib/sharedComponents/users-radio-list/users-radio-list.component.ngsummary.json +1 -1
- package/esm2015/lib/workflow-engine.module.ngfactory.js +1 -1
- package/esm2015/lib/workflow-policy/workflow-policy.component.js +9 -10
- package/esm2015/lib/workflow-policy/workflow-policy.component.ngfactory.js +120 -118
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.js +79 -31
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngfactory.js +38 -36
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngsummary.json +1 -1
- package/fesm2015/vcomply-workflow-engine.js +104 -47
- package/fesm2015/vcomply-workflow-engine.js.map +1 -1
- package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts +1 -0
- package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +10 -7
- package/package.json +2 -2
- package/vcomply-workflow-engine.metadata.json +1 -1
|
@@ -8037,7 +8037,7 @@
|
|
|
8037
8037
|
*/
|
|
8038
8038
|
WorkflowPolicyComponent.prototype.submitPolicy = function () {
|
|
8039
8039
|
var _this = this;
|
|
8040
|
-
var _a, _b, _c, _e;
|
|
8040
|
+
var _a, _b, _c, _e, _f;
|
|
8041
8041
|
this.submitted = false;
|
|
8042
8042
|
var valid = this.validatePolicy();
|
|
8043
8043
|
if (!valid || !this.isVersionValid) {
|
|
@@ -8144,16 +8144,14 @@
|
|
|
8144
8144
|
CCEmail: policy.addOverseers
|
|
8145
8145
|
? this.returnIds(policy.CCEmail, 'employee_email').toString()
|
|
8146
8146
|
: '',
|
|
8147
|
-
checkpointDetails:
|
|
8148
|
-
totalQuestion: policy.
|
|
8149
|
-
|
|
8150
|
-
: 0,
|
|
8151
|
-
passingMarks: policy.addCheckpoints && policy.passingMarks ? policy.passingMarks : 0,
|
|
8147
|
+
checkpointDetails: (_c = policy.checkpointDetails) !== null && _c !== void 0 ? _c : [],
|
|
8148
|
+
totalQuestion: policy.totalQuestion ? policy.totalQuestion : 0,
|
|
8149
|
+
passingMarks: policy.passingMarks ? policy.passingMarks : 0,
|
|
8152
8150
|
policyApprovalFlag: 0,
|
|
8153
8151
|
is_signature_required: policy.requiresSignatureForAttestation ? 1 : 0,
|
|
8154
8152
|
cc_usergroup_ids: this.ccEmailObjIds,
|
|
8155
8153
|
cc_fail_usergroup_ids: this.ccFailGroupObjIds,
|
|
8156
|
-
reviewer_start_date: (
|
|
8154
|
+
reviewer_start_date: (_e = policy.reviewer_start_date) !== null && _e !== void 0 ? _e : '',
|
|
8157
8155
|
assignee_start_date: policy.assignee_start_date,
|
|
8158
8156
|
policy_version: policy.addVersion ? policy.policy_version : '',
|
|
8159
8157
|
assessment: policy.addLinkAssessment
|
|
@@ -8165,7 +8163,7 @@
|
|
|
8165
8163
|
})
|
|
8166
8164
|
: [],
|
|
8167
8165
|
policy_owners: this.policyForm.policy_owners.map(function (ele) { return ele.member_id; }),
|
|
8168
|
-
approval_workflow_id: [(
|
|
8166
|
+
approval_workflow_id: [(_f = policy === null || policy === void 0 ? void 0 : policy.selectedApprovers[0]) === null || _f === void 0 ? void 0 : _f._id],
|
|
8169
8167
|
linkProgram: Object.keys(policy === null || policy === void 0 ? void 0 : policy.linkProgram).length
|
|
8170
8168
|
? policy === null || policy === void 0 ? void 0 : policy.linkProgram
|
|
8171
8169
|
: {
|
|
@@ -8575,6 +8573,7 @@
|
|
|
8575
8573
|
WorkflowPolicyComponent.prototype.editWorkflow = function (event) {
|
|
8576
8574
|
this.enableApprovalWorkflow = true;
|
|
8577
8575
|
this.editApprovalWorkflow = event;
|
|
8576
|
+
this.createApprovalClick = false;
|
|
8578
8577
|
this.activateSelector('approvers', true);
|
|
8579
8578
|
};
|
|
8580
8579
|
//Function responsible when we click on CREATE A NEW APPROVAL WORKFLOW
|
|
@@ -8599,7 +8598,7 @@
|
|
|
8599
8598
|
WorkflowPolicyComponent.decorators = [
|
|
8600
8599
|
{ type: i0.Component, args: [{
|
|
8601
8600
|
selector: 'app-workflow-policy',
|
|
8602
|
-
template: "<!-- <p>workflow-policy works!</p> -->\r\n\r\n<ng-container *ngIf=\"!showCreateDocuments\">\r\n <div class=\"workflow-policy\">\r\n <!-- Policy Name -->\r\n <div\r\n class=\"form-group-row\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'name'\"\r\n >\r\n <div class=\"left\" [class.checked]=\"policyForm?.policyName\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/what.svg\"\r\n alt=\"name\"\r\n *ngIf=\"!policyForm?.policyName || activeSelector === 'name'\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"policyForm?.policyName && activeSelector !== 'name'\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Policy Name <span class=\"required\">*</span>\r\n </label>\r\n <input\r\n type=\"text\"\r\n (keydown)=\"activeSelector = 'name'\"\r\n (focusin)=\"activateSelector('name', true)\"\r\n *ngIf=\"policyForm.policyName == '' || activeSelector === 'name'\"\r\n (focusout)=\"activateSelector('name', false)\"\r\n [ngModel]=\"policyForm.policyName\"\r\n (ngModelChange)=\"policyForm.policyName = changeName($event)\"\r\n placeholder=\"Name this policy\"\r\n />\r\n <div\r\n class=\"selected\"\r\n *ngIf=\"policyForm.policyName.length && activeSelector !== 'name'\"\r\n >\r\n <div class=\"chip-container\">\r\n <span class=\"value\">{{ policyForm.policyName }}</span>\r\n </div>\r\n <button\r\n class=\"edit\"\r\n (click)=\"activateSelector('name', true)\"\r\n type=\"button\"\r\n >\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"submitted && !policyForm.policyName.trim()\"\r\n [appScrollInView]=\"true\"\r\n class=\"error-message\"\r\n >\r\n Please enter a name for this policy.\r\n </p>\r\n <marx-editor\r\n [(ngModel)]=\"policyForm.policyNotes\"\r\n [editorConfig]=\"description\"\r\n ></marx-editor>\r\n <app-cs-switch\r\n [(ngValue)]=\"policyForm.availableOnPortal\"\r\n (ngValueChange)=\"availabilityOnPortal($event)\"\r\n >\r\n Do you want this policy to be available on the portal?\r\n <i\r\n class=\"icons\"\r\n [appTooltip]=\"\r\n 'The policies that you intend to make accessible to the entire organization can be added to the policy portal. It is like a shared catalog of all active & updated policies that any logged in user can read/download for reference.'\r\n \"\r\n placement=\"bottom-right\"\r\n type=\"white\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"true\"\r\n ></i\r\n >\r\n </app-cs-switch>\r\n <app-cs-switch\r\n *ngIf=\"policyForm.availableOnPortal\"\r\n [(ngValue)]=\"policyForm.acceptSuggestions\"\r\n >\r\n Accept suggestions\r\n <i\r\n class=\"icons\"\r\n [appTooltip]=\"\r\n 'If enabled, users can provide improvement suggestions to the policies that are listed on the Policy Portal.'\r\n \"\r\n placement=\"bottom-right\"\r\n type=\"white\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"true\"\r\n ></i\r\n ></app-cs-switch\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Policy Category -->\r\n <div\r\n class=\"form-group-row\"\r\n [class.active]=\"activeSelector === 'category'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'category' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div\r\n class=\"left\"\r\n [class.checked]=\"policyForm?.selectedCategories?.length > 0\"\r\n >\r\n <img\r\n *ngIf=\"\r\n policyForm?.selectedCategories?.length == 0 ||\r\n activeSelector === 'category'\r\n \"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"\r\n policyForm?.selectedCategories?.length > 0 &&\r\n activeSelector !== 'category'\r\n \"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\"\r\n >Policy Category <span class=\"required\">*</span>\r\n </label>\r\n <div\r\n class=\"select\"\r\n *ngIf=\"policyForm?.selectedCategories?.length == 0\"\r\n >\r\n <input\r\n type=\"text\"\r\n (click)=\"activateSelector('category', true)\"\r\n placeholder=\"Select a category for this policy.\"\r\n readonly\r\n />\r\n </div>\r\n\r\n <div\r\n class=\"selected\"\r\n *ngIf=\"policyForm?.selectedCategories?.length > 0\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let category of policyForm?.selectedCategories?.slice(0, 1)\r\n \"\r\n >\r\n <i\r\n (click)=\"remove('category', category)\"\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"category.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ category.item_name }}</span\r\n >\r\n </ng-container>\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n *ngIf=\"policyForm?.selectedCategories?.length > 1\"\r\n type=\"button\"\r\n appPopover\r\n (click)=\"category.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ policyForm?.selectedCategories?.slice(1).length }}\r\n </button>\r\n </div>\r\n\r\n <!-- <div class=\"chip-container\" [class.more-one]=\"policyForm?.selectedCategories?.length>1\"\r\n [class.plus]=\"policyForm?.selectedCategories?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let category of policyForm?.selectedCategories?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('category',category)\"></i>\r\n {{category.item_name}}</span>\r\n <button class=\"count\" *ngIf=\"policyForm?.selectedCategories?.length > 2\" type=\"button\"\r\n appPopover (click)=\"category.popover()\" placement=\"right\">+\r\n {{policyForm?.selectedCategories?.slice(2).length}}</button>\r\n </div> -->\r\n <button\r\n *ngIf=\"activeSelector !== 'category'\"\r\n class=\"edit\"\r\n type=\"button\"\r\n (click)=\"activateSelector('category', true)\"\r\n >\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n <app-popover #category [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let category of policyForm?.selectedCategories | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('category', category)\"\r\n ></i\r\n >\r\n {{ category.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <p\r\n *ngIf=\"submitted && policyForm?.selectedCategories?.length == 0\"\r\n [appScrollInView]=\"true\"\r\n class=\"error-message\"\r\n >\r\n Please select the category for this policy.\r\n </p>\r\n </div>\r\n\r\n <div class=\"vx-form-group\" *ngIf=\"policyForm?.customTags?.length > 0\">\r\n <ng-container *ngFor=\"let tag of policyForm?.customTags\">\r\n <label class=\"vx-control-panel vx-mt-2\">{{ tag.tagname }}</label>\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"tag.value\"\r\n placeholder=\"{{ tag.tagname }}\"\r\n />\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Effective Date -->\r\n <div\r\n class=\"form-group-row\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'name'\"\r\n >\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/when.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"false\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Effective Date</label>\r\n <div class=\"date-time-picker\">\r\n <div class=\"picker-group\">\r\n <input\r\n type=\"text\"\r\n readonly\r\n placeholder=\"Select the effective date of the policy.\"\r\n [value]=\"policyForm.policyDueDate | date : 'dd MMM yyyy'\"\r\n (click)=\"openDatePicker()\"\r\n />\r\n <i class=\"icons\"></i>\r\n <dp-date-picker\r\n #datePicker\r\n (onSelect)=\"datePickerOverlay = false; closeDatePicker($event)\"\r\n [config]=\"dateConfig\"\r\n [(ngModel)]=\"policyForm.policyDueDate\"\r\n >\r\n </dp-date-picker>\r\n <div\r\n class=\"vx-overlay\"\r\n (click)=\"closeDatePicker($event)\"\r\n *ngIf=\"datePickerOverlay\"\r\n ></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Policy Owner -->\r\n <div\r\n class=\"form-group-row\"\r\n [class.active]=\"activeSelector === 'owners'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'owners' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div class=\"left\" [class.checked]=\"policyForm.policy_owners?.length\">\r\n <img\r\n *ngIf=\"!policyForm.policy_owners?.length\"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/im-creating.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"policyForm.policy_owners?.length\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <div class=\"vx-d-flex vx-align-center vx-justify-between\">\r\n <label class=\"vx-control-panel\">POLICY OWNER(S)</label>\r\n </div>\r\n <div\r\n *ngIf=\"!policyForm.policy_owners?.length\"\r\n (click)=\"activateSelector('owners', true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"!policyForm?.selectedCategories?.length\"\r\n >\r\n <div class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\">\r\n Select owners for this policy.\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"policyForm.policy_owners?.length\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <i\r\n (click)=\"remove('owners', policyForm?.policy_owners[0], 0)\"\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"policyForm?.policy_owners[0]?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ policyForm?.policy_owners[0]?.member_name }}</span\r\n >\r\n\r\n <button\r\n *ngIf=\"policyForm?.policy_owners?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 greenBg\"\r\n appPopover\r\n (click)=\"policyUserPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n + {{ policyForm?.policy_owners.length - 1 }}\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"false\"\r\n class=\"vx-fs-12 vx-paragraph-txt vx-ml-1 vx-mr-1\"\r\n >\r\n &\r\n </div>\r\n <div\r\n *ngIf=\"false\"\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"'Samantha Jones'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >Samantha Jones</span\r\n >\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"policyGroupPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n +4\r\n </button>\r\n </div>\r\n <app-popover #policyUserPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let owner of policyForm?.policy_owners | slice : 1;\r\n let i = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"owner?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i\r\n (click)=\"remove('owners', owner, i + 1)\"\r\n class=\"icons\"\r\n ></i\r\n >\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 #policyGroupPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-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\r\n class=\"value\"\r\n [appTooltip]=\"'Harshvardhan Kariwala'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i class=\"icons\"></i>\r\n Harshvardhan Kariwala\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <button\r\n (click)=\"activateSelector('owners', true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Review -->\r\n <div\r\n class=\"form-group-row\"\r\n [class.active]=\"\r\n activeSelector === 'reviewer' || activeSelector === 'reviewerFrequency'\r\n \"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'reviewer' &&\r\n activeSelector !== 'reviewerFrequency' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div class=\"left\" [class.checked]=\"policyForm?.addReviewers\">\r\n <img\r\n *ngIf=\"!policyForm?.addReviewers\"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/reviewer.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"policyForm?.addReviewers\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">REVIEW</label>\r\n <div\r\n class=\"reviewSelection vx-p-3 vx-pb-0\"\r\n [class.disabled]=\"\r\n activeSelector && sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div class=\"vx-fs-13 vx-paragraph-txt vx-mb-1\">\r\n Does this policy need to be reviewed?\r\n </div>\r\n <app-cs-radio\r\n name=\"review-type\"\r\n [checked]=\"policyForm?.addReviewers\"\r\n (checkedEvent)=\"typeSelected(true)\"\r\n ><div class=\"vx-fs-11 vx-fw-500 vx-paragraph-txt vx-mr-3\">\r\n YES\r\n </div></app-cs-radio\r\n >\r\n <app-cs-radio\r\n name=\"review-type\"\r\n [checked]=\"!policyForm?.addReviewers\"\r\n (checkedEvent)=\"typeSelected(false)\"\r\n ><div class=\"vx-fs-11 vx-fw-500 vx-paragraph-txt vx-mr-3\">\r\n NO\r\n </div></app-cs-radio\r\n >\r\n </div>\r\n\r\n <ng-container *ngIf=\"policyForm?.addReviewers\">\r\n <label class=\"vx-control-panel vx-mt-2\">REVIEWER</label>\r\n <div\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n *ngIf=\"policyForm?.selectedReviewers?.length == 0\"\r\n [appScrollInView]=\"scrollToBottom\"\r\n [class.active]=\"activeSelector === 'reviewer'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'reviewer' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n (click)=\"activateSelector('reviewer', true)\"\r\n >\r\n <div\r\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n Select the person responsible for reviewing this policy\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n *ngIf=\"policyForm?.selectedReviewers?.length > 0\"\r\n [class.active]=\"activeSelector === 'reviewer'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'reviewer' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngFor=\"let reviewer of policyForm?.selectedReviewers\"\r\n >\r\n <i\r\n (click)=\"remove('reviewer', reviewer)\"\r\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"'Samantha Jones'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ reviewer?.member_name }}</span\r\n >\r\n </div>\r\n <button\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n *ngIf=\"activeSelector !== 'reviewer'\"\r\n (click)=\"activateSelector('reviewer', true)\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n <label class=\"vx-control-panel vx-mt-3\">REVIEW FREQUENCY</label>\r\n <div\r\n *ngIf=\"policyForm?.review_frequency_details == ''\"\r\n class=\"selectButton vx-pl-3 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n [class.active]=\"activeSelector === 'reviewerFrequency'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'reviewerFrequency' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n (click)=\"activateSelector('reviewerFrequency', true)\"\r\n >\r\n <div\r\n class=\"selectButtonPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n When does this policy needs to be reviewed?\r\n </div>\r\n <div\r\n (click)=\"activateSelector('reviewerFrequency', true)\"\r\n class=\"vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase\"\r\n >\r\n SET A FREQUENCY\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"policyForm?.review_frequency_details != ''\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'reviewerFrequency' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n [class.active]=\"activeSelector === 'reviewerFrequency'\"\r\n >\r\n <div\r\n class=\"selectBoxText vx-fs-13 vx-paragraph-txt\"\r\n [appTooltip]=\"reviewerFrequencyPlaceholder\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ reviewerFrequencyPlaceholder }}\r\n </div>\r\n <button\r\n *ngIf=\"activeSelector !== 'reviewerFrequency'\"\r\n (click)=\"activateSelector('reviewerFrequency', true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n <p\r\n *ngIf=\"\r\n submitted &&\r\n policyForm?.selectedReviewers?.length > 0 &&\r\n !policyForm?.review_frequency_details\r\n \"\r\n class=\"error-message\"\r\n [appScrollInView]=\"true\"\r\n >\r\n Select the review schedule for this policy.\r\n </p>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- New Approval Workflow -->\r\n <div\r\n class=\"form-group-row\"\r\n [class.active]=\"activeSelector === 'approvers'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'approvers' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div\r\n class=\"left\"\r\n [class.checked]=\"policyForm?.selectedApprovers?.length > 0\"\r\n >\r\n <img\r\n *ngIf=\"\r\n policyForm?.selectedApprovers?.length == 0 ||\r\n activeSelector === 'approvers'\r\n \"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval.svg\"\r\n alt=\"im\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"\r\n policyForm?.selectedApprovers?.length > 0 &&\r\n activeSelector !== 'approvers'\r\n \"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\" [class.disabled]=\"policyApprovalFlag !== 0\">\r\n <div class=\"vx-form-group\">\r\n <div class=\"vx-d-flex vx-align-center vx-justify-between\">\r\n <label class=\"vx-control-panel\"\r\n >APPROVAL <span class=\"required\">*</span></label\r\n >\r\n <button\r\n (click)=\"\r\n createApprovalWorkflow(); activateSelector('approvers', true)\r\n \"\r\n [class.disabled]=\"!policyForm?.selectedCategories?.length\"\r\n class=\"createNewBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0\"\r\n >\r\n CREATE A NEW APPROVAL WORKFLOW\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n selectedWorkflow?.length === 0 ||\r\n !selectedWorkflow[0]?.workflow_name\r\n \"\r\n (click)=\"\r\n clickApprovalWorkflow(true); activateSelector('approvers', true)\r\n \"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"!policyForm?.selectedCategories?.length\"\r\n >\r\n <div class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\">\r\n Select the approval workflow for this policy\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n selectedWorkflow?.length > 0 && selectedWorkflow[0]?.workflow_name\r\n \"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-mb-2\"\r\n >\r\n <div\r\n class=\"vx-d-flex vx-align-center vx-justify-between vx-mt-2 vx-mb-2\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <i\r\n (click)=\"removeWorkflow()\"\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"selectedWorkflow[0]?.workflow_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ selectedWorkflow[0]?.workflow_name }}</span\r\n >\r\n </div>\r\n <button\r\n (click)=\"editWorkflow(selectedWorkflow[0])\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"selectedWorkflow?.length > 0\">\r\n <div\r\n *ngFor=\"\r\n let approval of selectedWorkflow[0]?.approval_workflow;\r\n let approvalIndex = index\r\n \"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between vx-mb-2\"\r\n >\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div class=\"level-left vx-d-flex vx-align-center\">\r\n <div class=\"vx-d-block\">\r\n <div\r\n class=\"level-name vx-fs-9 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-lh-3\"\r\n [appTooltip]=\"approval?.level1\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ approval?.level1 }}\r\n </div>\r\n <div\r\n class=\"vx-fs-9 vx-fw-500 vx-label-txt vx-tt-uppercase vx-lh-3\"\r\n >\r\n {{ approval?.type }}\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2 vx-ml-2\"\r\n >\r\n <!-- <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n > -->\r\n <div\r\n *ngIf=\"\r\n approval?.type?.toLowerCase() === 'sequential' &&\r\n approval?.approvers?.length < 2\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n {{ 1 == approval?.approvers?.length ? \"Final\" : 1 }}\r\n </div>\r\n <div\r\n *ngIf=\"\r\n approval?.approvers?.length > 1 &&\r\n approval?.type?.toLowerCase() === 'sequential'\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n 1\r\n </div>\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"approval?.approvers[0]?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ approval?.approvers[0]?.member_name }}</span\r\n >\r\n <button\r\n *ngIf=\"approval?.approvers?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"workflowPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ approval?.approvers?.length - 1 }}\r\n </button>\r\n </div>\r\n <app-popover #workflowPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let approver of approval?.approvers | slice : 1;\r\n let approvalIndex = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"approver?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <!-- <i class=\"icons\"></i> -->\r\n <span\r\n *ngIf=\"\r\n approval?.type?.toLowerCase() === 'sequential'\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >{{\r\n approvalIndex + 1 ===\r\n approval?.approvers?.length - 1\r\n ? \"Final\"\r\n : approvalIndex + 2\r\n }}</span\r\n >\r\n {{ approver?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n\r\n <!-- <div class=\"vx-d-flex vx-align-center\">\r\n <button (click)=\"editLevelClicked(approval,approvalIndex)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n <button (click)=\"deleteLevel(approvalIndex)\"\r\n class=\"deleteBtn vx-fs-11 vx-fw-600 vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-4 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> DELETE\r\n </button>\r\n </div> -->\r\n </div>\r\n </ng-container>\r\n <p\r\n *ngIf=\"\r\n submitted &&\r\n policyForm?.selectedApprovers[0]?.approval_workflow?.length ==\r\n 0 &&\r\n policyApprovalFlag === 0\r\n \"\r\n [appScrollInView]=\"true\"\r\n class=\"error-message\"\r\n >\r\n Select or create an approval workflow for this policy.\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Policy Access -->\r\n <div\r\n *ngIf=\"false\"\r\n class=\"form-group-row\"\r\n [class.active]=\"false\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/lock-scope.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"false\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <div class=\"vx-d-flex vx-align-center vx-justify-between\">\r\n <label class=\"vx-control-panel\">POLICY ACCESS</label>\r\n </div>\r\n <div\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\">\r\n Who should be able to view this policy?\r\n </div>\r\n </div>\r\n\r\n <div class=\"selectBoxSuccess vx-pl-2 vx-pr-3\">\r\n <div\r\n class=\"vx-d-flex vx-align-center vx-justify-between vx-mt-2 vx-mb-2\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"'Samantha Jones'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >Samantha Jones</span\r\n >\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"policyAccessPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n +4\r\n </button>\r\n </div>\r\n <app-popover #policyAccessPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-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\r\n class=\"value\"\r\n [appTooltip]=\"'Harshvardhan Kariwala'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i class=\"icons\"></i>\r\n Harshvardhan Kariwala\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <button\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n\r\n <div class=\"vx-mt-4 vx-mb-2\">\r\n <app-cs-radio\r\n ><div class=\"vx-fs-12 vx-paragraph-txt\">\r\n Everyone who has access to this Policy Category\r\n </div></app-cs-radio\r\n >\r\n <app-cs-radio class=\"vx-mt-1\"\r\n ><div class=\"vx-fs-12 vx-paragraph-txt\">\r\n Select users/groups\r\n </div></app-cs-radio\r\n >\r\n </div>\r\n </div>\r\n\r\n <div class=\"vx-mt-2\">\r\n <app-cs-switch\r\n >ACCEPT SUGGESTIONS\r\n <i\r\n class=\"icons vx-fs-12 vx-txt-blue vx-ml-1 vx-mr-2\"\r\n [appTooltip]=\"'Accept suggestions info text here...'\"\r\n placement=\"bottom-right\"\r\n delay=\"0\"\r\n type=\"white\"\r\n [tooltipMandatory]=\"true\"\r\n ></i\r\n ></app-cs-switch\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Attestations -->\r\n <div\r\n class=\"form-group-row\"\r\n [class.active]=\"false\"\r\n [class.disabled]=\"false\"\r\n *ngIf=\"false\"\r\n >\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/attestations.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"false\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <div class=\"vx-d-flex vx-align-center vx-justify-between\">\r\n <label class=\"vx-control-panel\">ATTESTATIONS</label>\r\n </div>\r\n <div\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\">\r\n Select the persons required to attest to this Policy\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"'Samantha Jones'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >Samantha Jones</span\r\n >\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"policyAttestationPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n +4\r\n </button>\r\n </div>\r\n <app-popover #policyAttestationPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-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\r\n class=\"value\"\r\n [appTooltip]=\"'Harshvardhan Kariwala'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i class=\"icons\"></i>\r\n Harshvardhan Kariwala\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <button\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n\r\n <div class=\"vx-mt-2\">\r\n <app-cs-switch\r\n >REQUIRES E-SIGNATURE FOR ATTESTATION\r\n <i\r\n class=\"icons vx-fs-12 vx-txt-blue vx-ml-1 vx-mr-2\"\r\n [appTooltip]=\"\r\n 'Requires e-signature for attestation info text here...'\r\n \"\r\n placement=\"bottom-right\"\r\n delay=\"0\"\r\n type=\"white\"\r\n [tooltipMandatory]=\"true\"\r\n ></i\r\n ></app-cs-switch\r\n >\r\n </div>\r\n\r\n <label class=\"vx-control-panel vx-mt-2\">WHEN?</label>\r\n <div\r\n class=\"selectButton vx-pl-3 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"selectButtonPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n What is the attestation schedule for this<br />policy?\r\n </div>\r\n <div class=\"vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase\">\r\n SET A FREQUENCY\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div class=\"selectBoxText vx-fs-13 vx-paragraph-txt\">\r\n Every Wednesday by 11:59 pm\r\n </div>\r\n <button\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n\r\n <label class=\"vx-control-panel vx-mt-2\"\r\n >ASSESSMENT OF UNDERSTANDING</label\r\n >\r\n <div\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\">\r\n Set up a questionnaire to confirm the reader\u2019s<br />understanding\r\n of the policy.\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"selectBoxSuccess vx-pl-3 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <span class=\"chipName vx-fs-11 vx-label-txt\">5 Questions</span>\r\n </div>\r\n <button\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Approval Workflow -->\r\n <div\r\n class=\"form-group-row\"\r\n *ngIf=\"false\"\r\n [class.active]=\"activeSelector === 'approvers'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'approvers' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div\r\n class=\"left\"\r\n [class.checked]=\"policyForm?.selectedApprovers?.length > 0\"\r\n >\r\n <img\r\n *ngIf=\"\r\n policyForm?.selectedApprovers?.length == 0 ||\r\n activeSelector === 'approvers'\r\n \"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval.svg\"\r\n alt=\"im\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"\r\n policyForm?.selectedApprovers?.length > 0 &&\r\n activeSelector !== 'approvers'\r\n \"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div\r\n class=\"vx-form-group approval-workflow\"\r\n [class.disabled]=\"policyApprovalFlag !== 0\"\r\n >\r\n <label class=\"vx-control-panel\">\r\n Approval workflow <span class=\"required\">*</span>\r\n <button\r\n (click)=\"\r\n activateSelector('approvers', true);\r\n addMoreLevels = true;\r\n workflowType = 'SEQUENTIAL'\r\n \"\r\n class=\"button\"\r\n >\r\n Create a new Approval Workflow\r\n </button>\r\n </label>\r\n <div\r\n class=\"select\"\r\n [class.disabled]=\"approverWorkFlowList?.length == 0\"\r\n *ngIf=\"\r\n policyForm?.selectedApprovers[0]?.approvers?.length == 0 ||\r\n policyForm?.selectedApprovers.length == 0\r\n \"\r\n >\r\n <cs-select\r\n [ngModel]=\"selectedApprovalWorkflow\"\r\n (ngModelChange)=\"selectedWorkflowChange($event)\"\r\n [placeholder]=\"'Select approval workflow for this policy'\"\r\n name=\"selectedApprovalWorkflow\"\r\n [setMaxWidth]=\"true\"\r\n >\r\n <cs-option\r\n *ngFor=\"let data of approverWorkFlowList\"\r\n [value]=\"data\"\r\n >\r\n {{ data.workflow_name }}\r\n </cs-option>\r\n <cs-option\r\n [value]=\"-1\"\r\n (click)=\"\r\n activateSelector('approvers', true);\r\n addMoreLevels = true;\r\n workflowType = 'SEQUENTIAL'\r\n \"\r\n >Create a new approval workflow</cs-option\r\n >\r\n </cs-select>\r\n </div>\r\n <ng-container\r\n *ngIf=\"policyForm?.selectedApprovers[0]?.approvers?.length > 0\"\r\n >\r\n <div\r\n class=\"selected\"\r\n *ngFor=\"let level of policyForm?.selectedApprovers; let i = index\"\r\n >\r\n <div class=\"workflow-label\">\r\n <p class=\"title\">Level {{ i + 1 }}</p>\r\n <p class=\"description\">{{ level.name }}</p>\r\n </div>\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div class=\"chip-container\">\r\n <span\r\n class=\"chip\"\r\n *ngFor=\"\r\n let approver of level.approvers.slice(0, 1);\r\n let j = index\r\n \"\r\n ><i class=\"icons\" (click)=\"remove('approvers', approver, i)\"\r\n ></i\r\n >\r\n <span class=\"step\" *ngIf=\"level.name == 'SEQUENTIAL'\">{{\r\n j + 1\r\n }}</span\r\n >{{ approver.member_name }}</span\r\n >\r\n\r\n <button\r\n class=\"count\"\r\n *ngIf=\"level.approvers?.length > 1\"\r\n type=\"button\"\r\n appPopover\r\n (click)=\"labelName.popover()\"\r\n placement=\"right\"\r\n >\r\n +\r\n\r\n {{ level.approvers.slice(1).length }}\r\n </button>\r\n <app-popover #labelName [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let approver of level.approvers | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i\r\n class=\"icons\"\r\n (click)=\"remove('approvers', approver, i)\"\r\n ></i\r\n >\r\n <span\r\n class=\"step\"\r\n *ngIf=\"level.name == 'SEQUENTIAL'\"\r\n >\r\n {{\r\n j == level.approvers.slice(1).length - 1\r\n ? \"Final\"\r\n : j + 2\r\n }}\r\n </span>\r\n {{ approver.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <button\r\n class=\"edit\"\r\n type=\"button\"\r\n (click)=\"\r\n activateSelector('approvers', true, level.name);\r\n approversListIndex = i\r\n \"\r\n >\r\n <i class=\"icons\"></i>Edit\r\n </button>\r\n <button\r\n class=\"close-btn\"\r\n (click)=\"remove('workflowLevel', level, i)\"\r\n >\r\n <i class=\"icons\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <p\r\n *ngIf=\"\r\n submitted &&\r\n policyForm?.selectedApprovers?.length == 0 &&\r\n policyApprovalFlag === 0\r\n \"\r\n [appScrollInView]=\"true\"\r\n class=\"error-message\"\r\n >\r\n Select or create an approval workflow for this policy.\r\n </p>\r\n\r\n <label\r\n class=\"vx-control-panel\"\r\n *ngIf=\"policyForm.selectedApprovers[0]?.approvers?.length > 0\"\r\n ><button\r\n class=\"button\"\r\n (click)=\"\r\n activateSelector('approvers', true);\r\n addMoreLevels = true;\r\n workflowType = 'SEQUENTIAL'\r\n \"\r\n >\r\n + Add More Levels\r\n </button></label\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Who / now Attestation -->\r\n <div\r\n class=\"form-group-row\"\r\n [class.active]=\"activeSelector === 'assignees'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'assignees' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div\r\n class=\"left\"\r\n [class.checked]=\"policyForm?.selectedAssignees?.length > 0\"\r\n >\r\n <img\r\n *ngIf=\"\r\n policyForm?.selectedAssignees?.length == 0 ||\r\n activeSelector === 'assignees'\r\n \"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/who.svg\"\r\n alt=\"im\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"\r\n policyForm?.selectedAssignees?.length > 0 &&\r\n activeSelector !== 'assignees'\r\n \"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Attestation</label>\r\n <div\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center vx-mb-2\"\r\n *ngIf=\"\r\n (policyForm?.selectedAssignees?.length == 0 && !groupEnabled) ||\r\n (policyForm?.selectedAssignees?.length == 0 &&\r\n groupEnabled &&\r\n policyForm?.selectedGroupAssignee.length == 0)\r\n \"\r\n (click)=\"activateSelector('assignees', true)\"\r\n >\r\n <div class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\">\r\n Select the persons responsible for attesting this policy.\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between vx-mb-2\"\r\n *ngIf=\"\r\n policyForm?.selectedAssignees?.length > 0 ||\r\n policyForm?.selectedGroupAssignee?.length > 0\r\n \"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngIf=\"!groupEnabled\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let assignee of policyForm?.selectedAssignees?.slice(0, 1)\r\n \"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"remove('assignees', assignee)\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"assignee.employee_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ assignee.employee_name }}</span\r\n >\r\n </ng-container>\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 greenBg\"\r\n appPopover\r\n (click)=\"assigneePopover.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.selectedAssignees?.length > 1\"\r\n >\r\n +{{ policyForm?.selectedAssignees?.slice(1).length }}\r\n </button>\r\n </div>\r\n <ng-container *ngIf=\"groupEnabled\">\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngIf=\"groupEnabled && policyForm?.selectedAssignees.length > 0\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"\r\n remove('assignees', policyForm?.selectedAssignees[0])\r\n \"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"policyForm?.selectedAssignees[0]?.employee_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ policyForm?.selectedAssignees[0]?.employee_name }}</span\r\n >\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"UserPopover.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.selectedAssignees.length > 1\"\r\n >\r\n +{{ policyForm?.selectedAssignees.length - 1 }}\r\n </button>\r\n </div>\r\n <div\r\n class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\"\r\n *ngIf=\"\r\n policyForm?.selectedAssignees.length > 0 &&\r\n policyForm?.selectedGroupAssignee.length > 0\r\n \"\r\n >\r\n &\r\n </div>\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngIf=\"policyForm?.selectedGroupAssignee.length > 0\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"\r\n remove(\r\n 'groupAssignees',\r\n policyForm?.selectedGroupAssignee[0]\r\n )\r\n \"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"\r\n policyForm?.selectedGroupAssignee[0]?.group_name\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ policyForm?.selectedGroupAssignee[0]?.group_name }}</span\r\n >\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"group.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.selectedGroupAssignee.length > 1\"\r\n >\r\n +{{ policyForm?.selectedGroupAssignee.length - 1 }}\r\n </button>\r\n </div>\r\n </ng-container>\r\n <button\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n (click)=\"activateSelector('assignees', true)\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"\r\n submitted &&\r\n ((policyForm?.selectedAssignees?.length == 0 &&\r\n policyForm?.frequency_details &&\r\n !groupEnabled) ||\r\n (policyForm?.selectedAssignees?.length == 0 &&\r\n policyForm.selectedGroupAssignee.length == 0 &&\r\n policyForm?.frequency_details &&\r\n groupEnabled))\r\n \"\r\n id=\"whovalidatemsg\"\r\n class=\"error-message\"\r\n [appScrollInView]=\"true\"\r\n >\r\n Select the persons required to attest to this Policy.\r\n </p>\r\n <app-cs-switch\r\n [(ngValue)]=\"policyForm.requiresSignatureForAttestation\"\r\n [class.disabled]=\"policyForm?.selectedAssignees?.length == 0\"\r\n class=\"who-toggle\"\r\n >THIS POLICY REQUIRES E-SIGNATURE FOR ATTESTATION\r\n <i\r\n class=\"icons\"\r\n [appTooltip]=\"\r\n 'If selected, the readers will be required to attest this policy using their electronic signature.'\r\n \"\r\n placement=\"bottom-right\"\r\n type=\"white\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"true\"\r\n ></i\r\n ></app-cs-switch\r\n >\r\n <app-popover #assigneePopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let assignee of policyForm?.selectedAssignees | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('assignees', assignee)\"\r\n ></i\r\n >\r\n {{ assignee.employee_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #UserPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let assignee of policyForm?.selectedAssignees | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('assignees', assignee)\"\r\n ></i\r\n >\r\n {{ assignee.employee_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=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let data of policyForm?.selectedGroupAssignee | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('groupAssignees', data)\"\r\n ></i\r\n >\r\n {{ data.group_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n <!-- overseer -->\r\n <app-popover #overseerPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let overseer of policyForm?.CCEmail | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('ccEmail', overseer)\"\r\n ></i\r\n >\r\n {{ overseer?.employee_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=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let data of policyForm?.CCGroupEmail | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('ccGroupEmail', data)\"\r\n ></i\r\n >\r\n {{ data?.group_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <!-- overseer end -->\r\n\r\n <!-- overseer fail start -->\r\n <app-popover #overseerFailPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let overseer of policyForm?.CCFailEmail | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('ccFail', overseer)\"\r\n ></i\r\n >\r\n {{ overseer?.employee_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #overseerFailGroup [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let data of policyForm?.CCFailEmailGroup | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i\r\n class=\"icons\"\r\n (click)=\"remove('ccGroupFailEmail', data)\"\r\n ></i\r\n >\r\n {{ data?.group_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <!-- overseer fail end -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- When -->\r\n <div\r\n class=\"form-group-row\"\r\n [class.active]=\"activeSelector === 'frequency'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'frequency' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div class=\"left\" [class.checked]=\"policyForm?.frequency_details\">\r\n <img\r\n *ngIf=\"\r\n !policyForm?.frequency_details || activeSelector === 'frequency'\r\n \"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/when.svg\"\r\n alt=\"im\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"\r\n policyForm?.frequency_details && activeSelector !== 'frequency'\r\n \"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">When?</label>\r\n\r\n <div\r\n *ngIf=\"policyForm?.frequency_details == ''\"\r\n class=\"select button-sec\"\r\n >\r\n <div\r\n class=\"custom-input frequency-custom-input\"\r\n (click)=\"activateSelector('frequency', true)\"\r\n >\r\n {{ frequencyPlaceholder }}\r\n </div>\r\n\r\n <button (click)=\"activateSelector('frequency', true)\" type=\"button\">\r\n Set A frequency\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"policyForm?.frequency_details != ''\"\r\n class=\"selected button-sec\"\r\n >\r\n <span class=\"chip\">{{ frequencyPlaceholder }}</span>\r\n <button\r\n *ngIf=\"activeSelector !== 'frequency'\"\r\n type=\"button\"\r\n class=\"edit\"\r\n (click)=\"activateSelector('frequency', true)\"\r\n >\r\n <i class=\"icons\"></i>Edit\r\n </button>\r\n </div>\r\n <p\r\n *ngIf=\"\r\n submitted &&\r\n ((policyForm?.selectedAssignees?.length > 0 &&\r\n !policyForm?.frequency_details &&\r\n !groupEnabled) ||\r\n ((policyForm?.selectedAssignees?.length > 0 ||\r\n policyForm?.selectedGroupAssignee?.length > 0) &&\r\n !policyForm?.frequency_details &&\r\n groupEnabled))\r\n \"\r\n class=\"error-message\"\r\n [appScrollInView]=\"true\"\r\n >\r\n Select an attestation schedule for this policy.\r\n </p>\r\n\r\n <!-- <label class=\"vx-control-panel\">Effective Date</label>\r\n <div class=\"date-time-picker\">\r\n <div class=\"picker-group\">\r\n <input type=\"text\" readonly placeholder=\"Select the date from which this policy goes into effect.\"\r\n [value]=\"policyForm.policyDueDate | date: 'dd MMM yyyy'\" (click)=\"openDatePicker();\">\r\n <i class=\"icons\"></i>\r\n <dp-date-picker #datePicker (onSelect)=\"datePickerOverlay = false;closeDatePicker($event)\"\r\n [config]=\"dateConfig\" [(ngModel)]=\"policyForm.policyDueDate\">\r\n </dp-date-picker>\r\n <div class=\"vx-overlay\" (click)=\"closeDatePicker($event)\" *ngIf=\"datePickerOverlay\"></div>\r\n </div>\r\n </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Checkpoints / Assessment of Understanding -->\r\n <div\r\n class=\"form-group-row\"\r\n [appScrollInView]=\"scrollToBottom\"\r\n *ngIf=\"true\"\r\n [class.active]=\"activeSelector === 'checkpoints'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'checkpoints' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div\r\n class=\"left\"\r\n [class.checked]=\"policyForm?.checkpointDetails?.length > 0\"\r\n >\r\n <img\r\n *ngIf=\"\r\n policyForm?.checkpointDetails?.length == 0 ||\r\n activeSelector === 'checkpoints'\r\n \"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/checkpoints.svg\"\r\n alt=\"im\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"\r\n policyForm?.checkpointDetails?.length > 0 &&\r\n activeSelector !== 'checkpoints'\r\n \"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Assessment of Understanding\r\n <!-- <button *ngIf=\"policyForm?.checkpointDetails?.length===0\" class=\"button\" (click)=\"activateSelector('checkpoints',true)\">+ Add Checkpoints</button> -->\r\n </label>\r\n <div\r\n class=\"select\"\r\n *ngIf=\"policyForm?.checkpointDetails?.length === 0\"\r\n (click)=\"activateSelector('checkpoints', true)\"\r\n >\r\n <!-- <input type=\"text\" placeholder=\"Set up a questionnaire to confirm the reader\u2019s understanding of the policy.\" readonly> -->\r\n <div class=\"custom-input\">\r\n Set up a questionnaire to confirm the reader\u2019s<br />understanding\r\n of the policy.\r\n </div>\r\n </div>\r\n <div\r\n class=\"selected\"\r\n *ngIf=\"policyForm?.checkpointDetails?.length > 0\"\r\n >\r\n <!-- <div class=\"chip-container\">\r\n <span class=\"chip\">{{policyForm?.checkpointDetails?.length + (policyForm?.checkpointDetails?.length > 1 ?' Checkpoints':' Checkpoint')}}</span>\r\n\r\n <span class=\"checkpoint-point-text first\">TOTAL POINTS: <span class=\"no\">{{policyForm?.totalQuestion}}</span><br><em>Each question carries 1 point</em></span>\r\n\r\n <span class=\"checkpoint-point-text\">POINTS REQUIRED TO ATTEST : <span class=\"no\">{{policyForm?.passingMarks}}</span></span>\r\n\r\n </div> -->\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <span class=\"chipName vx-fs-11 vx-label-txt\">{{\r\n policyForm?.checkpointDetails?.length +\r\n (policyForm?.checkpointDetails?.length > 1\r\n ? \" Questions\"\r\n : \" Question\")\r\n }}</span>\r\n </div>\r\n <button\r\n class=\"edit\"\r\n type=\"button\"\r\n (click)=\"activateSelector('checkpoints', true)\"\r\n >\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n <!-- <app-popover #checkpointPopOver [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let checkpoint of policyForm?.checkpointDetails | slice: 1; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('checkpoints',checkpoint,j+1)\"></i>\r\n {{ checkpoint?.question }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover> -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Risk Classification -->\r\n <div\r\n class=\"form-group-row\"\r\n *ngIf=\"showRiskClassification && false\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'name'\"\r\n >\r\n <div class=\"left\" [class.checked]=\"policyForm.riskRating\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/risks.svg\"\r\n alt=\"im\"\r\n *ngIf=\"!policyForm?.riskRating\"\r\n />\r\n\r\n <svg\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n *ngIf=\"policyForm?.riskRating\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Risk Classification</label>\r\n <div class=\"classification\">\r\n <label\r\n class=\"low\"\r\n *ngFor=\"let class of riskClassification\"\r\n [ngClass]=\"[class.class]\"\r\n >\r\n <input\r\n type=\"radio\"\r\n name=\"classification\"\r\n [value]=\"class.value\"\r\n [checked]=\"policyForm?.riskRating === class.value\"\r\n [(ngModel)]=\"policyForm.riskRating\"\r\n />\r\n <span>{{ class.name }}</span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Responsibility Center -->\r\n <div\r\n class=\"form-group-row\"\r\n [appScrollInView]=\"scrollToBottom\"\r\n *ngIf=\"policyForm.addResponsibilityCenters\"\r\n [class.active]=\"activeSelector === 'rc'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'rc' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div class=\"left\" [class.checked]=\"policyForm?.selectedRCs?.length > 0\">\r\n <img\r\n *ngIf=\"\r\n policyForm?.selectedRCs?.length == 0 || activeSelector === 'rc'\r\n \"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/responsibility-center.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"policyForm?.selectedRCs?.length > 0 && activeSelector !== 'rc'\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Responsibility Center</label>\r\n <div class=\"select\" *ngIf=\"policyForm?.selectedRCs?.length == 0\">\r\n <input\r\n type=\"text\"\r\n (click)=\"activateSelector('rc', true)\"\r\n placeholder=\"Select Responsibility Center(s) that this policy relates to.\"\r\n readonly\r\n />\r\n </div>\r\n\r\n <div class=\"selected\" *ngIf=\"policyForm?.selectedRCs?.length > 0\">\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <ng-container\r\n *ngFor=\"let rc of policyForm?.selectedRCs?.slice(0, 1)\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"remove('rc', rc)\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"rc.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ rc.item_name }}</span\r\n >\r\n </ng-container>\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"rcPopover.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.selectedRCs?.length > 1\"\r\n >\r\n +{{ policyForm?.selectedRCs?.slice(1).length }}\r\n </button>\r\n </div>\r\n <button\r\n class=\"edit\"\r\n type=\"button\"\r\n (click)=\"activateSelector('rc', true)\"\r\n >\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n <app-popover #rcPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let rc of policyForm?.selectedRCs | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('rc', rc)\"></i>\r\n {{ rc.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Version -->\r\n <div\r\n *ngIf=\"policyForm.addVersion\"\r\n class=\"form-group-row\"\r\n [class.disabled]=\"\r\n activeSelector && sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div class=\"left\" [class.checked]=\"policyForm.policy_version\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/associated-risks.svg\"\r\n alt=\"name\"\r\n *ngIf=\"!policyForm.policy_version\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"policyForm.policy_version\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">VERSION</label>\r\n <input\r\n [(ngModel)]=\"policyForm.policy_version\"\r\n (change)=\"onVersion($event)\"\r\n type=\"text\"\r\n placeholder=\"Specify the policy version.\"\r\n />\r\n <p\r\n *ngIf=\"!isVersionValid\"\r\n class=\"error-message\"\r\n [appScrollInView]=\"true\"\r\n >\r\n {{ versionErrorMessage }}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Reviewer -->\r\n <div\r\n class=\"form-group-row\"\r\n [appScrollInView]=\"scrollToBottom\"\r\n *ngIf=\"policyForm.addReviewers && false\"\r\n [class.active]=\"activeSelector === 'reviewer'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'reviewer' &&\r\n activeSelector !== 'reviewerFrequency' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div\r\n class=\"left\"\r\n [class.checked]=\"policyForm?.selectedReviewers?.length > 0\"\r\n >\r\n <img\r\n *ngIf=\"\r\n policyForm?.selectedReviewers?.length == 0 ||\r\n activeSelector === 'reviewer'\r\n \"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/reviewer.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"\r\n policyForm?.selectedReviewers?.length > 0 &&\r\n activeSelector !== 'reviewer'\r\n \"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Reviewer </label>\r\n <div\r\n class=\"select\"\r\n *ngIf=\"policyForm?.selectedReviewers?.length == 0\"\r\n >\r\n <input\r\n type=\"text\"\r\n (click)=\"activateSelector('reviewer', true)\"\r\n placeholder=\"Select the person responsible for reviewing this policy\"\r\n readonly\r\n />\r\n </div>\r\n\r\n <div\r\n class=\"selected\"\r\n *ngIf=\"policyForm?.selectedReviewers?.length > 0\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <ng-container\r\n *ngFor=\"let reviewer of policyForm?.selectedReviewers\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"remove('reviewer', reviewer)\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"reviewer.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ reviewer.member_name }}</span\r\n >\r\n </ng-container>\r\n </div>\r\n\r\n <button\r\n class=\"edit\"\r\n type=\"button\"\r\n (click)=\"activateSelector('reviewer', true)\"\r\n >\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n <p\r\n *ngIf=\"\r\n submitted &&\r\n policyForm?.selectedReviewers?.length == 0 &&\r\n policyForm?.review_frequency_details\r\n \"\r\n class=\"error-message\"\r\n [appScrollInView]=\"true\"\r\n >\r\n Select a reviewer for this policy.\r\n </p>\r\n\r\n <label class=\"vx-control-panel\">When? </label>\r\n\r\n <div\r\n *ngIf=\"policyForm?.review_frequency_details == ''\"\r\n class=\"select button-sec\"\r\n >\r\n <input\r\n type=\"text\"\r\n (click)=\"activateSelector('reviewerFrequency', true)\"\r\n [placeholder]=\"reviewerFrequencyPlaceholder\"\r\n readonly\r\n />\r\n <button\r\n (click)=\"activateSelector('reviewerFrequency', true)\"\r\n type=\"button\"\r\n >\r\n Set A frequency\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"policyForm?.review_frequency_details != ''\"\r\n class=\"selected button-sec\"\r\n >\r\n <span class=\"chip\">{{ reviewerFrequencyPlaceholder }}</span>\r\n <button\r\n *ngIf=\"activeSelector !== 'reviewerFrequency'\"\r\n type=\"button\"\r\n class=\"edit\"\r\n (click)=\"activateSelector('reviewerFrequency', true)\"\r\n >\r\n <i class=\"icons\"></i>Edit\r\n </button>\r\n </div>\r\n <p\r\n *ngIf=\"\r\n submitted &&\r\n policyForm?.selectedReviewers?.length > 0 &&\r\n !policyForm?.review_frequency_details\r\n \"\r\n class=\"error-message\"\r\n [appScrollInView]=\"true\"\r\n >\r\n Select the review schedule for this policy.\r\n </p>\r\n\r\n <app-format-and-evidence\r\n (updateFiles)=\"saveSelectedList('reviewer_attachments', $event)\"\r\n #formatEvidence\r\n [mode]=\"'policyReviewer'\"\r\n [organization_id]=\"organization_id\"\r\n [formatEvidanceData]=\"policyForm?.documentsAndLinks\"\r\n >\r\n </app-format-and-evidence>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Overseer -->\r\n <div\r\n class=\"form-group-row\"\r\n [appScrollInView]=\"scrollToBottom\"\r\n *ngIf=\"policyForm.addOverseers\"\r\n [class.active]=\"\r\n activeSelector === 'ccEmail' || activeSelector === 'ccFail'\r\n \"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'ccEmail' &&\r\n activeSelector !== 'ccFail' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div\r\n class=\"left\"\r\n [class.checked]=\"\r\n policyForm?.CCEmail?.length > 0 || policyForm?.CCFailEmail?.length > 0\r\n \"\r\n >\r\n <img\r\n *ngIf=\"\r\n (policyForm?.CCFailEmail?.length == 0 &&\r\n policyForm?.CCEmail?.length == 0) ||\r\n activeSelector === 'ccEmail' ||\r\n activeSelector === 'ccFail'\r\n \"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg\"\r\n alt=\"im\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"\r\n (policyForm?.CCFailEmail?.length > 0 ||\r\n policyForm?.CCEmail?.length > 0) &&\r\n activeSelector !== 'ccEmail' &&\r\n activeSelector !== 'ccFail'\r\n \"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Overseer </label>\r\n <div\r\n class=\"select\"\r\n *ngIf=\"\r\n policyForm?.CCEmail?.length == 0 &&\r\n policyForm?.CCGroupEmail.length == 0\r\n \"\r\n >\r\n <input\r\n type=\"text\"\r\n (click)=\"activateSelector('ccEmail', true)\"\r\n placeholder=\"Who should have oversight of this policy?\"\r\n readonly\r\n />\r\n </div>\r\n <div\r\n class=\"selected\"\r\n *ngIf=\"\r\n policyForm?.CCEmail?.length > 0 ||\r\n policyForm?.CCGroupEmail.length > 0\r\n \"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngIf=\"!groupEnabled\"\r\n >\r\n <ng-container\r\n *ngFor=\"let ccEmail of policyForm?.CCEmail?.slice(0, 1)\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"remove('ccEmail', ccEmail)\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"ccEmail.employee_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ ccEmail.employee_name }}</span\r\n >\r\n </ng-container>\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 greenBg\"\r\n appPopover\r\n (click)=\"ccEmailPopover.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.CCEmail?.length > 1\"\r\n >\r\n +{{ policyForm?.CCEmail?.slice(1).length }}\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"groupEnabled\" class=\"chip-container\">\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngIf=\"groupEnabled && policyForm?.CCEmail?.length > 0\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"remove('ccEmail', policyForm?.CCEmail[0])\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"policyForm?.CCEmail[0].employee_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ policyForm?.CCEmail[0].employee_name }}</span\r\n >\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 greenBg\"\r\n appPopover\r\n (click)=\"overseerPopover.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.CCEmail?.length > 1\"\r\n >\r\n +{{ policyForm?.CCEmail?.length - 1 }}\r\n </button>\r\n </div>\r\n\r\n <div\r\n class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\"\r\n *ngIf=\"\r\n policyForm?.CCEmail.length > 0 &&\r\n policyForm?.CCGroupEmail?.length > 0\r\n \"\r\n >\r\n &\r\n </div>\r\n\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngIf=\"policyForm?.CCGroupEmail.length > 0\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"remove('ccGroupEmail', policyForm?.CCGroupEmail[0])\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"policyForm?.CCGroupEmail[0]?.group_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ policyForm?.CCGroupEmail[0]?.group_name }}</span\r\n >\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"overseerGroup.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.CCGroupEmail?.length > 1\"\r\n >\r\n +{{ policyForm?.CCGroupEmail?.length - 1 }}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <button\r\n class=\"edit\"\r\n type=\"button\"\r\n (click)=\"activateSelector('ccEmail', true)\"\r\n >\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n\r\n <div\r\n class=\"select\"\r\n *ngIf=\"\r\n policyForm?.CCFailEmail?.length == 0 &&\r\n policyForm?.CCFailEmailGroup?.length == 0\r\n \"\r\n >\r\n <input\r\n type=\"text\"\r\n (click)=\"activateSelector('ccFail', true)\"\r\n placeholder=\"Who should be notified if the policy is not attested on time?\"\r\n readonly\r\n />\r\n </div>\r\n\r\n <div\r\n class=\"selected\"\r\n *ngIf=\"\r\n policyForm?.CCFailEmail?.length > 0 ||\r\n policyForm?.CCFailEmailGroup?.length > 0\r\n \"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngIf=\"!groupEnabled\"\r\n >\r\n <ng-container\r\n *ngFor=\"let ccFail of policyForm?.CCFailEmail?.slice(0, 1)\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"remove('ccFail', ccFail)\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"ccFail.employee_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ ccFail.employee_name }}</span\r\n >\r\n </ng-container>\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 greenBg\"\r\n appPopover\r\n (click)=\"ccFailPopover.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.CCFailEmail?.length > 1\"\r\n >\r\n +{{ policyForm?.CCFailEmail?.slice(1).length }}\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"groupEnabled\" class=\"chip-container\">\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngIf=\"groupEnabled && policyForm?.CCFailEmail.length > 0\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"remove('ccFail', policyForm?.CCFailEmail[0])\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"policyForm?.CCFailEmail[0]?.employee_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ policyForm?.CCFailEmail[0]?.employee_name }}</span\r\n >\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 greenBg\"\r\n appPopover\r\n (click)=\"overseerFailPopover.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.CCFailEmail?.length > 1\"\r\n >\r\n +{{ policyForm?.CCFailEmail?.length - 1 }}\r\n </button>\r\n </div>\r\n\r\n <div\r\n class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\"\r\n *ngIf=\"\r\n policyForm?.CCFailEmail?.length > 0 &&\r\n policyForm?.CCFailEmailGroup?.length > 0\r\n \"\r\n >\r\n &\r\n </div>\r\n\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngIf=\"policyForm?.CCFailEmailGroup?.length > 0\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"\r\n remove('ccGroupFailEmail', policyForm?.CCFailEmailGroup[0])\r\n \"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"policyForm?.CCFailEmailGroup[0]?.group_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ policyForm?.CCFailEmailGroup[0]?.group_name }}</span\r\n >\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"overseerFailGroup.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.CCFailEmailGroup?.length > 1\"\r\n >\r\n +{{ policyForm?.CCFailEmailGroup?.length - 1 }}\r\n </button>\r\n </div>\r\n </div>\r\n <button\r\n class=\"edit\"\r\n type=\"button\"\r\n (click)=\"activateSelector('ccFail', true)\"\r\n >\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n <app-popover #ccEmailPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let ccEmail of policyForm?.CCEmail | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('ccEmail', ccEmail)\"\r\n ></i\r\n >\r\n {{ ccEmail.employee_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #ccFailPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let ccFail of policyForm?.CCFailEmail | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('ccFail', ccFail)\"\r\n ></i\r\n >\r\n {{ ccFail.employee_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Related Documents -->\r\n <div\r\n class=\"form-group-row\"\r\n [appScrollInView]=\"scrollToBottom\"\r\n *ngIf=\"policyForm.addAssociatedDocuments\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'name'\"\r\n >\r\n <div class=\"left\">\r\n <img\r\n *ngIf=\"policyForm.associatedDocuments.formatFiles?.length == 0\"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/format-evidence.svg\"\r\n alt=\"im\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"policyForm.associatedDocuments.formatFiles?.length > 0\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">RELATED DOCUMENTS</label>\r\n <app-format-and-evidence\r\n (updateFiles)=\"saveSelectedList('associatedDocuments', $event)\"\r\n [mode]=\"'policy'\"\r\n [organization_id]=\"organization_id\"\r\n [formatEvidanceData]=\"policyForm?.associatedDocuments\"\r\n ></app-format-and-evidence>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Link Programs & Responsibilities -->\r\n <div\r\n *ngIf=\"policyForm?.addLinkProgram\"\r\n class=\"form-group-row\"\r\n [class.active]=\"activeSelector === 'linkProgram'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'linkProgram' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div\r\n class=\"left\"\r\n [class.checked]=\"\r\n policyForm?.programSelectedValues?.program?.category_id\r\n \"\r\n >\r\n <img\r\n *ngIf=\"!policyForm?.programSelectedValues?.program?.category_id\"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/link-items.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"policyForm?.programSelectedValues?.program?.category_id\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\"\r\n >LINK PROGRAMS & RESPONSIBILITIES</label\r\n >\r\n <div\r\n *ngIf=\"!policyForm?.programSelectedValues?.program?.category_id\"\r\n (click)=\"activateSelector('linkProgram', true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\">\r\n Select Programs & responsibilities that are<br />associated with\r\n this policy.\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n *ngIf=\"policyForm?.programSelectedValues?.program?.category_id\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <i\r\n (click)=\"\r\n remove('linkProgram', policyForm?.programSelectedValues)\r\n \"\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"policyForm?.programSelectedValues?.program?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ policyForm?.programSelectedValues?.program?.name }}</span\r\n >\r\n <!-- <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"programResponsibilityPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n +4\r\n </button> -->\r\n </div>\r\n <app-popover\r\n #programResponsibilityPopover\r\n [dontCloseonClick]=\"true\"\r\n >\r\n <div class=\"wf-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\r\n class=\"value\"\r\n [appTooltip]=\"\r\n 'Reporting information security weaknesses'\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i class=\"icons\"></i>\r\n Reporting information security weaknesses\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <button\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n (click)=\"activateSelector('linkProgram', true)\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Link Assessment -->\r\n <div\r\n *ngIf=\"policyForm.addLinkAssessment\"\r\n class=\"form-group-row\"\r\n [class.active]=\"activeSelector === 'isAssessment'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'isAssessment' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div class=\"left\" [class.checked]=\"policyForm?.assessment?.length\">\r\n <img\r\n *ngIf=\"!policyForm?.assessment?.length\"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/assessments.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"policyForm?.assessment?.length\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">LINK ASSESSMENTS</label>\r\n <div\r\n *ngIf=\"policyForm?.assessment?.length === 0\"\r\n (click)=\"activateSelector('isAssessment', true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\">\r\n Select assessments that are associated with this<br />policy.\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"policyForm?.assessment?.length > 0\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"\r\n policyForm.assessment[0]?.assessmentDetails?.assessment_name\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{\r\n policyForm.assessment[0]?.assessmentDetails?.assessment_name\r\n }}</span\r\n >\r\n </div>\r\n <app-popover\r\n #programResponsibilityPopover\r\n [dontCloseonClick]=\"true\"\r\n >\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"let assessment of policyForm.assessment | slice : 1\"\r\n >\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"\r\n assessment?.assessmentDetails?.assessment_name\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i class=\"icons\"></i>\r\n {{ assessment?.assessmentDetails?.assessment_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <button\r\n (click)=\"activateSelector('isAssessment', true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <app-checkbox-list\r\n [config]=\"categoryConfig\"\r\n [twoColumn]=\"false\"\r\n [itemsList]=\"categoryList\"\r\n [selectedItems]=\"policyForm.selectedCategories\"\r\n [identifierKey]=\"'_id'\"\r\n [displayKey]=\"'item_name'\"\r\n [tooltipKey]=\"'item_name'\"\r\n *ngIf=\"activeSelector === 'category'\"\r\n (saveList)=\"saveSelectedList('category', $event)\"\r\n (closeList)=\"disableSelector()\"\r\n >\r\n </app-checkbox-list>\r\n <!-- <app-checkbox-list [config]=\"approvalWorkflowConfig\" [twoColumn]=\"true\"\r\n [itemsList]=\"\"\r\n [selectedItems]=\"policyForm.issueCCUsers\" [identifierKey]=\"'employee_email'\" [displayKey]=\"'employee_name'\" [tooltipKey]=\"'employee_email'\"\r\n *ngIf=\"activeSelector==='ISSUE_CC'\" (saveList)=\"selectorAction($event,'ISSUE_CC')\"\r\n (closeList)=\"fieldDeselector('ISSUE_CC')\">\r\n</app-checkbox-list> -->\r\n\r\n <app-responsibility-centers-list\r\n *ngIf=\"activeSelector === 'rc'\"\r\n [responsibilityCentersList]=\"rcList\"\r\n [selectedResponsibilityCenters]=\"policyForm.selectedRCs\"\r\n [rcIdKey]=\"'item_id'\"\r\n (saveSelectedList)=\"saveSelectedList('rc', $event)\"\r\n (closeRcList)=\"disableSelector()\"\r\n >\r\n </app-responsibility-centers-list>\r\n\r\n <app-users-radio-list\r\n *ngIf=\"activeSelector === 'reviewer'\"\r\n [itemEmailKey]=\"'member_email'\"\r\n [usersList]=\"allReviewers\"\r\n [selectedUsers]=\"policyForm.selectedReviewers\"\r\n [userIdKey]=\"'member_id'\"\r\n [itemNameKey]=\"'member_name'\"\r\n (saveSelectedList)=\"saveSelectedList('reviewer', $event)\"\r\n (closeUsersList)=\"disableSelector()\"\r\n >\r\n </app-users-radio-list>\r\n\r\n <app-owner-list\r\n *ngIf=\"activeSelector === 'ccEmail' && !groupEnabled\"\r\n [usersList]=\"overseersList\"\r\n [singularText]=\"'User selected'\"\r\n [pluralText]=\"'Users selected'\"\r\n [selectedUsers]=\"policyForm.CCEmail\"\r\n [userIdKey]=\"'employee_id'\"\r\n [itemNameKey]=\"'employee_name'\"\r\n (saveSelectedList)=\"saveSelectedList('ccEmail', $event)\"\r\n (closeUsersList)=\"disableSelector()\"\r\n >\r\n </app-owner-list>\r\n\r\n <user-group-list\r\n *ngIf=\"activeSelector === 'ccEmail' && groupEnabled\"\r\n [groupEnabled]=\"true\"\r\n [userlist]=\"overseersList\"\r\n [groupList]=\"overseerGroupsList\"\r\n [selectedUsers]=\"policyForm.CCEmail\"\r\n [selectedGroups]=\"policyForm.CCGroupEmail\"\r\n (save)=\"saveSelectedList('ccEmail', $event)\"\r\n (cancel)=\"disableSelector()\"\r\n [featureflag]=\"groupEnabled\"\r\n >\r\n </user-group-list>\r\n\r\n <app-owner-list\r\n *ngIf=\"activeSelector === 'ccFail' && !groupEnabled\"\r\n [usersList]=\"overseersList\"\r\n [singularText]=\"'User selected'\"\r\n [pluralText]=\"'Users selected'\"\r\n [selectedUsers]=\"policyForm.CCFailEmail\"\r\n [userIdKey]=\"'employee_id'\"\r\n [itemNameKey]=\"'employee_name'\"\r\n (saveSelectedList)=\"saveSelectedList('ccFail', $event)\"\r\n (closeUsersList)=\"disableSelector()\"\r\n >\r\n </app-owner-list>\r\n\r\n <user-group-list\r\n *ngIf=\"activeSelector === 'ccFail' && groupEnabled\"\r\n [groupEnabled]=\"true\"\r\n [userlist]=\"overseersList\"\r\n [groupList]=\"overseerGroupsList\"\r\n [selectedUsers]=\"policyForm.CCFailEmail\"\r\n [selectedGroups]=\"policyForm.CCFailEmailGroup\"\r\n (save)=\"saveSelectedList('ccFail', $event)\"\r\n (cancel)=\"disableSelector()\"\r\n [featureflag]=\"groupEnabled\"\r\n >\r\n </user-group-list>\r\n\r\n <app-group-users-list\r\n *ngIf=\"activeSelector === 'assignees' && !groupEnabled\"\r\n [usersList]=\"assigneesList\"\r\n [groupsList]=\"groupsList\"\r\n [selectedUsers]=\"policyForm.selectedAssignees\"\r\n [userIdKey]=\"'my_member_id'\"\r\n (saveSelectedList)=\"saveSelectedList('assignees', $event)\"\r\n (closeUsersList)=\"disableSelector()\"\r\n >\r\n </app-group-users-list>\r\n\r\n <user-group-list\r\n *ngIf=\"activeSelector === 'assignees' && groupEnabled\"\r\n [groupEnabled]=\"true\"\r\n [userlist]=\"ownerlist\"\r\n [groupList]=\"groupsList\"\r\n (save)=\"saveSelectedList('assignees', $event)\"\r\n (cancel)=\"disableSelector()\"\r\n [selectedGroups]=\"policyForm.selectedGroupAssignee\"\r\n [selectedUsers]=\"policyForm.selectedAssignees\"\r\n [featureflag]=\"groupEnabled\"\r\n >\r\n </user-group-list>\r\n\r\n <app-owner-list\r\n *ngIf=\"activeSelector === 'approvers' && false\"\r\n [listHeading]=\"'Select Approvers'\"\r\n [singularText]=\"'User selected'\"\r\n [pluralText]=\"'Users selected'\"\r\n [usersList]=\"allApprovers\"\r\n [showWorkflow]=\"true\"\r\n [selectedUsers]=\"\r\n addMoreLevels\r\n ? []\r\n : policyForm.selectedApprovers[approversListIndex].approvers\r\n \"\r\n [userIdKey]=\"'member_id'\"\r\n [itemEmailKey]=\"'member_email'\"\r\n [itemNameKey]=\"'member_name'\"\r\n (saveSelectedList)=\"saveSelectedList('approvers', $event)\"\r\n (closeUsersList)=\"disableSelector()\"\r\n [mode]=\"mode\"\r\n [reviewerWorkflowType]=\"workflowType\"\r\n (reviewerWorkflowTypeChange)=\"reviewerTypeChange($event)\"\r\n [workflowList]=\"workflowList\"\r\n [workflowText]=\"'Approval Workflow'\"\r\n >\r\n </app-owner-list>\r\n\r\n <app-frequency-container\r\n *ngIf=\"activeSelector === 'frequency'\"\r\n [mode]=\"'policy'\"\r\n [frequencyDetails]=\"frequencyDetails\"\r\n (selectedFrequency)=\"frequencyData($event)\"\r\n [feature]=\"feature\"\r\n [pageType]=\"'policy'\"\r\n (closeFrequency)=\"disableSelector()\"\r\n ></app-frequency-container>\r\n\r\n <app-frequency-container\r\n *ngIf=\"activeSelector === 'reviewerFrequency'\"\r\n [mode]=\"'reviewerFrequency'\"\r\n [frequencyDetails]=\"reviewerFrequencyDetails\"\r\n (selectedFrequency)=\"reviewerFrequencyData($event)\"\r\n [feature]=\"feature\"\r\n [pageType]=\"'policy'\"\r\n (closeFrequency)=\"disableSelector()\"\r\n ></app-frequency-container>\r\n\r\n <vc-link-program\r\n *ngIf=\"activeSelector === 'linkProgram'\"\r\n (close)=\"disableSelector()\"\r\n [policy]=\"policyForm\"\r\n [selectedProgram]=\"policyForm?.programSelectedValues\"\r\n [mode]=\"mode\"\r\n [selectedLinkProgram]=\"selectedLinkProgram\"\r\n (changeTab)=\"changeTab('linkedPrograms')\"\r\n (updatedProgramDetails)=\"updatedProgramDetails($event)\"\r\n >\r\n </vc-link-program>\r\n\r\n <app-checkpoints-policy-container\r\n (closeCheckPoint)=\"disableSelector()\"\r\n [checkpointData]=\"policyForm?.checkpointDetails\"\r\n [requiredPoint]=\"policyForm?.passingMarks\"\r\n *ngIf=\"activeSelector === 'checkpoints'\"\r\n (saveCheckPoint)=\"saveSelectedList('checkpoints', $event)\"\r\n ></app-checkpoints-policy-container>\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <app-approval-workflow\r\n *ngIf=\"enableApprovalWorkflow\"\r\n [selectedCategory]=\"policyForm?.selectedCategories\"\r\n [approverWorkFlowList]=\"approverWorkFlowList\"\r\n [allApprovers]=\"allApprovers\"\r\n (listCancelClicked)=\"listCancelClicked($event)\"\r\n (selectedWorkflowNext)=\"selectedApprovalWorkflow($event)\"\r\n (saveApprovalWorkflow)=\"approvalWorkflowAPICall($event)\"\r\n [editApprovalWorkflow]=\"editApprovalWorkflow\"\r\n [createApprovalClick]=\"createApprovalClick\"\r\n (closeCreateClicked)=\"closeClickedCreateForm()\"\r\n [editWorkflowLevel]=\"editWorkflowLevel\"\r\n ></app-approval-workflow>\r\n <!-- <app-select-approvers></app-select-approvers> -->\r\n\r\n <!-- <app-policy-access></app-policy-access> -->\r\n</ng-container>\r\n<ng-container *ngIf=\"showCreateDocuments\">\r\n <!-- <app-create-documents *ngIf=\"showCreateDocuments\"\r\n [organization_id]=\"organization_id\"\r\n [member_obj_id]=\"member_obj_id\"\r\n [userInfo]=\"userInfo\"\r\n [policyId]=\"policyId\"\r\n [policyName]=\"policyForm.policyName\"\r\n (disconnectRefresh)=\"disconnectRefresh.emit(false)\"\r\n (editPolicy)=\"editPolicyFromDocuments()\"\r\n ></app-create-documents> -->\r\n <lib-document-section\r\n *ngIf=\"showCreateDocuments\"\r\n [organization_id]=\"organization_id\"\r\n [member_obj_id]=\"member_obj_id\"\r\n [userInfo]=\"userInfo\"\r\n [policyId]=\"policyId\"\r\n [policyName]=\"policyForm.policyName\"\r\n (disconnectRefresh)=\"disconnectRefresh.emit(false)\"\r\n (editPolicy)=\"editPolicyFromDocuments()\"\r\n ></lib-document-section>\r\n</ng-container>\r\n\r\n<app-assessment-list\r\n *ngIf=\"activeSelector === 'isAssessment'\"\r\n [program_ids]=\"''\"\r\n [isEdit]=\"policyForm?.assessment?.length\"\r\n (cancelAssessment)=\"saveSelectedList('isAssessment', false)\"\r\n [selectedAssessment]=\"policyForm?.assessment[0]\"\r\n (onAssessmentSelect)=\"\r\n onAssessmentSelect($event); saveSelectedList('isAssessment', false)\r\n \"\r\n></app-assessment-list>\r\n\r\n<app-owner-list\r\n *ngIf=\"activeSelector === 'approvers' && false\"\r\n [listHeading]=\"'Select Approvers'\"\r\n [singularText]=\"'User selected'\"\r\n [pluralText]=\"'Users selected'\"\r\n [usersList]=\"allApprovers\"\r\n [showWorkflow]=\"true\"\r\n [selectedUsers]=\"\r\n addMoreLevels\r\n ? []\r\n : policyForm.selectedApprovers[approversListIndex].approvers\r\n \"\r\n [userIdKey]=\"'member_id'\"\r\n [itemEmailKey]=\"'member_email'\"\r\n [itemNameKey]=\"'member_name'\"\r\n (saveSelectedList)=\"saveSelectedList('approvers', $event)\"\r\n (closeUsersList)=\"disableSelector()\"\r\n [mode]=\"mode\"\r\n [reviewerWorkflowType]=\"workflowType\"\r\n (reviewerWorkflowTypeChange)=\"reviewerTypeChange($event)\"\r\n [workflowList]=\"workflowList\"\r\n [workflowText]=\"'Approval Workflow'\"\r\n>\r\n</app-owner-list>\r\n\r\n<app-owner-list\r\n *ngIf=\"activeSelector === 'owners'\"\r\n [listHeading]=\"'Select User(s)'\"\r\n [singularText]=\"'User selected'\"\r\n [pluralText]=\"'Users selected'\"\r\n [usersList]=\"allApprovers\"\r\n [showWorkflow]=\"false\"\r\n [userIdKey]=\"'member_id'\"\r\n [itemEmailKey]=\"'member_email'\"\r\n [itemNameKey]=\"'member_name'\"\r\n (saveSelectedList)=\"saveSelectedList('owners', $event)\"\r\n (closeUsersList)=\"disableSelector()\"\r\n [mode]=\"mode\"\r\n [selectedUsers]=\"policyForm?.policy_owners ?? []\"\r\n>\r\n</app-owner-list>\r\n",
|
|
8601
|
+
template: "<!-- <p>workflow-policy works!</p> -->\r\n\r\n<ng-container *ngIf=\"!showCreateDocuments\">\r\n <div class=\"workflow-policy\">\r\n <!-- Policy Name -->\r\n <div\r\n class=\"form-group-row\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'name'\"\r\n >\r\n <div class=\"left\" [class.checked]=\"policyForm?.policyName\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/what.svg\"\r\n alt=\"name\"\r\n *ngIf=\"!policyForm?.policyName || activeSelector === 'name'\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"policyForm?.policyName && activeSelector !== 'name'\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Policy Name <span class=\"required\">*</span>\r\n </label>\r\n <input\r\n type=\"text\"\r\n (keydown)=\"activeSelector = 'name'\"\r\n (focusin)=\"activateSelector('name', true)\"\r\n *ngIf=\"policyForm.policyName == '' || activeSelector === 'name'\"\r\n (focusout)=\"activateSelector('name', false)\"\r\n [ngModel]=\"policyForm.policyName\"\r\n (ngModelChange)=\"policyForm.policyName = changeName($event)\"\r\n placeholder=\"Name this policy\"\r\n />\r\n <div\r\n class=\"selected\"\r\n *ngIf=\"policyForm.policyName.length && activeSelector !== 'name'\"\r\n >\r\n <div class=\"chip-container\">\r\n <span class=\"value\">{{ policyForm.policyName }}</span>\r\n </div>\r\n <button\r\n class=\"edit\"\r\n (click)=\"activateSelector('name', true)\"\r\n type=\"button\"\r\n >\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"submitted && !policyForm.policyName.trim()\"\r\n [appScrollInView]=\"true\"\r\n class=\"error-message\"\r\n >\r\n Please enter a name for this policy.\r\n </p>\r\n <marx-editor\r\n [(ngModel)]=\"policyForm.policyNotes\"\r\n [editorConfig]=\"description\"\r\n ></marx-editor>\r\n <app-cs-switch\r\n [(ngValue)]=\"policyForm.availableOnPortal\"\r\n (ngValueChange)=\"availabilityOnPortal($event)\"\r\n >\r\n Do you want this policy to be available on the portal?\r\n <i\r\n class=\"icons\"\r\n [appTooltip]=\"\r\n 'The policies that you intend to make accessible to the entire organization can be added to the policy portal. It is like a shared catalog of all active & updated policies that any logged in user can read/download for reference.'\r\n \"\r\n placement=\"bottom-right\"\r\n type=\"white\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"true\"\r\n ></i\r\n >\r\n </app-cs-switch>\r\n <app-cs-switch\r\n *ngIf=\"policyForm.availableOnPortal\"\r\n [(ngValue)]=\"policyForm.acceptSuggestions\"\r\n >\r\n Accept suggestions\r\n <i\r\n class=\"icons\"\r\n [appTooltip]=\"\r\n 'If enabled, users can provide improvement suggestions to the policies that are listed on the Policy Portal.'\r\n \"\r\n placement=\"bottom-right\"\r\n type=\"white\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"true\"\r\n ></i\r\n ></app-cs-switch\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Policy Category -->\r\n <div\r\n class=\"form-group-row\"\r\n [class.active]=\"activeSelector === 'category'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'category' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div\r\n class=\"left\"\r\n [class.checked]=\"policyForm?.selectedCategories?.length > 0\"\r\n >\r\n <img\r\n *ngIf=\"\r\n policyForm?.selectedCategories?.length == 0 ||\r\n activeSelector === 'category'\r\n \"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"\r\n policyForm?.selectedCategories?.length > 0 &&\r\n activeSelector !== 'category'\r\n \"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\"\r\n >Policy Category <span class=\"required\">*</span>\r\n </label>\r\n <div\r\n class=\"select\"\r\n *ngIf=\"policyForm?.selectedCategories?.length == 0\"\r\n >\r\n <input\r\n type=\"text\"\r\n (click)=\"activateSelector('category', true)\"\r\n placeholder=\"Select a category for this policy.\"\r\n readonly\r\n />\r\n </div>\r\n\r\n <div\r\n class=\"selected\"\r\n *ngIf=\"policyForm?.selectedCategories?.length > 0\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let category of policyForm?.selectedCategories?.slice(0, 1)\r\n \"\r\n >\r\n <i\r\n (click)=\"remove('category', category)\"\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"category.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ category.item_name }}</span\r\n >\r\n </ng-container>\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n *ngIf=\"policyForm?.selectedCategories?.length > 1\"\r\n type=\"button\"\r\n appPopover\r\n (click)=\"category.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ policyForm?.selectedCategories?.slice(1).length }}\r\n </button>\r\n </div>\r\n\r\n <!-- <div class=\"chip-container\" [class.more-one]=\"policyForm?.selectedCategories?.length>1\"\r\n [class.plus]=\"policyForm?.selectedCategories?.length>2\">\r\n <span class=\"chip\" *ngFor=\"let category of policyForm?.selectedCategories?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('category',category)\"></i>\r\n {{category.item_name}}</span>\r\n <button class=\"count\" *ngIf=\"policyForm?.selectedCategories?.length > 2\" type=\"button\"\r\n appPopover (click)=\"category.popover()\" placement=\"right\">+\r\n {{policyForm?.selectedCategories?.slice(2).length}}</button>\r\n </div> -->\r\n <button\r\n *ngIf=\"activeSelector !== 'category'\"\r\n class=\"edit\"\r\n type=\"button\"\r\n (click)=\"activateSelector('category', true)\"\r\n >\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n <app-popover #category [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let category of policyForm?.selectedCategories | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('category', category)\"\r\n ></i\r\n >\r\n {{ category.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <p\r\n *ngIf=\"submitted && policyForm?.selectedCategories?.length == 0\"\r\n [appScrollInView]=\"true\"\r\n class=\"error-message\"\r\n >\r\n Please select the category for this policy.\r\n </p>\r\n </div>\r\n\r\n <div class=\"vx-form-group\" *ngIf=\"policyForm?.customTags?.length > 0\">\r\n <ng-container *ngFor=\"let tag of policyForm?.customTags\">\r\n <label class=\"vx-control-panel vx-mt-2\">{{ tag.tagname }}</label>\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"tag.value\"\r\n placeholder=\"{{ tag.tagname }}\"\r\n />\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Effective Date -->\r\n <div\r\n class=\"form-group-row\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'name'\"\r\n >\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/when.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"false\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Effective Date</label>\r\n <div class=\"date-time-picker\">\r\n <div class=\"picker-group\">\r\n <input\r\n type=\"text\"\r\n readonly\r\n placeholder=\"Select the effective date of the policy.\"\r\n [value]=\"policyForm.policyDueDate | date : 'dd MMM yyyy'\"\r\n (click)=\"openDatePicker()\"\r\n />\r\n <i class=\"icons\"></i>\r\n <dp-date-picker\r\n #datePicker\r\n (onSelect)=\"datePickerOverlay = false; closeDatePicker($event)\"\r\n [config]=\"dateConfig\"\r\n [(ngModel)]=\"policyForm.policyDueDate\"\r\n >\r\n </dp-date-picker>\r\n <div\r\n class=\"vx-overlay\"\r\n (click)=\"closeDatePicker($event)\"\r\n *ngIf=\"datePickerOverlay\"\r\n ></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Policy Owner -->\r\n <div\r\n class=\"form-group-row\"\r\n [class.active]=\"activeSelector === 'owners'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'owners' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div class=\"left\" [class.checked]=\"policyForm.policy_owners?.length\">\r\n <img\r\n *ngIf=\"!policyForm.policy_owners?.length\"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/im-creating.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"policyForm.policy_owners?.length\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <div class=\"vx-d-flex vx-align-center vx-justify-between\">\r\n <label class=\"vx-control-panel\">POLICY OWNER(S)</label>\r\n </div>\r\n <div\r\n *ngIf=\"!policyForm.policy_owners?.length\"\r\n (click)=\"activateSelector('owners', true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"!policyForm?.selectedCategories?.length\"\r\n >\r\n <div class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\">\r\n Select owners for this policy.\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"policyForm.policy_owners?.length\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <i\r\n (click)=\"remove('owners', policyForm?.policy_owners[0], 0)\"\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"policyForm?.policy_owners[0]?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ policyForm?.policy_owners[0]?.member_name }}</span\r\n >\r\n\r\n <button\r\n *ngIf=\"policyForm?.policy_owners?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 greenBg\"\r\n appPopover\r\n (click)=\"policyUserPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n + {{ policyForm?.policy_owners.length - 1 }}\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"false\"\r\n class=\"vx-fs-12 vx-paragraph-txt vx-ml-1 vx-mr-1\"\r\n >\r\n &\r\n </div>\r\n <div\r\n *ngIf=\"false\"\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"'Samantha Jones'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >Samantha Jones</span\r\n >\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"policyGroupPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n +4\r\n </button>\r\n </div>\r\n <app-popover #policyUserPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let owner of policyForm?.policy_owners | slice : 1;\r\n let i = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"owner?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i\r\n (click)=\"remove('owners', owner, i + 1)\"\r\n class=\"icons\"\r\n ></i\r\n >\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 #policyGroupPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-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\r\n class=\"value\"\r\n [appTooltip]=\"'Harshvardhan Kariwala'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i class=\"icons\"></i>\r\n Harshvardhan Kariwala\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <button\r\n (click)=\"activateSelector('owners', true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Review -->\r\n <div\r\n class=\"form-group-row\"\r\n [class.active]=\"\r\n activeSelector === 'reviewer' || activeSelector === 'reviewerFrequency'\r\n \"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'reviewer' &&\r\n activeSelector !== 'reviewerFrequency' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div class=\"left\" [class.checked]=\"policyForm?.addReviewers\">\r\n <img\r\n *ngIf=\"!policyForm?.addReviewers\"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/reviewer.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"policyForm?.addReviewers\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">REVIEW</label>\r\n <div\r\n class=\"reviewSelection vx-p-3 vx-pb-0\"\r\n [class.disabled]=\"\r\n activeSelector && sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div class=\"vx-fs-13 vx-paragraph-txt vx-mb-1\">\r\n Does this policy need to be reviewed?\r\n </div>\r\n <app-cs-radio\r\n name=\"review-type\"\r\n [checked]=\"policyForm?.addReviewers\"\r\n (checkedEvent)=\"typeSelected(true)\"\r\n ><div class=\"vx-fs-11 vx-fw-500 vx-paragraph-txt vx-mr-3\">\r\n YES\r\n </div></app-cs-radio\r\n >\r\n <app-cs-radio\r\n name=\"review-type\"\r\n [checked]=\"!policyForm?.addReviewers\"\r\n (checkedEvent)=\"typeSelected(false)\"\r\n ><div class=\"vx-fs-11 vx-fw-500 vx-paragraph-txt vx-mr-3\">\r\n NO\r\n </div></app-cs-radio\r\n >\r\n </div>\r\n\r\n <ng-container *ngIf=\"policyForm?.addReviewers\">\r\n <label class=\"vx-control-panel vx-mt-2\">REVIEWER</label>\r\n <div\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n *ngIf=\"policyForm?.selectedReviewers?.length == 0\"\r\n [appScrollInView]=\"scrollToBottom\"\r\n [class.active]=\"activeSelector === 'reviewer'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'reviewer' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n (click)=\"activateSelector('reviewer', true)\"\r\n >\r\n <div\r\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n Select the person responsible for reviewing this policy\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n *ngIf=\"policyForm?.selectedReviewers?.length > 0\"\r\n [class.active]=\"activeSelector === 'reviewer'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'reviewer' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngFor=\"let reviewer of policyForm?.selectedReviewers\"\r\n >\r\n <i\r\n (click)=\"remove('reviewer', reviewer)\"\r\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"'Samantha Jones'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ reviewer?.member_name }}</span\r\n >\r\n </div>\r\n <button\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n *ngIf=\"activeSelector !== 'reviewer'\"\r\n (click)=\"activateSelector('reviewer', true)\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n <label class=\"vx-control-panel vx-mt-3\">REVIEW FREQUENCY</label>\r\n <div\r\n *ngIf=\"policyForm?.review_frequency_details == ''\"\r\n class=\"selectButton vx-pl-3 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n [class.active]=\"activeSelector === 'reviewerFrequency'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'reviewerFrequency' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n (click)=\"activateSelector('reviewerFrequency', true)\"\r\n >\r\n <div\r\n class=\"selectButtonPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n When does this policy needs to be reviewed?\r\n </div>\r\n <div\r\n (click)=\"activateSelector('reviewerFrequency', true)\"\r\n class=\"vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase\"\r\n >\r\n SET A FREQUENCY\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"policyForm?.review_frequency_details != ''\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'reviewerFrequency' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n [class.active]=\"activeSelector === 'reviewerFrequency'\"\r\n >\r\n <div\r\n class=\"selectBoxText vx-fs-13 vx-paragraph-txt\"\r\n [appTooltip]=\"reviewerFrequencyPlaceholder\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ reviewerFrequencyPlaceholder }}\r\n </div>\r\n <button\r\n *ngIf=\"activeSelector !== 'reviewerFrequency'\"\r\n (click)=\"activateSelector('reviewerFrequency', true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n <p\r\n *ngIf=\"\r\n submitted &&\r\n policyForm?.selectedReviewers?.length > 0 &&\r\n !policyForm?.review_frequency_details\r\n \"\r\n class=\"error-message\"\r\n [appScrollInView]=\"true\"\r\n >\r\n Select the review schedule for this policy.\r\n </p>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- New Approval Workflow -->\r\n <div\r\n class=\"form-group-row\"\r\n [class.active]=\"activeSelector === 'approvers'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'approvers' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div\r\n class=\"left\"\r\n [class.checked]=\"policyForm?.selectedApprovers?.length > 0\"\r\n >\r\n <img\r\n *ngIf=\"\r\n policyForm?.selectedApprovers?.length == 0 ||\r\n activeSelector === 'approvers'\r\n \"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval.svg\"\r\n alt=\"im\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"\r\n policyForm?.selectedApprovers?.length > 0 &&\r\n activeSelector !== 'approvers'\r\n \"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\" [class.disabled]=\"policyApprovalFlag !== 0\">\r\n <div class=\"vx-form-group\">\r\n <div class=\"vx-d-flex vx-align-center vx-justify-between\">\r\n <label class=\"vx-control-panel\"\r\n >APPROVAL <span class=\"required\">*</span></label\r\n >\r\n <button\r\n (click)=\"\r\n createApprovalWorkflow(); activateSelector('approvers', true)\r\n \"\r\n [class.disabled]=\"!policyForm?.selectedCategories?.length\"\r\n class=\"createNewBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0\"\r\n >\r\n CREATE A NEW APPROVAL WORKFLOW\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n selectedWorkflow?.length === 0 ||\r\n !selectedWorkflow[0]?.workflow_name\r\n \"\r\n (click)=\"\r\n clickApprovalWorkflow(true); activateSelector('approvers', true)\r\n \"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"!policyForm?.selectedCategories?.length\"\r\n >\r\n <div class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\">\r\n Select the approval workflow for this policy\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n selectedWorkflow?.length > 0 && selectedWorkflow[0]?.workflow_name\r\n \"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-mb-2\"\r\n >\r\n <div\r\n class=\"vx-d-flex vx-align-center vx-justify-between vx-mt-2 vx-mb-2\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <i\r\n (click)=\"removeWorkflow()\"\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"selectedWorkflow[0]?.workflow_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ selectedWorkflow[0]?.workflow_name }}</span\r\n >\r\n </div>\r\n <button\r\n (click)=\"editWorkflow(selectedWorkflow[0])\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"selectedWorkflow?.length > 0\">\r\n <div\r\n *ngFor=\"\r\n let approval of selectedWorkflow[0]?.approval_workflow;\r\n let approvalIndex = index\r\n \"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between vx-mb-2\"\r\n >\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div class=\"level-left vx-d-flex vx-align-center\">\r\n <div class=\"vx-d-block\">\r\n <div\r\n class=\"level-name vx-fs-9 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-lh-3\"\r\n [appTooltip]=\"approval?.alias_name ? approval?.alias_name : approval?.level1\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{approval?.alias_name ? approval?.alias_name : approval?.level1\r\n }}\r\n </div>\r\n <div\r\n class=\"vx-fs-9 vx-fw-500 vx-label-txt vx-tt-uppercase vx-lh-3\"\r\n >\r\n {{approval?.type === \"ROUNDROBIN\" ? 'ROUND-ROBIN' : approval?.type === \"ANYONE\" ? \"ANY ONE\" : approval?.type\r\n }}\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2 vx-ml-2\"\r\n >\r\n <!-- <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n > -->\r\n <div\r\n *ngIf=\"\r\n approval?.type?.toLowerCase() === 'sequential' &&\r\n approval?.approvers?.length < 2\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n {{ 1 == approval?.approvers?.length ? \"Final\" : 1 }}\r\n </div>\r\n <div\r\n *ngIf=\"\r\n approval?.approvers?.length > 1 &&\r\n approval?.type?.toLowerCase() === 'sequential'\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n 1\r\n </div>\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"approval?.approvers[0]?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ approval?.approvers[0]?.member_name }}</span\r\n >\r\n <button\r\n *ngIf=\"approval?.approvers?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"workflowPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ approval?.approvers?.length - 1 }}\r\n </button>\r\n </div>\r\n <app-popover #workflowPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let approver of approval?.approvers | slice : 1;\r\n let approvalIndex = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"approver?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <!-- <i class=\"icons\"></i> -->\r\n <span\r\n *ngIf=\"\r\n approval?.type?.toLowerCase() === 'sequential'\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >{{\r\n approvalIndex + 1 ===\r\n approval?.approvers?.length - 1\r\n ? \"Final\"\r\n : approvalIndex + 2\r\n }}</span\r\n >\r\n {{ approver?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n\r\n <!-- <div class=\"vx-d-flex vx-align-center\">\r\n <button (click)=\"editLevelClicked(approval,approvalIndex)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n <button (click)=\"deleteLevel(approvalIndex)\"\r\n class=\"deleteBtn vx-fs-11 vx-fw-600 vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-4 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> DELETE\r\n </button>\r\n </div> -->\r\n </div>\r\n </ng-container>\r\n <p\r\n *ngIf=\"\r\n submitted &&\r\n policyForm?.selectedApprovers[0]?.approval_workflow?.length ==\r\n 0 &&\r\n policyApprovalFlag === 0\r\n \"\r\n [appScrollInView]=\"true\"\r\n class=\"error-message\"\r\n >\r\n Select or create an approval workflow for this policy.\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Policy Access -->\r\n <div\r\n *ngIf=\"false\"\r\n class=\"form-group-row\"\r\n [class.active]=\"false\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/lock-scope.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"false\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <div class=\"vx-d-flex vx-align-center vx-justify-between\">\r\n <label class=\"vx-control-panel\">POLICY ACCESS</label>\r\n </div>\r\n <div\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\">\r\n Who should be able to view this policy?\r\n </div>\r\n </div>\r\n\r\n <div class=\"selectBoxSuccess vx-pl-2 vx-pr-3\">\r\n <div\r\n class=\"vx-d-flex vx-align-center vx-justify-between vx-mt-2 vx-mb-2\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"'Samantha Jones'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >Samantha Jones</span\r\n >\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"policyAccessPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n +4\r\n </button>\r\n </div>\r\n <app-popover #policyAccessPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-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\r\n class=\"value\"\r\n [appTooltip]=\"'Harshvardhan Kariwala'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i class=\"icons\"></i>\r\n Harshvardhan Kariwala\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <button\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n\r\n <div class=\"vx-mt-4 vx-mb-2\">\r\n <app-cs-radio\r\n ><div class=\"vx-fs-12 vx-paragraph-txt\">\r\n Everyone who has access to this Policy Category\r\n </div></app-cs-radio\r\n >\r\n <app-cs-radio class=\"vx-mt-1\"\r\n ><div class=\"vx-fs-12 vx-paragraph-txt\">\r\n Select users/groups\r\n </div></app-cs-radio\r\n >\r\n </div>\r\n </div>\r\n\r\n <div class=\"vx-mt-2\">\r\n <app-cs-switch\r\n >ACCEPT SUGGESTIONS\r\n <i\r\n class=\"icons vx-fs-12 vx-txt-blue vx-ml-1 vx-mr-2\"\r\n [appTooltip]=\"'Accept suggestions info text here...'\"\r\n placement=\"bottom-right\"\r\n delay=\"0\"\r\n type=\"white\"\r\n [tooltipMandatory]=\"true\"\r\n ></i\r\n ></app-cs-switch\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Attestations -->\r\n <div\r\n class=\"form-group-row\"\r\n [class.active]=\"false\"\r\n [class.disabled]=\"false\"\r\n *ngIf=\"false\"\r\n >\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/attestations.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"false\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <div class=\"vx-d-flex vx-align-center vx-justify-between\">\r\n <label class=\"vx-control-panel\">ATTESTATIONS</label>\r\n </div>\r\n <div\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\">\r\n Select the persons required to attest to this Policy\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"'Samantha Jones'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >Samantha Jones</span\r\n >\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"policyAttestationPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n +4\r\n </button>\r\n </div>\r\n <app-popover #policyAttestationPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-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\r\n class=\"value\"\r\n [appTooltip]=\"'Harshvardhan Kariwala'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i class=\"icons\"></i>\r\n Harshvardhan Kariwala\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <button\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n\r\n <div class=\"vx-mt-2\">\r\n <app-cs-switch\r\n >REQUIRES E-SIGNATURE FOR ATTESTATION\r\n <i\r\n class=\"icons vx-fs-12 vx-txt-blue vx-ml-1 vx-mr-2\"\r\n [appTooltip]=\"\r\n 'Requires e-signature for attestation info text here...'\r\n \"\r\n placement=\"bottom-right\"\r\n delay=\"0\"\r\n type=\"white\"\r\n [tooltipMandatory]=\"true\"\r\n ></i\r\n ></app-cs-switch\r\n >\r\n </div>\r\n\r\n <label class=\"vx-control-panel vx-mt-2\">WHEN?</label>\r\n <div\r\n class=\"selectButton vx-pl-3 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"selectButtonPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n What is the attestation schedule for this<br />policy?\r\n </div>\r\n <div class=\"vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase\">\r\n SET A FREQUENCY\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div class=\"selectBoxText vx-fs-13 vx-paragraph-txt\">\r\n Every Wednesday by 11:59 pm\r\n </div>\r\n <button\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n\r\n <label class=\"vx-control-panel vx-mt-2\"\r\n >ASSESSMENT OF UNDERSTANDING</label\r\n >\r\n <div\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\">\r\n Set up a questionnaire to confirm the reader\u2019s<br />understanding\r\n of the policy.\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"selectBoxSuccess vx-pl-3 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <span class=\"chipName vx-fs-11 vx-label-txt\">5 Questions</span>\r\n </div>\r\n <button\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Approval Workflow -->\r\n <div\r\n class=\"form-group-row\"\r\n *ngIf=\"false\"\r\n [class.active]=\"activeSelector === 'approvers'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'approvers' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div\r\n class=\"left\"\r\n [class.checked]=\"policyForm?.selectedApprovers?.length > 0\"\r\n >\r\n <img\r\n *ngIf=\"\r\n policyForm?.selectedApprovers?.length == 0 ||\r\n activeSelector === 'approvers'\r\n \"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval.svg\"\r\n alt=\"im\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"\r\n policyForm?.selectedApprovers?.length > 0 &&\r\n activeSelector !== 'approvers'\r\n \"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div\r\n class=\"vx-form-group approval-workflow\"\r\n [class.disabled]=\"policyApprovalFlag !== 0\"\r\n >\r\n <label class=\"vx-control-panel\">\r\n Approval workflow <span class=\"required\">*</span>\r\n <button\r\n (click)=\"\r\n activateSelector('approvers', true);\r\n addMoreLevels = true;\r\n workflowType = 'SEQUENTIAL'\r\n \"\r\n class=\"button\"\r\n >\r\n Create a new Approval Workflow\r\n </button>\r\n </label>\r\n <div\r\n class=\"select\"\r\n [class.disabled]=\"approverWorkFlowList?.length == 0\"\r\n *ngIf=\"\r\n policyForm?.selectedApprovers[0]?.approvers?.length == 0 ||\r\n policyForm?.selectedApprovers.length == 0\r\n \"\r\n >\r\n <cs-select\r\n [ngModel]=\"selectedApprovalWorkflow\"\r\n (ngModelChange)=\"selectedWorkflowChange($event)\"\r\n [placeholder]=\"'Select approval workflow for this policy'\"\r\n name=\"selectedApprovalWorkflow\"\r\n [setMaxWidth]=\"true\"\r\n >\r\n <cs-option\r\n *ngFor=\"let data of approverWorkFlowList\"\r\n [value]=\"data\"\r\n >\r\n {{ data.workflow_name }}\r\n </cs-option>\r\n <cs-option\r\n [value]=\"-1\"\r\n (click)=\"\r\n activateSelector('approvers', true);\r\n addMoreLevels = true;\r\n workflowType = 'SEQUENTIAL'\r\n \"\r\n >Create a new approval workflow</cs-option\r\n >\r\n </cs-select>\r\n </div>\r\n <ng-container\r\n *ngIf=\"policyForm?.selectedApprovers[0]?.approvers?.length > 0\"\r\n >\r\n <div\r\n class=\"selected\"\r\n *ngFor=\"let level of policyForm?.selectedApprovers; let i = index\"\r\n >\r\n <div class=\"workflow-label\">\r\n <p class=\"title\">Level {{ i + 1 }}</p>\r\n <p class=\"description\">{{ level.name }}</p>\r\n </div>\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div class=\"chip-container\">\r\n <span\r\n class=\"chip\"\r\n *ngFor=\"\r\n let approver of level.approvers.slice(0, 1);\r\n let j = index\r\n \"\r\n ><i class=\"icons\" (click)=\"remove('approvers', approver, i)\"\r\n ></i\r\n >\r\n <span class=\"step\" *ngIf=\"level.name == 'SEQUENTIAL'\">{{\r\n j + 1\r\n }}</span\r\n >{{ approver.member_name }}</span\r\n >\r\n\r\n <button\r\n class=\"count\"\r\n *ngIf=\"level.approvers?.length > 1\"\r\n type=\"button\"\r\n appPopover\r\n (click)=\"labelName.popover()\"\r\n placement=\"right\"\r\n >\r\n +\r\n\r\n {{ level.approvers.slice(1).length }}\r\n </button>\r\n <app-popover #labelName [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let approver of level.approvers | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i\r\n class=\"icons\"\r\n (click)=\"remove('approvers', approver, i)\"\r\n ></i\r\n >\r\n <span\r\n class=\"step\"\r\n *ngIf=\"level.name == 'SEQUENTIAL'\"\r\n >\r\n {{\r\n j == level.approvers.slice(1).length - 1\r\n ? \"Final\"\r\n : j + 2\r\n }}\r\n </span>\r\n {{ approver.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <button\r\n class=\"edit\"\r\n type=\"button\"\r\n (click)=\"\r\n activateSelector('approvers', true, level.name);\r\n approversListIndex = i\r\n \"\r\n >\r\n <i class=\"icons\"></i>Edit\r\n </button>\r\n <button\r\n class=\"close-btn\"\r\n (click)=\"remove('workflowLevel', level, i)\"\r\n >\r\n <i class=\"icons\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <p\r\n *ngIf=\"\r\n submitted &&\r\n policyForm?.selectedApprovers?.length == 0 &&\r\n policyApprovalFlag === 0\r\n \"\r\n [appScrollInView]=\"true\"\r\n class=\"error-message\"\r\n >\r\n Select or create an approval workflow for this policy.\r\n </p>\r\n\r\n <label\r\n class=\"vx-control-panel\"\r\n *ngIf=\"policyForm.selectedApprovers[0]?.approvers?.length > 0\"\r\n ><button\r\n class=\"button\"\r\n (click)=\"\r\n activateSelector('approvers', true);\r\n addMoreLevels = true;\r\n workflowType = 'SEQUENTIAL'\r\n \"\r\n >\r\n + Add More Levels\r\n </button></label\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Who / now Attestation -->\r\n <div\r\n class=\"form-group-row\"\r\n [class.active]=\"activeSelector === 'assignees'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'assignees' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div\r\n class=\"left\"\r\n [class.checked]=\"policyForm?.selectedAssignees?.length > 0\"\r\n >\r\n <img\r\n *ngIf=\"\r\n policyForm?.selectedAssignees?.length == 0 ||\r\n activeSelector === 'assignees'\r\n \"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/who.svg\"\r\n alt=\"im\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"\r\n policyForm?.selectedAssignees?.length > 0 &&\r\n activeSelector !== 'assignees'\r\n \"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Attestation</label>\r\n <div\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center vx-mb-2\"\r\n *ngIf=\"\r\n (policyForm?.selectedAssignees?.length == 0 && !groupEnabled) ||\r\n (policyForm?.selectedAssignees?.length == 0 &&\r\n groupEnabled &&\r\n policyForm?.selectedGroupAssignee.length == 0)\r\n \"\r\n (click)=\"activateSelector('assignees', true)\"\r\n >\r\n <div class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\">\r\n Select the persons responsible for attesting this policy.\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between vx-mb-2\"\r\n *ngIf=\"\r\n policyForm?.selectedAssignees?.length > 0 ||\r\n policyForm?.selectedGroupAssignee?.length > 0\r\n \"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngIf=\"!groupEnabled\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let assignee of policyForm?.selectedAssignees?.slice(0, 1)\r\n \"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"remove('assignees', assignee)\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"assignee.employee_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ assignee.employee_name }}</span\r\n >\r\n </ng-container>\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 greenBg\"\r\n appPopover\r\n (click)=\"assigneePopover.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.selectedAssignees?.length > 1\"\r\n >\r\n +{{ policyForm?.selectedAssignees?.slice(1).length }}\r\n </button>\r\n </div>\r\n <ng-container *ngIf=\"groupEnabled\">\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngIf=\"groupEnabled && policyForm?.selectedAssignees.length > 0\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"\r\n remove('assignees', policyForm?.selectedAssignees[0])\r\n \"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"policyForm?.selectedAssignees[0]?.employee_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ policyForm?.selectedAssignees[0]?.employee_name }}</span\r\n >\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"UserPopover.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.selectedAssignees.length > 1\"\r\n >\r\n +{{ policyForm?.selectedAssignees.length - 1 }}\r\n </button>\r\n </div>\r\n <div\r\n class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\"\r\n *ngIf=\"\r\n policyForm?.selectedAssignees.length > 0 &&\r\n policyForm?.selectedGroupAssignee.length > 0\r\n \"\r\n >\r\n &\r\n </div>\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngIf=\"policyForm?.selectedGroupAssignee.length > 0\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"\r\n remove(\r\n 'groupAssignees',\r\n policyForm?.selectedGroupAssignee[0]\r\n )\r\n \"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"\r\n policyForm?.selectedGroupAssignee[0]?.group_name\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ policyForm?.selectedGroupAssignee[0]?.group_name }}</span\r\n >\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"group.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.selectedGroupAssignee.length > 1\"\r\n >\r\n +{{ policyForm?.selectedGroupAssignee.length - 1 }}\r\n </button>\r\n </div>\r\n </ng-container>\r\n <button\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n (click)=\"activateSelector('assignees', true)\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"\r\n submitted &&\r\n ((policyForm?.selectedAssignees?.length == 0 &&\r\n policyForm?.frequency_details &&\r\n !groupEnabled) ||\r\n (policyForm?.selectedAssignees?.length == 0 &&\r\n policyForm.selectedGroupAssignee.length == 0 &&\r\n policyForm?.frequency_details &&\r\n groupEnabled))\r\n \"\r\n id=\"whovalidatemsg\"\r\n class=\"error-message\"\r\n [appScrollInView]=\"true\"\r\n >\r\n Select the persons required to attest to this Policy.\r\n </p>\r\n <app-cs-switch\r\n [(ngValue)]=\"policyForm.requiresSignatureForAttestation\"\r\n [class.disabled]=\"policyForm?.selectedAssignees?.length == 0\"\r\n class=\"who-toggle\"\r\n >THIS POLICY REQUIRES E-SIGNATURE FOR ATTESTATION\r\n <i\r\n class=\"icons\"\r\n [appTooltip]=\"\r\n 'If selected, the readers will be required to attest this policy using their electronic signature.'\r\n \"\r\n placement=\"bottom-right\"\r\n type=\"white\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"true\"\r\n ></i\r\n ></app-cs-switch\r\n >\r\n <app-popover #assigneePopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let assignee of policyForm?.selectedAssignees | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('assignees', assignee)\"\r\n ></i\r\n >\r\n {{ assignee.employee_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #UserPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let assignee of policyForm?.selectedAssignees | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('assignees', assignee)\"\r\n ></i\r\n >\r\n {{ assignee.employee_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=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let data of policyForm?.selectedGroupAssignee | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('groupAssignees', data)\"\r\n ></i\r\n >\r\n {{ data.group_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n <!-- overseer -->\r\n <app-popover #overseerPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let overseer of policyForm?.CCEmail | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('ccEmail', overseer)\"\r\n ></i\r\n >\r\n {{ overseer?.employee_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=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let data of policyForm?.CCGroupEmail | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('ccGroupEmail', data)\"\r\n ></i\r\n >\r\n {{ data?.group_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <!-- overseer end -->\r\n\r\n <!-- overseer fail start -->\r\n <app-popover #overseerFailPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let overseer of policyForm?.CCFailEmail | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('ccFail', overseer)\"\r\n ></i\r\n >\r\n {{ overseer?.employee_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #overseerFailGroup [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let data of policyForm?.CCFailEmailGroup | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i\r\n class=\"icons\"\r\n (click)=\"remove('ccGroupFailEmail', data)\"\r\n ></i\r\n >\r\n {{ data?.group_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <!-- overseer fail end -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- When -->\r\n <div\r\n class=\"form-group-row\"\r\n [class.active]=\"activeSelector === 'frequency'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'frequency' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div *ngIf=\"false\" class=\"left\" [class.checked]=\"policyForm?.frequency_details\">\r\n <img\r\n *ngIf=\"\r\n !policyForm?.frequency_details || activeSelector === 'frequency'\r\n \"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/when.svg\"\r\n alt=\"im\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"\r\n policyForm?.frequency_details && activeSelector !== 'frequency'\r\n \"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">When?</label>\r\n\r\n <div\r\n *ngIf=\"policyForm?.frequency_details == ''\"\r\n class=\"select button-sec\"\r\n >\r\n <div\r\n class=\"custom-input frequency-custom-input\"\r\n (click)=\"activateSelector('frequency', true)\"\r\n >\r\n {{ frequencyPlaceholder }}\r\n </div>\r\n\r\n <button (click)=\"activateSelector('frequency', true)\" type=\"button\">\r\n Set A frequency\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"policyForm?.frequency_details != ''\"\r\n class=\"selected button-sec\"\r\n >\r\n <span class=\"chip\">{{ frequencyPlaceholder }}</span>\r\n <button\r\n *ngIf=\"activeSelector !== 'frequency'\"\r\n type=\"button\"\r\n class=\"edit\"\r\n (click)=\"activateSelector('frequency', true)\"\r\n >\r\n <i class=\"icons\"></i>Edit\r\n </button>\r\n </div>\r\n <p\r\n *ngIf=\"\r\n submitted &&\r\n ((policyForm?.selectedAssignees?.length > 0 &&\r\n !policyForm?.frequency_details &&\r\n !groupEnabled) ||\r\n ((policyForm?.selectedAssignees?.length > 0 ||\r\n policyForm?.selectedGroupAssignee?.length > 0) &&\r\n !policyForm?.frequency_details &&\r\n groupEnabled))\r\n \"\r\n class=\"error-message\"\r\n [appScrollInView]=\"true\"\r\n >\r\n Select an attestation schedule for this policy.\r\n </p>\r\n\r\n <!-- <label class=\"vx-control-panel\">Effective Date</label>\r\n <div class=\"date-time-picker\">\r\n <div class=\"picker-group\">\r\n <input type=\"text\" readonly placeholder=\"Select the date from which this policy goes into effect.\"\r\n [value]=\"policyForm.policyDueDate | date: 'dd MMM yyyy'\" (click)=\"openDatePicker();\">\r\n <i class=\"icons\"></i>\r\n <dp-date-picker #datePicker (onSelect)=\"datePickerOverlay = false;closeDatePicker($event)\"\r\n [config]=\"dateConfig\" [(ngModel)]=\"policyForm.policyDueDate\">\r\n </dp-date-picker>\r\n <div class=\"vx-overlay\" (click)=\"closeDatePicker($event)\" *ngIf=\"datePickerOverlay\"></div>\r\n </div>\r\n </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Checkpoints / Assessment of Understanding -->\r\n <div\r\n class=\"form-group-row\"\r\n [appScrollInView]=\"scrollToBottom\"\r\n *ngIf=\"true\"\r\n [class.active]=\"activeSelector === 'checkpoints'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'checkpoints' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div *ngIf=\"false\"\r\n class=\"left\"\r\n [class.checked]=\"policyForm?.checkpointDetails?.length > 0\"\r\n >\r\n <img\r\n *ngIf=\"\r\n policyForm?.checkpointDetails?.length == 0 ||\r\n activeSelector === 'checkpoints'\r\n \"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/checkpoints.svg\"\r\n alt=\"im\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"\r\n policyForm?.checkpointDetails?.length > 0 &&\r\n activeSelector !== 'checkpoints'\r\n \"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Assessment of Understanding\r\n <!-- <button *ngIf=\"policyForm?.checkpointDetails?.length===0\" class=\"button\" (click)=\"activateSelector('checkpoints',true)\">+ Add Checkpoints</button> -->\r\n </label>\r\n <div\r\n class=\"select\"\r\n *ngIf=\"policyForm?.checkpointDetails?.length === 0\"\r\n (click)=\"activateSelector('checkpoints', true)\"\r\n >\r\n <!-- <input type=\"text\" placeholder=\"Set up a questionnaire to confirm the reader\u2019s understanding of the policy.\" readonly> -->\r\n <div class=\"custom-input\">\r\n Set up a questionnaire to confirm the reader\u2019s<br />understanding\r\n of the policy.\r\n </div>\r\n </div>\r\n <div\r\n class=\"selected\"\r\n *ngIf=\"policyForm?.checkpointDetails?.length > 0\"\r\n >\r\n <!-- <div class=\"chip-container\">\r\n <span class=\"chip\">{{policyForm?.checkpointDetails?.length + (policyForm?.checkpointDetails?.length > 1 ?' Checkpoints':' Checkpoint')}}</span>\r\n\r\n <span class=\"checkpoint-point-text first\">TOTAL POINTS: <span class=\"no\">{{policyForm?.totalQuestion}}</span><br><em>Each question carries 1 point</em></span>\r\n\r\n <span class=\"checkpoint-point-text\">POINTS REQUIRED TO ATTEST : <span class=\"no\">{{policyForm?.passingMarks}}</span></span>\r\n\r\n </div> -->\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <span class=\"chipName vx-fs-11 vx-label-txt\">{{\r\n policyForm?.checkpointDetails?.length +\r\n (policyForm?.checkpointDetails?.length > 1\r\n ? \" Questions\"\r\n : \" Question\")\r\n }}</span>\r\n </div>\r\n <button\r\n class=\"edit\"\r\n type=\"button\"\r\n (click)=\"activateSelector('checkpoints', true)\"\r\n >\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n <!-- <app-popover #checkpointPopOver [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let checkpoint of policyForm?.checkpointDetails | slice: 1; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('checkpoints',checkpoint,j+1)\"></i>\r\n {{ checkpoint?.question }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover> -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Risk Classification -->\r\n <div\r\n class=\"form-group-row\"\r\n *ngIf=\"showRiskClassification && false\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'name'\"\r\n >\r\n <div class=\"left\" [class.checked]=\"policyForm.riskRating\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/risks.svg\"\r\n alt=\"im\"\r\n *ngIf=\"!policyForm?.riskRating\"\r\n />\r\n\r\n <svg\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n *ngIf=\"policyForm?.riskRating\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Risk Classification</label>\r\n <div class=\"classification\">\r\n <label\r\n class=\"low\"\r\n *ngFor=\"let class of riskClassification\"\r\n [ngClass]=\"[class.class]\"\r\n >\r\n <input\r\n type=\"radio\"\r\n name=\"classification\"\r\n [value]=\"class.value\"\r\n [checked]=\"policyForm?.riskRating === class.value\"\r\n [(ngModel)]=\"policyForm.riskRating\"\r\n />\r\n <span>{{ class.name }}</span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Responsibility Center -->\r\n <div\r\n class=\"form-group-row\"\r\n [appScrollInView]=\"scrollToBottom\"\r\n *ngIf=\"policyForm.addResponsibilityCenters\"\r\n [class.active]=\"activeSelector === 'rc'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'rc' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div class=\"left\" [class.checked]=\"policyForm?.selectedRCs?.length > 0\">\r\n <img\r\n *ngIf=\"\r\n policyForm?.selectedRCs?.length == 0 || activeSelector === 'rc'\r\n \"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/responsibility-center.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"policyForm?.selectedRCs?.length > 0 && activeSelector !== 'rc'\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Responsibility Center</label>\r\n <div class=\"select\" *ngIf=\"policyForm?.selectedRCs?.length == 0\">\r\n <input\r\n type=\"text\"\r\n (click)=\"activateSelector('rc', true)\"\r\n placeholder=\"Select Responsibility Center(s) that this policy relates to.\"\r\n readonly\r\n />\r\n </div>\r\n\r\n <div class=\"selected\" *ngIf=\"policyForm?.selectedRCs?.length > 0\">\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <ng-container\r\n *ngFor=\"let rc of policyForm?.selectedRCs?.slice(0, 1)\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"remove('rc', rc)\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"rc.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ rc.item_name }}</span\r\n >\r\n </ng-container>\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"rcPopover.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.selectedRCs?.length > 1\"\r\n >\r\n +{{ policyForm?.selectedRCs?.slice(1).length }}\r\n </button>\r\n </div>\r\n <button\r\n class=\"edit\"\r\n type=\"button\"\r\n (click)=\"activateSelector('rc', true)\"\r\n >\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n <app-popover #rcPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let rc of policyForm?.selectedRCs | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('rc', rc)\"></i>\r\n {{ rc.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Version -->\r\n <div\r\n *ngIf=\"policyForm.addVersion\"\r\n class=\"form-group-row\"\r\n [class.disabled]=\"\r\n activeSelector && sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div class=\"left\" [class.checked]=\"policyForm.policy_version\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/associated-risks.svg\"\r\n alt=\"name\"\r\n *ngIf=\"!policyForm.policy_version\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"policyForm.policy_version\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">VERSION</label>\r\n <input\r\n [(ngModel)]=\"policyForm.policy_version\"\r\n (change)=\"onVersion($event)\"\r\n type=\"text\"\r\n placeholder=\"Specify the policy version.\"\r\n />\r\n <p\r\n *ngIf=\"!isVersionValid\"\r\n class=\"error-message\"\r\n [appScrollInView]=\"true\"\r\n >\r\n {{ versionErrorMessage }}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Reviewer -->\r\n <div\r\n class=\"form-group-row\"\r\n [appScrollInView]=\"scrollToBottom\"\r\n *ngIf=\"policyForm.addReviewers && false\"\r\n [class.active]=\"activeSelector === 'reviewer'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'reviewer' &&\r\n activeSelector !== 'reviewerFrequency' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div\r\n class=\"left\"\r\n [class.checked]=\"policyForm?.selectedReviewers?.length > 0\"\r\n >\r\n <img\r\n *ngIf=\"\r\n policyForm?.selectedReviewers?.length == 0 ||\r\n activeSelector === 'reviewer'\r\n \"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/reviewer.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"\r\n policyForm?.selectedReviewers?.length > 0 &&\r\n activeSelector !== 'reviewer'\r\n \"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Reviewer </label>\r\n <div\r\n class=\"select\"\r\n *ngIf=\"policyForm?.selectedReviewers?.length == 0\"\r\n >\r\n <input\r\n type=\"text\"\r\n (click)=\"activateSelector('reviewer', true)\"\r\n placeholder=\"Select the person responsible for reviewing this policy\"\r\n readonly\r\n />\r\n </div>\r\n\r\n <div\r\n class=\"selected\"\r\n *ngIf=\"policyForm?.selectedReviewers?.length > 0\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <ng-container\r\n *ngFor=\"let reviewer of policyForm?.selectedReviewers\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"remove('reviewer', reviewer)\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"reviewer.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ reviewer.member_name }}</span\r\n >\r\n </ng-container>\r\n </div>\r\n\r\n <button\r\n class=\"edit\"\r\n type=\"button\"\r\n (click)=\"activateSelector('reviewer', true)\"\r\n >\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n <p\r\n *ngIf=\"\r\n submitted &&\r\n policyForm?.selectedReviewers?.length == 0 &&\r\n policyForm?.review_frequency_details\r\n \"\r\n class=\"error-message\"\r\n [appScrollInView]=\"true\"\r\n >\r\n Select a reviewer for this policy.\r\n </p>\r\n\r\n <label class=\"vx-control-panel\">When? </label>\r\n\r\n <div\r\n *ngIf=\"policyForm?.review_frequency_details == ''\"\r\n class=\"select button-sec\"\r\n >\r\n <input\r\n type=\"text\"\r\n (click)=\"activateSelector('reviewerFrequency', true)\"\r\n [placeholder]=\"reviewerFrequencyPlaceholder\"\r\n readonly\r\n />\r\n <button\r\n (click)=\"activateSelector('reviewerFrequency', true)\"\r\n type=\"button\"\r\n >\r\n Set A frequency\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"policyForm?.review_frequency_details != ''\"\r\n class=\"selected button-sec\"\r\n >\r\n <span class=\"chip\">{{ reviewerFrequencyPlaceholder }}</span>\r\n <button\r\n *ngIf=\"activeSelector !== 'reviewerFrequency'\"\r\n type=\"button\"\r\n class=\"edit\"\r\n (click)=\"activateSelector('reviewerFrequency', true)\"\r\n >\r\n <i class=\"icons\"></i>Edit\r\n </button>\r\n </div>\r\n <p\r\n *ngIf=\"\r\n submitted &&\r\n policyForm?.selectedReviewers?.length > 0 &&\r\n !policyForm?.review_frequency_details\r\n \"\r\n class=\"error-message\"\r\n [appScrollInView]=\"true\"\r\n >\r\n Select the review schedule for this policy.\r\n </p>\r\n\r\n <app-format-and-evidence\r\n (updateFiles)=\"saveSelectedList('reviewer_attachments', $event)\"\r\n #formatEvidence\r\n [mode]=\"'policyReviewer'\"\r\n [organization_id]=\"organization_id\"\r\n [formatEvidanceData]=\"policyForm?.documentsAndLinks\"\r\n >\r\n </app-format-and-evidence>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Overseer -->\r\n <div\r\n class=\"form-group-row\"\r\n [appScrollInView]=\"scrollToBottom\"\r\n *ngIf=\"policyForm.addOverseers\"\r\n [class.active]=\"\r\n activeSelector === 'ccEmail' || activeSelector === 'ccFail'\r\n \"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'ccEmail' &&\r\n activeSelector !== 'ccFail' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div\r\n class=\"left\"\r\n [class.checked]=\"\r\n policyForm?.CCEmail?.length > 0 || policyForm?.CCFailEmail?.length > 0\r\n \"\r\n >\r\n <img\r\n *ngIf=\"\r\n (policyForm?.CCFailEmail?.length == 0 &&\r\n policyForm?.CCEmail?.length == 0) ||\r\n activeSelector === 'ccEmail' ||\r\n activeSelector === 'ccFail'\r\n \"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg\"\r\n alt=\"im\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"\r\n (policyForm?.CCFailEmail?.length > 0 ||\r\n policyForm?.CCEmail?.length > 0) &&\r\n activeSelector !== 'ccEmail' &&\r\n activeSelector !== 'ccFail'\r\n \"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Overseer </label>\r\n <div\r\n class=\"select\"\r\n *ngIf=\"\r\n policyForm?.CCEmail?.length == 0 &&\r\n policyForm?.CCGroupEmail.length == 0\r\n \"\r\n >\r\n <input\r\n type=\"text\"\r\n (click)=\"activateSelector('ccEmail', true)\"\r\n placeholder=\"Who should have oversight of this policy?\"\r\n readonly\r\n />\r\n </div>\r\n <div\r\n class=\"selected\"\r\n *ngIf=\"\r\n policyForm?.CCEmail?.length > 0 ||\r\n policyForm?.CCGroupEmail.length > 0\r\n \"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngIf=\"!groupEnabled\"\r\n >\r\n <ng-container\r\n *ngFor=\"let ccEmail of policyForm?.CCEmail?.slice(0, 1)\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"remove('ccEmail', ccEmail)\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"ccEmail.employee_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ ccEmail.employee_name }}</span\r\n >\r\n </ng-container>\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 greenBg\"\r\n appPopover\r\n (click)=\"ccEmailPopover.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.CCEmail?.length > 1\"\r\n >\r\n +{{ policyForm?.CCEmail?.slice(1).length }}\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"groupEnabled\" class=\"chip-container\">\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngIf=\"groupEnabled && policyForm?.CCEmail?.length > 0\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"remove('ccEmail', policyForm?.CCEmail[0])\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"policyForm?.CCEmail[0].employee_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ policyForm?.CCEmail[0].employee_name }}</span\r\n >\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 greenBg\"\r\n appPopover\r\n (click)=\"overseerPopover.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.CCEmail?.length > 1\"\r\n >\r\n +{{ policyForm?.CCEmail?.length - 1 }}\r\n </button>\r\n </div>\r\n\r\n <div\r\n class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\"\r\n *ngIf=\"\r\n policyForm?.CCEmail.length > 0 &&\r\n policyForm?.CCGroupEmail?.length > 0\r\n \"\r\n >\r\n &\r\n </div>\r\n\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngIf=\"policyForm?.CCGroupEmail.length > 0\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"remove('ccGroupEmail', policyForm?.CCGroupEmail[0])\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"policyForm?.CCGroupEmail[0]?.group_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ policyForm?.CCGroupEmail[0]?.group_name }}</span\r\n >\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"overseerGroup.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.CCGroupEmail?.length > 1\"\r\n >\r\n +{{ policyForm?.CCGroupEmail?.length - 1 }}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <button\r\n class=\"edit\"\r\n type=\"button\"\r\n (click)=\"activateSelector('ccEmail', true)\"\r\n >\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n\r\n <div\r\n class=\"select\"\r\n *ngIf=\"\r\n policyForm?.CCFailEmail?.length == 0 &&\r\n policyForm?.CCFailEmailGroup?.length == 0\r\n \"\r\n >\r\n <input\r\n type=\"text\"\r\n (click)=\"activateSelector('ccFail', true)\"\r\n placeholder=\"Who should be notified if the policy is not attested on time?\"\r\n readonly\r\n />\r\n </div>\r\n\r\n <div\r\n class=\"selected\"\r\n *ngIf=\"\r\n policyForm?.CCFailEmail?.length > 0 ||\r\n policyForm?.CCFailEmailGroup?.length > 0\r\n \"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngIf=\"!groupEnabled\"\r\n >\r\n <ng-container\r\n *ngFor=\"let ccFail of policyForm?.CCFailEmail?.slice(0, 1)\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"remove('ccFail', ccFail)\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"ccFail.employee_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ ccFail.employee_name }}</span\r\n >\r\n </ng-container>\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 greenBg\"\r\n appPopover\r\n (click)=\"ccFailPopover.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.CCFailEmail?.length > 1\"\r\n >\r\n +{{ policyForm?.CCFailEmail?.slice(1).length }}\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"groupEnabled\" class=\"chip-container\">\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngIf=\"groupEnabled && policyForm?.CCFailEmail.length > 0\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"remove('ccFail', policyForm?.CCFailEmail[0])\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"policyForm?.CCFailEmail[0]?.employee_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ policyForm?.CCFailEmail[0]?.employee_name }}</span\r\n >\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 greenBg\"\r\n appPopover\r\n (click)=\"overseerFailPopover.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.CCFailEmail?.length > 1\"\r\n >\r\n +{{ policyForm?.CCFailEmail?.length - 1 }}\r\n </button>\r\n </div>\r\n\r\n <div\r\n class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\"\r\n *ngIf=\"\r\n policyForm?.CCFailEmail?.length > 0 &&\r\n policyForm?.CCFailEmailGroup?.length > 0\r\n \"\r\n >\r\n &\r\n </div>\r\n\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n *ngIf=\"policyForm?.CCFailEmailGroup?.length > 0\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"\r\n remove('ccGroupFailEmail', policyForm?.CCFailEmailGroup[0])\r\n \"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"policyForm?.CCFailEmailGroup[0]?.group_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ policyForm?.CCFailEmailGroup[0]?.group_name }}</span\r\n >\r\n <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"overseerFailGroup.popover()\"\r\n placement=\"right\"\r\n *ngIf=\"policyForm?.CCFailEmailGroup?.length > 1\"\r\n >\r\n +{{ policyForm?.CCFailEmailGroup?.length - 1 }}\r\n </button>\r\n </div>\r\n </div>\r\n <button\r\n class=\"edit\"\r\n type=\"button\"\r\n (click)=\"activateSelector('ccFail', true)\"\r\n >\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </div>\r\n <app-popover #ccEmailPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let ccEmail of policyForm?.CCEmail | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('ccEmail', ccEmail)\"\r\n ></i\r\n >\r\n {{ ccEmail.employee_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <app-popover #ccFailPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let ccFail of policyForm?.CCFailEmail | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('ccFail', ccFail)\"\r\n ></i\r\n >\r\n {{ ccFail.employee_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Related Documents -->\r\n <div\r\n class=\"form-group-row\"\r\n [appScrollInView]=\"scrollToBottom\"\r\n *ngIf=\"policyForm.addAssociatedDocuments\"\r\n [class.disabled]=\"activeSelector && activeSelector !== 'name'\"\r\n >\r\n <div class=\"left\">\r\n <img\r\n *ngIf=\"policyForm.associatedDocuments.formatFiles?.length == 0\"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/format-evidence.svg\"\r\n alt=\"im\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"policyForm.associatedDocuments.formatFiles?.length > 0\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">RELATED DOCUMENTS</label>\r\n <app-format-and-evidence\r\n (updateFiles)=\"saveSelectedList('associatedDocuments', $event)\"\r\n [mode]=\"'policy'\"\r\n [organization_id]=\"organization_id\"\r\n [formatEvidanceData]=\"policyForm?.associatedDocuments\"\r\n ></app-format-and-evidence>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Link Programs & Responsibilities -->\r\n <div\r\n *ngIf=\"policyForm?.addLinkProgram\"\r\n class=\"form-group-row\"\r\n [class.active]=\"activeSelector === 'linkProgram'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'linkProgram' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div\r\n class=\"left\"\r\n [class.checked]=\"\r\n policyForm?.programSelectedValues?.program?.category_id\r\n \"\r\n >\r\n <img\r\n *ngIf=\"!policyForm?.programSelectedValues?.program?.category_id\"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/link-items.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"policyForm?.programSelectedValues?.program?.category_id\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\"\r\n >LINK PROGRAMS & RESPONSIBILITIES</label\r\n >\r\n <div\r\n *ngIf=\"!policyForm?.programSelectedValues?.program?.category_id\"\r\n (click)=\"activateSelector('linkProgram', true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\">\r\n Select Programs & responsibilities that are<br />associated with\r\n this policy.\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n *ngIf=\"policyForm?.programSelectedValues?.program?.category_id\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <i\r\n (click)=\"\r\n remove('linkProgram', policyForm?.programSelectedValues)\r\n \"\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"policyForm?.programSelectedValues?.program?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ policyForm?.programSelectedValues?.program?.name }}</span\r\n >\r\n <!-- <button\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"programResponsibilityPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n +4\r\n </button> -->\r\n </div>\r\n <app-popover\r\n #programResponsibilityPopover\r\n [dontCloseonClick]=\"true\"\r\n >\r\n <div class=\"wf-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\r\n class=\"value\"\r\n [appTooltip]=\"\r\n 'Reporting information security weaknesses'\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i class=\"icons\"></i>\r\n Reporting information security weaknesses\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <button\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n (click)=\"activateSelector('linkProgram', true)\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Link Assessment -->\r\n <div\r\n *ngIf=\"policyForm.addLinkAssessment\"\r\n class=\"form-group-row\"\r\n [class.active]=\"activeSelector === 'isAssessment'\"\r\n [class.disabled]=\"\r\n activeSelector &&\r\n activeSelector !== 'isAssessment' &&\r\n sideSelectorElements.includes(activeSelector)\r\n \"\r\n >\r\n <div class=\"left\" [class.checked]=\"policyForm?.assessment?.length\">\r\n <img\r\n *ngIf=\"!policyForm?.assessment?.length\"\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/assessments.svg\"\r\n alt=\"\"\r\n />\r\n\r\n <svg\r\n *ngIf=\"policyForm?.assessment?.length\"\r\n class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"checkIcon__circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"checkIcon__check\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">LINK ASSESSMENTS</label>\r\n <div\r\n *ngIf=\"policyForm?.assessment?.length === 0\"\r\n (click)=\"activateSelector('isAssessment', true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\">\r\n Select assessments that are associated with this<br />policy.\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"policyForm?.assessment?.length > 0\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\r\n >\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"\r\n policyForm.assessment[0]?.assessmentDetails?.assessment_name\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{\r\n policyForm.assessment[0]?.assessmentDetails?.assessment_name\r\n }}</span\r\n >\r\n </div>\r\n <app-popover\r\n #programResponsibilityPopover\r\n [dontCloseonClick]=\"true\"\r\n >\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"let assessment of policyForm.assessment | slice : 1\"\r\n >\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"\r\n assessment?.assessmentDetails?.assessment_name\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i class=\"icons\"></i>\r\n {{ assessment?.assessmentDetails?.assessment_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <button\r\n (click)=\"activateSelector('isAssessment', true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <app-checkbox-list\r\n [config]=\"categoryConfig\"\r\n [twoColumn]=\"false\"\r\n [itemsList]=\"categoryList\"\r\n [selectedItems]=\"policyForm.selectedCategories\"\r\n [identifierKey]=\"'_id'\"\r\n [displayKey]=\"'item_name'\"\r\n [tooltipKey]=\"'item_name'\"\r\n *ngIf=\"activeSelector === 'category'\"\r\n (saveList)=\"saveSelectedList('category', $event)\"\r\n (closeList)=\"disableSelector()\"\r\n >\r\n </app-checkbox-list>\r\n <!-- <app-checkbox-list [config]=\"approvalWorkflowConfig\" [twoColumn]=\"true\"\r\n [itemsList]=\"\"\r\n [selectedItems]=\"policyForm.issueCCUsers\" [identifierKey]=\"'employee_email'\" [displayKey]=\"'employee_name'\" [tooltipKey]=\"'employee_email'\"\r\n *ngIf=\"activeSelector==='ISSUE_CC'\" (saveList)=\"selectorAction($event,'ISSUE_CC')\"\r\n (closeList)=\"fieldDeselector('ISSUE_CC')\">\r\n</app-checkbox-list> -->\r\n\r\n <app-responsibility-centers-list\r\n *ngIf=\"activeSelector === 'rc'\"\r\n [responsibilityCentersList]=\"rcList\"\r\n [selectedResponsibilityCenters]=\"policyForm.selectedRCs\"\r\n [rcIdKey]=\"'item_id'\"\r\n (saveSelectedList)=\"saveSelectedList('rc', $event)\"\r\n (closeRcList)=\"disableSelector()\"\r\n >\r\n </app-responsibility-centers-list>\r\n\r\n <app-users-radio-list\r\n *ngIf=\"activeSelector === 'reviewer'\"\r\n [itemEmailKey]=\"'member_email'\"\r\n [usersList]=\"allReviewers\"\r\n [headerText]=\"'Select a Reviewer'\"\r\n [selectedUsers]=\"policyForm.selectedReviewers\"\r\n [userIdKey]=\"'member_id'\"\r\n [itemNameKey]=\"'member_name'\"\r\n (saveSelectedList)=\"saveSelectedList('reviewer', $event)\"\r\n (closeUsersList)=\"disableSelector()\"\r\n >\r\n </app-users-radio-list>\r\n\r\n <app-owner-list\r\n *ngIf=\"activeSelector === 'ccEmail' && !groupEnabled\"\r\n [usersList]=\"overseersList\"\r\n [singularText]=\"'User selected'\"\r\n [pluralText]=\"'Users selected'\"\r\n [selectedUsers]=\"policyForm.CCEmail\"\r\n [userIdKey]=\"'employee_id'\"\r\n [itemNameKey]=\"'employee_name'\"\r\n (saveSelectedList)=\"saveSelectedList('ccEmail', $event)\"\r\n (closeUsersList)=\"disableSelector()\"\r\n >\r\n </app-owner-list>\r\n\r\n <user-group-list\r\n *ngIf=\"activeSelector === 'ccEmail' && groupEnabled\"\r\n [groupEnabled]=\"true\"\r\n [userlist]=\"overseersList\"\r\n [groupList]=\"overseerGroupsList\"\r\n [selectedUsers]=\"policyForm.CCEmail\"\r\n [selectedGroups]=\"policyForm.CCGroupEmail\"\r\n (save)=\"saveSelectedList('ccEmail', $event)\"\r\n (cancel)=\"disableSelector()\"\r\n [featureflag]=\"groupEnabled\"\r\n >\r\n </user-group-list>\r\n\r\n <app-owner-list\r\n *ngIf=\"activeSelector === 'ccFail' && !groupEnabled\"\r\n [usersList]=\"overseersList\"\r\n [singularText]=\"'User selected'\"\r\n [pluralText]=\"'Users selected'\"\r\n [selectedUsers]=\"policyForm.CCFailEmail\"\r\n [userIdKey]=\"'employee_id'\"\r\n [itemNameKey]=\"'employee_name'\"\r\n (saveSelectedList)=\"saveSelectedList('ccFail', $event)\"\r\n (closeUsersList)=\"disableSelector()\"\r\n >\r\n </app-owner-list>\r\n\r\n <user-group-list\r\n *ngIf=\"activeSelector === 'ccFail' && groupEnabled\"\r\n [groupEnabled]=\"true\"\r\n [userlist]=\"overseersList\"\r\n [groupList]=\"overseerGroupsList\"\r\n [selectedUsers]=\"policyForm.CCFailEmail\"\r\n [selectedGroups]=\"policyForm.CCFailEmailGroup\"\r\n (save)=\"saveSelectedList('ccFail', $event)\"\r\n (cancel)=\"disableSelector()\"\r\n [featureflag]=\"groupEnabled\"\r\n >\r\n </user-group-list>\r\n\r\n <app-group-users-list\r\n *ngIf=\"activeSelector === 'assignees' && !groupEnabled\"\r\n [usersList]=\"assigneesList\"\r\n [groupsList]=\"groupsList\"\r\n [selectedUsers]=\"policyForm.selectedAssignees\"\r\n [userIdKey]=\"'my_member_id'\"\r\n (saveSelectedList)=\"saveSelectedList('assignees', $event)\"\r\n (closeUsersList)=\"disableSelector()\"\r\n >\r\n </app-group-users-list>\r\n\r\n <user-group-list\r\n *ngIf=\"activeSelector === 'assignees' && groupEnabled\"\r\n [groupEnabled]=\"true\"\r\n [userlist]=\"ownerlist\"\r\n [groupList]=\"groupsList\"\r\n (save)=\"saveSelectedList('assignees', $event)\"\r\n (cancel)=\"disableSelector()\"\r\n [selectedGroups]=\"policyForm.selectedGroupAssignee\"\r\n [selectedUsers]=\"policyForm.selectedAssignees\"\r\n [featureflag]=\"groupEnabled\"\r\n >\r\n </user-group-list>\r\n\r\n <app-owner-list\r\n *ngIf=\"activeSelector === 'approvers' && false\"\r\n [listHeading]=\"'Select Approvers'\"\r\n [singularText]=\"'User selected'\"\r\n [pluralText]=\"'Users selected'\"\r\n [usersList]=\"allApprovers\"\r\n [showWorkflow]=\"true\"\r\n [selectedUsers]=\"\r\n addMoreLevels\r\n ? []\r\n : policyForm.selectedApprovers[approversListIndex].approvers\r\n \"\r\n [userIdKey]=\"'member_id'\"\r\n [itemEmailKey]=\"'member_email'\"\r\n [itemNameKey]=\"'member_name'\"\r\n (saveSelectedList)=\"saveSelectedList('approvers', $event)\"\r\n (closeUsersList)=\"disableSelector()\"\r\n [mode]=\"mode\"\r\n [reviewerWorkflowType]=\"workflowType\"\r\n (reviewerWorkflowTypeChange)=\"reviewerTypeChange($event)\"\r\n [workflowList]=\"workflowList\"\r\n [workflowText]=\"'Approval Workflow'\"\r\n >\r\n </app-owner-list>\r\n\r\n <app-frequency-container\r\n *ngIf=\"activeSelector === 'frequency'\"\r\n [mode]=\"'policy'\"\r\n [frequencyDetails]=\"frequencyDetails\"\r\n (selectedFrequency)=\"frequencyData($event)\"\r\n [feature]=\"feature\"\r\n [pageType]=\"'policy'\"\r\n (closeFrequency)=\"disableSelector()\"\r\n ></app-frequency-container>\r\n\r\n <app-frequency-container\r\n *ngIf=\"activeSelector === 'reviewerFrequency'\"\r\n [mode]=\"'reviewerFrequency'\"\r\n [frequencyDetails]=\"reviewerFrequencyDetails\"\r\n (selectedFrequency)=\"reviewerFrequencyData($event)\"\r\n [feature]=\"feature\"\r\n [pageType]=\"'policy'\"\r\n (closeFrequency)=\"disableSelector()\"\r\n ></app-frequency-container>\r\n\r\n <vc-link-program\r\n *ngIf=\"activeSelector === 'linkProgram'\"\r\n (close)=\"disableSelector()\"\r\n [policy]=\"policyForm\"\r\n [selectedProgram]=\"policyForm?.programSelectedValues\"\r\n [mode]=\"mode\"\r\n [selectedLinkProgram]=\"selectedLinkProgram\"\r\n (changeTab)=\"changeTab('linkedPrograms')\"\r\n (updatedProgramDetails)=\"updatedProgramDetails($event)\"\r\n >\r\n </vc-link-program>\r\n\r\n <app-checkpoints-policy-container\r\n (closeCheckPoint)=\"disableSelector()\"\r\n [checkpointData]=\"policyForm?.checkpointDetails\"\r\n [requiredPoint]=\"policyForm?.passingMarks\"\r\n *ngIf=\"activeSelector === 'checkpoints'\"\r\n (saveCheckPoint)=\"saveSelectedList('checkpoints', $event)\"\r\n ></app-checkpoints-policy-container>\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <app-approval-workflow\r\n *ngIf=\"enableApprovalWorkflow\"\r\n [selectedCategory]=\"policyForm?.selectedCategories\"\r\n [approverWorkFlowList]=\"approverWorkFlowList\"\r\n [allApprovers]=\"allApprovers\"\r\n (listCancelClicked)=\"listCancelClicked($event)\"\r\n (selectedWorkflowNext)=\"selectedApprovalWorkflow($event)\"\r\n (saveApprovalWorkflow)=\"approvalWorkflowAPICall($event)\"\r\n [editApprovalWorkflow]=\"editApprovalWorkflow\"\r\n [createApprovalClick]=\"createApprovalClick\"\r\n (closeCreateClicked)=\"closeClickedCreateForm()\"\r\n [editWorkflowLevel]=\"editWorkflowLevel\"\r\n ></app-approval-workflow>\r\n <!-- <app-select-approvers></app-select-approvers> -->\r\n\r\n <!-- <app-policy-access></app-policy-access> -->\r\n</ng-container>\r\n<ng-container *ngIf=\"showCreateDocuments\">\r\n <!-- <app-create-documents *ngIf=\"showCreateDocuments\"\r\n [organization_id]=\"organization_id\"\r\n [member_obj_id]=\"member_obj_id\"\r\n [userInfo]=\"userInfo\"\r\n [policyId]=\"policyId\"\r\n [policyName]=\"policyForm.policyName\"\r\n (disconnectRefresh)=\"disconnectRefresh.emit(false)\"\r\n (editPolicy)=\"editPolicyFromDocuments()\"\r\n ></app-create-documents> -->\r\n <lib-document-section\r\n *ngIf=\"showCreateDocuments\"\r\n [organization_id]=\"organization_id\"\r\n [member_obj_id]=\"member_obj_id\"\r\n [userInfo]=\"userInfo\"\r\n [policyId]=\"policyId\"\r\n [policyName]=\"policyForm.policyName\"\r\n (disconnectRefresh)=\"disconnectRefresh.emit(false)\"\r\n (editPolicy)=\"editPolicyFromDocuments()\"\r\n ></lib-document-section>\r\n</ng-container>\r\n\r\n<app-assessment-list\r\n *ngIf=\"activeSelector === 'isAssessment'\"\r\n [program_ids]=\"''\"\r\n [isEdit]=\"policyForm?.assessment?.length\"\r\n (cancelAssessment)=\"saveSelectedList('isAssessment', false)\"\r\n [selectedAssessment]=\"policyForm?.assessment[0]\"\r\n (onAssessmentSelect)=\"\r\n onAssessmentSelect($event); saveSelectedList('isAssessment', false)\r\n \"\r\n></app-assessment-list>\r\n\r\n<app-owner-list\r\n *ngIf=\"activeSelector === 'approvers' && false\"\r\n [listHeading]=\"'Select Approvers'\"\r\n [singularText]=\"'User selected'\"\r\n [pluralText]=\"'Users selected'\"\r\n [usersList]=\"allApprovers\"\r\n [showWorkflow]=\"true\"\r\n [selectedUsers]=\"\r\n addMoreLevels\r\n ? []\r\n : policyForm.selectedApprovers[approversListIndex].approvers\r\n \"\r\n [userIdKey]=\"'member_id'\"\r\n [itemEmailKey]=\"'member_email'\"\r\n [itemNameKey]=\"'member_name'\"\r\n (saveSelectedList)=\"saveSelectedList('approvers', $event)\"\r\n (closeUsersList)=\"disableSelector()\"\r\n [mode]=\"mode\"\r\n [reviewerWorkflowType]=\"workflowType\"\r\n (reviewerWorkflowTypeChange)=\"reviewerTypeChange($event)\"\r\n [workflowList]=\"workflowList\"\r\n [workflowText]=\"'Approval Workflow'\"\r\n>\r\n</app-owner-list>\r\n\r\n<app-owner-list\r\n *ngIf=\"activeSelector === 'owners'\"\r\n [listHeading]=\"'Select Owner(s)'\"\r\n [singularText]=\"'User selected'\"\r\n [pluralText]=\"'Users selected'\"\r\n [usersList]=\"allApprovers\"\r\n [showWorkflow]=\"false\"\r\n [userIdKey]=\"'member_id'\"\r\n [itemEmailKey]=\"'member_email'\"\r\n [itemNameKey]=\"'member_name'\"\r\n (saveSelectedList)=\"saveSelectedList('owners', $event)\"\r\n (closeUsersList)=\"disableSelector()\"\r\n [mode]=\"mode\"\r\n [selectedUsers]=\"policyForm?.policy_owners ?? []\"\r\n>\r\n</app-owner-list>\r\n",
|
|
8603
8602
|
styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";::ng-deep .workflow-policy{position:relative}::ng-deep .workflow-policy app-cs-switch{display:block}::ng-deep .workflow-policy app-cs-switch label.cs-switch span.value{color:#747576!important;font-size:11px!important;font-weight:500!important;justify-content:flex-end!important;line-height:16px;width:100%!important}::ng-deep .workflow-policy app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:12px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 8px 0 4px}::ng-deep .workflow-policy .form-group-row .right .approval-workflow .selected{height:56px;padding:4px 12px 8px;display:block}::ng-deep .workflow-policy .form-group-row .right .approval-workflow .selected .workflow-label{min-width:auto;padding:0;text-align:left;margin:0 0 4px;border-right:none;width:100%;display:flex;align-items:center}::ng-deep .workflow-policy .form-group-row .right .approval-workflow .selected .workflow-label p.description{font-size:10px;margin-left:6px}::ng-deep .workflow-policy .form-group-row .right .approval-workflow cs-select .selection-wrap .input-group:before{display:none!important}::ng-deep .workflow-policy app-frequency-container app-frequency-weekly .frequency-weekly app-frequency-lifecycle .frequency-lifecycle-responsibility-inner-item{height:unset!important}.disabled{opacity:.5;pointer-events:none}\n", "@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.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-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button{font-family:\"Poppins\",sans-serif}::ng-deep input.textField{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;font-size:13px;color:#747576;padding:8px 12px;position:relative;height:2.5rem;width:100%;transition:all .2s ease-in-out}::ng-deep input.textField::placeholder{font-size:13px;color:#747576}::ng-deep input.textField:hover,::ng-deep input.textField:focus{outline:none;border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectBoxEnable:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#747576;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .selectBoxEnable:hover,::ng-deep .selectBoxEnable:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable.disabled{background:#f1f1f1;pointer-events:none;opacity:1}::ng-deep .selectBoxSuccess{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1;min-height:2.5rem;position:relative}::ng-deep .selectBoxSuccess .selectBoxText{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:22rem}::ng-deep .selectBoxSuccess button{background:transparent;border-radius:0;border:none}::ng-deep .selectBoxSuccess button.deleteBtn{color:#d93b41}::ng-deep .selectBoxSuccess .level-left{border-right:1px solid #f1f1f1;height:2.375rem;width:5rem}::ng-deep .selectBoxSuccess .level-left .level-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:4.5rem}::ng-deep .chipContainer{background:#fff;border-radius:.125rem;box-shadow:0 0 2px #1e5dd340;height:1.5rem}::ng-deep .chipContainer .cross{cursor:pointer;min-width:16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:2px;margin-left:-4px}::ng-deep .chipContainer .cross:hover{background:#f1f1f1}::ng-deep .chipContainer .chipName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:6rem}::ng-deep .chipContainer button.countBtn{background:#1e5dd3;border-radius:1.25rem;border:none;min-width:1.5rem;height:1rem;margin:0 0 0 .5rem;padding:0 .25rem}::ng-deep .chipContainer button.countBtn.greenBg{background:#34AA44}::ng-deep .workflowLavel{background:#f1f1f1;border-radius:.125rem;color:#042e7d;min-width:1rem;height:1rem}::ng-deep .reviewSelection{border-radius:.25rem;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep .reviewSelection:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectButton{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectButton:hover,::ng-deep .selectButton:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep button.createNewBtn{background:transparent;border-radius:0;border:none}::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-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#707070;content:\"\";display:inline-block;right:12px;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:#FFFFFF;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 #1e5dd345}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:108px;display:flex;align-items:center}::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;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;transition:all .2s ease-in-out}::ng-deep .vx-form-group .tab-group:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 62px 16px 24px;display:flex;align-items:center;justify-content:space-between}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px}::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:8px 0!important;text-align:center}::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%;text-align:center}::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:#FFFFFF}::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:13px!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;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:14px;font-weight:500;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[type=text],::ng-deep .vx-form-group .input{height:40px;border-radius:4px;border:1px solid #DBDBDB;background:#FFFFFF;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[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group input[type=text]:hover,::ng-deep .vx-form-group .input:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group input[type=text].error,::ng-deep .vx-form-group .input.error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group input[type=text].error:focus,::ng-deep .vx-form-group .input.error:focus{box-shadow:0 0 5px #d31e1e45}::ng-deep .vx-form-group input[type=text]:disabled,::ng-deep .vx-form-group .input:disabled{background:#F1F1F1;cursor:not-allowed;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group input[type=text]:disabled:hover,::ng-deep .vx-form-group .input:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group input[type=text] span.text,::ng-deep .vx-form-group .input span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group input[type=text] .input-group,::ng-deep .vx-form-group .input .input-group{display:flex;align-items:center}::ng-deep .vx-form-group input[type=text] .input-group.counter,::ng-deep .vx-form-group .input .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group input[type=text] .input-group.counter button,::ng-deep .vx-form-group .input .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[type=text] .input-group.counter input,::ng-deep .vx-form-group .input .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[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}::ng-deep .vx-form-group input[type=text]+.file-list,::ng-deep .vx-form-group .input+.file-list{margin-top:8px}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder,::ng-deep .vx-form-group .input:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder,::ng-deep .vx-form-group .input::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #DBDBDB;background:#FFFFFF;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{margin:0 4px 0 0;width:100%;position:relative;z-index:1}::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:#FFFFFF;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;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:100px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count{border-radius:20px;height:16px;padding:0 6px;border:none;font-size:9px;line-height:16px;margin-left:4px;min-width:20px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count.user{background:#34aa44}::ng-deep .vx-form-group .selected .chip-container .chip-inner i.cross{cursor:pointer;position:relative;top:1px;font-size:8px}::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:none;border-radius:0;background:transparent;outline:none;cursor:pointer;display:block;font-size:11px;font-weight:600;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:#FFFFFF;box-shadow:0 0 5px #1e5dd345;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group marx-editor{margin-top:8px;display:block}::ng-deep .vx-form-group marx-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group marx-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px;position:static}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group marx-editor .editor-container:focus-within{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::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;box-shadow:0 3px 6px #1e5dd31a}::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 #1e5dd345}::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:#FFFFFF;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::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:12px;position:absolute;left:12px;top:0;color:#747576;font-size:12px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #DBDBDB;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#EEFCF0;border-color:#34aa44}::ng-deep .vx-form-group app-cs-radio.disabled{pointer-events:none;opacity:.5;filter:grayscale(1);background:#f1f1f1}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}::ng-deep .vx-form-group .risk-type-field{background:#f8f8f8;border:1px solid #dbdbdb;border-radius:4px;height:40px;display:flex;align-items:center;padding:4px;position:relative;z-index:1}::ng-deep .vx-form-group .risk-type-field .type-item{width:50%;position:relative}::ng-deep .vx-form-group .risk-type-field .type-item button{background:transparent;border:none;border-radius:0;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase;width:100%;height:32px;padding:0 12px;text-align:left}::ng-deep .vx-form-group .risk-type-field .type-item button.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;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:26px;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:#ffffff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;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;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;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;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:#FFFFFF;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 input,.form-group-row.active .right .vx-form-group .custom-input{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}.form-group-row.active .right .vx-form-group .selectBoxEnable{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}.form-group-row.active .right .vx-form-group .selectBoxEnable.disabled{border-color:#dbdbdb;box-shadow:none}::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}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#ffffff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-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}::ng-deep .wf-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}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1E5DD3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-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;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-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}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-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}::ng-deep .wf-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}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@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{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;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@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:#FFFFFF;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;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-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-month-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-month-calendar button.dp-calendar-nav-right{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-current-location-btn:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-month-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-month-calendar button.dp-calendar-nav-right: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:#000000;display:inline-flex}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .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-weekdays button,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week 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-weekdays button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week 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-month-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-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)}@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;border:1px solid transparent;border-color:#747576;position:relative;margin-right:5px;border-top:none;margin-top:5px;background:#ffffff}::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 0%,#747576 1%,#747576 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0) 100%);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;background:#ffffff}::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 0%,#f31c39 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0) 100%);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.xlsx,::ng-deep span.file.xls,::ng-deep span.file.css,::ng-deep span.file.scss,::ng-deep span.file.less{border-color:#34aa44}::ng-deep span.file.xlsx:before,::ng-deep span.file.xls:before,::ng-deep span.file.css:before,::ng-deep span.file.scss:before,::ng-deep span.file.less:before{background:linear-gradient(45deg,#34aa44 0%,#34aa44 1%,#34aa44 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.xlsx:after,::ng-deep span.file.xls:after,::ng-deep span.file.css:after,::ng-deep span.file.scss:after,::ng-deep span.file.less:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.xlsx .format,::ng-deep span.file.xls .format,::ng-deep span.file.css .format,::ng-deep span.file.scss .format,::ng-deep span.file.less .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 0%,#1e5dd3 1%,#1e5dd3 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0) 100%);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.ppt,::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpg,::ng-deep span.file.jpeg,::ng-deep span.file.png{border-color:#f6882f}::ng-deep span.file.ppt:before,::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpg:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.png:before{background:linear-gradient(45deg,#f6882f 0%,#f6882f 1%,#f6882f 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ppt:after,::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpg:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.png:after{border-color:#f6882f}::ng-deep span.file.ppt .format,::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpg .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.png .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7 0%,#7aa6f7 1%,#7aa6f7 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0) 100%);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:#0000000d!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:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px 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:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button{font-size:11px;background-color:transparent;padding:0;border-radius:20px;color:#747576;font-weight:600;font-family:\"Poppins\";width:84px;height:24px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button.timepicker-dial__item_active{background:#fff!important;color:#1e5dd3!important;box-shadow:0 1px 2px #dbdbdb}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button+button{margin-left:0!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face{width:200px!important;height:200px!important;padding:10px!important;background:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer{height:calc(224px / 2 - 20px)!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span{color:#000}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span.active{color:#fff}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand{height:80px!important;top:calc(50% - 80px)!important;background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number>span.active{background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand_minute:before{border:4px solid #1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions{display:flex!important;padding:10px 0 0!important;background:#fff!important;justify-content:space-around!important;border-radius:0 0 2px 2px!important;overflow:hidden}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div:first-child ngx-material-timepicker-button button.timepicker-button{background:#f8f8f8;color:#1e5dd3}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button{line-height:28px!important;width:100%;background:#1e5dd3;color:#fff;border-radius:0!important;height:32px!important;width:116px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button span{font-weight:500!important;font-size:11px;font-family:\"Poppins\"}::ng-deep marx-editor{display:block}::ng-deep marx-editor .editor-container{border-radius:4px;border:1px solid #DBDBDB;transition:all .2s ease-in-out}::ng-deep marx-editor .editor-container:hover,::ng-deep marx-editor .editor-container:focus-within{border:1px solid #1E5DD3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep marx-editor .editor-container mention-list ul li a{font-size:16px!important}::ng-deep marx-editor .editor-container .editable-block{background:#fff;min-height:60px;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep marx-editor .editor-container .editable-block:before{color:#747576!important}::ng-deep marx-editor .editor-container .editor-tools{border-top:1px solid #DBDBDB;border-radius:0 0 3px 3px}::ng-deep marx-editor .editor-container .editor-tools:hover{border-color:#1e5dd3}::ng-deep marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep 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 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 marx-modal .popup-modal-background{background-color:#161b2fcc!important}::ng-deep .within-box{background:#F1F1F1;border-radius:.125rem;color:#042e7d}::ng-deep .within-value{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word}\n"]
|
|
8604
8603
|
},] }
|
|
8605
8604
|
];
|
|
@@ -15868,7 +15867,7 @@
|
|
|
15868
15867
|
CheckpointsPolicyContainerComponent.decorators = [
|
|
15869
15868
|
{ type: i0.Component, args: [{
|
|
15870
15869
|
selector: 'app-checkpoints-policy-container',
|
|
15871
|
-
template: "<!-- <p>checkpoints works!</p> -->\r\n<div class=\"checkpoints\" [class.animate]=\"animation\">\r\n
|
|
15870
|
+
template: "<!-- <p>checkpoints works!</p> -->\r\n<div class=\"checkpoints\" [class.animate]=\"animation\">\r\n <div\r\n class=\"checkpoints-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Add Questions</div>\r\n </div>\r\n <div class=\"checkpoints-body\">\r\n <div class=\"checkpoints-body-inner vx-mb-4\">\r\n <div class=\"checkpoints-body-inside\">\r\n <!-- <app-checkpoints-list></app-checkpoints-list> -->\r\n <app-checkpoints-policy-questions\r\n [(requiredPoint)]=\"requiredPoint\"\r\n (changeMax)=\"requiredPoint = $event\"\r\n #checkpoint\r\n [checkpointDetails]=\"checkpointData\"\r\n (saveValidQuestions)=\"saveQuestions($event)\"\r\n ></app-checkpoints-policy-questions>\r\n </div>\r\n </div>\r\n\r\n <div class=\"checkpoints-footer\">\r\n <app-checkpoint-floating-bar\r\n [isPolicyCheckpoint]=\"true\"\r\n (closeList)=\"closeCheckPoint.emit()\"\r\n [pluralText]=\"'Questions selected'\"\r\n [singularText]=\"'Question selected'\"\r\n (saveList)=\"next()\"\r\n [(requiredPoint)]=\"requiredPoint\"\r\n [count]=\"checkpointData?.length\"\r\n ></app-checkpoint-floating-bar>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
15872
15871
|
styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";.checkpoints{background:#FFFFFF;position:fixed;top:0;right:500px;bottom:0;left:0}.checkpoints:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}.checkpoints.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}.checkpoints-head{background:#fbfbfb;height:2.75rem;border:1px solid #f1f1f1;border-right:none}.checkpoints-body{padding:2rem;height:calc(100vh - 2.75rem)}.checkpoints-body-inner{height:calc(100vh - 10.875rem);overflow:hidden;overflow-y:auto}.checkpoints-body-inner::-webkit-scrollbar-track{background-color:transparent;position:absolute}.checkpoints-body-inner::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}.checkpoints-body-inner::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.checkpoints-body-inside{width:40rem;margin:0 auto}.checkpoints-footer{display:block}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"]
|
|
15873
15872
|
},] }
|
|
15874
15873
|
];
|
|
@@ -18734,6 +18733,7 @@
|
|
|
18734
18733
|
this.reviewerIds = [];
|
|
18735
18734
|
this.overseerIds = [];
|
|
18736
18735
|
this.assignorId = [];
|
|
18736
|
+
this.headerText = 'Select User';
|
|
18737
18737
|
this.search = '';
|
|
18738
18738
|
this.selectedIds = [];
|
|
18739
18739
|
this.animation = false;
|
|
@@ -18766,7 +18766,7 @@
|
|
|
18766
18766
|
UserRadioListComponent.decorators = [
|
|
18767
18767
|
{ type: i0.Component, args: [{
|
|
18768
18768
|
selector: 'app-users-radio-list',
|
|
18769
|
-
template: "<div class=\"add-risk-user-radio-list\" [class.animate]=\"animation\">\r\n <div class=\"add-risk-user-radio-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">
|
|
18769
|
+
template: "<div class=\"add-risk-user-radio-list\" [class.animate]=\"animation\">\r\n <div class=\"add-risk-user-radio-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">{{headerText}}</div>\r\n <!-- <button class=\"add-risk-user-radio-list-close\" (click)=\"close()\">\r\n <i class=\"icons\"></i>\r\n </button> -->\r\n </div>\r\n <div *ngIf=\"usersList?.length > 0\" class=\"add-risk-user-radio-list-body\">\r\n <div class=\"search-block\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search User\" />\r\n </div>\r\n <ng-container *ngIf=\"(usersList | filter:search) as searchList\">\r\n <ul class=\"user-radio-list\" *ngIf=\"searchList?.length >0 \">\r\n <li *ngFor=\"let user of usersList | filter:search\" [appTooltip]=\"user | tooltipMessage:fromResponsibility:reviewerIds:overseerIds:assignorId:[]:'my_member_id':disabledId?.includes(user[userIdKey])\" placement=\"bottom-left\" type=\"black\"\r\n delay=\"0\" [tooltipMandatory]=true >\r\n <app-cs-radio (checkedEvent)=\"selectUser(user)\" [name]=\"'category'\" [class.disabled]=\"(disabledId?.includes(user[userIdKey]))\"\r\n [checked]=\"selectedUser && (selectedUser[userIdKey]== user[userIdKey])\">\r\n <span class=\"name\" >\r\n {{user[itemNameKey] }}</span>\r\n </app-cs-radio>\r\n </li>\r\n </ul>\r\n <app-no-data *ngIf=\"searchList?.length === 0\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No Users Found'\"></app-no-data>\r\n </ng-container>\r\n \r\n <app-floating-bar [selectedData]=\"selectedUser ? [selectedUser]:[]\" [displayElementKey]=\"itemNameKey\" [elementId]=\"userIdKey\" [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\" (closeEvent)=\"save()\" (closeList)=\"close()\" (deleteEvent)=\"deleteEvent($event)\" [isDisabled]=\"usersList?.length === 0 || (selectedUser ? [selectedUser]:[])?.length === 0\"></app-floating-bar>\r\n </div>\r\n <div class=\"add-risk-user-radio-list-body noUser\" *ngIf=\"usersList?.length === 0\">\r\n <app-no-data [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No Users Found'\"></app-no-data>\r\n \r\n <app-floating-bar [selectedData]=\"selectedUser ? [selectedUser]:[]\" [displayElementKey]=\"itemNameKey\" [elementId]=\"userIdKey\" [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\" (closeEvent)=\"save()\" (closeList)=\"close()\" (deleteEvent)=\"deleteEvent($event)\" [isDisabled]=\"usersList?.length === 0 || (selectedUser ? [selectedUser]:[])?.length === 0\"></app-floating-bar>\r\n </div>\r\n</div>",
|
|
18770
18770
|
styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .add-risk-user-radio-list{position:fixed;top:0;right:500px;bottom:0;left:0}::ng-deep .add-risk-user-radio-list:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .add-risk-user-radio-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .add-risk-user-radio-list-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .add-risk-user-radio-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .add-risk-user-radio-list-body.noUser app-no-data{height:calc(100% - 3rem)}::ng-deep .add-risk-user-radio-list-body.noUser app-no-data .no-data-wrapper{height:calc(100vh - 6.75rem)}::ng-deep .add-risk-user-radio-list-body .search-block{position:relative}::ng-deep .add-risk-user-radio-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .add-risk-user-radio-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .add-risk-user-radio-list-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .add-risk-user-radio-list-body .body-top{display:flex;justify-content:space-between;padding:.5rem 0 0}::ng-deep .add-risk-user-radio-list-body .body-top app-cs-checkbox{display:flex}::ng-deep .add-risk-user-radio-list-body .body-top app-cs-checkbox label span.value strong{color:#161b2f;font-size:12px;font-weight:600;white-space:nowrap}::ng-deep .add-risk-user-radio-list-body ul{padding:0;margin:0}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list{height:calc(100vh - 14rem);overflow:auto;margin:1rem 0 .5rem}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li{width:50%;float:left;padding:0 0 .75rem;list-style:none}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio{display:flex}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label{width:100%}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;flex-wrap:wrap}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value span.name,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value span.name{color:#161b2f;font-weight:400;line-height:20px;display:block;width:100%;font-size:12px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-right:24px}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value span.position,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value span.position{border-radius:2px;display:inline-flex;height:12px;align-items:center;padding:0 2px;text-transform:uppercase;font-size:9px;line-height:12px;font-weight:500}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value span.position.admin,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value span.position.admin{background:#fff9e6;color:#f2bf19}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value span.position.key-admin,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value span.position.key-admin{background:#dff2e1;color:#34aa44}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value span.position.manager,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value span.position.manager{color:#4681ef;background:#d4e2fc}::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-checkbox label span.value span.position.executive,::ng-deep .add-risk-user-radio-list-body ul.user-radio-list li app-cs-radio label span.value span.position.executive{color:#747576;background:#f1f1f1}::ng-deep .add-risk-user-radio-list-body app-no-data{display:block;height:calc(100% - 100px)}::ng-deep .add-risk-user-radio-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .add-risk-user-radio-list app-cs-radio.disabled{pointer-events:none;opacity:.4}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"]
|
|
18771
18771
|
},] }
|
|
18772
18772
|
];
|
|
@@ -18783,7 +18783,8 @@
|
|
|
18783
18783
|
fromResponsibility: [{ type: i0.Input }],
|
|
18784
18784
|
reviewerIds: [{ type: i0.Input }],
|
|
18785
18785
|
overseerIds: [{ type: i0.Input }],
|
|
18786
|
-
assignorId: [{ type: i0.Input }]
|
|
18786
|
+
assignorId: [{ type: i0.Input }],
|
|
18787
|
+
headerText: [{ type: i0.Input }]
|
|
18787
18788
|
};
|
|
18788
18789
|
|
|
18789
18790
|
var DataTypePipe = /** @class */ (function () {
|
|
@@ -21365,7 +21366,7 @@
|
|
|
21365
21366
|
AssessmentListComponent.decorators = [
|
|
21366
21367
|
{ type: i0.Component, args: [{
|
|
21367
21368
|
selector: 'app-assessment-list',
|
|
21368
|
-
template: "\r\n<app-preview *ngIf=\"isPreview\" [questionData]=\"previewQuestionData\" (previewBack)=\"previewBack()\"></app-preview>\r\n<div class=\"assessment-list\" [class.animate]=\"animation\">\r\n <div class=\"assessment-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select an Assessment</div>\r\n </div>\r\n <div class=\"assessment-list-body\">\r\n <div class=\"search-block\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"searchAssessments\" (change)=\"onAssessmentSearch($event.target.value)\" placeholder=\"Search Assessment Category\" />\r\n </div>\r\n <app-workflow-pagination \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 ></app-workflow-pagination>\r\n <div *ngIf=\"assessmentCategory.data.length === 0 && !isLoader\" class=\"assessment-list-part vx-mb-4\">\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 vx-mb-4\">\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=\"buttons\">\r\n <button class=\"action-btn\" (click)=\"preview(selectedAssessment?.assessmentDetails)\"><i class=\"icons\"></i> Preview</button>\r\n <!-- <button class=\"action-btn\"><i class=\"icons\"></i> Edit</button> -->\r\n </div>\r\n <div class=\"label\">{{selectedAssessment?.assessmentDetails?.questions}} {{selectedAssessment?.assessmentDetails?.questions > 1 ? 'Questions': 'Question'}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"assessment-list-heading\">Select an Assessment for this responsibility</div>\r\n\r\n <!--\r\n Assessment category list \r\n active class is used for highlighting opened element\r\n -->\r\n <ng-container *ngIf=\"!isLoader\">\r\n <div *ngFor=\"let data of assessmentCategory.data; let i = index;\" class=\"assessment-list-item\" [class.active]=\"openedCategory.includes(i) || data.id === selectedAssessment?.category_id\">\r\n <div class=\"table-row main-list\" (click)=\"showSubList(i, data?.id)\" [class.disabled]=\"data?.assessmentcount < 1\">\r\n <div class=\"table-column serial\">\r\n <div [id]=\"'sr-no' + i\" class=\"sr-no\" [appTooltip]=\"i + 1\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{dataPerPage * (assessmentPayload.page_no - 1) + (i + 1)}}</div>\r\n </div>\r\n <div class=\"table-column name\">\r\n <div class=\"name-inner\">\r\n <div class=\"value\" [appTooltip]=\"data.category_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{data?.category_name}}</div>\r\n <div class=\"within-part\" *ngIf=\"data?.parent_tree\">\r\n <span class=\"within-box\">Within</span>\r\n <span class=\"value\" [appTooltip]=\"data.parent_tree\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{data?.parent_tree}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-column action\">\r\n <button [id]=\"'arrow' + i\" class=\"arrow\" [class.disabled] = \"data?.assessmentcount < 1\" [disabled]=\"data?.assessmentcount < 1\">\r\n <i *ngIf=\"!openedCategory.includes(i)\" class=\"icons\"></i>\r\n <i *ngIf=\"openedCategory.includes(i)\" class=\"icons\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <!-- Assessment list start from here -->\r\n <div *ngIf=\"openedCategory.includes(i)\" class=\"sub-list\">\r\n <ng-container *ngIf=\"data.assessmentData?.length > 0\">\r\n <div class=\"table-row\" *ngFor=\"let assessment of data.assessmentData; let j = index\" [class.active]=\"assessment.id === selectedAssessment?.assessment_id && data.id === selectedAssessment?.category_id\">\r\n <div class=\"table-column serial\">\r\n <div [id]=\"'sub-sr-no'+ i+j\" class=\"sr-no\" appTooltip=\"{{dataPerPage * (assessmentPayload.page_no - 1) + (i + 1)}}.{{j + 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 </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=\"buttons\">\r\n <button class=\"action-btn\" (click)=\"preview(assessment)\"><i class=\"icons\"></i> Preview</button>\r\n <!-- <button class=\"action-btn\"><i class=\"icons\"></i> Edit</button> -->\r\n </div>\r\n <div class=\"label\">{{assessment?.questions}} {{assessment?.questions > 1 ? 'Questions' : 'Question'}}</div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- Loader loading isLoader -->\r\n <app-assessment-list-sub-loader *ngIf=\"!data.assessmentData?.length\"></app-assessment-list-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 <app-assessment-list-loader *ngIf=\"isLoader\"></app-assessment-list-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 \r\n <app-floating-bar \r\n [selectedData]=\"[]\" \r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\" \r\n [isDisabled]=\"!selectedAssessment?.assessment_id && !isDeleted\"\r\n [selectedData]=\"selectedAssessment?.assessment_id ? [selectedAssessment?.assessmentDetails]:[]\"\r\n [displayElementKey]=\"'assessment_name'\" \r\n [pluralText]=\"'Risk Categories selected'\" (closeEvent)=\"save()\" (deleteEvent)=\"deleteEvent($event)\"\r\n >\r\n </app-floating-bar>\r\n </div>\r\n</div>\r\n",
|
|
21369
|
+
template: "\r\n<app-preview *ngIf=\"isPreview\" [questionData]=\"previewQuestionData\" (previewBack)=\"previewBack()\"></app-preview>\r\n<div class=\"assessment-list\" [class.animate]=\"animation\">\r\n <div class=\"assessment-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select an Assessment</div>\r\n </div>\r\n <div class=\"assessment-list-body\">\r\n <div class=\"search-block\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"searchAssessments\" (change)=\"onAssessmentSearch($event.target.value)\" placeholder=\"Search Assessment Category\" />\r\n </div>\r\n <app-workflow-pagination \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 ></app-workflow-pagination>\r\n <div *ngIf=\"assessmentCategory.data.length === 0 && !isLoader && searchAssessments\" class=\"assessment-list-part vx-mb-4\">\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 vx-mb-4\">\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=\"buttons\">\r\n <button class=\"action-btn\" (click)=\"preview(selectedAssessment?.assessmentDetails)\"><i class=\"icons\"></i> Preview</button>\r\n <!-- <button class=\"action-btn\"><i class=\"icons\"></i> Edit</button> -->\r\n </div>\r\n <div class=\"label\">{{selectedAssessment?.assessmentDetails?.questions}} {{selectedAssessment?.assessmentDetails?.questions > 1 ? 'Questions': 'Question'}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"assessment-list-heading\">Select an Assessment for this responsibility</div>\r\n\r\n <!--\r\n Assessment category list \r\n active class is used for highlighting opened element\r\n -->\r\n <ng-container *ngIf=\"!isLoader\">\r\n <div *ngFor=\"let data of assessmentCategory.data; let i = index;\" class=\"assessment-list-item\" [class.active]=\"openedCategory.includes(i) || data.id === selectedAssessment?.category_id\">\r\n <div class=\"table-row main-list\" (click)=\"showSubList(i, data?.id)\" [class.disabled]=\"data?.assessmentcount < 1\">\r\n <div class=\"table-column serial\">\r\n <div [id]=\"'sr-no' + i\" class=\"sr-no\" [appTooltip]=\"i + 1\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{dataPerPage * (assessmentPayload.page_no - 1) + (i + 1)}}</div>\r\n </div>\r\n <div class=\"table-column name\">\r\n <div class=\"name-inner\">\r\n <div class=\"value\" [appTooltip]=\"data.category_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{data?.category_name}}</div>\r\n <div class=\"within-part\" *ngIf=\"data?.parent_tree\">\r\n <span class=\"within-box\">Within</span>\r\n <span class=\"value\" [appTooltip]=\"data.parent_tree\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{data?.parent_tree}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-column action\">\r\n <button [id]=\"'arrow' + i\" class=\"arrow\" [class.disabled] = \"data?.assessmentcount < 1\" [disabled]=\"data?.assessmentcount < 1\">\r\n <i *ngIf=\"!openedCategory.includes(i)\" class=\"icons\"></i>\r\n <i *ngIf=\"openedCategory.includes(i)\" class=\"icons\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <!-- Assessment list start from here -->\r\n <div *ngIf=\"openedCategory.includes(i)\" class=\"sub-list\">\r\n <ng-container *ngIf=\"data.assessmentData?.length > 0\">\r\n <div class=\"table-row\" *ngFor=\"let assessment of data.assessmentData; let j = index\" [class.active]=\"assessment.id === selectedAssessment?.assessment_id && data.id === selectedAssessment?.category_id\">\r\n <div class=\"table-column serial\">\r\n <div [id]=\"'sub-sr-no'+ i+j\" class=\"sr-no\" appTooltip=\"{{dataPerPage * (assessmentPayload.page_no - 1) + (i + 1)}}.{{j + 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 </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=\"buttons\">\r\n <button class=\"action-btn\" (click)=\"preview(assessment)\"><i class=\"icons\"></i> Preview</button>\r\n <!-- <button class=\"action-btn\"><i class=\"icons\"></i> Edit</button> -->\r\n </div>\r\n <div class=\"label\">{{assessment?.questions}} {{assessment?.questions > 1 ? 'Questions' : 'Question'}}</div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- Loader loading isLoader -->\r\n <app-assessment-list-sub-loader *ngIf=\"!data.assessmentData?.length\"></app-assessment-list-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 <app-assessment-list-loader *ngIf=\"isLoader\"></app-assessment-list-loader>\r\n </div>\r\n <!-- No data image -->\r\n <app-no-data *ngIf=\"!assessmentCategory.data.length && !isLoader && !searchAssessments\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No Data to Display'\"></app-no-data>\r\n \r\n <app-floating-bar \r\n [selectedData]=\"[]\" \r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\" \r\n [isDisabled]=\"!selectedAssessment?.assessment_id && !isDeleted\"\r\n [selectedData]=\"selectedAssessment?.assessment_id ? [selectedAssessment?.assessmentDetails]:[]\"\r\n [displayElementKey]=\"'assessment_name'\" \r\n [pluralText]=\"'Risk Categories selected'\" (closeEvent)=\"save()\" (deleteEvent)=\"deleteEvent($event)\"\r\n >\r\n </app-floating-bar>\r\n </div>\r\n</div>\r\n",
|
|
21369
21370
|
styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .assessment-list{position:fixed;top:0;right:500px;bottom:0;left:0}::ng-deep .assessment-list:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .assessment-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .assessment-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .assessment-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .assessment-list-body .search-block{position:relative}::ng-deep .assessment-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .assessment-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .assessment-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .assessment-list-body app-workflow-pagination .pagination-sec{padding-bottom:0!important}::ng-deep .assessment-list-body .assessment-list-part{height:calc(100vh - 242px);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;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 app-cs-radio{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 app-cs-radio .radio-item{position:absolute;left:8px;top:0}::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-left:8px}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .table-row .table-column.question .buttons{display:flex;opacity: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:22px;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{opacity:1}::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:hover .table-column.serial .sr-no,::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .sub-list .table-row.active .table-column.serial .sr-no{color:#f8f8f8}::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .sub-list .table-row:hover .table-column.serial .sr-no app-cs-radio,::ng-deep .assessment-list-body .assessment-list-part .assessment-list-item .sub-list .table-row.active .table-column.serial .sr-no app-cs-radio{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 app-cs-radio{width:calc(100% - 260px)}::ng-deep .assessment-list-body ul.assessment li app-cs-radio .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}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"]
|
|
21370
21371
|
},] }
|
|
21371
21372
|
];
|
|
@@ -30771,6 +30772,7 @@
|
|
|
30771
30772
|
this.mode = 'CREATE';
|
|
30772
30773
|
this.fieldType = '';
|
|
30773
30774
|
this.searchKey = '';
|
|
30775
|
+
this.approvalWorkflowType = 'SEQUENTIAL';
|
|
30774
30776
|
this.usersList = [];
|
|
30775
30777
|
this.groupsList = [];
|
|
30776
30778
|
this.assignorId = [];
|
|
@@ -30778,6 +30780,7 @@
|
|
|
30778
30780
|
this.reviewerIds = [];
|
|
30779
30781
|
this.overseerIds = [];
|
|
30780
30782
|
this.FromProgram = false;
|
|
30783
|
+
this.fromApprovalWorkflow = false;
|
|
30781
30784
|
this.fetchUserData = new i0.EventEmitter();
|
|
30782
30785
|
this.disabledIds = [];
|
|
30783
30786
|
this.nonRemovableUserIds = [];
|
|
@@ -30803,6 +30806,13 @@
|
|
|
30803
30806
|
this.animation = true;
|
|
30804
30807
|
this.currentTab = 'USER';
|
|
30805
30808
|
}
|
|
30809
|
+
Object.defineProperty(UserGroupListComponent.prototype, "approvalType", {
|
|
30810
|
+
set: function (value) {
|
|
30811
|
+
this.approvalWorkflowType = value;
|
|
30812
|
+
},
|
|
30813
|
+
enumerable: false,
|
|
30814
|
+
configurable: true
|
|
30815
|
+
});
|
|
30806
30816
|
Object.defineProperty(UserGroupListComponent.prototype, "setUserList", {
|
|
30807
30817
|
set: function (value) {
|
|
30808
30818
|
if (value && (value === null || value === void 0 ? void 0 : value.length)) {
|
|
@@ -30838,14 +30848,20 @@
|
|
|
30838
30848
|
if (this.userCurrentPage === 1) {
|
|
30839
30849
|
var selected = this.selectedUsers;
|
|
30840
30850
|
var otherUser = this.usersList.filter(function (ele) { return !_this.selectedUserIds.includes(ele === null || ele === void 0 ? void 0 : ele.member_id); });
|
|
30841
|
-
console.log(
|
|
30851
|
+
console.log('fsfsfsf', selected, otherUser);
|
|
30842
30852
|
this.usersList = this.uniqueByProp(__spreadArray(__spreadArray([], __read(selected === null || selected === void 0 ? void 0 : selected.sort())), __read(otherUser === null || otherUser === void 0 ? void 0 : otherUser.sort())), 'member_id');
|
|
30843
30853
|
}
|
|
30844
30854
|
};
|
|
30845
30855
|
UserGroupListComponent.prototype.allUserSelectedStatus = function () {
|
|
30846
30856
|
var _a, _b, _c;
|
|
30847
|
-
this.allUserSelected =
|
|
30848
|
-
|
|
30857
|
+
this.allUserSelected =
|
|
30858
|
+
this.allUsersIds.sort().toString() ===
|
|
30859
|
+
((_a = this.selectedUserIds.sort()) === null || _a === void 0 ? void 0 : _a.toString());
|
|
30860
|
+
this.allUserSelectedDisabled =
|
|
30861
|
+
this.allUsersIds.sort().toString() ===
|
|
30862
|
+
((_b = this.selectedUserIds.sort()) === null || _b === void 0 ? void 0 : _b.toString()) &&
|
|
30863
|
+
this.allUsersIds.sort().toString() ===
|
|
30864
|
+
((_c = this.nonRemovableUserIds.sort()) === null || _c === void 0 ? void 0 : _c.toString());
|
|
30849
30865
|
};
|
|
30850
30866
|
Object.defineProperty(UserGroupListComponent.prototype, "setGroupList", {
|
|
30851
30867
|
set: function (value) {
|
|
@@ -30874,14 +30890,20 @@
|
|
|
30874
30890
|
if (this.userCurrentPage === 1) {
|
|
30875
30891
|
var selected = this.selectedGroups;
|
|
30876
30892
|
var otherGroup = this.groupsList.filter(function (ele) { return !_this.selectedGroupIds.includes(ele === null || ele === void 0 ? void 0 : ele.group_id); });
|
|
30877
|
-
console.log(
|
|
30893
|
+
console.log('fsfsfsf', selected, otherGroup);
|
|
30878
30894
|
this.groupsList = this.uniqueByProp(__spreadArray(__spreadArray([], __read(selected === null || selected === void 0 ? void 0 : selected.sort())), __read(otherGroup === null || otherGroup === void 0 ? void 0 : otherGroup.sort())), 'group_id');
|
|
30879
30895
|
}
|
|
30880
30896
|
};
|
|
30881
30897
|
UserGroupListComponent.prototype.allGroupSelectedStatus = function () {
|
|
30882
30898
|
var _a, _b, _c, _d, _e, _f;
|
|
30883
|
-
this.allGroupSelected =
|
|
30884
|
-
|
|
30899
|
+
this.allGroupSelected =
|
|
30900
|
+
((_b = (_a = this.allGroupsIds) === null || _a === void 0 ? void 0 : _a.sort()) === null || _b === void 0 ? void 0 : _b.toString()) ===
|
|
30901
|
+
((_d = (_c = this.selectedGroupIds) === null || _c === void 0 ? void 0 : _c.sort()) === null || _d === void 0 ? void 0 : _d.toString());
|
|
30902
|
+
this.allGroupSelectedDisabled =
|
|
30903
|
+
this.allGroupsIds.sort().toString() ===
|
|
30904
|
+
((_e = this.selectedGroupIds.sort()) === null || _e === void 0 ? void 0 : _e.toString()) &&
|
|
30905
|
+
this.allGroupsIds.sort().toString() ===
|
|
30906
|
+
((_f = this.nonRemovableGroupIds.sort()) === null || _f === void 0 ? void 0 : _f.toString());
|
|
30885
30907
|
};
|
|
30886
30908
|
UserGroupListComponent.prototype.userPageChange = function (page) {
|
|
30887
30909
|
this.userCurrentPage = page;
|
|
@@ -30895,8 +30917,10 @@
|
|
|
30895
30917
|
*/
|
|
30896
30918
|
UserGroupListComponent.prototype.selectItem = function (evt, payload) {
|
|
30897
30919
|
var _a;
|
|
30898
|
-
console.log(
|
|
30899
|
-
((_a = evt === null || evt === void 0 ? void 0 : evt.target) === null || _a === void 0 ? void 0 : _a.checked) === true
|
|
30920
|
+
console.log('from sel', evt);
|
|
30921
|
+
((_a = evt === null || evt === void 0 ? void 0 : evt.target) === null || _a === void 0 ? void 0 : _a.checked) === true
|
|
30922
|
+
? this.manipulateSelectedUser('ADD', payload)
|
|
30923
|
+
: this.manipulateSelectedUser('DELETE', payload);
|
|
30900
30924
|
};
|
|
30901
30925
|
UserGroupListComponent.prototype.selectItemRadio = function (evt, payload) {
|
|
30902
30926
|
var _a;
|
|
@@ -30933,8 +30957,12 @@
|
|
|
30933
30957
|
this.nonDisabledUsers = this.disableUsers();
|
|
30934
30958
|
}
|
|
30935
30959
|
if (((_a = evt === null || evt === void 0 ? void 0 : evt.target) === null || _a === void 0 ? void 0 : _a.checked) === true) {
|
|
30936
|
-
this.selectedUsers = this.fromResponsibility
|
|
30937
|
-
|
|
30960
|
+
this.selectedUsers = this.fromResponsibility
|
|
30961
|
+
? this.nonDisabledUsers
|
|
30962
|
+
: this.usersList;
|
|
30963
|
+
this.selectedUserIds = this.fromResponsibility
|
|
30964
|
+
? this.nonDisabledUsers.map(function (ele) { return ele === null || ele === void 0 ? void 0 : ele.member_id; })
|
|
30965
|
+
: this.usersList.map(function (ele) { return ele === null || ele === void 0 ? void 0 : ele.member_id; });
|
|
30938
30966
|
}
|
|
30939
30967
|
else {
|
|
30940
30968
|
this.selectedUsers = this.usersList.filter(function (ele) { return _this.nonRemovableUserIds.includes(ele === null || ele === void 0 ? void 0 : ele.member_id); });
|
|
@@ -30950,7 +30978,9 @@
|
|
|
30950
30978
|
*/
|
|
30951
30979
|
UserGroupListComponent.prototype.selectGroup = function (evt, payload) {
|
|
30952
30980
|
var _a;
|
|
30953
|
-
((_a = evt === null || evt === void 0 ? void 0 : evt.target) === null || _a === void 0 ? void 0 : _a.checked) === true
|
|
30981
|
+
((_a = evt === null || evt === void 0 ? void 0 : evt.target) === null || _a === void 0 ? void 0 : _a.checked) === true
|
|
30982
|
+
? this.manipulateSelectedGroup('ADD', payload)
|
|
30983
|
+
: this.manipulateSelectedGroup('DELETE', payload);
|
|
30954
30984
|
};
|
|
30955
30985
|
/**
|
|
30956
30986
|
* #### Description
|
|
@@ -31004,7 +31034,10 @@
|
|
|
31004
31034
|
UserGroupListComponent.prototype.saveList = function () {
|
|
31005
31035
|
var _this = this;
|
|
31006
31036
|
var _a, _b, _c;
|
|
31007
|
-
if (this.defaultSelectedUserIds &&
|
|
31037
|
+
if (this.defaultSelectedUserIds &&
|
|
31038
|
+
((_a = this.defaultSelectedUserIds) === null || _a === void 0 ? void 0 : _a.length) &&
|
|
31039
|
+
this.selectedUserIds &&
|
|
31040
|
+
((_b = this.selectedUserIds) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
31008
31041
|
(_c = this.defaultSelectedUserIds) === null || _c === void 0 ? void 0 : _c.forEach(function (id) {
|
|
31009
31042
|
var _a;
|
|
31010
31043
|
if (!((_a = _this.selectedUserIds) === null || _a === void 0 ? void 0 : _a.includes(id))) {
|
|
@@ -31016,11 +31049,17 @@
|
|
|
31016
31049
|
this.showConfirmation = false;
|
|
31017
31050
|
}
|
|
31018
31051
|
if (!this.showConfirmation)
|
|
31019
|
-
this.save.emit({
|
|
31052
|
+
this.save.emit({
|
|
31053
|
+
users: this.selectedUsers,
|
|
31054
|
+
groups: this.selectedGroups,
|
|
31055
|
+
});
|
|
31020
31056
|
};
|
|
31021
31057
|
UserGroupListComponent.prototype.confirmAction = function (evt) {
|
|
31022
31058
|
if (evt === 'YES') {
|
|
31023
|
-
this.save.emit({
|
|
31059
|
+
this.save.emit({
|
|
31060
|
+
users: this.selectedUsers,
|
|
31061
|
+
groups: this.selectedGroups,
|
|
31062
|
+
});
|
|
31024
31063
|
}
|
|
31025
31064
|
else if (evt === 'NO') {
|
|
31026
31065
|
this.showConfirmation = false;
|
|
@@ -31031,17 +31070,16 @@
|
|
|
31031
31070
|
};
|
|
31032
31071
|
//
|
|
31033
31072
|
/**
|
|
31034
|
-
|
|
31035
|
-
|
|
31036
|
-
|
|
31037
|
-
|
|
31038
|
-
|
|
31039
|
-
|
|
31040
|
-
|
|
31073
|
+
* #### Description
|
|
31074
|
+
*
|
|
31075
|
+
* Returns the unique array of object based on unique key
|
|
31076
|
+
* @param array
|
|
31077
|
+
* @param key
|
|
31078
|
+
* @returns
|
|
31079
|
+
*/
|
|
31041
31080
|
UserGroupListComponent.prototype.uniqueByProp = function (array, key) {
|
|
31042
31081
|
return Array.from(array
|
|
31043
|
-
.reduce(function (acc, item) { return (item && item[key] && acc.set(item[key], item),
|
|
31044
|
-
acc); }, new Map())
|
|
31082
|
+
.reduce(function (acc, item) { return (item && item[key] && acc.set(item[key], item), acc); }, new Map())
|
|
31045
31083
|
.values());
|
|
31046
31084
|
};
|
|
31047
31085
|
UserGroupListComponent.prototype.paginationVisible = function () {
|
|
@@ -31060,14 +31098,27 @@
|
|
|
31060
31098
|
UserGroupListComponent.prototype.disableUsers = function () {
|
|
31061
31099
|
var _this = this;
|
|
31062
31100
|
switch (this.fromResponsibility) {
|
|
31063
|
-
case
|
|
31064
|
-
this.nonDisabledUsers = this.usersList.filter(function (user) {
|
|
31101
|
+
case 'Assignee':
|
|
31102
|
+
this.nonDisabledUsers = this.usersList.filter(function (user) {
|
|
31103
|
+
var _a, _b;
|
|
31104
|
+
return !(((_a = _this.reviewerIds) === null || _a === void 0 ? void 0 : _a.includes(user === null || user === void 0 ? void 0 : user.member_id)) ||
|
|
31105
|
+
((_b = _this.overseerIds) === null || _b === void 0 ? void 0 : _b.includes(user === null || user === void 0 ? void 0 : user.member_id)));
|
|
31106
|
+
});
|
|
31065
31107
|
break;
|
|
31066
|
-
case
|
|
31067
|
-
this.nonDisabledUsers = this.usersList.filter(function (user) {
|
|
31108
|
+
case 'Reviewer':
|
|
31109
|
+
this.nonDisabledUsers = this.usersList.filter(function (user) {
|
|
31110
|
+
var _a, _b;
|
|
31111
|
+
return !(((_a = _this.overseerIds) === null || _a === void 0 ? void 0 : _a.includes(user === null || user === void 0 ? void 0 : user.member_id)) ||
|
|
31112
|
+
((_b = _this.assigneeIds) === null || _b === void 0 ? void 0 : _b.includes(user === null || user === void 0 ? void 0 : user.member_id)));
|
|
31113
|
+
});
|
|
31068
31114
|
break;
|
|
31069
|
-
case
|
|
31070
|
-
this.nonDisabledUsers = this.usersList.filter(function (user) {
|
|
31115
|
+
case 'Overseer':
|
|
31116
|
+
this.nonDisabledUsers = this.usersList.filter(function (user) {
|
|
31117
|
+
var _a, _b, _c;
|
|
31118
|
+
return !(((_a = _this.assignorId) === null || _a === void 0 ? void 0 : _a.includes(user === null || user === void 0 ? void 0 : user.member_id)) ||
|
|
31119
|
+
((_b = _this.reviewerIds) === null || _b === void 0 ? void 0 : _b.includes(user === null || user === void 0 ? void 0 : user.member_id)) ||
|
|
31120
|
+
((_c = _this.assigneeIds) === null || _c === void 0 ? void 0 : _c.includes(user === null || user === void 0 ? void 0 : user.member_id)));
|
|
31121
|
+
});
|
|
31071
31122
|
break;
|
|
31072
31123
|
default:
|
|
31073
31124
|
}
|
|
@@ -31078,7 +31129,7 @@
|
|
|
31078
31129
|
UserGroupListComponent.decorators = [
|
|
31079
31130
|
{ type: i0.Component, args: [{
|
|
31080
31131
|
selector: 'user-group-list',
|
|
31081
|
-
template: "<div class=\"user-group-list\" [class.animate]=\"animation\">\r\n <div class=\"user-group-list-head\">\r\n <h3 class=\"user-group-list-title\">{{panelTitle}}</h3>\r\n </div>\r\n <div class=\"user-group-list-body\">\r\n <div class=\"user-group-list-body-inner\">\r\n <app-loader-inline *ngIf=\"loading\"></app-loader-inline>\r\n <div class=\"user-group-list-tab vx-d-flex vx-align-center vx-mb-2\" *ngIf=\"groupEnabled\">\r\n <button (click)=\"switchTab('USER')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'USER'\">USERS\r\n <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{searchKey?.length && currentTab === 'USER' ? (usersList| filter : searchKey)?.length : usersList?.length || userListInfo?.total_items}}</span></button>\r\n <button (click)=\"switchTab('GROUP')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'GROUP'\">{{featureflag ? 'USER GROUPS':'GROUPS'}} <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{searchKey?.length && currentTab === 'GROUP' ? (groupsList|search:searchKey:'group_name')?.length :groupsList?.length || groupListInfo?.total_items}}</span></button>\r\n </div>\r\n\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input *ngIf=\"!featureflag\" [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search Group'}}\" />\r\n <input *ngIf=\"featureflag\" [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search User Group'}}\" />\r\n </div>\r\n\r\n <ng-container *ngIf=\"currentTab === 'USER' && !loading\">\r\n <ng-container *ngIf=\"(usersList|filter:searchKey) as users\">\r\n <vui-pagination *ngIf=\"userListInfo?.total_pages > 1 && usersList?.length !== userListInfo?.total_items\" [currentPage]=\"userCurrentPage\" [totalPage]=\"userListInfo?.total_pages\" (pageChanged)=\"userPageChange($event)\"></vui-pagination>\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"users?.length > 0;else nouser\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox *ngIf=\"!singleSelect\" #user [checked]=\"allUserSelected\" [disabled]=\"allUserSelectedDisabled\" (change)=\"selectAllUser($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!user?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <ng-container *ngFor=\"let user of users \" >\r\n <li class=\"vx-mb-3\" *ngIf=\"!singleSelect\" [appTooltip]=\"user |tooltipMessage: fromResponsibility:reviewerIds:overseerIds:assignorId:assigneeIds:'member_id':disabledIds?.includes(user?.member_id):FromProgram\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <vui-checkbox (change)=\"selectItem($event,user)\" [disabled]=\"disabledIds?.includes(user?.member_id)\" [checked]=\"selectedUserIds?.includes(user?.member_id)\"><div class=\"user-name\" >{{user?.member_name}}</div></vui-checkbox>\r\n </li>\r\n <li class=\"vx-mb-3\" *ngIf=\"singleSelect\">\r\n <app-cs-radio [name]=\"'radio-selector'\" (checkedEvent)=\"selectItemRadio($event,user)\"\r\n [name]=\"'rx-category'\" [checked]=\"selectedUserIds?.includes(user?.member_id)\"\r\n [appTooltip]=\"user?.member_email\" placement=\"bottom-left\"\r\n delay=\"0\" [tooltipMandatory]=\"true\">\r\n {{user?.member_name}}\r\n </app-cs-radio>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nouser>\r\n <app-no-data *ngIf=\"!loading\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No Users found.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentTab === 'GROUP'\">\r\n <ng-container *ngIf=\"(groupsList|search:searchKey:'group_name') as groups\">\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"groups?.length > 0; else nogroup\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox #group [checked]=\"allGroupSelected\" [disabled]=\"allGroupSelectedDisabled\" (change)=\"selectAllGroup($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!group?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <li class=\"vx-mb-3\" *ngFor=\"let group of groups\">\r\n <vui-checkbox (change)=\"selectGroup($event,group)\" [disabled]=\"nonRemovableGroupIds?.includes(group?.group_id)\" [checked]=\"selectedGroupIds?.includes(group?.group_id)\">\r\n <div class=\"user-name vx-d-flex vx-align-center vx-w-100\" [appTooltip]=\"group?.group_name\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">\r\n <div class=\"group-name\">{{group?.group_name}} </div>\r\n <span class=\"counter vx-fs-9 vx-fw-600 vx-pl-1 vx-pr-1 vx-lh-3 vx-tt-uppercase\">{{group?.member_count}} {{group?.member_count > 1 ? 'USERS' :'USER'}}</span></div>\r\n </vui-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nogroup>\r\n <app-no-data *ngIf=\"!loading\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No data to display.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"user-group-list-footer\">\r\n <vui-floating-bar *ngIf=\"(!singleSelect || (!singleSelect && selectedReviewer))\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\" (workflowTypeChanged) = \"workflowTypeChanged($event)\" [selectedWorkflow]=\"reviewerWorkflowType\" [showWorkflow]=\"selectedReviewer\" [groupSelected]=\"selectedGroups\" [mode]=\"mode\">\r\n <ng-container *ngIf=\"!groupEnabled\">\r\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2 vx-mr-2\" *ngFor=\"let element of selectedUsers?.slice(0,1);let i = index\">\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\" (click)=\"selectItem({target:{checked:false}},element)\"></i>\r\n <span class=\"chipName vx-fs-11 vx-label-txt\" [appTooltip]=\"element?.member_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{element?.member_name}}</span>\r\n <button *ngIf=\"selectedUsers?.length>1\" class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 greenBg\" appPopover (click)=\"groupDisable.popover()\" placement=\"left\">+{{selectedUsers?.slice(1)?.length}}</button>\r\n </div>\r\n\r\n <!-- <div class=\"chip\" *ngFor=\"let element of selectedUsers?.slice(0,1);let i = index\"><i *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\" (click)=\"selectItem({target:{checked:false}},element)\" class=\"icons\"></i> <span>{{element?.member_name}}</span></div>\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length>1\" appPopover (click)=\"groupDisable.popover()\"\r\n placement=\"left\">+{{selectedUsers?.slice(1)?.length}}</div> -->\r\n </ng-container>\r\n <div class=\"user-group-chip\" *ngIf=\"selectedUsers?.length && groupEnabled\">\r\n <i class=\"icons cross\" *ngIf=\"!nonRemovableUserIds?.includes(selectedUsers[0]?.member_id)\" (click)=\"selectItem({target:{checked:false}},selectedUsers[0])\"></i>\r\n <div class=\"user-group-name\">{{selectedUsers[0]?.member_name}}</div>\r\n <ng-container *ngIf=\"groupEnabled\">\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length > 1\" appPopover (click)=\"userCount.popover()\"\r\n placement=\"left\">+{{selectedUsers?.length - 1}}</div>\r\n </ng-container>\r\n </div>\r\n <div class=\"name userGroup-name\">\r\n <!-- {{selectedGroups && selectedGroups?.length > 0 ?' & ':''}} -->\r\n <span class=\"userGroup-text\" *ngIf=\"selectedUsers?.length === 1\">User {{selectedGroups?.length > 0 ?' & ':' selected'}}</span>\r\n <span class=\"userGroup-text\" *ngIf=\"selectedUsers?.length > 1\">Users {{selectedGroups?.length > 0 ?' & ':'selected'}}</span>\r\n </div>\r\n\r\n <div class=\"user-group-chip\" *ngIf=\"selectedGroups?.length\">\r\n <i class=\"icons cross\" *ngIf=\"!nonRemovableGroupIds?.includes(selectedGroups[0]?.group_id)\" (click)=\"selectGroup({target:{checked:false}},selectedGroups[0])\"></i>\r\n <div class=\"user-group-name\">{{selectedGroups[0]?.group_name}}</div>\r\n <div class=\"counter group\" *ngIf=\"selectedGroups?.length > 1\" appPopover (click)=\"groupCount.popover()\"\r\n placement=\"left\">+{{selectedGroups?.length - 1}}</div>\r\n </div>\r\n <div class=\"name userGroup-name\">\r\n <span *ngIf=\"selectedGroups?.length === 1\">{{featureflag ?'User Group selected':'Group selected'}}</span>\r\n <span *ngIf=\"selectedGroups?.length > 1\">{{featureflag ?'User Groups selected':'Groups selected'}}</span>\r\n </div>\r\n\r\n <app-popover #userCount [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers | slice: 1; let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\"></i>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n <app-popover #groupDisable [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers.slice(1) let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\"></i>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n <app-popover #groupCount [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedGroups | slice: 1; let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableGroupIds?.includes(element?.group_id)\"\r\n (click)=\"selectGroup({target:{checked:false}},element)\"></i>\r\n {{element?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </vui-floating-bar>\r\n <vui-floating-bar *ngIf=\"singleSelect\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\">\r\n <div class=\"chip\" *ngIf=\"selectedUsers?.length\" >\r\n <ng-container>\r\n <i class=\"icons\" (click)=\"selectItem({target:{checked:false}},selectedUsers[0])\"></i>\r\n <span class=\"value\"> {{selectedUsers[0]?.member_name}}</span>\r\n </ng-container>\r\n </div>\r\n </vui-floating-bar>\r\n </div>\r\n </div>\r\n\r\n <div class=\"user-group-list-confirmation\" *ngIf=\"showConfirmation\">\r\n <div class=\"confirmation-top\">\r\n <div class=\"icon-block\"><i class=\"icons\"></i></div>\r\n <div class=\"text\">This action will reset the default {{userType}} selected for the Program.</div>\r\n </div>\r\n <div class=\"confirmation-bottom\">\r\n <div class=\"message\">Are you sure you would like to proceed?</div>\r\n <div class=\"button-group\">\r\n <button class=\"no-btn\" (click)=\"confirmAction('NO')\">NO</button>\r\n <button class=\"yes-btn\" (click)=\"confirmAction('YES')\">YES</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n",
|
|
31132
|
+
template: "<div class=\"user-group-list\" [class.animate]=\"animation\">\r\n <div class=\"user-group-list-head\">\r\n <h3 class=\"user-group-list-title\">{{panelTitle}}</h3>\r\n </div>\r\n <div class=\"user-group-list-body\">\r\n <div class=\"user-group-list-body-inner\">\r\n <app-loader-inline *ngIf=\"loading\"></app-loader-inline>\r\n <div class=\"user-group-list-tab vx-d-flex vx-align-center vx-mb-2\" *ngIf=\"groupEnabled\">\r\n <button (click)=\"switchTab('USER')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'USER'\">USERS\r\n <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{searchKey?.length && currentTab === 'USER' ? (usersList| filter : searchKey)?.length : usersList?.length || userListInfo?.total_items}}</span></button>\r\n <button (click)=\"switchTab('GROUP')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'GROUP'\">{{featureflag ? 'USER GROUPS':'GROUPS'}} <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{searchKey?.length && currentTab === 'GROUP' ? (groupsList|search:searchKey:'group_name')?.length :groupsList?.length || groupListInfo?.total_items}}</span></button>\r\n </div>\r\n\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input *ngIf=\"!featureflag\" [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search Group'}}\" />\r\n <input *ngIf=\"featureflag\" [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search User Group'}}\" />\r\n </div>\r\n\r\n <ng-container *ngIf=\"currentTab === 'USER' && !loading\">\r\n <ng-container *ngIf=\"(usersList|filter:searchKey) as users\">\r\n <vui-pagination *ngIf=\"userListInfo?.total_pages > 1 && usersList?.length !== userListInfo?.total_items\" [currentPage]=\"userCurrentPage\" [totalPage]=\"userListInfo?.total_pages\" (pageChanged)=\"userPageChange($event)\"></vui-pagination>\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"users?.length > 0;else nouser\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox *ngIf=\"!singleSelect\" #user [checked]=\"allUserSelected\" [disabled]=\"allUserSelectedDisabled\" (change)=\"selectAllUser($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!user?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <ng-container *ngFor=\"let user of users \" >\r\n <li class=\"vx-mb-3\" *ngIf=\"!singleSelect\" [appTooltip]=\"user |tooltipMessage: fromResponsibility:reviewerIds:overseerIds:assignorId:assigneeIds:'member_id':disabledIds?.includes(user?.member_id):FromProgram\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <vui-checkbox (change)=\"selectItem($event,user)\" [disabled]=\"disabledIds?.includes(user?.member_id)\" [checked]=\"selectedUserIds?.includes(user?.member_id)\"><div class=\"user-name\" >{{user?.member_name}}</div></vui-checkbox>\r\n </li>\r\n <li class=\"vx-mb-3\" *ngIf=\"singleSelect\">\r\n <app-cs-radio [name]=\"'radio-selector'\" (checkedEvent)=\"selectItemRadio($event,user)\"\r\n [name]=\"'rx-category'\" [checked]=\"selectedUserIds?.includes(user?.member_id)\"\r\n [appTooltip]=\"user?.member_email\" placement=\"bottom-left\"\r\n delay=\"0\" [tooltipMandatory]=\"true\">\r\n {{user?.member_name}}\r\n </app-cs-radio>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nouser>\r\n <app-no-data *ngIf=\"!loading\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No Users found.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentTab === 'GROUP'\">\r\n <ng-container *ngIf=\"(groupsList|search:searchKey:'group_name') as groups\">\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"groups?.length > 0; else nogroup\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox #group [checked]=\"allGroupSelected\" [disabled]=\"allGroupSelectedDisabled\" (change)=\"selectAllGroup($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!group?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <li class=\"vx-mb-3\" *ngFor=\"let group of groups\">\r\n <vui-checkbox (change)=\"selectGroup($event,group)\" [disabled]=\"nonRemovableGroupIds?.includes(group?.group_id)\" [checked]=\"selectedGroupIds?.includes(group?.group_id)\">\r\n <div class=\"user-name vx-d-flex vx-align-center vx-w-100\" [appTooltip]=\"group?.group_name\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">\r\n <div class=\"group-name\">{{group?.group_name}} </div>\r\n <span class=\"counter vx-fs-9 vx-fw-600 vx-pl-1 vx-pr-1 vx-lh-3 vx-tt-uppercase\">{{group?.member_count}} {{group?.member_count > 1 ? 'USERS' :'USER'}}</span></div>\r\n </vui-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nogroup>\r\n <app-no-data *ngIf=\"!loading\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No data to display.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"user-group-list-footer\">\r\n <vui-floating-bar *ngIf=\"(!singleSelect || (!singleSelect && selectedReviewer))\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\" (workflowTypeChanged) = \"workflowTypeChanged($event)\" [selectedWorkflow]=\"reviewerWorkflowType\" [showWorkflow]=\"selectedReviewer\" [groupSelected]=\"selectedGroups\" [mode]=\"mode\" [nextDisabled]=\"fromApprovalWorkflow && selectedUsers?.length === 0\">\r\n <ng-container *ngIf=\"!groupEnabled\">\r\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2 vx-mr-2\" *ngFor=\"let element of selectedUsers?.slice(0,1);let i = index\">\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\" (click)=\"selectItem({target:{checked:false}},element)\"></i>\r\n <div *ngIf=\"fromApprovalWorkflow && approvalWorkflowType.toLowerCase() === 'sequential'\" class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\">{{\r\n 1 == selectedUsers?.length\r\n ? \"Final\"\r\n : 1\r\n }}</div>\r\n <span class=\"chipName vx-fs-11 vx-label-txt\" [appTooltip]=\"element?.member_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{element?.member_name}}</span>\r\n <button *ngIf=\"selectedUsers?.length>1\" class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 greenBg\" appPopover (click)=\"groupDisable.popover()\" placement=\"left\">+{{selectedUsers?.slice(1)?.length}}</button>\r\n </div>\r\n\r\n <!-- <div class=\"chip\" *ngFor=\"let element of selectedUsers?.slice(0,1);let i = index\"><i *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\" (click)=\"selectItem({target:{checked:false}},element)\" class=\"icons\"></i> <span>{{element?.member_name}}</span></div>\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length>1\" appPopover (click)=\"groupDisable.popover()\"\r\n placement=\"left\">+{{selectedUsers?.slice(1)?.length}}</div> -->\r\n </ng-container>\r\n <div class=\"user-group-chip\" *ngIf=\"selectedUsers?.length && groupEnabled\">\r\n <i class=\"icons cross\" *ngIf=\"!nonRemovableUserIds?.includes(selectedUsers[0]?.member_id)\" (click)=\"selectItem({target:{checked:false}},selectedUsers[0])\"></i>\r\n <div class=\"user-group-name\">{{selectedUsers[0]?.member_name}}</div>\r\n <ng-container *ngIf=\"groupEnabled\">\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length > 1\" appPopover (click)=\"userCount.popover()\"\r\n placement=\"left\">+{{selectedUsers?.length - 1}}</div>\r\n </ng-container>\r\n </div>\r\n <div class=\"name userGroup-name\">\r\n <!-- {{selectedGroups && selectedGroups?.length > 0 ?' & ':''}} -->\r\n <span class=\"userGroup-text\" *ngIf=\"selectedUsers?.length === 1\">User {{selectedGroups?.length > 0 ?' & ':' selected'}}</span>\r\n <span class=\"userGroup-text\" *ngIf=\"selectedUsers?.length > 1\">Users {{selectedGroups?.length > 0 ?' & ':'selected'}}</span>\r\n </div>\r\n\r\n <div class=\"user-group-chip\" *ngIf=\"selectedGroups?.length\">\r\n <i class=\"icons cross\" *ngIf=\"!nonRemovableGroupIds?.includes(selectedGroups[0]?.group_id)\" (click)=\"selectGroup({target:{checked:false}},selectedGroups[0])\"></i>\r\n <div class=\"user-group-name\">{{selectedGroups[0]?.group_name}}</div>\r\n <div class=\"counter group\" *ngIf=\"selectedGroups?.length > 1\" appPopover (click)=\"groupCount.popover()\"\r\n placement=\"left\">+{{selectedGroups?.length - 1}}</div>\r\n </div>\r\n <div class=\"name userGroup-name\">\r\n <span *ngIf=\"selectedGroups?.length === 1\">{{featureflag ?'User Group selected':'Group selected'}}</span>\r\n <span *ngIf=\"selectedGroups?.length > 1\">{{featureflag ?'User Groups selected':'Groups selected'}}</span>\r\n </div>\r\n\r\n <app-popover #userCount [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers | slice: 1; let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\"></i>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n <app-popover #groupDisable [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers.slice(1) let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\"></i>\r\n <span *ngIf=\"fromApprovalWorkflow && approvalWorkflowType.toLowerCase() === 'sequential'\" class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\">{{\r\n i+1 ===\r\n selectedUsers?.length - 1\r\n ? \"Final\"\r\n : i + 2\r\n }}</span>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n <app-popover #groupCount [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedGroups | slice: 1; let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableGroupIds?.includes(element?.group_id)\"\r\n (click)=\"selectGroup({target:{checked:false}},element)\"></i>\r\n {{element?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </vui-floating-bar>\r\n <vui-floating-bar *ngIf=\"singleSelect\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\" [nextDisabled]=\"fromApprovalWorkflow && selectedUsers?.length === 0\">\r\n <div class=\"chip\" *ngIf=\"selectedUsers?.length\" >\r\n <ng-container>\r\n <i class=\"icons\" (click)=\"selectItem({target:{checked:false}},selectedUsers[0])\"></i>\r\n <span class=\"value\"> {{selectedUsers[0]?.member_name}}</span>\r\n </ng-container>\r\n </div>\r\n </vui-floating-bar>\r\n </div>\r\n </div>\r\n\r\n <div class=\"user-group-list-confirmation\" *ngIf=\"showConfirmation\">\r\n <div class=\"confirmation-top\">\r\n <div class=\"icon-block\"><i class=\"icons\"></i></div>\r\n <div class=\"text\">This action will reset the default {{userType}} selected for the Program.</div>\r\n </div>\r\n <div class=\"confirmation-bottom\">\r\n <div class=\"message\">Are you sure you would like to proceed?</div>\r\n <div class=\"button-group\">\r\n <button class=\"no-btn\" (click)=\"confirmAction('NO')\">NO</button>\r\n <button class=\"yes-btn\" (click)=\"confirmAction('YES')\">YES</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n",
|
|
31082
31133
|
styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";::ng-deep .user-group-list{background:#ffffff;position:fixed;top:0;right:500px;bottom:0;left:0}::ng-deep .user-group-list:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .user-group-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .user-group-list-head{background:#fbfbfb;height:44px;padding:0 16px;display:flex;justify-content:space-between;align-items:center;border:1px solid #f1f1f1;border-right:none}::ng-deep .user-group-list-title{color:#161b2f;font-size:14px;font-weight:500;margin:0!important;padding:0}::ng-deep .user-group-list-body{padding:32px 32px 0;height:calc(100vh - 124px)}::ng-deep .user-group-list-body .search-block{position:relative}::ng-deep .user-group-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.75rem .75rem .75rem 2.5rem;outline:none;border:1px solid #7475763F;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .user-group-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .user-group-list-body .search-block input::placeholder{font-size:14px;color:#747576}::ng-deep .user-group-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .user-group-list-mid{width:calc(100% + .75rem);height:calc(100vh - 15.75rem);overflow:hidden;overflow-y:auto;margin-bottom:.5rem;padding-right:.75rem}::ng-deep .user-group-list-mid::-webkit-scrollbar-track{background-color:#fff}::ng-deep .user-group-list-mid.with-pagination{height:calc(100vh - 17.5rem)}::ng-deep .user-group-list-mid .selected-owners{border-bottom:1px solid #dbdbdb}::ng-deep .user-group-list-mid .user-list-select{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item,::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item{position:relative;padding-left:1.5rem;width:100%}::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item .checkbox,::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item .checkbox{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item .checkmark,::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item .checkmark{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item span,::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item span{justify-content:unset!important;margin:0!important}::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item span.value,::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item span.value{color:#161b2f!important;font-size:11px!important;font-weight:600!important;text-transform:uppercase!important;width:100%}::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item span.value .user-name,::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item span.value .user-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .user-group-list-mid .user-list-item ul{list-style-type:none;align-items:flex-start;flex-wrap:wrap}::ng-deep .user-group-list-mid .user-list-item ul li{width:50%}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox{width:calc(100% - 4.5rem)}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item{position:relative;padding-left:1.5rem;width:100%}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item .checkbox{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item .checkmark{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span{justify-content:unset!important;margin:0!important}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value{color:#161b2f!important;font-size:12px!important;width:100%}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value .user-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value .user-name .group-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 2.5rem)}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value .counter{background:#f1f1f1;border-radius:.125rem;color:#042e7d;margin-left:.5rem!important}::ng-deep .user-group-list-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.1875rem solid transparent;margin-right:1.75rem!important}::ng-deep .user-group-list-tab button.tab-btn span{border-radius:1.25rem;color:#74757680;min-width:1.5rem}::ng-deep .user-group-list-tab button.active{pointer-events:none}::ng-deep .user-group-list-tab button.active.tab-btn{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .user-group-list-tab button.active.tab-btn span{background:#1E5DD3;color:#fff;font-weight:500}::ng-deep .user-group-list-confirmation{background:#161B2F;border-radius:.25rem;position:absolute;left:1rem;right:1rem;bottom:1.75rem;z-index:1}::ng-deep .user-group-list-confirmation .confirmation-top{display:flex;align-items:center;justify-content:flex-start;padding:1.25rem}::ng-deep .user-group-list-confirmation .confirmation-top .icon-block{height:2.25rem;width:2.25rem;border-radius:50%;background:#fff;border:1px solid #dbdbdb;display:flex;justify-content:center;align-items:center;margin-right:1rem}::ng-deep .user-group-list-confirmation .confirmation-top .icon-block i{color:#eb2424;font-size:12px}::ng-deep .user-group-list-confirmation .confirmation-top .text{color:#fff;font-size:14px;font-weight:300}::ng-deep .user-group-list-confirmation .confirmation-bottom{background:#282E48;border-radius:0 0 .25rem .25rem;padding:.75rem .75rem .75rem 1.25rem;display:flex;align-items:center;justify-content:space-between}::ng-deep .user-group-list-confirmation .confirmation-bottom .message{font-size:14px;font-weight:500;line-height:20px;color:#fff}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group{display:flex}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group button{height:1.5rem;width:4rem;border:1px solid #fff;border-radius:.125rem;display:flex;align-items:center;justify-content:center;line-height:22px;cursor:pointer;font-size:11px;text-transform:uppercase;font-weight:500;padding:0}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group button.no-btn{background:transparent;color:#fff}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group button.yes-btn{background:#fff;color:#1e5dd3;margin-left:.25rem}.group{background:#1e5dd3!important;border-color:#1e5dd3!important}.wf-action-list{width:220px}.wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#ffffff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.wf-action-list ul.action-item{display:block}.wf-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}.wf-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}.wf-action-list ul.action-item li button .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 16px)}.wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}.wf-action-list ul.action-item li button:hover{background:#f3f3f3}.wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.wf-action-list ul.action-item li .avatar-card.within-con{display:block}.wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;min-width:24px!important;overflow:hidden;background:#1E5DD3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}.wf-action-list ul.action-item li .avatar-card .avatar img{background:#fff;width:100%;height:100%}.wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.wf-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;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}.wf-action-list ul.action-item li .avatar-card.no-image{display:block}.wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.wf-action-list ul.action-item li .avatar-card i.delete-icon{color:#d93b41;cursor:pointer;font-size:14px}.wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.wf-action-list ul.action-item li .chip-item i{color:#747576;margin-left:7px;font-size:10px;cursor:pointer;display:inline-flex}.wf-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}.wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.wf-action-list ul.action-item li .chip-item span.id{font-size:9px}.wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.wf-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}.wf-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}.wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}\n"]
|
|
31083
31134
|
},] }
|
|
31084
31135
|
];
|
|
@@ -31103,6 +31154,8 @@
|
|
|
31103
31154
|
FromProgram: [{ type: i0.Input }],
|
|
31104
31155
|
userListInfo: [{ type: i0.Input }],
|
|
31105
31156
|
groupListInfo: [{ type: i0.Input }],
|
|
31157
|
+
fromApprovalWorkflow: [{ type: i0.Input }],
|
|
31158
|
+
approvalType: [{ type: i0.Input }],
|
|
31106
31159
|
fetchUserData: [{ type: i0.Output }],
|
|
31107
31160
|
disabledIds: [{ type: i0.Input }],
|
|
31108
31161
|
nonRemovableUserIds: [{ type: i0.Input }],
|
|
@@ -36014,7 +36067,7 @@
|
|
|
36014
36067
|
SelectApproversComponent.decorators = [
|
|
36015
36068
|
{ type: i0.Component, args: [{
|
|
36016
36069
|
selector: 'app-select-approvers',
|
|
36017
|
-
template: "<div class=\"select-approvers-dialog\">\r\n <div class=\"select-approvers-dialog-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Approvers & Approval Workflow</div>\r\n </div>\r\n <div class=\"select-approvers-dialog-body\">\r\n <div class=\"select-approvers-dialog-body-inner\">\r\n <!-- Step 1 -->\r\n <div class=\"approvers-form-group vx-mb-2\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">STEP 1: APPROVAL LEVEL NAME <span class=\"vx-fs-14 vx-txt-red\">*</span></div>\r\n <input [(ngModel)]=\"approvalLevelName\" class=\"textField\" type=\"text\" placeholder=\"Level 1\" />\r\n </div>\r\n\r\n <!-- Step 2 -->\r\n <div class=\"approvers-form-group vx-mb-2\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">STEP 2: APPROVAL WORKFLOW TYPE <span class=\"vx-fs-14 vx-txt-red\">*</span></div>\r\n <div class=\"vx-d-flex vx-align-center vx-justify-between\">\r\n <app-cs-radio [checked]=\"selectedType === 'SEQUENTIAL'\">\r\n <div (click)=\"approvalType('SEQUENTIAL')\" class=\"approval-type vx-d-flex vx-align-center vx-justify-between vx-p-2 vx-pl-3 vx-pr-3\">\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/sequential.svg\" />\r\n <div class=\"vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase\">SEQUENTIAL</div>\r\n <i class=\"icons vx-fs-12 vx-txt-blue vx-ml-2\" [appTooltip]=\"'The policy would be sent for approval one at a time in the sequence defined by you.'\" placement=\"bottom\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\"></i>\r\n </div>\r\n <div class=\"vx-d-block\">\r\n <span class=\"circle-selection\"></span>\r\n <i class=\"icons ckeck-selection vx-fs-16\"></i>\r\n </div>\r\n </div>\r\n </app-cs-radio>\r\n <app-cs-radio [checked]=\"selectedType === 'ROUNDROBIN'\">\r\n <div (click)=\"approvalType('ROUNDROBIN')\" class=\"approval-type vx-d-flex vx-align-center vx-justify-between vx-p-2 vx-pl-3 vx-pr-3\">\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/round-robin.svg\" />\r\n <div class=\"vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase\">ROUND-ROBIN</div>\r\n <i class=\"icons vx-fs-12 vx-txt-blue vx-ml-2\" [appTooltip]=\"'The policy will be sent for approval to all approvers at the same time. However, it is mandatory for all approvers to take action.'\" placement=\"bottom\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\"></i>\r\n </div>\r\n <div class=\"vx-d-block\">\r\n <span class=\"circle-selection\"></span>\r\n <i class=\"icons ckeck-selection vx-fs-16\"></i>\r\n </div>\r\n </div>\r\n </app-cs-radio>\r\n <app-cs-radio [checked]=\"selectedType === 'ANYONE'\">\r\n <div (click)=\"approvalType('ANYONE')\" class=\"approval-type vx-d-flex vx-align-center vx-justify-between vx-p-2 vx-pl-3 vx-pr-3\">\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/anyone.svg\" />\r\n <div class=\"vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase\">ANY ONE</div>\r\n <i class=\"icons vx-fs-12 vx-txt-blue vx-ml-2\" [appTooltip]=\"'The policy will be sent for approval to all approvers at the same time. If anyone of the approver approves the policy, it will be considered as approved.'\" placement=\"bottom\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\"></i>\r\n </div>\r\n <div class=\"vx-d-block\">\r\n <span class=\"circle-selection\"></span>\r\n <i class=\"icons ckeck-selection vx-fs-16\"></i>\r\n </div>\r\n </div>\r\n </app-cs-radio>\r\n </div>\r\n </div>\r\n\r\n <!-- Step 3 -->\r\n <div class=\"approvers-form-group\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">STEP 3: APPROVERS <span class=\"vx-fs-14 vx-txt-red\">*</span></div>\r\n <div class=\"approvers-user-group\">\r\n <!-- <app-owner-list [listHeading]=\"'Select Approvers'\" [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\" [usersList]=\"allApprovers\" [showWorkflow]=\"true\" [usersList]=\"allApprovers\" [userIdKey]=\"'member_id'\" [itemEmailKey]=\"'member_email'\" [itemNameKey]=\"'member_name'\" [mode]=\"'CREATE'\"></app-owner-list> -->\r\n <user-group-list [userlist]=\"allApprovers\" [groupEnabled]=\"false\" (cancel)=\"closeUserList()\" (save)=\"selectedUsers($event)\" [selectedUsers] = \"editApprovalData[0]?.approvers\r\n \"></user-group-list>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n",
|
|
36070
|
+
template: "<div class=\"select-approvers-dialog\">\r\n <div class=\"select-approvers-dialog-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Approvers & Approval Workflow</div>\r\n </div>\r\n <div class=\"select-approvers-dialog-body\">\r\n <div class=\"select-approvers-dialog-body-inner\">\r\n <!-- Step 1 -->\r\n <div class=\"approvers-form-group vx-mb-2\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">STEP 1: APPROVAL LEVEL NAME <span class=\"vx-fs-14 vx-txt-red\">*</span></div>\r\n <input [(ngModel)]=\"approvalLevelName\" class=\"textField\" type=\"text\" placeholder=\"Level 1\" />\r\n </div>\r\n\r\n <!-- Step 2 -->\r\n <div class=\"approvers-form-group vx-mb-2\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">STEP 2: APPROVAL WORKFLOW TYPE <span class=\"vx-fs-14 vx-txt-red\">*</span></div>\r\n <div class=\"vx-d-flex vx-align-center vx-justify-between\">\r\n <app-cs-radio [checked]=\"selectedType === 'SEQUENTIAL'\">\r\n <div (click)=\"approvalType('SEQUENTIAL')\" class=\"approval-type vx-d-flex vx-align-center vx-justify-between vx-p-2 vx-pl-3 vx-pr-3\">\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/sequential.svg\" />\r\n <div class=\"vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase\">SEQUENTIAL</div>\r\n <i class=\"icons vx-fs-12 vx-txt-blue vx-ml-2\" [appTooltip]=\"'The policy would be sent for approval one at a time in the sequence defined by you.'\" placement=\"bottom\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\"></i>\r\n </div>\r\n <div class=\"vx-d-block\">\r\n <span class=\"circle-selection\"></span>\r\n <i class=\"icons ckeck-selection vx-fs-16\"></i>\r\n </div>\r\n </div>\r\n </app-cs-radio>\r\n <app-cs-radio [checked]=\"selectedType === 'ROUNDROBIN'\">\r\n <div (click)=\"approvalType('ROUNDROBIN')\" class=\"approval-type vx-d-flex vx-align-center vx-justify-between vx-p-2 vx-pl-3 vx-pr-3\">\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/round-robin.svg\" />\r\n <div class=\"vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase\">ROUND-ROBIN</div>\r\n <i class=\"icons vx-fs-12 vx-txt-blue vx-ml-2\" [appTooltip]=\"'The policy will be sent for approval to all approvers at the same time. However, it is mandatory for all approvers to take action.'\" placement=\"bottom\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\"></i>\r\n </div>\r\n <div class=\"vx-d-block\">\r\n <span class=\"circle-selection\"></span>\r\n <i class=\"icons ckeck-selection vx-fs-16\"></i>\r\n </div>\r\n </div>\r\n </app-cs-radio>\r\n <app-cs-radio [checked]=\"selectedType === 'ANYONE'\">\r\n <div (click)=\"approvalType('ANYONE')\" class=\"approval-type vx-d-flex vx-align-center vx-justify-between vx-p-2 vx-pl-3 vx-pr-3\">\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/anyone.svg\" />\r\n <div class=\"vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase\">ANY ONE</div>\r\n <i class=\"icons vx-fs-12 vx-txt-blue vx-ml-2\" [appTooltip]=\"'The policy will be sent for approval to all approvers at the same time. If anyone of the approver approves the policy, it will be considered as approved.'\" placement=\"bottom\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\"></i>\r\n </div>\r\n <div class=\"vx-d-block\">\r\n <span class=\"circle-selection\"></span>\r\n <i class=\"icons ckeck-selection vx-fs-16\"></i>\r\n </div>\r\n </div>\r\n </app-cs-radio>\r\n </div>\r\n </div>\r\n\r\n <!-- Step 3 -->\r\n <div class=\"approvers-form-group\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">STEP 3: APPROVERS <span class=\"vx-fs-14 vx-txt-red\">*</span></div>\r\n <div class=\"approvers-user-group\">\r\n <!-- <app-owner-list [listHeading]=\"'Select Approvers'\" [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\" [usersList]=\"allApprovers\" [showWorkflow]=\"true\" [usersList]=\"allApprovers\" [userIdKey]=\"'member_id'\" [itemEmailKey]=\"'member_email'\" [itemNameKey]=\"'member_name'\" [mode]=\"'CREATE'\"></app-owner-list> -->\r\n <user-group-list [userlist]=\"allApprovers\" [groupEnabled]=\"false\" (cancel)=\"closeUserList()\" (save)=\"selectedUsers($event)\" [selectedUsers] = \"editApprovalData[0]?.approvers\r\n \" [fromApprovalWorkflow]=\"true\" [approvalType]=\"selectedType\"></user-group-list>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n",
|
|
36018
36071
|
styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .select-approvers-dialog{position:fixed;top:0;right:500px;bottom:0;left:0}::ng-deep .select-approvers-dialog:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .select-approvers-dialog-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .select-approvers-dialog-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .select-approvers-dialog-body-inner{height:calc(100vh - 10.5rem);overflow:hidden;overflow-y:auto;padding-right:.75rem;width:calc(100% + .75rem)}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group app-cs-radio{width:calc(33.33% - .25rem)}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group app-cs-radio .radio-item{width:100%}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group app-cs-radio .radio-item .radio,::ng-deep .select-approvers-dialog-body-inner .approvers-form-group app-cs-radio .radio-item .radiomark{display:none!important}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group app-cs-radio .radio-item .value{margin-left:0!important;max-width:100%!important;width:100%}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group app-cs-radio .radio-item .value .approval-type{border-radius:.25rem;border:1px solid #dbdbdb;width:100%}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group app-cs-radio .radio-item .value .approval-type img{height:2rem;margin-right:.75rem}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group app-cs-radio .radio-item .value .approval-type .circle-selection{border-radius:50%;border:1px solid #dbdbdb;display:block;width:1rem;min-width:1rem;height:1rem}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group app-cs-radio .radio-item .value .approval-type .ckeck-selection{color:#34aa44;display:none}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group app-cs-radio .radio-item input[type=radio]:checked~.value .approval-type{background:#EEFCF0;border:1px solid #34AA44}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group app-cs-radio .radio-item input[type=radio]:checked~.value .approval-type .circle-selection{display:none}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group app-cs-radio .radio-item input[type=radio]:checked~.value .approval-type .ckeck-selection{display:block}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group .approvers-user-group user-group-list .user-group-list{position:static!important;animation:none!important}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group .approvers-user-group user-group-list .user-group-list:before{display:none!important}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group .approvers-user-group user-group-list .user-group-list .user-group-list{animation:none!important}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group .approvers-user-group user-group-list .user-group-list .user-group-list-head{display:none!important}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group .approvers-user-group user-group-list .user-group-list .user-group-list-body{padding:0!important;height:auto!important}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group .approvers-user-group user-group-list .user-group-list .user-group-list-body-inner{border-radius:.25rem;border:1px solid #dbdbdb;padding-top:.75rem}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group .approvers-user-group user-group-list .user-group-list .user-group-list-body .user-group-list-tab{border-bottom:1px solid #dbdbdb;padding:.75rem .75rem 0}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group .approvers-user-group user-group-list .user-group-list .user-group-list-body .search-block{padding:0 .75rem}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group .approvers-user-group user-group-list .user-group-list .user-group-list-body .search-block i{left:1.75rem}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group .approvers-user-group user-group-list .user-group-list .user-group-list-body .user-group-list-mid{padding:0 .75rem;width:100%;height:auto}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group .approvers-user-group user-group-list .user-group-list .user-group-list-mid{height:calc(100vh - 25.95rem)}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group .approvers-user-group user-group-list .user-group-list .user-group-list-footer{position:fixed;bottom:2rem;left:2rem;width:calc(100% - 35.25rem)}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group .approvers-user-group user-group-list .user-group-list .user-group-list-footer vui-floating-bar .reviewer-floating-bar{padding:0!important}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group .approvers-user-group app-owner-list .add-risk-owner-list{position:static!important}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group .approvers-user-group app-owner-list .add-risk-owner-list:before{display:none!important}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group .approvers-user-group app-owner-list .add-risk-owner-list .add-risk-owner-list-head{display:none!important}::ng-deep .select-approvers-dialog-body-inner .approvers-form-group .approvers-user-group app-owner-list .add-risk-owner-list .add-risk-owner-list-body{border-radius:.25rem;border:1px solid #dbdbdb;padding:0!important;height:auto!important;margin-bottom:1rem}\n"]
|
|
36019
36072
|
},] }
|
|
36020
36073
|
];
|
|
@@ -36448,7 +36501,7 @@
|
|
|
36448
36501
|
ApprovalWorkflowListComponent.decorators = [
|
|
36449
36502
|
{ type: i0.Component, args: [{
|
|
36450
36503
|
selector: 'app-approval-workflow-list',
|
|
36451
|
-
template: "<div class=\"approval-workflow-list-dialog\">\r\n <div\r\n class=\"approval-workflow-list-dialog-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Approval Workflow</div>\r\n </div>\r\n <div class=\"approval-workflow-list-dialog-body\">\r\n <div *ngIf=\"true\" class=\"approval-workflow-list-dialog-body-inner\">\r\n <div class=\"approval-table\">\r\n <div class=\"approval-table-head\">\r\n <div class=\"approval-table-row\">\r\n <div\r\n class=\"approval-table-column vx-fs-11 vx-fw-500 vx-tt-uppercase serial\"\r\n >\r\n #\r\n </div>\r\n <div\r\n class=\"approval-table-column vx-fs-11 vx-fw-500 vx-tt-uppercase workflow\"\r\n >\r\n APPROVAL WORKFLOWS\r\n </div>\r\n <button\r\n (click)=\"createApprovalClick(true)\"\r\n class=\"create-approval-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0\"\r\n >\r\n + CREATE AN APPROVAL WORKFLOW\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"approval-table-body\">\r\n <ng-container\r\n *ngFor=\"let approvalWorkflow of approverWorkFlowList; let i = index\"\r\n >\r\n <div\r\n (click)=\"showDetails(approvalWorkflow?._id)\"\r\n class=\"approval-table-row clickable\"\r\n [class.active]=\"selectedWorkflow?._id === approvalWorkflow?._id\"\r\n [class.open]=\"approvalWorkflow?._id === openIndexId\"\r\n >\r\n <div class=\"approval-table-column serial\">\r\n <div\r\n class=\"sr-no\"\r\n [appTooltip]=\"i + 1\"\r\n placement=\"bottom\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ i + 1 }}\r\n </div>\r\n <app-cs-radio\r\n [checked]=\"selectedWorkflow?._id === approvalWorkflow?._id\"\r\n (checkedEvent)=\"selectApproval(approvalWorkflow)\"\r\n ></app-cs-radio>\r\n </div>\r\n <div class=\"approval-table-column workflow\">\r\n <div\r\n class=\"name vx-fs-12 vx-label-txt\"\r\n [appTooltip]=\"approvalWorkflow?.workflow_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ approvalWorkflow?.workflow_name }}\r\n </div>\r\n </div>\r\n <div class=\"approval-table-column action\" appStopPropagation>\r\n <button\r\n appPopover\r\n (click)=\"moreAction.popover()\"\r\n placement=\"right\"\r\n class=\"more-action vx-fs-16 vx-txt-blue vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <i class=\"icons\"></i>\r\n </button>\r\n <app-popover #moreAction>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li>\r\n <button (click)=\"onEdit(approvalWorkflow)\">\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </li>\r\n <!-- <li>\r\n <button><i class=\"icons\"></i> Delete</button>\r\n </li> -->\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <div class=\"approval-table-column action\">\r\n <button\r\n class=\"arrow vx-fs-12 vx-paragraph-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <i *ngIf=\"approvalWorkflow?._id !== openIndexId\" class=\"icons\"\r\n ></i\r\n >\r\n <i *ngIf=\"approvalWorkflow?._id === openIndexId\" class=\"icons\"\r\n ></i\r\n >\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"approvalWorkflow?._id === openIndexId\"\r\n class=\"approval-table-details\"\r\n >\r\n <div class=\"details-item vx-mb-4\">\r\n <div\r\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n >\r\n POLICY CATEGORIES:\r\n </div>\r\n <div class=\"vx-d-flex\">\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2 vx-mr-1\"\r\n *ngFor=\"\r\n let category of approvalWorkflow?.category_arr\r\n | slice : 0 : 3\r\n \"\r\n >\r\n <div\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"'Human Resource Policy'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ category?.category_name }}\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"approvalWorkflow?.category_arr?.length > 3\"\r\n appPopover\r\n (click)=\"criteriaAction.popover()\"\r\n placement=\"right\"\r\n class=\"details-chip-count vx-fs-11 vx-fw-500 vx-txt-blue vx-pl-1 vx-pr-1 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n + {{ approvalWorkflow?.category_arr?.length - 3 }}\r\n </button>\r\n <app-popover #criteriaAction>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let category of approvalWorkflow?.category_arr\r\n | slice : 3\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"category?.category_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ category?.category_name }}</span\r\n >\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n <div class=\"details-item vx-mb-1\">\r\n <div\r\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n >\r\n APPROVERS:\r\n </div>\r\n <div\r\n *ngFor=\"\r\n let approverLevel of approvalWorkflow?.approval_workflow;\r\n let k = index\r\n \"\r\n class=\"approver-item vx-mb-2 vx-pb-2 vx-d-flex vx-align-center\"\r\n >\r\n <div class=\"lavel-area vx-pl-1 vx-pr-1\">\r\n <div\r\n class=\"lavel-name vx-fs-9 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-lh-3\"\r\n [appTooltip]=\"approverLevel?.level1\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ approverLevel?.level1 }}\r\n </div>\r\n <div\r\n class=\"vx-fs-9 vx-fw-500 vx-label-txt vx-tt-uppercase vx-lh-3\"\r\n >\r\n {{\r\n (approverLevel?.type | lowercase) === \"roundrobin\"\r\n ? \"ROUND-ROBIN\"\r\n : (approverLevel?.type | lowercase) === \"anyone\"\r\n ? \"ANY ONE\"\r\n : approverLevel?.type\r\n }}\r\n </div>\r\n </div>\r\n <div class=\"lavel-chips vx-d-flex vx-flex-wrap\">\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2 vx-mr-1\"\r\n *ngFor=\"\r\n let approver of approverLevel?.approvers\r\n | slice : 0 : 3;\r\n let approverIndex = index\r\n \"\r\n >\r\n <div\r\n *ngIf=\"\r\n approverLevel?.type?.toLowerCase() === 'sequential' &&\r\n approverLevel?.approvers?.length < 3\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n {{\r\n approverIndex == approverLevel?.approvers?.length - 1\r\n ? \"Final\"\r\n : approverIndex + 1\r\n }}\r\n </div>\r\n <div\r\n *ngIf=\"\r\n approverLevel?.approvers?.length > 3 &&\r\n approverLevel?.type?.toLowerCase() === 'sequential'\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n {{ approverIndex + 1 }}\r\n </div>\r\n <div\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"approver?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ approver?.member_name }}\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"approverLevel?.approvers?.length > 3\"\r\n appPopover\r\n (click)=\"approversAction.popover()\"\r\n placement=\"right\"\r\n class=\"details-chip-count vx-fs-11 vx-fw-500 vx-txt-blue vx-pl-1 vx-pr-1 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n + {{ approverLevel?.approvers?.length - 3 }}\r\n </button>\r\n <app-popover #approversAction>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let approver of approverLevel?.approvers\r\n | slice : 3;\r\n let approverIndex = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <div\r\n *ngIf=\"\r\n approverLevel?.type?.toLowerCase() ===\r\n 'sequential'\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n {{\r\n approverIndex + 3 ===\r\n approverLevel?.approvers?.length - 1\r\n ? \"Final\"\r\n : approverIndex + 4\r\n }}\r\n </div>\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"approver?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ approver?.member_name }}</span\r\n >\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <vui-floating-bar\r\n (closeList)=\"cancelClicked()\"\r\n (closeEvent)=\"nextClicked()\"\r\n [nextDisabled]=\"isNextDisabled\"\r\n >\r\n <ng-container *ngIf=\"selectedWorkflow\">\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2 vx-mr-2\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"removeWorkflow()\"\r\n ></i\r\n >\r\n <span class=\"chipName vx-fs-11 vx-label-txt\">\r\n {{ selectedWorkflow?.workflow_name }}</span\r\n >\r\n </div>\r\n </ng-container>\r\n </vui-floating-bar>\r\n </div>\r\n</div>\r\n",
|
|
36504
|
+
template: "<div class=\"approval-workflow-list-dialog\">\r\n <div\r\n class=\"approval-workflow-list-dialog-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Approval Workflow</div>\r\n </div>\r\n <div class=\"approval-workflow-list-dialog-body\">\r\n <div *ngIf=\"true\" class=\"approval-workflow-list-dialog-body-inner\">\r\n <div class=\"approval-table\">\r\n <div class=\"approval-table-head\">\r\n <div class=\"approval-table-row\">\r\n <div\r\n class=\"approval-table-column vx-fs-11 vx-fw-500 vx-tt-uppercase serial\"\r\n >\r\n #\r\n </div>\r\n <div\r\n class=\"approval-table-column vx-fs-11 vx-fw-500 vx-tt-uppercase workflow\"\r\n >\r\n APPROVAL WORKFLOWS\r\n </div>\r\n <button\r\n (click)=\"createApprovalClick(true)\"\r\n class=\"create-approval-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0\"\r\n >\r\n + CREATE A NEW APPROVAL WORKFLOW\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"approval-table-body\">\r\n <ng-container\r\n *ngFor=\"let approvalWorkflow of approverWorkFlowList; let i = index\"\r\n >\r\n <div\r\n (click)=\"showDetails(approvalWorkflow?._id)\"\r\n class=\"approval-table-row clickable\"\r\n [class.active]=\"selectedWorkflow?._id === approvalWorkflow?._id\"\r\n [class.open]=\"approvalWorkflow?._id === openIndexId\"\r\n >\r\n <div class=\"approval-table-column serial\">\r\n <div\r\n class=\"sr-no\"\r\n [appTooltip]=\"i + 1\"\r\n placement=\"bottom\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ i + 1 }}\r\n </div>\r\n <app-cs-radio\r\n [checked]=\"selectedWorkflow?._id === approvalWorkflow?._id\"\r\n (checkedEvent)=\"selectApproval(approvalWorkflow)\"\r\n ></app-cs-radio>\r\n </div>\r\n <div class=\"approval-table-column workflow\">\r\n <div\r\n class=\"name vx-fs-12 vx-label-txt\"\r\n [appTooltip]=\"approvalWorkflow?.workflow_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ approvalWorkflow?.workflow_name }}\r\n </div>\r\n </div>\r\n <div class=\"approval-table-column action\" appStopPropagation>\r\n <button\r\n appPopover\r\n (click)=\"moreAction.popover()\"\r\n placement=\"right\"\r\n class=\"more-action vx-fs-16 vx-txt-blue vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <i class=\"icons\"></i>\r\n </button>\r\n <app-popover #moreAction>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li>\r\n <button (click)=\"onEdit(approvalWorkflow)\">\r\n <i class=\"icons\"></i> Edit\r\n </button>\r\n </li>\r\n <!-- <li>\r\n <button><i class=\"icons\"></i> Delete</button>\r\n </li> -->\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <div class=\"approval-table-column action\">\r\n <button\r\n class=\"arrow vx-fs-12 vx-paragraph-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <i *ngIf=\"approvalWorkflow?._id !== openIndexId\" class=\"icons\"\r\n ></i\r\n >\r\n <i *ngIf=\"approvalWorkflow?._id === openIndexId\" class=\"icons\"\r\n ></i\r\n >\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"approvalWorkflow?._id === openIndexId\"\r\n class=\"approval-table-details\"\r\n >\r\n <div class=\"details-item vx-mb-4\">\r\n <div\r\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n >\r\n POLICY CATEGORIES:\r\n </div>\r\n <div class=\"vx-d-flex\">\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2 vx-mr-1\"\r\n *ngFor=\"\r\n let category of approvalWorkflow?.category_arr\r\n | slice : 0 : 3\r\n \"\r\n >\r\n <div\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"'Human Resource Policy'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ category?.category_name }}\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"approvalWorkflow?.category_arr?.length > 3\"\r\n appPopover\r\n (click)=\"criteriaAction.popover()\"\r\n placement=\"right\"\r\n class=\"details-chip-count vx-fs-11 vx-fw-500 vx-txt-blue vx-pl-1 vx-pr-1 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n + {{ approvalWorkflow?.category_arr?.length - 3 }}\r\n </button>\r\n <app-popover #criteriaAction>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let category of approvalWorkflow?.category_arr\r\n | slice : 3\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"category?.category_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ category?.category_name }}</span\r\n >\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n <div class=\"details-item vx-mb-1\">\r\n <div\r\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n >\r\n APPROVERS:\r\n </div>\r\n <div\r\n *ngFor=\"\r\n let approverLevel of approvalWorkflow?.approval_workflow;\r\n let k = index\r\n \"\r\n class=\"approver-item vx-mb-2 vx-pb-2 vx-d-flex vx-align-center\"\r\n >\r\n <div class=\"lavel-area vx-pl-1 vx-pr-1\">\r\n <div\r\n class=\"lavel-name vx-fs-9 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-lh-3\"\r\n [appTooltip]=\"approverLevel?.alias_name ? approverLevel?.alias_name : approverLevel?.level1\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ approverLevel?.alias_name ? approverLevel?.alias_name : approverLevel?.level1 }}\r\n </div>\r\n <div\r\n class=\"vx-fs-9 vx-fw-500 vx-label-txt vx-tt-uppercase vx-lh-3\"\r\n >\r\n {{\r\n (approverLevel?.type | lowercase) === \"roundrobin\"\r\n ? \"ROUND-ROBIN\"\r\n : (approverLevel?.type | lowercase) === \"anyone\"\r\n ? \"ANY ONE\"\r\n : approverLevel?.type\r\n }}\r\n </div>\r\n </div>\r\n <div class=\"lavel-chips vx-d-flex vx-flex-wrap\">\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2 vx-mr-1\"\r\n *ngFor=\"\r\n let approver of approverLevel?.approvers\r\n | slice : 0 : 3;\r\n let approverIndex = index\r\n \"\r\n >\r\n <div\r\n *ngIf=\"\r\n approverLevel?.type?.toLowerCase() === 'sequential' &&\r\n approverLevel?.approvers?.length < 3\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n {{\r\n approverIndex == approverLevel?.approvers?.length - 1\r\n ? \"Final\"\r\n : approverIndex + 1\r\n }}\r\n </div>\r\n <div\r\n *ngIf=\"\r\n approverLevel?.approvers?.length > 3 &&\r\n approverLevel?.type?.toLowerCase() === 'sequential'\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n {{ approverIndex + 1 }}\r\n </div>\r\n <div\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"approver?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ approver?.member_name }}\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"approverLevel?.approvers?.length > 3\"\r\n appPopover\r\n (click)=\"approversAction.popover()\"\r\n placement=\"right\"\r\n class=\"details-chip-count vx-fs-11 vx-fw-500 vx-txt-blue vx-pl-1 vx-pr-1 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n + {{ approverLevel?.approvers?.length - 3 }}\r\n </button>\r\n <app-popover #approversAction>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let approver of approverLevel?.approvers\r\n | slice : 3;\r\n let approverIndex = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <div\r\n *ngIf=\"\r\n approverLevel?.type?.toLowerCase() ===\r\n 'sequential'\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n {{\r\n approverIndex + 3 ===\r\n approverLevel?.approvers?.length - 1\r\n ? \"Final\"\r\n : approverIndex + 4\r\n }}\r\n </div>\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"approver?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ approver?.member_name }}</span\r\n >\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <vui-floating-bar\r\n (closeList)=\"cancelClicked()\"\r\n (closeEvent)=\"nextClicked()\"\r\n [nextDisabled]=\"isNextDisabled\"\r\n >\r\n <ng-container *ngIf=\"selectedWorkflow\">\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2 vx-mr-2\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\r\n (click)=\"removeWorkflow()\"\r\n ></i\r\n >\r\n <span class=\"chipName vx-fs-11 vx-label-txt\">\r\n {{ selectedWorkflow?.workflow_name }}</span\r\n >\r\n </div>\r\n </ng-container>\r\n </vui-floating-bar>\r\n </div>\r\n</div>\r\n",
|
|
36452
36505
|
styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .approval-workflow-list-dialog{position:fixed;top:0;right:500px;bottom:0;left:0}::ng-deep .approval-workflow-list-dialog:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .approval-workflow-list-dialog-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .approval-workflow-list-dialog-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .approval-workflow-list-dialog-body-inner{height:calc(100vh - 10.75rem);overflow:hidden;overflow-y:auto;margin-bottom:1rem;padding-right:.5rem;width:calc(100% + .5rem)}::ng-deep .approval-workflow-list-dialog-body-inner::-webkit-scrollbar-track{background-color:#fff;position:absolute}::ng-deep .approval-workflow-list-dialog-body-inner::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .approval-workflow-list-dialog-body-inner::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-head{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-head .approval-table-row{border-radius:0;border:none;margin-bottom:0}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-head .approval-table-row .approval-table-column{color:#161b2f;height:1.5rem}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-body .approval-table-details{border:1px solid #f1f1f1;border-radius:0 0 .25rem .25rem;padding:1rem 2rem 0;margin-bottom:.25rem}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-body .approval-table-details .details-item button.details-chip-count{background:#fff;border-radius:.125rem;border:1px solid #f1f1f1;min-width:1.5rem;height:1.5rem}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-body .approval-table-details .details-item .approver-item{border-bottom:1px solid #f1f1f1}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-body .approval-table-details .details-item .approver-item .lavel-area{width:4.75rem}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-body .approval-table-details .details-item .approver-item .lavel-area .lavel-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:4rem}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-body .approval-table-details .details-item .approver-item .lavel-chips{width:calc(100% - 4.75rem)}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-row{border-radius:.25rem;border:1px solid #f1f1f1;display:flex;align-items:center;position:relative;margin-bottom:.25rem}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-row.clickable{cursor:pointer}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-row button.create-approval-btn{background:transparent;border-radius:0;border:none;position:absolute;top:.25rem;right:0}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-row:hover .approval-table-column.serial app-cs-radio,::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-row.active .approval-table-column.serial app-cs-radio{opacity:1}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-row.open{border-radius:.25rem .25rem 0 0;border-bottom:none;margin-bottom:0}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-column{color:#747576;height:40px;position:relative;width:100%;display:flex;align-items:center;padding:0 4px}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-column.serial{width:32px;max-width:32px;justify-content:center}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-column.serial.serial{width:32px;max-width:32px;justify-content:center}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-column.serial.serial .sr-no{width:16px;background:#f8f8f8;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 .approval-workflow-list-dialog-body-inner .approval-table-column.serial.serial app-cs-radio{position:absolute;top:12px;left:8px;opacity:0;transition:all .2s ease-in-out}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-column.workflow{width:calc(100% - 96px);min-width:calc(100% - 96px)}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-column.workflow .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 3rem)}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-column.action{width:32px;max-width:32px;justify-content:center}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-column.action button.more-action,::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-column.action button.arrow{background:transparent;border:none;border-radius:0;height:100%;width:100%}::ng-deep .approval-workflow-list-dialog-body-inner .approval-table-column.action button.disabled{opacity:.5!important;pointer-events:none}::ng-deep .approval-workflow-list-dialog-body vui-floating-bar .reviewer-floating-bar{padding:0!important}::ng-deep .approval-workflow-list-dialog-body vui-floating-bar .chipContainer{background:#fff;border-radius:.125rem;box-shadow:0 0 2px #1e5dd340;height:1.5rem}::ng-deep .approval-workflow-list-dialog-body vui-floating-bar .chipContainer .cross{cursor:pointer;min-width:16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:2px;margin-left:-4px}::ng-deep .approval-workflow-list-dialog-body vui-floating-bar .chipContainer .cross:hover{background:#f1f1f1}::ng-deep .approval-workflow-list-dialog-body vui-floating-bar .chipContainer .chipName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:6rem}\n"]
|
|
36453
36506
|
},] }
|
|
36454
36507
|
];
|
|
@@ -36507,6 +36560,9 @@
|
|
|
36507
36560
|
if ((_a = this.editWorkflowLevel) === null || _a === void 0 ? void 0 : _a.editLevel) {
|
|
36508
36561
|
this.editApproval((_b = this.editWorkflowLevel) === null || _b === void 0 ? void 0 : _b.editLevel, (_c = this.editWorkflowLevel) === null || _c === void 0 ? void 0 : _c.index);
|
|
36509
36562
|
}
|
|
36563
|
+
if (this.enableCreateForm) {
|
|
36564
|
+
this.enableApprovalCreate = true;
|
|
36565
|
+
}
|
|
36510
36566
|
};
|
|
36511
36567
|
ApprovalCreateFormComponent.prototype.createApprovalAction = function (event) {
|
|
36512
36568
|
if (event.toLowerCase() === 'approval') {
|
|
@@ -36542,10 +36598,13 @@
|
|
|
36542
36598
|
this.enablePolicyCategory = event;
|
|
36543
36599
|
};
|
|
36544
36600
|
ApprovalCreateFormComponent.prototype.closeSelectApprover = function () {
|
|
36601
|
+
var _a;
|
|
36545
36602
|
this.enableApprovalLevel = false;
|
|
36603
|
+
this.approvalWorkflows = this.approvalWorkflows.filter(function (workflow) { var _a; return (_a = workflow.approvers) === null || _a === void 0 ? void 0 : _a.length; });
|
|
36604
|
+
this.levels = ((_a = this.approvalWorkflows) === null || _a === void 0 ? void 0 : _a.length) + 1;
|
|
36546
36605
|
};
|
|
36547
36606
|
ApprovalCreateFormComponent.prototype.selectedApprover = function (event) {
|
|
36548
|
-
var _a, _b;
|
|
36607
|
+
var _a, _b, _c;
|
|
36549
36608
|
this.selectApprovalPayload = event;
|
|
36550
36609
|
if (this.editIndex !== -1) {
|
|
36551
36610
|
(_a = this.approvalWorkflows) === null || _a === void 0 ? void 0 : _a.splice(this.editIndex, 1);
|
|
@@ -36556,6 +36615,8 @@
|
|
|
36556
36615
|
else {
|
|
36557
36616
|
this.approvalWorkflows.push(event[0]);
|
|
36558
36617
|
}
|
|
36618
|
+
this.approvalWorkflows = this.approvalWorkflows.filter(function (workflow) { var _a; return (_a = workflow.approvers) === null || _a === void 0 ? void 0 : _a.length; });
|
|
36619
|
+
this.levels = ((_c = this.approvalWorkflows) === null || _c === void 0 ? void 0 : _c.length) + 1;
|
|
36559
36620
|
this.enableApprovalLevel = false;
|
|
36560
36621
|
};
|
|
36561
36622
|
ApprovalCreateFormComponent.prototype.deleteLevel = function (index) {
|
|
@@ -36683,7 +36744,7 @@
|
|
|
36683
36744
|
ApprovalCreateFormComponent.decorators = [
|
|
36684
36745
|
{ type: i0.Component, args: [{
|
|
36685
36746
|
selector: 'app-approval-create-form',
|
|
36686
|
-
template: "<div class=\"approval-workflow-dialog\">\r\n <div\r\n class=\"approval-workflow-dialog-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\r\n <button (click)=\"closeCreateForm()\" class=\"back-btn vx-p-0 vx-m-0\">\r\n <i class=\"icons vx-mr-1\"></i></button\r\n >Select Approval Workflow\r\n </div>\r\n </div>\r\n <div class=\"approval-workflow-dialog-body\">\r\n <app-no-data\r\n *ngIf=\"!approverWorkFlowList.length && !enableApprovalCreate\"\r\n [noDataImage]=\"\r\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval-workflow.svg'\r\n \"\r\n [noDataText]=\"\r\n 'You did not set any approval workflow.<br>Click on the <strong>Create An Approval Workflow</strong> button to begin.'\r\n \"\r\n [noDataButton]=\"'CREATE AN APPROVAL WORKFLOW'\"\r\n [button]=\"'approval'\"\r\n (buttonAction)=\"createApprovalAction($event)\"\r\n ></app-no-data>\r\n\r\n <div\r\n *ngIf=\"enableApprovalCreate || enableCreateForm\"\r\n class=\"approval-workflow-dialog-body-inner vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n <div class=\"approval-workflow-form\">\r\n <!-- Workflow Name -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/what.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n WORKFLOW NAME <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <input *ngIf=\"!workflowName?.length || approvalName === 'name'\"\r\n (keydown)=\"approvalName = 'name'\"\r\n (focusin)=\"approvalNameSelection('name',true)\"\r\n (focusout)=\"approvalNameSelection('name',false)\"\r\n class=\"textField\"\r\n type=\"text\"\r\n [(ngModel)]=\"workflowName\"\r\n placeholder=\"Name of the approval workflow\"\r\n />\r\n <div *ngIf=\"workflowName?.length && approvalName !== 'name'\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div class=\"selectBoxText vx-fs-13 vx-paragraph-txt\" [appTooltip]=\"workflowName\" placement=\"bottom-left\"\r\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">\r\n {{workflowName}}\r\n </div>\r\n <button (click)=\"approvalNameSelection('name', true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n <div class=\"vx-mt-2\">\r\n <marx-editor\r\n [editorConfig]=\"description\"\r\n [(ngModel)]=\"createDescription\"\r\n ></marx-editor>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Policy Category -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n SELECT POLICY CATEGORY\r\n <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <div\r\n *ngIf=\"filteredCategory?.length === 0\"\r\n (click)=\"enableCategory(true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div\r\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n Select the policy category that this approval<br />workflow\r\n applies to\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"filteredCategory?.length > 0\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-1 vx-pr-2\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let category of filteredCategory | slice : 0 : 1;\r\n let catIndex = index\r\n \"\r\n >\r\n <i\r\n (click)=\"removeCategory(category)\"\r\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"category?.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ category?.item_name }}</span\r\n >\r\n </ng-container>\r\n <button\r\n *ngIf=\"filteredCategory?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"policyOwnerPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ filteredCategory?.length - 1 }}\r\n </button>\r\n </div>\r\n <app-popover #policyOwnerPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let category of filteredCategory | slice : 1\">\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"category?.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i (click)=\"removeCategory(category)\" class=\"icons\"\r\n ></i\r\n >\r\n {{ category?.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <button\r\n filteredCategory\r\n (click)=\"enableCategory(true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Approval Workflow -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n APPROVERS & APPROVAL WORKFLOW\r\n <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <div\r\n *ngIf=\"approvalWorkflows?.length === 0\"\r\n (click)=\"addLevelsClicked(true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div\r\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n Select approvers and select the order of approval\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalWorkflows?.length > 0\">\r\n <div\r\n *ngFor=\"\r\n let approvalWorkflow of approvalWorkflows;\r\n let i = index\r\n \"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between vx-mb-2\"\r\n >\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div class=\"level-left vx-d-flex vx-align-center\">\r\n <div class=\"vx-d-block\">\r\n <div\r\n class=\"level-name vx-fs-9 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-lh-3\"\r\n [appTooltip]=\"approvalWorkflow?.alias_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ approvalWorkflow?.alias_name }}\r\n </div>\r\n <div\r\n class=\"vx-fs-9 vx-fw-500 vx-label-txt vx-tt-uppercase vx-lh-3\"\r\n >\r\n {{ approvalWorkflow?.type }}\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-1 vx-pr-2 vx-ml-2\"\r\n >\r\n <i (click)=\"deselectUser(approvalWorkflow?.approvers[0],i)\"\r\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <div *ngIf=\"\r\n approvalWorkflow?.type?.toLowerCase() === 'sequential' &&\r\n approvalWorkflow?.approvers?.length < 2\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n {{\r\n 1 == approvalWorkflow?.approvers?.length\r\n ? \"Final\"\r\n : 1\r\n }}\r\n </div>\r\n <div\r\n *ngIf=\"approvalWorkflow?.approvers?.length > 1 && approvalWorkflow?.type?.toLowerCase() === 'sequential'\"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n 1\r\n </div>\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"approvalWorkflow?.approvers[0]?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ approvalWorkflow?.approvers[0]?.member_name }}</span\r\n >\r\n <button\r\n *ngIf=\"approvalWorkflow?.approvers?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"workflowPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n + {{ approvalWorkflow?.approvers?.length - 1 }}\r\n </button>\r\n </div>\r\n <app-popover #workflowPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let approver of approvalWorkflow?.approvers\r\n | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"approver?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i (click)=\"deselectUser(approver,i)\" class=\"icons\"></i>\r\n <span *ngIf=\"approvalWorkflow?.type?.toLowerCase() === 'sequential'\"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >{{\r\n j+1 ===\r\n approvalWorkflow?.approvers?.length - 1\r\n ? \"Final\"\r\n : j + 2\r\n }}</span\r\n >\r\n {{ approver?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <button\r\n (click)=\"editApproval(approvalWorkflow, i)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n <button\r\n (click)=\"deleteLevel(i)\"\r\n class=\"deleteBtn vx-fs-11 vx-fw-600 vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-4 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> DELETE\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <button\r\n *ngIf=\"approvalWorkflows?.length > 0\"\r\n (click)=\"addLevelsClicked(true)\"\r\n class=\"addMoreBtn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-mt-1\"\r\n >\r\n + ADD MORE LEVELS\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <vui-floating-bar\r\n *ngIf=\"enableApprovalCreate || enableCreateForm\"\r\n [nextDisabled]=\"\r\n workflowName?.trim() === '' ||\r\n approvalWorkflows?.length === 0 ||\r\n filteredCategory?.length === 0\r\n \"\r\n (closeList)=\"closeCreateForm()\"\r\n (closeEvent)=\"nextClick()\"\r\n ></vui-floating-bar>\r\n </div>\r\n</div>\r\n\r\n<!-- [selectedItems]=\"policyForm.selectedCategories\" -->\r\n\r\n<app-select-approvers\r\n *ngIf=\"enableApprovalLevel\"\r\n [allApprovers]=\"allApprovers\"\r\n (closeSelectApprover)=\"closeSelectApprover()\"\r\n (selectedApprover)=\"selectedApprover($event)\"\r\n [levels]=\"levels\"\r\n [editApprovalData]=\"editApprovalData\"\r\n></app-select-approvers>\r\n\r\n<app-checkbox-list\r\n *ngIf=\"enablePolicyCategory\"\r\n [config]=\"categoryConfig\"\r\n [twoColumn]=\"false\"\r\n [itemsList]=\"selectedCategory\"\r\n [identifierKey]=\"'_id'\"\r\n [displayKey]=\"'item_name'\"\r\n [tooltipKey]=\"'item_name'\"\r\n (saveList)=\"saveCategoryList($event)\"\r\n (closeList)=\"closeCategoryList()\"\r\n [selectedItems]=\"filteredCategory\"\r\n>\r\n</app-checkbox-list>\r\n",
|
|
36747
|
+
template: "<div class=\"approval-workflow-dialog\">\r\n <div\r\n class=\"approval-workflow-dialog-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\r\n <button (click)=\"closeCreateForm()\" class=\"back-btn vx-p-0 vx-m-0\">\r\n <i class=\"icons vx-mr-1\"></i></button\r\n >Select Approval Workflow\r\n </div>\r\n </div>\r\n <div class=\"approval-workflow-dialog-body\">\r\n <app-no-data\r\n *ngIf=\"!approverWorkFlowList.length && !enableApprovalCreate\"\r\n [noDataImage]=\"\r\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval-workflow.svg'\r\n \"\r\n [noDataText]=\"\r\n 'You did not set any approval workflow.<br>Click on the <strong>Create An Approval Workflow</strong> button to begin.'\r\n \"\r\n [noDataButton]=\"'CREATE AN APPROVAL WORKFLOW'\"\r\n [button]=\"'approval'\"\r\n (buttonAction)=\"createApprovalAction($event)\"\r\n ></app-no-data>\r\n\r\n <div\r\n *ngIf=\"enableApprovalCreate || enableCreateForm\"\r\n class=\"approval-workflow-dialog-body-inner vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n <div class=\"approval-workflow-form\">\r\n <!-- Workflow Name -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/what.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n WORKFLOW NAME <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <input *ngIf=\"!workflowName?.length || approvalName === 'name'\"\r\n (keydown)=\"approvalName = 'name'\"\r\n (focusin)=\"approvalNameSelection('name',true)\"\r\n (focusout)=\"approvalNameSelection('name',false)\"\r\n class=\"textField\"\r\n type=\"text\"\r\n [(ngModel)]=\"workflowName\"\r\n placeholder=\"Name of the approval workflow\"\r\n />\r\n <div *ngIf=\"workflowName?.length && approvalName !== 'name'\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div class=\"selectBoxText vx-fs-13 vx-paragraph-txt\" [appTooltip]=\"workflowName\" placement=\"bottom-left\"\r\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">\r\n {{workflowName}}\r\n </div>\r\n <button (click)=\"approvalNameSelection('name', true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n <div class=\"vx-mt-2\">\r\n <marx-editor\r\n [editorConfig]=\"description\"\r\n [(ngModel)]=\"createDescription\"\r\n ></marx-editor>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Policy Category -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n SELECT POLICY CATEGORY\r\n <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <div\r\n *ngIf=\"filteredCategory?.length === 0\"\r\n (click)=\"enableCategory(true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div\r\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n Select the policy category that this approval<br />workflow\r\n applies to\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"filteredCategory?.length > 0\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-1 vx-pr-2\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let category of filteredCategory | slice : 0 : 1;\r\n let catIndex = index\r\n \"\r\n >\r\n <i\r\n (click)=\"removeCategory(category)\"\r\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"category?.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ category?.item_name }}</span\r\n >\r\n </ng-container>\r\n <button\r\n *ngIf=\"filteredCategory?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"policyOwnerPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ filteredCategory?.length - 1 }}\r\n </button>\r\n </div>\r\n <app-popover #policyOwnerPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let category of filteredCategory | slice : 1\">\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"category?.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i (click)=\"removeCategory(category)\" class=\"icons\"\r\n ></i\r\n >\r\n {{ category?.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <button\r\n filteredCategory\r\n (click)=\"enableCategory(true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Approval Workflow -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n APPROVERS & APPROVAL WORKFLOW\r\n <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <div\r\n *ngIf=\"approvalWorkflows?.length === 0\"\r\n (click)=\"addLevelsClicked(true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div\r\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n Select approvers and select the order of approval\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalWorkflows?.length > 0\">\r\n <div\r\n *ngFor=\"\r\n let approvalWorkflow of approvalWorkflows;\r\n let i = index\r\n \"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between vx-mb-2\"\r\n >\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div class=\"level-left vx-d-flex vx-align-center\">\r\n <div class=\"vx-d-block\">\r\n <div\r\n class=\"level-name vx-fs-9 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-lh-3\"\r\n [appTooltip]=\"approvalWorkflow?.alias_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ approvalWorkflow?.alias_name }}\r\n </div>\r\n <div\r\n class=\"vx-fs-9 vx-fw-500 vx-label-txt vx-tt-uppercase vx-lh-3\"\r\n >\r\n <!-- {{ approvalWorkflow?.type }} -->\r\n {{(approvalWorkflow?.type | lowercase) === \"roundrobin\"\r\n ? \"ROUND-ROBIN\"\r\n : (approvalWorkflow?.type | lowercase) === \"anyone\"\r\n ? \"ANY ONE\"\r\n : approvalWorkflow?.type}}\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-1 vx-pr-2 vx-ml-2\"\r\n >\r\n <i (click)=\"deselectUser(approvalWorkflow?.approvers[0],i)\"\r\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\r\n ></i\r\n >\r\n <div *ngIf=\"\r\n approvalWorkflow?.type?.toLowerCase() === 'sequential' &&\r\n approvalWorkflow?.approvers?.length < 2\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n {{\r\n 1 == approvalWorkflow?.approvers?.length\r\n ? \"Final\"\r\n : 1\r\n }}\r\n </div>\r\n <div\r\n *ngIf=\"approvalWorkflow?.approvers?.length > 1 && approvalWorkflow?.type?.toLowerCase() === 'sequential'\"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n 1\r\n </div>\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"approvalWorkflow?.approvers[0]?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ approvalWorkflow?.approvers[0]?.member_name }}</span\r\n >\r\n <button\r\n *ngIf=\"approvalWorkflow?.approvers?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"workflowPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n + {{ approvalWorkflow?.approvers?.length - 1 }}\r\n </button>\r\n </div>\r\n <app-popover #workflowPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let approver of approvalWorkflow?.approvers\r\n | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"approver?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i (click)=\"deselectUser(approver,i)\" class=\"icons\"></i>\r\n <span *ngIf=\"approvalWorkflow?.type?.toLowerCase() === 'sequential'\"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >{{\r\n j+1 ===\r\n approvalWorkflow?.approvers?.length - 1\r\n ? \"Final\"\r\n : j + 2\r\n }}</span\r\n >\r\n {{ approver?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <button\r\n (click)=\"editApproval(approvalWorkflow, i)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n <button\r\n (click)=\"deleteLevel(i)\"\r\n class=\"deleteBtn vx-fs-11 vx-fw-600 vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-4 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> DELETE\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <button\r\n *ngIf=\"approvalWorkflows?.length > 0\"\r\n (click)=\"addLevelsClicked(true)\"\r\n class=\"addMoreBtn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-mt-1\"\r\n >\r\n + ADD MORE LEVELS\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <vui-floating-bar\r\n *ngIf=\"enableApprovalCreate || enableCreateForm\"\r\n [nextDisabled]=\"\r\n workflowName?.trim() === '' ||\r\n approvalWorkflows?.length === 0 ||\r\n filteredCategory?.length === 0\r\n \"\r\n (closeList)=\"closeCreateForm()\"\r\n (closeEvent)=\"nextClick()\"\r\n ></vui-floating-bar>\r\n </div>\r\n</div>\r\n\r\n<!-- [selectedItems]=\"policyForm.selectedCategories\" -->\r\n\r\n<app-select-approvers\r\n *ngIf=\"enableApprovalLevel\"\r\n [allApprovers]=\"allApprovers\"\r\n (closeSelectApprover)=\"closeSelectApprover()\"\r\n (selectedApprover)=\"selectedApprover($event)\"\r\n [levels]=\"levels\"\r\n [editApprovalData]=\"editApprovalData\"\r\n></app-select-approvers>\r\n\r\n<app-checkbox-list\r\n *ngIf=\"enablePolicyCategory\"\r\n [config]=\"categoryConfig\"\r\n [twoColumn]=\"false\"\r\n [itemsList]=\"selectedCategory\"\r\n [identifierKey]=\"'_id'\"\r\n [displayKey]=\"'item_name'\"\r\n [tooltipKey]=\"'item_name'\"\r\n (saveList)=\"saveCategoryList($event)\"\r\n (closeList)=\"closeCategoryList()\"\r\n [selectedItems]=\"filteredCategory\"\r\n>\r\n</app-checkbox-list>\r\n",
|
|
36687
36748
|
styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .approval-workflow-dialog{position:fixed;top:0;right:500px;bottom:0;left:0}::ng-deep .approval-workflow-dialog:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .approval-workflow-dialog-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .approval-workflow-dialog-head button.back-btn{background:transparent;border-radius:0;border:none}::ng-deep .approval-workflow-dialog-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .approval-workflow-dialog-body-inner{height:calc(100vh - 10.75rem);overflow:hidden;overflow-y:auto;margin-bottom:1rem;padding-right:.5rem;width:calc(100% + .5rem)}::ng-deep .approval-workflow-dialog-body-inner::-webkit-scrollbar-track{background-color:#fff;position:absolute}::ng-deep .approval-workflow-dialog-body-inner::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .approval-workflow-dialog-body-inner::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form{width:30.75rem;max-height:calc(100vh - 10.75rem)}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row{position:relative}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-left{position:absolute;top:30px;left:0}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-left img{width:2.5rem;height:2.5rem}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-right{padding-left:3.75rem}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-right .label-heading .required{color:#eb2424;position:relative;top:-.125rem}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-right button.addMoreBtn{background:transparent;border-radius:0;border:none}::ng-deep .approval-workflow-dialog-body vui-floating-bar .reviewer-floating-bar{padding:0!important}\n"]
|
|
36688
36749
|
},] }
|
|
36689
36750
|
];
|