vcomply-workflow-engine 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/bundles/vcomply-workflow-engine.umd.js +804 -165
  2. package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
  3. package/esm2015/lib/interfaces/issue-data.js +2 -0
  4. package/esm2015/lib/interfaces/issue-data.ngsummary.json +1 -0
  5. package/esm2015/lib/log-an-issue/log-an-issue.component.js +396 -52
  6. package/esm2015/lib/log-an-issue/log-an-issue.component.ngfactory.js +228 -175
  7. package/esm2015/lib/log-an-issue/log-an-issue.component.ngsummary.json +1 -1
  8. package/esm2015/lib/more-option/more-option.component.js +20 -20
  9. package/esm2015/lib/pipes/search.pipe.js +53 -10
  10. package/esm2015/lib/sharedComponents/checkbox-list/checkbox-list.component.js +2 -2
  11. package/esm2015/lib/sharedComponents/checkbox-list/checkbox-list.component.ngfactory.js +3 -3
  12. package/esm2015/lib/sharedComponents/list-loader/list-loader.component.js +15 -0
  13. package/esm2015/lib/sharedComponents/list-loader/list-loader.component.ngfactory.js +19 -0
  14. package/esm2015/lib/sharedComponents/list-loader/list-loader.component.ngsummary.json +1 -0
  15. package/esm2015/lib/sharedComponents/pipes/array-filter.pipe.js +14 -0
  16. package/esm2015/lib/sharedComponents/pipes/array-filter.pipe.ngsummary.json +1 -0
  17. package/esm2015/lib/sharedComponents/radio-list/radio-list.component.js +7 -4
  18. package/esm2015/lib/sharedComponents/radio-list/radio-list.component.ngfactory.js +4 -4
  19. package/esm2015/lib/sharedComponents/radio-list/radio-list.component.ngsummary.json +1 -1
  20. package/esm2015/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.js +70 -0
  21. package/esm2015/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.ngfactory.js +51 -0
  22. package/esm2015/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.ngsummary.json +1 -0
  23. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +15 -7
  24. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.js +42 -35
  25. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngsummary.json +1 -1
  26. package/esm2015/lib/workflow-engine.module.js +8 -1
  27. package/esm2015/lib/workflow-engine.module.ngfactory.js +1 -1
  28. package/esm2015/lib/workflow-services/log-issue.service.js +100 -10
  29. package/esm2015/lib/workflow-services/log-issue.service.ngsummary.json +1 -1
  30. package/esm2015/vcomply-workflow-engine.js +45 -42
  31. package/esm2015/vcomply-workflow-engine.ngsummary.json +1 -1
  32. package/fesm2015/vcomply-workflow-engine.js +686 -100
  33. package/fesm2015/vcomply-workflow-engine.js.map +1 -1
  34. package/lib/interfaces/issue-data.d.ts +21 -0
  35. package/lib/log-an-issue/log-an-issue.component.d.ts +67 -13
  36. package/lib/pipes/search.pipe.d.ts +1 -1
  37. package/lib/sharedComponents/list-loader/list-loader.component.d.ts +5 -0
  38. package/lib/sharedComponents/list-loader/list-loader.component.ngfactory.d.ts +1 -0
  39. package/lib/sharedComponents/pipes/array-filter.pipe.d.ts +4 -0
  40. package/lib/sharedComponents/radio-list/radio-list.component.d.ts +3 -2
  41. package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.d.ts +23 -0
  42. package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.ngfactory.d.ts +1 -0
  43. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +11 -3
  44. package/lib/workflow-services/log-issue.service.d.ts +6 -1
  45. package/package.json +1 -1
  46. package/vcomply-workflow-engine.d.ts +44 -41
  47. package/vcomply-workflow-engine.metadata.json +1 -1
@@ -4,7 +4,7 @@ import * as i1 from '@angular/common/http';
4
4
  import { HttpHeaders, HttpClient, HttpClientModule } from '@angular/common/http';
5
5
  import { Subject } from 'rxjs';
6
6
  import { cloneDeep, uniqBy } from 'lodash';
7
- import { retry } from 'rxjs/operators';
7
+ import { retry, map } from 'rxjs/operators';
8
8
  import { JwtHelperService } from '@auth0/angular-jwt';
9
9
  import * as moment from 'moment';
10
10
  import { PlatformLocation, CommonModule } from '@angular/common';
@@ -86,9 +86,15 @@ class WorkflowEngineContainerComponent {
86
86
  this.allowedWorkflows = [];
87
87
  this.frameworkDetails = []; // only for compliance part for framework
88
88
  this.selectedRC = '';
89
- this.reponsibiltyData = {
90
- responsibiltyId: '',
91
- responsibiltyName: '',
89
+ this.reponsibilityData = {
90
+ responsibilityId: null,
91
+ responsibilityName: '',
92
+ rcId: null
93
+ };
94
+ this.issueData = {
95
+ auditPlanId: null,
96
+ auditPlanName: '',
97
+ rcId: null
92
98
  };
93
99
  this.entrustButtonName = 'Entrust';
94
100
  this.convertFileData = {};
@@ -336,7 +342,7 @@ class WorkflowEngineContainerComponent {
336
342
  WorkflowEngineContainerComponent.decorators = [
337
343
  { type: Component, args: [{
338
344
  selector: 'app-workflow-engine-container',
339
- template: "<app-snack-bar></app-snack-bar>\r\n<div class=\"workflow-engine-overlay\"></div>\r\n<div class=\"workflow-engine\" [class.animate]=\"animation\" [class.bg]=\"(!isWorkflowSelectorEnabled || riskBulkUpload?.showCategoryList) && (!policy?.showCreateDocuments)\">\r\n <button (click)=\"closeWorkflowEngine()\" class=\"close\" [appTooltip]=\"'[Esc] to close'\" placement=\"left\" delay=\"0\" [tooltipMandatory]=\"true\"\r\n [class.disabled]=\"confirmationAlertConfig?.isVisible || !isWorkflowSelectorEnabled\"\r\n [class.smiley-opened]=\"riskComponent?.showSmiley || logIssueComponent?.showSmiley || compliance?.showSmiley || (policy?.showCreateDocuments)\r\n || responsibilityBulkUpload?.showSmiley || responsibilityBulkUpload?.showExcel || riskBulkUpload?.showSmiley || riskBulkUpload?.showExcel\">\r\n <i class=\"icons\">&#xeabe;</i>\r\n </button>\r\n <div class=\"workflow-engine-container\" [ngSwitch]=\"currentWorkflow?.code\">\r\n <div *ngIf=\"!(uiKitService.isSmileyOn)\" class=\"workflow-engine-more\" [hidden]=\"showMoreOption === false || policy?.showCreateDocuments\"\r\n [class.disabled]=\"confirmationAlertConfig?.isVisible\" [class.read-only]=\"uiKitService?.isLoader\">\r\n <app-more-option #moreOption [currentWorkflow]=\"currentWorkflow.code\" [openedFrom]=\"openedFrom\"\r\n (selectedOption)=\"addMoreInfo($event)\">\r\n </app-more-option>\r\n </div>\r\n <div style=\"background-color:white\" class=\"workflow-engine-form\"\r\n [class.disabled]=\"confirmationAlertConfig?.isVisible\"\r\n [class.no-shadow]=\"currentWorkflow?.code == 'AMR'|| currentWorkflow?.code == 'CMR' || uiKitService.isSmileyOn || policy?.showCreateDocuments\">\r\n <div class=\"container\" (scroll)=\"scrollForm()\">\r\n <div *ngIf=\"!(uiKitService.isSmileyOn || policy?.showCreateDocuments)\" class=\"form-group-row\" #dropdownRow\r\n [class.disabled]=\"mode === 'EDIT' || !isWorkflowSelectorEnabled || disableWorkflowChange\">\r\n <div class=\"left\" [class.checked]=\"currentWorkflow\">\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right \">\r\n <div class=\"vx-form-group\" #dropdown>\r\n <label class=\"vx-control-panel\">Select a Workflow <span class=\"required\">*</span></label>\r\n <div class=\"select\" *ngIf=\"!currentWorkflow\" (click)=\"editWorkflow()\">\r\n <input type=\"text\" placeholder=\"Select a Workflow\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"currentWorkflow\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\">{{currentWorkflow?.workflowName}}</span>\r\n </div>\r\n <button class=\"edit\" type=\"button\" (click)=\"editWorkflow()\" *ngIf=\"!workflowList\"><i\r\n class=\"icons\">&#xe90c;</i> Edit</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <app-create-documents></app-create-documents> -->\r\n <!-- <app-bulk-view></app-bulk-view> -->\r\n <!-- <app-bulk-responsibility-view></app-bulk-responsibility-view> -->\r\n <app-workflow-compliance (disconnectRefresh)=\"isHostRefreshActive = $event\" [isEntrust]=\"entrustButtonName.toLowerCase() == 'entrust' \" [responsibilityId]=\"id\" [mode]=\"mode\" [frameworkDetails]=\"frameworkDetails\"\r\n (closeWorkflow)=\"closeWorkflowEngine($event)\" *ngSwitchCase=\"'CAR'\" #responsibility\r\n (pickerChanged)=\"decideViewMoreOption($event)\" (populateOption)=\"populateMoreOption($event)\"\r\n (hideElementsFromMoreOptions)=\"hideElementsFromMoreOptions($event)\" [selectedRC]=\"selectedRC\"\r\n [openedFrom]=\"openedFrom\" (resetForm)=\"onResetForm()\"></app-workflow-compliance>\r\n <app-workflow-risk (disconnectRefresh)=\"isHostRefreshActive = $event\" *ngSwitchCase=\"'AAR'\" #risk (showConfirmationAlert)=\"showConfirmationPopup($event)\"\r\n (closeWorkflow)=\"closeWorkflowEngine($event)\" (pickerChanged)=\"decideViewMoreOption($event)\"\r\n (populateOption)=\"populateMoreOption($event)\" (refreshForm)=\"onResetForm()\" [mode]=\"mode\" [riskId]=\"id\"></app-workflow-risk>\r\n <app-workflow-policy (disconnectRefresh)=\"isHostRefreshActive = $event\" *ngSwitchCase=\"'CAP'\" #policy\r\n (showConfirmationAlert)=\"showConfirmationPopup($event)\" (shiftToEditMode)=\"shiftToEditMode()\"\r\n [policyId]=\"id\" [mode]=\"mode\" [convertFileData]=\"convertFileData\" [selectedCategory]=\"selectedCategory\"\r\n (populateOption)=\"populateMoreOption($event)\"(pickerChanged)=\"decideViewMoreOption($event)\"></app-workflow-policy>\r\n <app-workflow-survey-form *ngSwitchCase=\"'CAS'\" #surveyForm></app-workflow-survey-form>\r\n <app-add-multiple-risk (disconnectRefresh)=\"isHostRefreshActive = $event\" *ngSwitchCase=\"'AMR'\" #multipleRisk\r\n (pickerChanged)=\"decideViewMoreOption($event)\" (closeWorkflow)=\"closeWorkflowEngine($event)\"></app-add-multiple-risk>\r\n <app-add-multiple-responsibility (disconnectRefresh)=\"isHostRefreshActive = $event\" (closeWorkflow)=\"closeWorkflowEngine($event)\" *ngSwitchCase=\"'CMR'\" #multipleResponsibility>\r\n </app-add-multiple-responsibility>\r\n <app-log-an-issue *ngSwitchCase=\"'LAI'\" [reponsibiltyData]=\"reponsibiltyData\" [openedFrom]=\"openedFrom\"\r\n #logAnIssue (closeWorkflow)=\"closeWorkflowEngine($event)\"\r\n (pickerChanged)=\"decideViewMoreOption($event)\" (populateOption)=\"populateMoreOption($event)\">\r\n </app-log-an-issue>\r\n </div>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" *ngSwitchCase=\"'AAR'\"\r\n (click)=\"submit()\">{{mode==='EDIT' ? 'Update' : 'Add'}}</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled || !riskBulkUpload?.category?.selectedCategory\"\r\n (click)=\"bulkUploadBrowse('AMR')\"\r\n *ngSwitchCase=\"'AMR'\">Browse</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" (click)=\"bulkUploadBrowse('CMR')\"\r\n *ngSwitchCase=\"'CMR'\">Browse</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" (click)=\"submit()\"\r\n *ngSwitchCase=\"'CAR'\">{{entrustButtonName !== '' ? entrustButtonName : 'Entrust'}}</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" (click)=\"submit()\"\r\n *ngSwitchCase=\"'CAP'\">{{(convertFileData.fileName)?'NEXT':((mode=='EDIT')? 'Update':'Continue to draft')}}</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" *ngSwitchCase=\"'CAS'\">\r\n Continue to draft </button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" *ngSwitchCase=\"'LAI'\"\r\n (click)=\"submit()\">ADD</button>\r\n <div class=\"dropdown\" *ngIf=\"workflowList\" (click)=\"closeWorkflowList()\" [style.top.px]=\"dropdownTop\"\r\n [style.left.px]=\"dropdownLeft\" [style.width.px]=\"dropdownWidth\">\r\n <ul class=\"dropdown-list\">\r\n <li *ngFor=\"let workflow of workflowTypeList\" (click)=\"changeWorkflow($event,workflow)\">\r\n <app-cs-radio [value]=\"workflow?.code\" [checked]=\"currentWorkflow?.code===workflow?.code\">\r\n {{workflow?.workflowName}}</app-cs-radio>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"dropdown-overlay\" *ngIf=\"workflowList\" (click)=\"closeWorkflowList()\"></div>\r\n </div>\r\n <app-confirmation-alert (action)=\"confirmWorkflowChange($event)\" *ngIf=\"confirmationAlertConfig?.isVisible\"\r\n [message]=\"confirmationAlertConfig?.message\" [config]=\"confirmationAlertConfig\"></app-confirmation-alert>\r\n </div>\r\n</div>\r\n",
345
+ template: "<app-snack-bar></app-snack-bar>\r\n<div class=\"workflow-engine-overlay\"></div>\r\n<div class=\"workflow-engine\" [class.animate]=\"animation\" [class.bg]=\"(!isWorkflowSelectorEnabled || riskBulkUpload?.showCategoryList) && (!policy?.showCreateDocuments)\">\r\n <button (click)=\"closeWorkflowEngine()\" class=\"close\" [appTooltip]=\"'[Esc] to close'\" placement=\"left\" delay=\"0\" [tooltipMandatory]=\"true\"\r\n [class.disabled]=\"confirmationAlertConfig?.isVisible || !isWorkflowSelectorEnabled\"\r\n [class.smiley-opened]=\"riskComponent?.showSmiley || logIssueComponent?.showSmiley || compliance?.showSmiley || (policy?.showCreateDocuments)\r\n || responsibilityBulkUpload?.showSmiley || responsibilityBulkUpload?.showExcel || riskBulkUpload?.showSmiley || riskBulkUpload?.showExcel\">\r\n <i class=\"icons\">&#xeabe;</i>\r\n </button>\r\n <div class=\"workflow-engine-container\" [ngSwitch]=\"currentWorkflow?.code\">\r\n <div *ngIf=\"!(uiKitService.isSmileyOn)\" class=\"workflow-engine-more\" [hidden]=\"showMoreOption === false || policy?.showCreateDocuments\"\r\n [class.disabled]=\"confirmationAlertConfig?.isVisible\" [class.read-only]=\"uiKitService?.isLoader\">\r\n <app-more-option #moreOption [currentWorkflow]=\"currentWorkflow.code\" [openedFrom]=\"openedFrom\"\r\n (selectedOption)=\"addMoreInfo($event)\">\r\n </app-more-option>\r\n </div>\r\n <div style=\"background-color:white\" class=\"workflow-engine-form\"\r\n [class.disabled]=\"confirmationAlertConfig?.isVisible\"\r\n [class.no-shadow]=\"currentWorkflow?.code == 'AMR'|| currentWorkflow?.code == 'CMR' || uiKitService.isSmileyOn || policy?.showCreateDocuments\">\r\n <div class=\"container\" (scroll)=\"scrollForm()\">\r\n <ng-container *ngIf=\"!['VIEW_AUDIT_EXECUTION_SUMMARY','EXECUTE_AUDIT_PLAN'].includes(openedFrom)\">\r\n <div *ngIf=\"!(uiKitService.isSmileyOn || policy?.showCreateDocuments)\" class=\"form-group-row\" #dropdownRow\r\n [class.disabled]=\"mode === 'EDIT' || !isWorkflowSelectorEnabled || disableWorkflowChange\">\r\n <div class=\"left\" [class.checked]=\"currentWorkflow\">\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right \">\r\n <div class=\"vx-form-group\" #dropdown>\r\n <label class=\"vx-control-panel\">Select a Workflow <span class=\"required\">*</span></label>\r\n <div class=\"select\" *ngIf=\"!currentWorkflow\" (click)=\"editWorkflow()\">\r\n <input type=\"text\" placeholder=\"Select a Workflow\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"currentWorkflow\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\">{{currentWorkflow?.workflowName}}</span>\r\n </div>\r\n <button class=\"edit\" type=\"button\" (click)=\"editWorkflow()\" *ngIf=\"!workflowList\"><i\r\n class=\"icons\">&#xe90c;</i> Edit</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- <app-create-documents></app-create-documents> -->\r\n <!-- <app-bulk-view></app-bulk-view> -->\r\n <!-- <app-bulk-responsibility-view></app-bulk-responsibility-view> -->\r\n <app-workflow-compliance (disconnectRefresh)=\"isHostRefreshActive = $event\" [isEntrust]=\"entrustButtonName.toLowerCase() == 'entrust' \" [responsibilityId]=\"id\" [mode]=\"mode\" [frameworkDetails]=\"frameworkDetails\"\r\n (closeWorkflow)=\"closeWorkflowEngine($event)\" *ngSwitchCase=\"'CAR'\" #responsibility\r\n (pickerChanged)=\"decideViewMoreOption($event)\" (populateOption)=\"populateMoreOption($event)\"\r\n (hideElementsFromMoreOptions)=\"hideElementsFromMoreOptions($event)\" [selectedRC]=\"selectedRC\"\r\n [openedFrom]=\"openedFrom\" (resetForm)=\"onResetForm()\"></app-workflow-compliance>\r\n <app-workflow-risk (disconnectRefresh)=\"isHostRefreshActive = $event\" *ngSwitchCase=\"'AAR'\" #risk (showConfirmationAlert)=\"showConfirmationPopup($event)\"\r\n (closeWorkflow)=\"closeWorkflowEngine($event)\" (pickerChanged)=\"decideViewMoreOption($event)\"\r\n (populateOption)=\"populateMoreOption($event)\" (refreshForm)=\"onResetForm()\" [mode]=\"mode\" [riskId]=\"id\"></app-workflow-risk>\r\n <app-workflow-policy (disconnectRefresh)=\"isHostRefreshActive = $event\" *ngSwitchCase=\"'CAP'\" #policy\r\n (showConfirmationAlert)=\"showConfirmationPopup($event)\" (shiftToEditMode)=\"shiftToEditMode()\"\r\n [policyId]=\"id\" [mode]=\"mode\" [convertFileData]=\"convertFileData\" [selectedCategory]=\"selectedCategory\"\r\n (populateOption)=\"populateMoreOption($event)\"(pickerChanged)=\"decideViewMoreOption($event)\"></app-workflow-policy>\r\n <app-workflow-survey-form *ngSwitchCase=\"'CAS'\" #surveyForm></app-workflow-survey-form>\r\n <app-add-multiple-risk (disconnectRefresh)=\"isHostRefreshActive = $event\" *ngSwitchCase=\"'AMR'\" #multipleRisk\r\n (pickerChanged)=\"decideViewMoreOption($event)\" (closeWorkflow)=\"closeWorkflowEngine($event)\"></app-add-multiple-risk>\r\n <app-add-multiple-responsibility (disconnectRefresh)=\"isHostRefreshActive = $event\" (closeWorkflow)=\"closeWorkflowEngine($event)\" *ngSwitchCase=\"'CMR'\" #multipleResponsibility>\r\n </app-add-multiple-responsibility>\r\n <app-log-an-issue [issueDetails]=\"issueData\" *ngSwitchCase=\"'LAI'\" [reponsibilityData]=\"reponsibilityData\" [openedFrom]=\"openedFrom\" [issueId]=\"id\"\r\n #logAnIssue (disconnectRefresh)=\"isHostRefreshActive = $event\" (closeWorkflow)=\"closeWorkflowEngine($event)\"\r\n (pickerChanged)=\"decideViewMoreOption($event)\" (populateOption)=\"populateMoreOption($event)\" [(mode)]=\"mode\">\r\n </app-log-an-issue>\r\n </div>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" *ngSwitchCase=\"'AAR'\"\r\n (click)=\"submit()\">{{mode==='EDIT' ? 'Update' : 'Add'}}</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled || !riskBulkUpload?.category?.selectedCategory\"\r\n (click)=\"bulkUploadBrowse('AMR')\"\r\n *ngSwitchCase=\"'AMR'\">Browse</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" (click)=\"bulkUploadBrowse('CMR')\"\r\n *ngSwitchCase=\"'CMR'\">Browse</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" (click)=\"submit()\"\r\n *ngSwitchCase=\"'CAR'\">{{entrustButtonName !== '' ? entrustButtonName : 'Entrust'}}</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" (click)=\"submit()\"\r\n *ngSwitchCase=\"'CAP'\">{{(convertFileData.fileName)?'NEXT':((mode=='EDIT')? 'Update':'Continue to draft')}}</button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" *ngSwitchCase=\"'CAS'\">\r\n Continue to draft </button>\r\n <button class=\"submit\" [class.disabled]=\"!isWorkflowSelectorEnabled\" *ngSwitchCase=\"'LAI'\"\r\n (click)=\"submit()\">{{mode==='EDIT' ? 'Update' : 'Add'}}</button>\r\n <div class=\"dropdown\" *ngIf=\"workflowList\" (click)=\"closeWorkflowList()\" [style.top.px]=\"dropdownTop\"\r\n [style.left.px]=\"dropdownLeft\" [style.width.px]=\"dropdownWidth\">\r\n <ul class=\"dropdown-list\">\r\n <li *ngFor=\"let workflow of workflowTypeList\" (click)=\"changeWorkflow($event,workflow)\">\r\n <app-cs-radio [value]=\"workflow?.code\" [checked]=\"currentWorkflow?.code===workflow?.code\">\r\n {{workflow?.workflowName}}</app-cs-radio>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"dropdown-overlay\" *ngIf=\"workflowList\" (click)=\"closeWorkflowList()\"></div>\r\n </div>\r\n <app-confirmation-alert (action)=\"confirmWorkflowChange($event)\" *ngIf=\"confirmationAlertConfig?.isVisible\"\r\n [message]=\"confirmationAlertConfig?.message\" [config]=\"confirmationAlertConfig\"></app-confirmation-alert>\r\n </div>\r\n</div>\r\n",
340
346
  styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");.dropdown-overlay{z-index:2}.dropdown-overlay,.workflow-engine{position:fixed;top:0;right:0;bottom:0;left:0}.workflow-engine{background:rgba(0,0,0,.7);z-index:10}.workflow-engine button.close{position:absolute;background:transparent;cursor:pointer;border:none;font-size:18px;color:#000;top:5px;right:2px;z-index:11;padding:0;display:flex;align-items:center;justify-content:center;height:36px;width:36px;border-radius:2px}.workflow-engine button.close.bulk-opened,.workflow-engine button.close.smiley-opened{z-index:10}.workflow-engine button.close:hover{background:#f1f1f1}.workflow-engine button.close.disabled{pointer-events:none;opacity:.3;filter:grayscale(1)}.workflow-engine-container{position:fixed;top:0;right:0;bottom:0;background:#fff;display:flex;z-index:10;border-top:3px solid #1e5dd3}.workflow-engine-container:before{content:\"\";height:30px;position:absolute;top:0;right:0;left:0;z-index:11;background:linear-gradient(180deg,#fff 0,hsla(0,0%,100%,.75) 66%,hsla(0,0%,100%,.42) 81%,hsla(0,0%,100%,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#ffffff\",endColorstr=\"#00ffffff\",GradientType=0)}.workflow-engine-more{width:318px;padding:36px 22px 36px 40px;height:100vh;overflow:auto;margin-left:-18px;scrollbar-width:none}@media screen and (max-height:900px){.workflow-engine-more{padding:20px 22px 36px 40px}}.workflow-engine-more::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}.workflow-engine-more::-webkit-scrollbar{width:1px;height:1px;background-color:transparent;position:absolute}.workflow-engine-more::-webkit-scrollbar-thumb{border-radius:1px;background-color:#dbdbdb;position:absolute}.workflow-engine-more.disabled{filter:grayscale(1);pointer-events:none}.workflow-engine-more.read-only{pointer-events:none}.workflow-engine-form{width:500px;position:relative;background:#fff}.workflow-engine-form .container{height:calc(100vh - 53px);padding:35px 30px 12px 62px;overflow:auto;margin-left:-22px;scrollbar-width:thin}.workflow-engine-form .container.disabled{pointer-events:none}.workflow-engine-form:before{content:\"\";top:0;bottom:-50px;left:0;width:1px;background:#f1f1f1;position:absolute}.workflow-engine-form button.submit{position:sticky;height:50px;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:48px;letter-spacing:3.08px;color:#fff;background:#1e5dd3;cursor:pointer;border:1px solid #1e5dd3;outline:none;border-radius:0;text-transform:uppercase;font-weight:600;width:100%;bottom:0;padding:0}.workflow-engine-form button.submit:disabled{background:#f1f1f1;border-color:#f1f1f1;pointer-events:none;cursor:not-allowed;color:#747576}.workflow-engine-form button.submit.disabled{pointer-events:none;opacity:.3;filter:grayscale(1)}.workflow-engine-form.disabled{filter:grayscale(1);pointer-events:none}.workflow-engine-form label.browse{padding:0;margin:0;display:block;position:sticky;bottom:0}.workflow-engine-form label.browse span{height:50px;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:19px;letter-spacing:3.08px;color:#fff;background:#1e5dd3;cursor:pointer;border:1px solid #1e5dd3;outline:none;border-radius:0;text-transform:uppercase;font-weight:600;width:100%}.workflow-engine-form label.browse input{position:absolute;width:100%;height:100%;z-index:1;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.workflow-engine-form .file-browsed{display:flex;align-items:center;background:#fff;border-top:1px solid #f1f1f1;border-bottom:1px solid #f1f1f1}.workflow-engine-form .file-browsed span{display:block;width:calc(100% - 164px);color:#161b2f;font-size:13px;font-weight:400;line-height:20px;padding:0 16px}.workflow-engine-form .file-browsed button{height:50px;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:19px;letter-spacing:3.08px;color:#fff;background:#1e5dd3;cursor:pointer;border:1px solid #1e5dd3;outline:none;border-radius:0;text-transform:uppercase;font-weight:600;width:164px;bottom:0}.workflow-engine-form:after{content:\"\";height:30px;position:absolute;right:0;bottom:50px;left:-20px;z-index:10;background:linear-gradient(180deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.75) 22%,#fff);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#00ffffff\",endColorstr=\"#ffffff\",GradientType=0)}.workflow-engine-form.no-shadow:after{display:none}.workflow-engine.animate{-webkit-animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}.workflow-engine.bg{background:#fff}@-webkit-keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}", "@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep .vx-form-group{display:block;position:relative;margin-bottom:20px}::ng-deep .vx-form-group:after{content:\"\";display:block;clear:both}::ng-deep .vx-form-group .select{position:relative}::ng-deep .vx-form-group .select:after{content:\"\";border-top:5px solid #707070;border-right:5px solid transparent;border-left:5px solid transparent;position:absolute;right:15px;top:calc(50% - 2px)}::ng-deep .vx-form-group .select input{cursor:pointer;padding-right:30px!important}::ng-deep .vx-form-group .select .custom-input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:3px 12px;line-height:16px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .vx-form-group .select .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:13px;width:94%;display:block;pointer-events:none;opacity:.8}::ng-deep .vx-form-group .select .custom-input:hover{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:116px}::ng-deep .vx-form-group .select+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .select+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .select+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .select~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .select.button-sec:after{display:none}::ng-deep .vx-form-group .select.button-sec button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;position:absolute;top:12px;right:8px;padding:0;margin:0}::ng-deep .vx-form-group .select+.vx-control-panel{margin-top:8px}::ng-deep .vx-form-group .select+.selected{margin-top:8px}::ng-deep .vx-form-group .select.select{margin-top:8px}::ng-deep .vx-form-group .upload-format{border:1px solid #dbdbdb;border-radius:4px;padding:8px 12px;display:block}::ng-deep .vx-form-group .upload-format span.text{line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:block;margin-bottom:6px}::ng-deep .vx-form-group .upload-format .radio-group{display:flex}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio{display:inline-block}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;margin-left:8px}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio+app-cs-radio{margin-left:12px}::ng-deep .vx-form-group .upload-format~.upload-format{margin-top:4px}::ng-deep .vx-form-group .form-tab{display:flex;justify-content:flex-start}::ng-deep .vx-form-group .form-tab button{background:transparent;color:#161b2f;font-size:11px;line-height:16px;text-transform:uppercase;cursor:pointer;padding:8px 8px 8px 0;border:none;outline:none;font-weight:500}::ng-deep .vx-form-group .form-tab button:disabled{opacity:.5;pointer-events:none}::ng-deep .vx-form-group .form-tab button+button{padding:8px}::ng-deep .vx-form-group .form-tab button.active{color:#1e5dd3}::ng-deep .vx-form-group .tab-group{border:1px solid #dbdbdb;border-radius:4px;padding:0;display:block;position:relative}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 24px;display:flex;align-items:center}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px;margin-right:20px}::ng-deep .vx-form-group .tab-group .upload-file .browse{display:flex;align-items:center;justify-content:center;width:calc(100% - 100px);text-align:center}::ng-deep .vx-form-group .tab-group .upload-file .browse span{display:inline-block;font-size:12px;color:#747576;line-height:16px;padding:0 4px}::ng-deep .vx-form-group .tab-group .upload-file .browse .label{font-size:11px;color:#1e5dd3;line-height:16px;font-weight:600;text-transform:uppercase;margin:0;padding:0}::ng-deep .vx-form-group .tab-group .upload-file .browse .label input{opacity:0;position:absolute;top:0;margin:0;padding:0;right:0;bottom:0;left:0;cursor:pointer;width:100%}::ng-deep .vx-form-group .tab-group.active{border-color:#1e5dd3}::ng-deep .vx-form-group .tab-group.uploaded{margin-top:4px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file{padding:12px \u200B24px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .image{display:none}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .browse{width:100%}::ng-deep .vx-form-group .tab-group+label.vx-form-group{margin-top:8px;margin-bottom:4px}::ng-deep .vx-form-group .file-list{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:4px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:relative}::ng-deep .vx-form-group .file-list span.file-name{color:#747576;line-height:16px;font-size:11px;font-weight:400;cursor:pointer;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .vx-form-group .file-list .button-group{display:flex}::ng-deep .vx-form-group .file-list button{font-size:12px;color:#eb2424;cursor:pointer;display:flex;padding:0;border:none;outline:none;background:transparent}::ng-deep .vx-form-group .file-list button.edit{color:#1e5dd3}::ng-deep .vx-form-group .file-list button+button{margin-left:16px}::ng-deep .vx-form-group .file-list+.file-list{margin-top:4px}::ng-deep .vx-form-group .file-list .file-container{display:flex;justify-content:space-between;width:100%}::ng-deep .vx-form-group .file-list.policy{background:#fff}::ng-deep .vx-form-group .file-list cs-select{position:relative;margin-top:8px;width:100%}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group input.value{height:32px!important;font-size:11px!important}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group i{right:12px!important;top:12px!important}::ng-deep .vx-form-group .file-list app-line-loader{display:block;position:absolute;left:10px;right:10px;bottom:0}::ng-deep .vx-form-group label.vx-control-panel{color:#161b2f;font-size:11px;font-weight:500;line-height:16px;margin-bottom:8px;display:block;text-transform:uppercase;width:100%;margin-top:4px;text-align:left}::ng-deep .vx-form-group label.vx-control-panel.custom-tag{font-size:10px}::ng-deep .vx-form-group label.vx-control-panel.vx-mt-8{margin-top:8px}::ng-deep .vx-form-group label.vx-control-panel span.required{color:#eb2424;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 .input,::ng-deep .vx-form-group input[type=text]{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400}::ng-deep .vx-form-group .input::-moz-placeholder,::ng-deep .vx-form-group input[type=text]::-moz-placeholder{color:#747576}::ng-deep .vx-form-group .input:-ms-input-placeholder,::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder{color:#747576}::ng-deep .vx-form-group .input::placeholder,::ng-deep .vx-form-group input[type=text]::placeholder{color:#747576}::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group .input:hover,::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group input[type=text]:hover{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .vx-form-group .input.error,::ng-deep .vx-form-group input[type=text].error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group .input.error:focus,::ng-deep .vx-form-group input[type=text].error:focus{box-shadow:0 0 5px rgba(211,30,30,.27)}::ng-deep .vx-form-group .input:disabled,::ng-deep .vx-form-group input[type=text]:disabled{background:#f1f1f1;cursor:not-allowed}::ng-deep .vx-form-group .input:disabled:hover,::ng-deep .vx-form-group input[type=text]:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group .input span.text,::ng-deep .vx-form-group input[type=text] span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group .input .input-group,::ng-deep .vx-form-group input[type=text] .input-group{display:flex;align-items:center}::ng-deep .vx-form-group .input .input-group.counter,::ng-deep .vx-form-group input[type=text] .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group .input .input-group.counter button,::ng-deep .vx-form-group input[type=text] .input-group.counter button{height:24px;width:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#747576;font-size:8px;cursor:pointer;outline:none}::ng-deep .vx-form-group .input .input-group.counter input,::ng-deep .vx-form-group input[type=text] .input-group.counter input{-webkit-appearance:textfield;-moz-appearance:textfield;height:24px;width:calc(100% - 48px);border:1px solid #f1f1f1;outline:none;padding:0 6px;text-align:center}::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}::ng-deep .vx-form-group .input+.file-list,::ng-deep .vx-form-group input[type=text]+.file-list{margin-top:8px}::ng-deep .vx-form-group .input::-moz-placeholder,::ng-deep .vx-form-group input[type=text]::-moz-placeholder{font-size:13px}::ng-deep .vx-form-group .input::placeholder,::ng-deep .vx-form-group input[type=text]::placeholder{font-size:13px}::ng-deep .vx-form-group .input:-ms-input-placeholder,::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .input::-ms-input-placeholder,::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{width:100%;position:relative;z-index:1;margin:0 4px 0 0}::ng-deep .vx-form-group .classification label span{display:block;width:100%;height:24px;border:1px solid #f1f1f1;border-radius:2px;line-height:24px;font-size:10px;text-align:center;color:#747576;font-weight:500;position:relative;text-transform:uppercase}::ng-deep .vx-form-group .classification label span:before{height:2px;content:\"\";top:0;right:0;left:0;border-radius:2px;position:absolute;transition:all .2s ease-in-out}::ng-deep .vx-form-group .classification label input{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:1}::ng-deep .vx-form-group .classification label input:checked+span{color:#fff}::ng-deep .vx-form-group .classification label input:checked+span:before{bottom:0;height:100%;z-index:-1}::ng-deep .vx-form-group .classification label.low span:before{background:#34aa44}::ng-deep .vx-form-group .classification label.low-med span:before{background:#f2bf19}::ng-deep .vx-form-group .classification label.med-high span:before{background:#f29619}::ng-deep .vx-form-group .classification label.high span:before{background:#eb2424}::ng-deep .vx-form-group .classification label:last-of-type{margin-right:0}::ng-deep .vx-form-group .input{display:flex;align-items:center}::ng-deep .vx-form-group .selected{height:40px;border-radius:4px;border:1px solid #f1f1f1;background:#fbfbfb;outline:none;padding:8px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:flex;align-items:center;position:relative;justify-content:space-between}::ng-deep .vx-form-group .selected .chip-container{display:flex;width:calc(100% - 60px);align-items:center}::ng-deep .vx-form-group .selected .chip-container span.chip{background:#fff;border-radius:2px;box-shadow:0 0 3px #1e5dd31a;height:24px;padding:0 8px;color:#1e5dd3;font-size:12px;display:block;width:auto;max-width:100%;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}::ng-deep .vx-form-group .selected .chip-container span.chip 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.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 button.count{background:#1e5dd3;border-radius:2px;height:24px;padding:2px 8px;border:1px solid #1e5dd3;cursor:pointer;outline:none;color:#fff;font:13px;font-weight:500;line-height:20px;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit{border:1px solid #f1f1f1;border-radius:2px;background:#fff;outline:none;cursor:pointer;display:block;height:24px;padding:0 5px 0 4px;font-size:11px;font-weight:500;color:#1e5dd3;text-transform:uppercase;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit i{font-weight:400;font-size:8px;margin-right:4px}::ng-deep .vx-form-group .selected button.close-btn{background:transparent;border:none;padding:0;margin-left:8px;font-size:10px;color:#c7381b;display:flex;align-items:center}::ng-deep .vx-form-group .selected .workflow-label{min-width:92px;padding:4px;text-align:center;margin-left:-8px;margin-right:8px;border-right:1px solid #f1f1f1}::ng-deep .vx-form-group .selected .workflow-label p{margin:0;display:block;text-transform:uppercase}::ng-deep .vx-form-group .selected .workflow-label p.title{font-size:9px;line-height:12px;color:#161b2f;font-weight:500}::ng-deep .vx-form-group .selected .workflow-label p.description{font-size:11px;line-height:16px;color:#161b2f;font-weight:600}::ng-deep .vx-form-group .selected .workflow-label+.chip-container{width:calc(100% - 148px)}::ng-deep .vx-form-group .selected+.selected{margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .selected+app-cs-switch.who-toggle label.cs-switch span.value{color:#747576}::ng-deep .vx-form-group .selected+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .selected~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .selected.readOnly{pointer-events:none}::ng-deep .vx-form-group .selected span.chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .vx-form-group .select-list{position:absolute;background:#fff;box-shadow:0 0 5px #1e5dd3;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group marx-editor{margin-top:8px;display:block}::ng-deep .vx-form-group marx-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group marx-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}@media not all and (min-resolution:0.001dpcm){@supports (-webkit-appearance:none){::ng-deep .vx-form-group marx-editor .editor-container .editable-block:before{opacity:.72}}}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:22px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group marx-editor .editor-container:focus-within{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:hover{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group app-cs-switch label.cs-switch span.value{font-size:11px;color:#747576;text-transform:uppercase}::ng-deep .vx-form-group app-cs-switch+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group .date-time-picker{display:flex;justify-content:space-between;height:40px;border-radius:4px;border:1px solid #dbdbdb;padding:11px 0}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .vx-form-group .date-time-picker .picker-group{width:50%;position:relative;display:flex;align-items:center}::ng-deep .vx-form-group .date-time-picker .picker-group:first-of-type{border-right:1px solid #dbdbdb}::ng-deep .vx-form-group .date-time-picker .picker-group:only-of-type{border:none;width:100%}::ng-deep .vx-form-group .date-time-picker .picker-group input{height:38px;background:#fff;line-height:38px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400;border:none;padding:0 12px 0 34px;outline:none}::ng-deep .vx-form-group .date-time-picker .picker-group input:focus,::ng-deep .vx-form-group .date-time-picker .picker-group input:hover{box-shadow:none;border:none}::ng-deep .vx-form-group .date-time-picker .picker-group input::-moz-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input:-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group i{display:flex;justify-content:center;align-items:center;height:16px;width:16px;position:absolute;left:12px;top:0;color:#bcbcbc;font-size:16px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}.left{width:36px;height:36px;margin-top:30px;margin-left:-58px;margin-right:20px;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;border-radius:50%}.left.deadline-completed{margin-top:18px}.left.checked{background:transparent}.left img{width:36px}.left .checkIcon{width:32px;height:32px;background:#fff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 0 #34aa44;-webkit-animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}.left .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;-webkit-animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;-webkit-animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.right{width:100%}.right span.indicator{position:absolute;top:36px;left:-16px;font-size:12px;color:#f0b819;cursor:pointer}.form-group-row{display:flex;position:relative;transition:all .2s ease-in-out}.form-group-row.hide{opacity:0;transition:all .2s ease-in-out}.form-group-row.disabled{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:0;right:0;bottom:0;left:0;background:#fff;opacity:.7}.form-group-row.disabled .right{opacity:.3}.form-group-row.active{pointer-events:none;filter:grayscale(0);z-index:2;opacity:1}.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group input{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}@-webkit-keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes strokeCheck{to{stroke-dashoffset:0}}@-webkit-keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}.action-list{width:220px}.action-list ul{padding:0;margin:0;-webkit-animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.action-list ul.action-item{display:block}.action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}.action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}.action-list ul.action-item li button i{font-size:17px;margin-right:10px;color:#1c5bd1}.action-list ul.action-item li button:hover{background:#f3f3f3}.action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.action-list ul.action-item li .avatar-card.within-con{display:block}.action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#4681ef;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}.action-list ul.action-item li .avatar-card .avatar img{width:100%}.action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;-moz-text-align-last:left;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#1c5bd1;cursor:pointer;margin-right:5px}.action-list ul.action-item li .avatar-card.no-image{display:block}.action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.action-list ul.action-item li .chip-item i{margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}.action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.action-list ul.action-item li .chip-item span.id{font-size:9px}.action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}.action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}.action-list ul.action-item li:first-child{-webkit-animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(2){-webkit-animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(3){-webkit-animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(4){-webkit-animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(5){-webkit-animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(6){-webkit-animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(7){-webkit-animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(8){-webkit-animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(9){-webkit-animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(10){-webkit-animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@-webkit-keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@-webkit-keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}p.error-message{font-size:11px;font-weight:400;color:#eb2424;line-height:16px;margin-top:0;margin-bottom:0}.edit-loader{position:absolute;top:-3px;left:-3px;width:46px;height:46px;transform:rotate(180deg)}.circular-loader{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto}.loader-path{stroke-dasharray:150,200;stroke-dashoffset:-10;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@-webkit-keyframes rotate{to{transform:rotate(1turn)}}@keyframes rotate{to{transform:rotate(1turn)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}::ng-deep .dropdown{position:fixed;background:#fff;box-shadow:0 3px 6px #00000029;padding:24px 0;z-index:9;max-height:calc(100vh - 200px);overflow:auto}::ng-deep .dropdown ul.dropdown-list{padding:0 20px;margin:0;display:block}::ng-deep .dropdown ul.dropdown-list li{list-style:none}::ng-deep .dropdown ul.dropdown-list li app-cs-radio{display:flex}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.radio{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.value{padding:11px 12px 11px 32px;width:100%;border:1px solid #bcbcbc;border-radius:4px;margin-left:0;max-width:100%}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item svg{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item input[type=radio]:checked~span.value{background:#e8feeb;border-color:#34aa44}::ng-deep .dropdown ul.dropdown-list li+li{margin-top:8px}app-smiley-dialog{position:relative;z-index:10}app-smiley-dialog-inline{position:absolute;top:0;right:0;bottom:0;left:0;z-index:999}.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:0;left:0}dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}dp-date-picker input:focus{outline:none}dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;-webkit-animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}dp-date-picker .dp-popup dp-day-calendar,dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}dp-date-picker .dp-popup dp-day-calendar button,dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays{display:flex;justify-content:space-around}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected{background:#1e5dd3}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}dp-date-picker .dp-open+div{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:rgba(0,0,0,.3)}@-webkit-keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}"]
341
347
  },] }
342
348
  ];
@@ -354,8 +360,10 @@ WorkflowEngineContainerComponent.propDecorators = {
354
360
  allowedWorkflows: [{ type: Input }],
355
361
  frameworkDetails: [{ type: Input }],
356
362
  selectedRC: [{ type: Input }],
357
- reponsibiltyData: [{ type: Input }],
363
+ reponsibilityData: [{ type: Input }],
364
+ issueData: [{ type: Input }],
358
365
  entrustButtonName: [{ type: Input }],
366
+ config: [{ type: Input }],
359
367
  convertFileData: [{ type: Input }],
360
368
  selectedCategory: [{ type: Input }],
361
369
  riskComponent: [{ type: ViewChild, args: ['risk', { static: false },] }],
@@ -364,7 +372,7 @@ WorkflowEngineContainerComponent.propDecorators = {
364
372
  compliance: [{ type: ViewChild, args: ['responsibility', { static: false },] }],
365
373
  moreOption: [{ type: ViewChild, args: ['moreOption', { static: false },] }],
366
374
  dropdown: [{ type: ViewChild, args: ['dropdown',] }],
367
- dropdownRow: [{ type: ViewChild, args: ['dropdownRow',] }],
375
+ dropdownRow: [{ type: ViewChild, args: ['dropdownRow', { static: false },] }],
368
376
  policy: [{ type: ViewChild, args: ['policy',] }],
369
377
  logIssueComponent: [{ type: ViewChild, args: ['logAnIssue',] }],
370
378
  onKeydownHandler: [{ type: HostListener, args: ['document:keydown.escape', ['$event'],] }],
@@ -4912,26 +4920,26 @@ class MoreOptionComponent {
4912
4920
  {
4913
4921
  imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/exception-type.svg',
4914
4922
  name: 'Exception type',
4915
- tooltipTitle: '',
4916
- tooltipMessage: '',
4923
+ tooltipTitle: 'Exception type',
4924
+ tooltipMessage: 'Exception type lets you specify whether there is a design or an operational effectiveness problem.',
4917
4925
  checked: false,
4918
4926
  hidden: false,
4919
4927
  code: 'EXCEPTION_TYPE'
4920
4928
  },
4921
- {
4922
- imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/issue-type.svg',
4923
- name: 'Issue type',
4924
- tooltipTitle: '',
4925
- tooltipMessage: '',
4926
- checked: false,
4927
- hidden: false,
4928
- code: 'ISSUE_TYPE'
4929
- },
4929
+ // {
4930
+ // imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/issue-type.svg',
4931
+ // name: 'Issue type',
4932
+ // tooltipTitle: '',
4933
+ // tooltipMessage: '',
4934
+ // checked: false,
4935
+ // hidden: false,
4936
+ // code: 'ISSUE_TYPE'
4937
+ // },
4930
4938
  {
4931
4939
  imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/priority.svg',
4932
4940
  name: 'Priority',
4933
- tooltipTitle: '',
4934
- tooltipMessage: '',
4941
+ tooltipTitle: 'Priority',
4942
+ tooltipMessage: 'This sets the priority level for resolving each issue.',
4935
4943
  checked: false,
4936
4944
  hidden: false,
4937
4945
  code: 'PRIORITY',
@@ -4939,8 +4947,8 @@ class MoreOptionComponent {
4939
4947
  {
4940
4948
  imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/associated-risks.svg',
4941
4949
  name: 'Associated Risks',
4942
- tooltipTitle: '',
4943
- tooltipMessage: '',
4950
+ tooltipTitle: 'Associated Risks',
4951
+ tooltipMessage: 'Associated risks lets you specify the risks that are related to this issue.',
4944
4952
  checked: false,
4945
4953
  hidden: false,
4946
4954
  code: 'ASSOCIATED_RISKS'
@@ -4948,8 +4956,8 @@ class MoreOptionComponent {
4948
4956
  {
4949
4957
  imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg',
4950
4958
  name: 'Overseer',
4951
- tooltipTitle: '',
4952
- tooltipMessage: '',
4959
+ tooltipTitle: 'Overseer',
4960
+ tooltipMessage: 'Overseers are the persons responsible for overseeing an issue. These persons will receive email notifications about the issue status. As the person reporting this issue, you will automatically receive such email notifications.',
4953
4961
  checked: false,
4954
4962
  hidden: false,
4955
4963
  code: 'OVERSIGHT'
@@ -4957,8 +4965,8 @@ class MoreOptionComponent {
4957
4965
  {
4958
4966
  imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/format-evidence.svg',
4959
4967
  name: 'Evidence',
4960
- tooltipTitle: '',
4961
- tooltipMessage: '',
4968
+ tooltipTitle: 'Evidence',
4969
+ tooltipMessage: 'You can require that the person resolving the issue uploads evidence to confirm',
4962
4970
  checked: false,
4963
4971
  hidden: false,
4964
4972
  code: 'EVIDENCE'
@@ -10835,7 +10843,7 @@ class LogIssueService {
10835
10843
  getIssueCategories() {
10836
10844
  const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
10837
10845
  return this.http
10838
- .get(this.env.organizationGet + 'issueCategoryList', { headers })
10846
+ .get(this.env.assurance + 'Issue/Category/List', { headers })
10839
10847
  .pipe(retry(2));
10840
10848
  }
10841
10849
  getResponsibilityCenterList() {
@@ -10844,17 +10852,49 @@ class LogIssueService {
10844
10852
  }
10845
10853
  createIssue(payload) {
10846
10854
  const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
10847
- return this.http.post(this.env.organizationPost + 'createIssue', payload, { headers }).pipe(retry(2));
10855
+ return this.http.post(this.env.assurance + 'Issue', payload, { headers }).pipe(retry(2));
10848
10856
  }
10849
- validate(issueData, opendedFrom) {
10857
+ updateIssue(payload, issueId) {
10858
+ const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
10859
+ return this.http.put(this.env.assurance + 'Issue/' + issueId, payload, { headers }).pipe(retry(2));
10860
+ }
10861
+ getControlRisk(auditPlanId, type) {
10862
+ // Get Linked Audit Plan Responsibilities by Audit_Plan_Id
10863
+ // URL: https://devapi.v-comply.com/responsibilities/?mode=manage_audit_plan_responsibilities&id=610b329144c81a0009cbb598 Method: GET
10864
+ // Get Linked Audit Plan Risk by Audit_Plan_Id
10865
+ // URL: https://devapi.v-comply.com/risk/?mode=risk/manage_audit_plan_risk&id=610b329144c81a0009cbb598
10866
+ // Method: GET
10867
+ const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
10868
+ if (type === 'RESPONSIBILITY') {
10869
+ return this.http.get(this.env.responsibilitiesGet + 'manage_audit_plan_responsibilities&id=' + auditPlanId, { headers }).pipe(map((items) => {
10870
+ return items.map((item) => ({
10871
+ itemId: item === null || item === void 0 ? void 0 : item.report_id,
10872
+ itemControlId: item === null || item === void 0 ? void 0 : item.control_id,
10873
+ itemControlName: item === null || item === void 0 ? void 0 : item.report_name,
10874
+ itemType: 'RESPONSIBILITY'
10875
+ }));
10876
+ }));
10877
+ }
10878
+ else if (type === 'RISK') {
10879
+ return this.http.get(this.env.risk + 'risk/manage_audit_plan_risk&id=' + auditPlanId, { headers }).pipe(map((items) => {
10880
+ return items.map((item) => ({
10881
+ itemId: item === null || item === void 0 ? void 0 : item.risk_id,
10882
+ itemControlId: item === null || item === void 0 ? void 0 : item.risk_control_id,
10883
+ itemControlName: item === null || item === void 0 ? void 0 : item.title,
10884
+ itemType: 'RISK'
10885
+ }));
10886
+ }));
10887
+ }
10888
+ else {
10889
+ return null;
10890
+ }
10891
+ }
10892
+ validate(issueData, openedFrom, isRCMandatory) {
10850
10893
  const errors = [];
10851
10894
  if (!issueData.issueName || issueData.issueName.trim().length === 0) {
10852
10895
  errors.push('issueName');
10853
10896
  }
10854
- if (issueData.issueCategory.length === 0) {
10855
- errors.push('issueCategory');
10856
- }
10857
- if (issueData.issueRC.length === 0 && opendedFrom === 'GLOBAL') {
10897
+ if (issueData.issueRC.length === 0 && isRCMandatory) {
10858
10898
  errors.push('issueRC');
10859
10899
  }
10860
10900
  if (issueData.entrustTo.length === 0) {
@@ -10884,7 +10924,7 @@ class LogIssueService {
10884
10924
  exception_type: optionFieldsStatus.EXCEPTION_TYPE ? issueData.exceptionType.toString() : '',
10885
10925
  risk_class: (_a = issueData.issueRiskRating.toString()) !== null && _a !== void 0 ? _a : '',
10886
10926
  priority: optionFieldsStatus.PRIORITY ? issueData.issuePriority.toString() : '',
10887
- issue_category_id: (_b = this.arrayToId(issueData.issueCategory, 'issue_category_id')) !== null && _b !== void 0 ? _b : 0,
10927
+ issue_category_id: (_b = this.arrayToId(issueData.issueCategory, 'category_id')) !== null && _b !== void 0 ? _b : 0,
10888
10928
  recommendation: issueData.issueRecommendation,
10889
10929
  entrusted_to: (_c = this.arrayToId(issueData.entrustTo, 'employee_id')) !== null && _c !== void 0 ? _c : 0,
10890
10930
  issue_date: dateSplit[0] + '-' + dateSplit[1] + '-' + dateSplit[2] + ' ' + this.convertFrom12To24Format(issueData.issueDueTime),
@@ -10902,6 +10942,48 @@ class LogIssueService {
10902
10942
  }
10903
10943
  return createIssue;
10904
10944
  }
10945
+ payloadBuilder(issueData, optionFieldsStatus) {
10946
+ var _a, _b, _c, _d, _e;
10947
+ console.log(issueData);
10948
+ const selectedDate = new Date(issueData.issueDueDate);
10949
+ const dateSplit = [selectedDate.getFullYear(), selectedDate.getMonth() + 1, selectedDate.getDate()];
10950
+ const payload = {
10951
+ description: [],
10952
+ associated_risk: [],
10953
+ recommendation: []
10954
+ };
10955
+ payload.title = (_a = issueData.issueName) !== null && _a !== void 0 ? _a : '';
10956
+ payload.rc_id = issueData.issueRC.length ? this.arrayToId(issueData.issueRC, 'rc_id') : null;
10957
+ payload.category_id = issueData.issueCategory.length ? this.arrayToId(issueData.issueCategory, 'category_id') : null;
10958
+ payload.description[0] = {
10959
+ text: (_b = issueData.issueDescription) !== null && _b !== void 0 ? _b : '',
10960
+ attachments: (issueData === null || issueData === void 0 ? void 0 : issueData.issueDescriptionAttachements.length) ? issueData === null || issueData === void 0 ? void 0 : issueData.issueDescriptionAttachements : []
10961
+ };
10962
+ payload.exception_type = optionFieldsStatus.EXCEPTION_TYPE ? Number(issueData.exceptionType) : null;
10963
+ payload.risk_class = (_c = issueData.issueRiskRating) !== null && _c !== void 0 ? _c : null;
10964
+ payload.priority = optionFieldsStatus.PRIORITY ? Number(issueData.issuePriority) : null;
10965
+ payload.assignee_id = issueData.entrustTo ? this.arrayToId(issueData.entrustTo, 'my_member_id') : null;
10966
+ payload.associated_risk[0] = {
10967
+ text: optionFieldsStatus.ASSOCIATED_RISKS ? issueData.issueAssociatedRisk : '',
10968
+ attachments: []
10969
+ };
10970
+ payload.recommendation[0] = {
10971
+ text: (_d = issueData.issueRecommendation) !== null && _d !== void 0 ? _d : '',
10972
+ attachments: (issueData === null || issueData === void 0 ? void 0 : issueData.recommendedActionsAttachments.length) ? issueData === null || issueData === void 0 ? void 0 : issueData.recommendedActionsAttachments : []
10973
+ };
10974
+ payload.evidence = { evidence_flag: optionFieldsStatus.EVIDENCE ? (issueData.evidenceRequired ? 1 : 0) : 0 };
10975
+ payload.frequency_details = {
10976
+ frequency_time: (_e = this.convertFrom12To24Format(issueData.issueDueTime)) !== null && _e !== void 0 ? _e : '',
10977
+ frequency_date: dateSplit[0] + '-' + (dateSplit[1] < 10 ? '0' + dateSplit[1] : dateSplit[1]) + '-' + (dateSplit[2] < 10 ? '0' + dateSplit[2] : dateSplit[2])
10978
+ };
10979
+ payload.overseer = {
10980
+ cc_email: optionFieldsStatus.OVERSIGHT ? (issueData.issueCCUsers.length ? issueData.issueCCUsers.map((x) => { var _a; return { member_id: (_a = x.my_member_id) !== null && _a !== void 0 ? _a : 0, alert_enable: 1 }; }) : []) : [],
10981
+ failure_cc_email: optionFieldsStatus.OVERSIGHT ? (issueData.failureCCUsers.length ? issueData.failureCCUsers.map((x) => { var _a; return { member_id: (_a = x.my_member_id) !== null && _a !== void 0 ? _a : 0, alert_enable: 1 }; }) : []) : []
10982
+ };
10983
+ payload.custom_tags = issueData === null || issueData === void 0 ? void 0 : issueData.issueCustomTag;
10984
+ console.log(payload);
10985
+ return payload;
10986
+ }
10905
10987
  arrayToId(array, key) {
10906
10988
  if (array.length === 0) {
10907
10989
  return '';
@@ -10910,6 +10992,18 @@ class LogIssueService {
10910
10992
  return array[0][key];
10911
10993
  }
10912
10994
  }
10995
+ convertFrom24To12Format(time) {
10996
+ const hhmm = time.split(':');
10997
+ time = `${hhmm[0]}:${hhmm[1]}`;
10998
+ // Check correct time format and split into components
10999
+ time = time.toString().match(/^([01]\d|2[0-3])(:)([0-5]\d)(:[0-5]\d)?$/) || [time];
11000
+ if (time.length > 1) { // If time format correct
11001
+ time = time.slice(1); // Remove full string match value
11002
+ time[5] = +time[0] < 12 ? ' AM' : ' PM'; // Set AM/PM
11003
+ time[0] = +time[0] % 12 || 12; // Adjust hours
11004
+ }
11005
+ return time.join(''); // return adjusted time or original string
11006
+ }
10913
11007
  arrayToIDsDtring(array, identifierKey) {
10914
11008
  const list = array.map((el) => {
10915
11009
  return el[identifierKey];
@@ -10929,6 +11023,10 @@ class LogIssueService {
10929
11023
  const ORG_PATH = `o/${path}`;
10930
11024
  return this.http.post(this.env.fileUploadEndPoint + ORG_PATH + '&ngsw-bypass=true', payload);
10931
11025
  }
11026
+ getIssueDetails(issueId) {
11027
+ const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
11028
+ return this.http.get(this.env.assurance + 'Issue/Edit/' + issueId, { headers }).pipe(retry(3));
11029
+ }
10932
11030
  }
10933
11031
  LogIssueService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LogIssueService_Factory() { return new LogIssueService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(AuthService), i0.ɵɵinject(Configurations, 8)); }, token: LogIssueService, providedIn: "root" });
10934
11032
  LogIssueService.decorators = [
@@ -10948,22 +11046,33 @@ class LogAnIssueComponent {
10948
11046
  this.authService = authService;
10949
11047
  this.uiKitService = uiKitService;
10950
11048
  this.snackBar = snackBar;
10951
- this.reponsibiltyData = {
10952
- responsibiltyId: '',
10953
- responsibiltyName: '',
11049
+ this.reponsibilityData = {
11050
+ responsibilityId: null,
11051
+ responsibilityName: '',
11052
+ rcId: null
10954
11053
  };
11054
+ this.issueDetails = {
11055
+ auditPlanId: null,
11056
+ auditPlanName: '',
11057
+ rcId: null,
11058
+ auditObjId: null
11059
+ };
11060
+ this.mode = 'CREATE';
10955
11061
  this.pickerChanged = new EventEmitter();
10956
11062
  this.populateOption = new EventEmitter();
10957
11063
  this.closeWorkflow = new EventEmitter();
11064
+ this.modeChange = new EventEmitter();
11065
+ this.disconnectRefresh = new EventEmitter();
10958
11066
  this.scrollToBottom = false;
10959
11067
  this.datePickerOverlay = false;
10960
11068
  this.showDateError = false;
10961
11069
  this.showSmiley = false;
10962
11070
  this.loader = false;
10963
- this.smileyMessage = `You're All Set!`;
11071
+ this.smileyMessage = `The issue has been reported.`;
11072
+ this.isRiskControlLoading = false;
10964
11073
  this.actionButtons = [
10965
- { buttonText: 'Report More Issues', class: 'white-btn', id: 'addMore' }
10966
- // { buttonText: 'View Issue', class: 'blue-btn', id: 'viewIssue' },
11074
+ { buttonText: 'Report More Issues', class: 'white-btn', id: 'addMore' },
11075
+ { buttonText: 'View Issue', class: 'blue-btn', id: 'viewIssue' },
10967
11076
  ];
10968
11077
  this.description = {
10969
11078
  // mode: 'prime',
@@ -10983,7 +11092,8 @@ class LogAnIssueComponent {
10983
11092
  issueTypeList: [],
10984
11093
  userList: [],
10985
11094
  categoryList: [],
10986
- rcList: []
11095
+ rcList: [],
11096
+ linkageList: []
10987
11097
  };
10988
11098
  this.logIssueForm = {
10989
11099
  issueName: '',
@@ -10991,7 +11101,7 @@ class LogAnIssueComponent {
10991
11101
  issueDescription: '',
10992
11102
  issueDescriptionAttachements: [],
10993
11103
  issueCategory: [],
10994
- issueCustomTag: {},
11104
+ issueCustomTag: [],
10995
11105
  issueRC: [],
10996
11106
  issueType: [],
10997
11107
  isAssignToMyself: false,
@@ -11002,11 +11112,15 @@ class LogAnIssueComponent {
11002
11112
  issueRiskRating: 1,
11003
11113
  issuePriority: 1,
11004
11114
  issueRecommendation: '',
11115
+ recommendedActionsAttachments: [],
11005
11116
  issueAssociatedRisk: '',
11117
+ associatedRisksAttachments: [],
11006
11118
  issueCCUsers: [],
11007
- failureCCUsers: []
11119
+ failureCCUsers: [],
11120
+ linkedControlRisk: [],
11121
+ linkageType: 'RISK'
11008
11122
  };
11009
- this.descriptionAttachmentTrack = [];
11123
+ this.AttachmentTrack = [[], [], []];
11010
11124
  this.additionalOptionStatus = {
11011
11125
  EXCEPTION_TYPE: false,
11012
11126
  EVIDENCE: false,
@@ -11026,7 +11140,7 @@ class LogAnIssueComponent {
11026
11140
  { name: 'MEDIUM', value: 2, class: 'low-med' },
11027
11141
  { name: 'HIGH', value: 3, class: 'high' },
11028
11142
  ];
11029
- this.sideSelectorElements = ['ISSUE_CATEGORY', 'ISSUE_RC', 'ISSUE_WHO', 'ISSUE_TYPE', 'ISSUE_CC', 'ISSUE_FCC'];
11143
+ this.sideSelectorElements = ['ISSUE_CATEGORY', 'ISSUE_RC', 'ISSUE_WHO', 'ISSUE_TYPE', 'ISSUE_CC', 'ISSUE_FCC', 'ISSUE_CONTROL_RISK'];
11030
11144
  this.selectorConfig = {
11031
11145
  ISSUE_CATGORY: {
11032
11146
  panelTitle: 'Select Issue Category',
@@ -11079,6 +11193,13 @@ class LogAnIssueComponent {
11079
11193
  this.activeSelector = '';
11080
11194
  this.listLoadingStatus = [];
11081
11195
  this.currentTime = '';
11196
+ /**
11197
+ * isRCPreSelected,isRCVisible are variable used to set the visibility of rc field and edit button in certain conditions
11198
+ */
11199
+ this.isRCPreSelected = false;
11200
+ this.isRCVisible = true;
11201
+ this.isRCMandatory = true;
11202
+ this.isRiskControlVisible = false;
11082
11203
  }
11083
11204
  ngOnInit() {
11084
11205
  this.currentTime = this.getCurrentTime();
@@ -11095,10 +11216,20 @@ class LogAnIssueComponent {
11095
11216
  });
11096
11217
  }
11097
11218
  ngAfterViewInit() {
11219
+ this.fetchControlRisks();
11220
+ this.decideRCmandatory();
11098
11221
  }
11099
11222
  ngOnChanges() {
11100
11223
  this.currentTime = this.getCurrentTime();
11101
11224
  }
11225
+ decideRCmandatory() {
11226
+ if (['GLOBAL', ''].includes(this.openedFrom) && this.mode === 'CREATE') {
11227
+ this.isRCMandatory = true;
11228
+ }
11229
+ else {
11230
+ this.isRCMandatory = false;
11231
+ }
11232
+ }
11102
11233
  setCurrentTime() {
11103
11234
  this.currentTime = this.getCurrentTime();
11104
11235
  }
@@ -11146,7 +11277,8 @@ class LogAnIssueComponent {
11146
11277
  this.listLoadingStatus[2] = false;
11147
11278
  this.logService.getIssueCategories().subscribe((res) => {
11148
11279
  this.listLoadingStatus[2] = true;
11149
- this.listData.categoryList = res;
11280
+ this.listData.categoryList = res === null || res === void 0 ? void 0 : res.data;
11281
+ this.listData.categoryList = this.listData.categoryList.filter((e) => (e === null || e === void 0 ? void 0 : e.category_name) !== 'Uncategorized');
11150
11282
  this.checkAllListLoaded();
11151
11283
  }, (error) => {
11152
11284
  this.listLoadingStatus[2] = true;
@@ -11159,11 +11291,51 @@ class LogAnIssueComponent {
11159
11291
  this.listLoadingStatus[3] = true;
11160
11292
  this.listData.rcList = res;
11161
11293
  this.checkAllListLoaded();
11294
+ this.setSelectedRC();
11162
11295
  }, (error) => {
11163
11296
  this.listLoadingStatus[3] = true;
11164
11297
  this.checkAllListLoaded();
11165
11298
  });
11166
11299
  }
11300
+ setSelectedRC() {
11301
+ var _a, _b, _c, _e, _f, _g, _h;
11302
+ if (((_a = this.reponsibilityData) === null || _a === void 0 ? void 0 : _a.rcId) && this.openedFrom === 'COMPLIANCE_WORKROOM') {
11303
+ this.logIssueForm.issueRC = this.reponsibilityData.rcId ? this.listData.rcList.filter((e) => e.rc_id === this.reponsibilityData.rcId) : [];
11304
+ }
11305
+ else if (((_b = this.issueDetails) === null || _b === void 0 ? void 0 : _b.rcId) && ['AUDIT_WORKROOM', 'VIEW_AUDIT_EXECUTION_SUMMARY', 'EXECUTE_AUDIT_PLAN'].includes(this.openedFrom)) {
11306
+ this.logIssueForm.issueRC = ((_c = this.issueDetails) === null || _c === void 0 ? void 0 : _c.rcId) ? this.listData.rcList.filter((e) => { var _a; return e.rc_id === ((_a = this.issueDetails) === null || _a === void 0 ? void 0 : _a.rcId); }) : [];
11307
+ }
11308
+ if ((_f = (_e = this.logIssueForm) === null || _e === void 0 ? void 0 : _e.issueRC) === null || _f === void 0 ? void 0 : _f.length) {
11309
+ this.isRCPreSelected = true;
11310
+ }
11311
+ else {
11312
+ this.isRCPreSelected = false;
11313
+ }
11314
+ if (!(((_g = this.reponsibilityData) === null || _g === void 0 ? void 0 : _g.rcId) || ((_h = this.issueDetails) === null || _h === void 0 ? void 0 : _h.rcId)) && ['COMPLIANCE_WORKROOM', 'AUDIT_WORKROOM', 'VIEW_AUDIT_EXECUTION_SUMMARY', 'EXECUTE_AUDIT_PLAN'].includes(this.openedFrom)) {
11315
+ this.isRCVisible = false;
11316
+ }
11317
+ else {
11318
+ this.isRCVisible = true;
11319
+ }
11320
+ }
11321
+ fetchControlRisks() {
11322
+ var _a;
11323
+ if (['VIEW_AUDIT_EXECUTION_SUMMARY', 'EXECUTE_AUDIT_PLAN'].includes(this.openedFrom)) {
11324
+ this.getLinkage((_a = this.issueDetails) === null || _a === void 0 ? void 0 : _a.auditObjId, this.logIssueForm.linkageType);
11325
+ }
11326
+ }
11327
+ getLinkage(auditId, type) {
11328
+ var _a;
11329
+ this.isRiskControlLoading = true;
11330
+ (_a = this.logService.getControlRisk(auditId, type)) === null || _a === void 0 ? void 0 : _a.subscribe((data) => {
11331
+ this.listData.linkageList = [...this.listData.linkageList, ...data];
11332
+ this.listData.linkageList = this.listData.linkageList.filter((thing, index, self) => index === self.findIndex((t) => (t.itemId === thing.itemId && t.itemType === thing.itemType)));
11333
+ this.isRiskControlLoading = false;
11334
+ console.log("linkage", this.listData);
11335
+ }, (error) => {
11336
+ this.isRiskControlLoading = false;
11337
+ });
11338
+ }
11167
11339
  /**
11168
11340
  * This functioj check weather all the required lists are loaded
11169
11341
  * If loaded hides the loader otherwise shows the loader.
@@ -11176,6 +11348,9 @@ class LogAnIssueComponent {
11176
11348
  else {
11177
11349
  this.loader = false;
11178
11350
  this.uiKitService.isLoader = false;
11351
+ if (this.mode === 'EDIT') {
11352
+ this.fetchIssueDetails();
11353
+ }
11179
11354
  }
11180
11355
  }
11181
11356
  /**
@@ -11219,7 +11394,7 @@ class LogAnIssueComponent {
11219
11394
  setActiveFieldSelector(activeField, activeSelector) {
11220
11395
  this.activeField = activeField;
11221
11396
  (activeSelector ? this.activeSelector = activeSelector : this.activeSelector = '');
11222
- const sliderType = ['ISSUE_RC', 'ISSUE_CATEGORY', 'ISSUE_TYPE', 'ISSUE_CC', 'ISSUE_FCC', 'ISSUE_WHO'];
11397
+ const sliderType = ['ISSUE_RC', 'ISSUE_CATEGORY', 'ISSUE_TYPE', 'ISSUE_CC', 'ISSUE_FCC', 'ISSUE_WHO', 'ISSUE_CONTROL_RISK'];
11223
11398
  if (sliderType.includes(activeField)) {
11224
11399
  this.pickerChanged.emit(true);
11225
11400
  }
@@ -11230,13 +11405,26 @@ class LogAnIssueComponent {
11230
11405
  this.pickerChanged.emit(false);
11231
11406
  }
11232
11407
  selectorAction(evt, type) {
11408
+ var _a, _b, _c, _e, _f, _g, _h;
11233
11409
  switch (type) {
11234
11410
  case 'ISSUE_CATEGORY': {
11235
- this.logIssueForm.issueCategory = this.idToArray(evt, this.listData.categoryList, 'issue_category_id');
11411
+ console.log(evt);
11412
+ this.logIssueForm.issueCategory = this.idToArray(evt, this.listData.categoryList, 'category_id');
11413
+ console.log(this.logIssueForm.issueCategory);
11236
11414
  this.fieldDeselector(type);
11237
11415
  if ((evt === null || evt === void 0 ? void 0 : evt.length) > 0) {
11238
11416
  this.removeError('issueCategory');
11239
11417
  }
11418
+ if ((_c = (_b = (_a = this.logIssueForm) === null || _a === void 0 ? void 0 : _a.issueCategory[0]) === null || _b === void 0 ? void 0 : _b.custom_tags) === null || _c === void 0 ? void 0 : _c.length) {
11419
+ const tag = [];
11420
+ (_f = (_e = this.logIssueForm) === null || _e === void 0 ? void 0 : _e.issueCategory[0]) === null || _f === void 0 ? void 0 : _f.custom_tags.forEach((element) => {
11421
+ tag.push({ name: element, value: '' });
11422
+ });
11423
+ this.logIssueForm.issueCustomTag = tag;
11424
+ }
11425
+ else {
11426
+ this.logIssueForm.issueCustomTag = [];
11427
+ }
11240
11428
  break;
11241
11429
  }
11242
11430
  //["issueName", "issueCategory", "issueRC", "entrustTo", "issueDueDate", "issueRecommendation"]
@@ -11271,13 +11459,18 @@ class LogAnIssueComponent {
11271
11459
  this.fieldDeselector(type);
11272
11460
  break;
11273
11461
  }
11462
+ case 'ISSUE_CONTROL_RISK':
11463
+ this.logIssueForm.linkedControlRisk = this.idToArray(evt, this.listData.linkageList, 'itemId');
11464
+ this.logIssueForm.linkageType = (_h = (_g = this.logIssueForm) === null || _g === void 0 ? void 0 : _g.linkedControlRisk[0]) === null || _h === void 0 ? void 0 : _h.itemType;
11465
+ this.fieldDeselector(type);
11466
+ break;
11274
11467
  }
11275
11468
  this.pickerChanged.emit(false);
11276
11469
  }
11277
11470
  deleteItem(type, element) {
11278
11471
  switch (type) {
11279
11472
  case 'ISSUE_CATEGORY': {
11280
- const itemIndex = this.logIssueForm.issueCategory.findIndex((item) => item.issue_category_id === element.issue_category_id);
11473
+ const itemIndex = this.logIssueForm.issueCategory.findIndex((item) => item.category_id === element.category_id);
11281
11474
  if (itemIndex !== -1) {
11282
11475
  this.logIssueForm.issueCategory.splice(itemIndex, 1);
11283
11476
  }
@@ -11318,6 +11511,12 @@ class LogAnIssueComponent {
11318
11511
  }
11319
11512
  break;
11320
11513
  }
11514
+ case 'ISSUE_CONTROL_RISK':
11515
+ const itemIndex = this.logIssueForm.linkedControlRisk.findIndex((item) => item.itemId === element.itemId);
11516
+ if (itemIndex !== -1) {
11517
+ this.logIssueForm.linkedControlRisk.splice(itemIndex, 1);
11518
+ }
11519
+ break;
11321
11520
  }
11322
11521
  }
11323
11522
  assignMyself(event) {
@@ -11337,70 +11536,178 @@ class LogAnIssueComponent {
11337
11536
  const x = list.filter((el) => selected.includes(el[key]));
11338
11537
  return x;
11339
11538
  }
11340
- selectFilefromDescription(files) {
11341
- var _a;
11342
- for (let i = 0; i <= files.length - 1; i++) {
11343
- const name = (_a = files[i].file.name) !== null && _a !== void 0 ? _a : '';
11344
- this.descriptionAttachmentTrack.push(name);
11345
- this.uploadFile(files[i].file);
11539
+ ///Code between 503 to 608 can be optimized to remove duplication
11540
+ selectFile(type, files) {
11541
+ var _a, _b, _c;
11542
+ switch (type) {
11543
+ case 'ISSUE_DESCRIPTION': {
11544
+ for (let i = 0; i <= files.length - 1; i++) {
11545
+ const name = (_a = files[i].file.name) !== null && _a !== void 0 ? _a : '';
11546
+ this.AttachmentTrack[0].push(name);
11547
+ this.uploadFile(files[i].file, type);
11548
+ }
11549
+ break;
11550
+ }
11551
+ case 'RECOMMENDED_ACTIONS': {
11552
+ for (let i = 0; i <= files.length - 1; i++) {
11553
+ const name = (_b = files[i].file.name) !== null && _b !== void 0 ? _b : '';
11554
+ this.AttachmentTrack[1].push(name);
11555
+ this.uploadFile(files[i].file, type);
11556
+ }
11557
+ break;
11558
+ }
11559
+ case 'ASSOCIATED_RISKS': {
11560
+ for (let i = 0; i <= files.length - 1; i++) {
11561
+ const name = (_c = files[i].file.name) !== null && _c !== void 0 ? _c : '';
11562
+ this.AttachmentTrack[2].push(name);
11563
+ this.uploadFile(files[i].file, type);
11564
+ }
11565
+ break;
11566
+ }
11346
11567
  }
11347
11568
  }
11348
- uploadFile(file) {
11569
+ uploadFile(file, type) {
11570
+ let trackIndex = 0;
11571
+ switch (type) {
11572
+ case 'ISSUE_DESCRIPTION': {
11573
+ trackIndex = 0;
11574
+ break;
11575
+ }
11576
+ case 'RECOMMENDED_ACTIONS': {
11577
+ trackIndex = 1;
11578
+ break;
11579
+ }
11580
+ case 'ASSOCIATED_RISKS': {
11581
+ trackIndex = 2;
11582
+ break;
11583
+ }
11584
+ }
11349
11585
  const formData = new FormData();
11350
11586
  formData.append('file', file);
11351
11587
  const destinationString = this.authService.getOrganizationId().toString();
11352
- this.logService.uploadFiles(formData, destinationString).subscribe((res) => {
11353
- const index = this.descriptionAttachmentTrack.indexOf(file === null || file === void 0 ? void 0 : file.name);
11588
+ this.logService.uploadFiles(formData, destinationString + '/').subscribe((res) => {
11589
+ const index = this.AttachmentTrack[trackIndex].indexOf(file === null || file === void 0 ? void 0 : file.name);
11354
11590
  if (index !== -1) {
11355
- this.descriptionAttachmentTrack.splice(index, 1);
11591
+ this.AttachmentTrack[trackIndex].splice(index, 1);
11592
+ }
11593
+ switch (type) {
11594
+ case 'ISSUE_DESCRIPTION': {
11595
+ this.logIssueForm.issueDescriptionAttachements.push(res);
11596
+ break;
11597
+ }
11598
+ case 'RECOMMENDED_ACTIONS': {
11599
+ this.logIssueForm.recommendedActionsAttachments.push(res);
11600
+ break;
11601
+ }
11602
+ case 'ASSOCIATED_RISKS': {
11603
+ this.logIssueForm.associatedRisksAttachments.push(res);
11604
+ break;
11605
+ }
11356
11606
  }
11357
- this.logIssueForm.issueDescriptionAttachements.push(res);
11358
11607
  }, (error) => {
11359
- const index = this.descriptionAttachmentTrack.indexOf(file.name);
11608
+ const index = this.AttachmentTrack[trackIndex].indexOf(file.name);
11360
11609
  if (index !== -1) {
11361
- this.descriptionAttachmentTrack.splice(index, 1);
11610
+ this.AttachmentTrack[trackIndex].splice(index, 1);
11362
11611
  }
11363
11612
  });
11364
11613
  }
11365
- deleteFile(file) {
11366
- var _a, _b, _c;
11367
- const fileIndex = (_b = (_a = this.logIssueForm.issueDescriptionAttachements) === null || _a === void 0 ? void 0 : _a.findIndex((currentFiles) => currentFiles.org_file === file.org_file)) !== null && _b !== void 0 ? _b : -1;
11368
- (_c = this.logIssueForm.issueDescriptionAttachements) === null || _c === void 0 ? void 0 : _c.splice(fileIndex, 1);
11614
+ deleteFile(file, type) {
11615
+ var _a, _b, _c, _e, _f, _g, _h, _j, _k;
11616
+ let fileIndex = -1;
11617
+ switch (type) {
11618
+ case 'ISSUE_DESCRIPTION': {
11619
+ fileIndex = (_b = (_a = this.logIssueForm.issueDescriptionAttachements) === null || _a === void 0 ? void 0 : _a.findIndex((currentFiles) => currentFiles.org_file === file.org_file)) !== null && _b !== void 0 ? _b : -1;
11620
+ (_c = this.logIssueForm.issueDescriptionAttachements) === null || _c === void 0 ? void 0 : _c.splice(fileIndex, 1);
11621
+ break;
11622
+ }
11623
+ case 'RECOMMENDED_ACTIONS': {
11624
+ fileIndex = (_f = (_e = this.logIssueForm.recommendedActionsAttachments) === null || _e === void 0 ? void 0 : _e.findIndex((currentFiles) => currentFiles.org_file === file.org_file)) !== null && _f !== void 0 ? _f : -1;
11625
+ (_g = this.logIssueForm.recommendedActionsAttachments) === null || _g === void 0 ? void 0 : _g.splice(fileIndex, 1);
11626
+ break;
11627
+ }
11628
+ case 'ASSOCIATED_RISKS': {
11629
+ fileIndex = (_j = (_h = this.logIssueForm.associatedRisksAttachments) === null || _h === void 0 ? void 0 : _h.findIndex((currentFiles) => currentFiles.org_file === file.org_file)) !== null && _j !== void 0 ? _j : -1;
11630
+ (_k = this.logIssueForm.associatedRisksAttachments) === null || _k === void 0 ? void 0 : _k.splice(fileIndex, 1);
11631
+ break;
11632
+ }
11633
+ }
11369
11634
  }
11370
11635
  addIssue() {
11371
- var _a, _b;
11636
+ var _a, _b, _c, _e, _f, _g, _h, _j, _k, _l, _m;
11372
11637
  const form = cloneDeep(this.logIssueForm);
11373
11638
  if (form.isAssignToMyself) {
11374
11639
  form.entrustTo = this.listData.userList.filter((emplist) => emplist.my_member_id === this.currentUser.id);
11375
11640
  }
11376
11641
  this.fieldsWithError = [];
11377
- this.fieldsWithError = this.logService.validate(form, this.openedFrom);
11642
+ this.fieldsWithError = this.logService.validate(form, this.openedFrom, this.isRCMandatory);
11378
11643
  if (this.fieldsWithError.length > 0) {
11379
11644
  return;
11380
11645
  }
11381
- const PAYLOAD = this.logService.generatePayload(form, this.additionalOptionStatus);
11382
- if (this.openedFrom === 'COMPLIANCE_WORKROOM' && ((_a = this.reponsibiltyData) === null || _a === void 0 ? void 0 : _a.responsibiltyId)) {
11383
- PAYLOAD.report_id = (_b = this.reponsibiltyData) === null || _b === void 0 ? void 0 : _b.responsibiltyId;
11646
+ const PAYLOAD = this.logService.payloadBuilder(form, this.additionalOptionStatus);
11647
+ if (this.mode === 'CREATE') {
11648
+ PAYLOAD.linkage_object = { source: this.openedFrom };
11649
+ if (this.openedFrom === 'COMPLIANCE_WORKROOM' && ((_a = this.reponsibilityData) === null || _a === void 0 ? void 0 : _a.responsibilityId)) {
11650
+ PAYLOAD.linkage_object = { compliance: { ids: [(_b = this.reponsibilityData) === null || _b === void 0 ? void 0 : _b.responsibilityId], source: "RESPONSIBILITY_WORKROOM" } };
11651
+ }
11652
+ if (['VIEW_AUDIT_EXECUTION_SUMMARY', 'EXECUTE_AUDIT_PLAN'].includes(this.openedFrom)) {
11653
+ if (((_c = this.logIssueForm) === null || _c === void 0 ? void 0 : _c.linkageType) && ((_e = this.logIssueForm) === null || _e === void 0 ? void 0 : _e.linkedControlRisk.length) > 0) {
11654
+ if (((_f = this.logIssueForm) === null || _f === void 0 ? void 0 : _f.linkageType) === 'RISK') {
11655
+ PAYLOAD.linkage_object.risk = { ids: [(_h = (_g = this.logIssueForm) === null || _g === void 0 ? void 0 : _g.linkedControlRisk[0]) === null || _h === void 0 ? void 0 : _h.itemId], source: this.openedFrom };
11656
+ }
11657
+ if (((_j = this.logIssueForm) === null || _j === void 0 ? void 0 : _j.linkageType) === 'RESPONSIBILITY') {
11658
+ PAYLOAD.linkage_object.compliance = { ids: [(_l = (_k = this.logIssueForm) === null || _k === void 0 ? void 0 : _k.linkedControlRisk[0]) === null || _l === void 0 ? void 0 : _l.itemId], source: this.openedFrom };
11659
+ }
11660
+ }
11661
+ }
11662
+ if (['AUDIT_WORKROOM', 'VIEW_AUDIT_EXECUTION_SUMMARY', 'EXECUTE_AUDIT_PLAN'].includes(this.openedFrom)) {
11663
+ if (this.issueDetails.auditPlanId) {
11664
+ PAYLOAD.linkage_object.audit_plan = { ids: [this.issueDetails.auditPlanId], source: this.openedFrom };
11665
+ }
11666
+ }
11667
+ }
11668
+ if (this.mode === 'EDIT') {
11669
+ PAYLOAD.IssueLinkage = (_m = this.dataForEdit) === null || _m === void 0 ? void 0 : _m.linkage_object;
11384
11670
  }
11385
11671
  this.loader = true;
11386
11672
  this.uiKitService.isLoader = true;
11387
- this.logService.createIssue(PAYLOAD).subscribe((res) => {
11388
- this.issueData = res;
11389
- this.showSmiley = true;
11390
- this.uiKitService.isSmileyOn = true;
11391
- this.loader = false;
11392
- this.uiKitService.isLoader = false;
11393
- }, error => {
11394
- this.loader = false;
11395
- this.uiKitService.isLoader = false;
11396
- this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');
11397
- });
11673
+ if (this.mode === 'EDIT') {
11674
+ this.logService.updateIssue(PAYLOAD, this.issueId).subscribe((res) => {
11675
+ this.smileyMessage = `The issue has been updated.`;
11676
+ this.issueData = res;
11677
+ this.showSmiley = true;
11678
+ this.uiKitService.isSmileyOn = true;
11679
+ this.loader = false;
11680
+ this.uiKitService.isLoader = false;
11681
+ }, error => {
11682
+ this.loader = false;
11683
+ this.uiKitService.isLoader = false;
11684
+ this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');
11685
+ });
11686
+ }
11687
+ else if (this.mode === 'CREATE' || this.mode === '' || !this.mode) {
11688
+ this.logService.createIssue(PAYLOAD).subscribe((res) => {
11689
+ this.issueData = res;
11690
+ this.showSmiley = true;
11691
+ this.uiKitService.isSmileyOn = true;
11692
+ this.loader = false;
11693
+ this.uiKitService.isLoader = false;
11694
+ }, error => {
11695
+ this.loader = false;
11696
+ this.uiKitService.isLoader = false;
11697
+ this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');
11698
+ });
11699
+ }
11398
11700
  }
11399
11701
  closeSmiley(evt) {
11400
11702
  this.showSmiley = false;
11401
11703
  this.uiKitService.isSmileyOn = false;
11402
11704
  this.closeWorkFlow(this.issueData, false);
11403
11705
  }
11706
+ /**
11707
+ * Closes workflow engine
11708
+ * @param evt
11709
+ * @param confirm
11710
+ */
11404
11711
  closeWorkFlow(evt, confirm) {
11405
11712
  this.closeWorkflow.emit({ evt, confirm });
11406
11713
  }
@@ -11409,10 +11716,34 @@ class LogAnIssueComponent {
11409
11716
  this.resetIssueForm();
11410
11717
  this.showSmiley = false;
11411
11718
  this.uiKitService.isSmileyOn = false;
11719
+ this.closeWorkFlow(this.issueData, false);
11412
11720
  }
11413
11721
  else if (evt === 'viewIssue') {
11722
+ this.showSmiley = false;
11723
+ this.viewIssue();
11724
+ }
11725
+ }
11726
+ viewIssue() {
11727
+ var _a, _b;
11728
+ this.disconnectRefresh.emit(false);
11729
+ let url;
11730
+ if (window.location.host.startsWith('localhost')) {
11731
+ url = 'http://' + window.location.host;
11732
+ }
11733
+ else {
11734
+ url = 'https://' + window.location.host;
11414
11735
  }
11736
+ if (window.location.host.startsWith('localhost')) {
11737
+ url += '/issue-workroom/' + ((_a = this.issueData) === null || _a === void 0 ? void 0 : _a._id);
11738
+ }
11739
+ else {
11740
+ url += '/audit/issue-workroom/' + ((_b = this.issueData) === null || _b === void 0 ? void 0 : _b._id);
11741
+ }
11742
+ window.location.href = url;
11415
11743
  }
11744
+ /**
11745
+ * Populate the tickmark of optional fields
11746
+ */
11416
11747
  populateOptionalFields() {
11417
11748
  const activatedOptions = [];
11418
11749
  for (const key of Object.keys(this.additionalOptionStatus)) {
@@ -11422,6 +11753,104 @@ class LogAnIssueComponent {
11422
11753
  }
11423
11754
  this.populateOption.emit(activatedOptions);
11424
11755
  }
11756
+ /**
11757
+ * Fetchs issue details when in edit mode based on the input id passed
11758
+ */
11759
+ fetchIssueDetails() {
11760
+ this.loader = true;
11761
+ this.uiKitService.isLoader = true;
11762
+ this.logService.getIssueDetails(this.issueId).subscribe((data) => {
11763
+ console.log("issue Data", data);
11764
+ this.populateForm(data);
11765
+ });
11766
+ }
11767
+ /**
11768
+ * Populates the issue form when in edit mode
11769
+ * @param issueData issue data fetched from API
11770
+ */
11771
+ populateForm(issueData) {
11772
+ var _a, _b, _c, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
11773
+ return __awaiter(this, void 0, void 0, function* () {
11774
+ this.dataForEdit = issueData;
11775
+ this.loader = false;
11776
+ this.uiKitService.isLoader = false;
11777
+ const issueDueDate = (_a = issueData.frequency_details) === null || _a === void 0 ? void 0 : _a.frequency_date.split('-');
11778
+ this.logIssueForm = {
11779
+ issueName: (_b = issueData.title) !== null && _b !== void 0 ? _b : '',
11780
+ evidenceRequired: (_e = (_c = issueData === null || issueData === void 0 ? void 0 : issueData.evidence) === null || _c === void 0 ? void 0 : _c.evidence_flag) !== null && _e !== void 0 ? _e : 0,
11781
+ issueDescription: ((_f = issueData === null || issueData === void 0 ? void 0 : issueData.description) === null || _f === void 0 ? void 0 : _f.length) ? (_g = issueData === null || issueData === void 0 ? void 0 : issueData.description[0]) === null || _g === void 0 ? void 0 : _g.text : '',
11782
+ issueDescriptionAttachements: ((_h = issueData === null || issueData === void 0 ? void 0 : issueData.description) === null || _h === void 0 ? void 0 : _h.length) ? (_j = issueData === null || issueData === void 0 ? void 0 : issueData.description[0]) === null || _j === void 0 ? void 0 : _j.attachments : [],
11783
+ issueCategory: (issueData === null || issueData === void 0 ? void 0 : issueData.category_id) ? this.listData.categoryList.filter((e) => e.category_id === (issueData === null || issueData === void 0 ? void 0 : issueData.category_id)) : [],
11784
+ issueCustomTag: (_k = issueData === null || issueData === void 0 ? void 0 : issueData.custom_tags) !== null && _k !== void 0 ? _k : [],
11785
+ issueRC: (issueData === null || issueData === void 0 ? void 0 : issueData.rc_id) ? this.listData.rcList.filter((e) => e.rc_id === (issueData === null || issueData === void 0 ? void 0 : issueData.rc_id)) : [],
11786
+ issueType: [],
11787
+ recommendedActionsAttachments: ((_l = issueData === null || issueData === void 0 ? void 0 : issueData.recommendation) === null || _l === void 0 ? void 0 : _l.length) ? (_m = issueData === null || issueData === void 0 ? void 0 : issueData.recommendation[0]) === null || _m === void 0 ? void 0 : _m.attachments : [],
11788
+ associatedRisksAttachments: [],
11789
+ isAssignToMyself: (issueData === null || issueData === void 0 ? void 0 : issueData.assignee_id) === this.currentUser.id ? true : false,
11790
+ entrustTo: (issueData === null || issueData === void 0 ? void 0 : issueData.assignee_id) === this.currentUser.id ? [] : this.listData.userList.filter((e) => e.my_member_id === (issueData === null || issueData === void 0 ? void 0 : issueData.assignee_id)),
11791
+ issueDueDate: ((_o = issueData === null || issueData === void 0 ? void 0 : issueData.frequency_details) === null || _o === void 0 ? void 0 : _o.frequency_date) ? moment(`${issueDueDate[0]}-${issueDueDate[1]}-${issueDueDate[2]}`) : '',
11792
+ issueDueTime: this.logService.convertFrom24To12Format(issueData.frequency_details.frequency_time),
11793
+ exceptionType: (_p = issueData.exception_type) !== null && _p !== void 0 ? _p : 1,
11794
+ issueRiskRating: (_q = issueData.risk_class) !== null && _q !== void 0 ? _q : 1,
11795
+ issuePriority: (_r = issueData.priority) !== null && _r !== void 0 ? _r : 1,
11796
+ issueRecommendation: ((_s = issueData === null || issueData === void 0 ? void 0 : issueData.recommendation) === null || _s === void 0 ? void 0 : _s.length) ? (_t = issueData === null || issueData === void 0 ? void 0 : issueData.recommendation[0]) === null || _t === void 0 ? void 0 : _t.text : '',
11797
+ issueAssociatedRisk: ((_u = issueData === null || issueData === void 0 ? void 0 : issueData.associated_risk) === null || _u === void 0 ? void 0 : _u.length) ? (_v = issueData === null || issueData === void 0 ? void 0 : issueData.associated_risk[0]) === null || _v === void 0 ? void 0 : _v.text : '',
11798
+ issueCCUsers: ((_w = issueData.overseer) === null || _w === void 0 ? void 0 : _w.cc_email.length) ? yield this.generateOverseerList(this.listData.userList, (_x = issueData.overseer) === null || _x === void 0 ? void 0 : _x.cc_email) : [],
11799
+ failureCCUsers: ((_y = issueData.overseer) === null || _y === void 0 ? void 0 : _y.failure_cc_email.length) ? yield this.generateOverseerList(this.listData.userList, (_z = issueData.overseer) === null || _z === void 0 ? void 0 : _z.failure_cc_email) : [],
11800
+ linkedControlRisk: [],
11801
+ linkageType: 'RESPONSIBILITY'
11802
+ };
11803
+ console.log("After Init", this.logIssueForm);
11804
+ if (this.mode === 'EDIT') {
11805
+ ((_0 = this.logIssueForm.issueRC) === null || _0 === void 0 ? void 0 : _0.length) > 0 ? this.isRCPreSelected = true : this.isRCPreSelected = false;
11806
+ ((_1 = issueData.linkage_object) === null || _1 === void 0 ? void 0 : _1.source) === 'GLOBAL' ? this.isRCMandatory = true : this.isRCMandatory = false;
11807
+ (((_2 = issueData.linkage_object) === null || _2 === void 0 ? void 0 : _2.source) === 'GLOBAL' && (issueData === null || issueData === void 0 ? void 0 : issueData.rc_id)) ? this.isRCPreSelected = false : this.isRCPreSelected = true;
11808
+ // if(issueData.linkage_object?.compliance?.ids?.length){
11809
+ // this.logIssueForm.linkedControlRisk = issueData.linkage_object?.compliance?.ids??[],
11810
+ // this.logIssueForm.linkageType = 'RESPONSIBILITY'
11811
+ // this.isRiskControlVisible = true;
11812
+ // }
11813
+ // if(issueData.linkage_object?.risk?.ids?.length){
11814
+ // this.logIssueForm.linkedControlRisk = issueData.linkage_object?.risk?.ids??[],
11815
+ // this.logIssueForm.linkageType = 'RISK';
11816
+ // this.isRiskControlVisible = true;
11817
+ // }
11818
+ }
11819
+ this.setOptionalField(issueData);
11820
+ });
11821
+ }
11822
+ /**
11823
+ * Sets the visibility of optional fields
11824
+ * @param issueData issue data fetched from API
11825
+ */
11826
+ setOptionalField(issueData) {
11827
+ this.additionalOptionStatus = {
11828
+ EXCEPTION_TYPE: issueData.exception_type ? true : false,
11829
+ EVIDENCE: issueData.evidence.evidence_flag ? true : false,
11830
+ PRIORITY: issueData.priority ? true : false,
11831
+ ISSUE_TYPE: false,
11832
+ ASSOCIATED_RISKS: issueData.associated_risk.length ? (issueData.associated_risk[0].text.length ? true : false) : false,
11833
+ OVERSIGHT: (issueData.overseer.cc_email.length > 0 || issueData.overseer.failure_cc_email.length > 0) ? true : false
11834
+ };
11835
+ this.populateOptionalFields();
11836
+ }
11837
+ /**
11838
+ * Generates list of selected overseer
11839
+ * @param allUserList list of all users in the organzation
11840
+ * @param overseerList lit of the overseer that needs to be filtered
11841
+ * @returns list of array containing the users objects
11842
+ */
11843
+ generateOverseerList(allUserList, overseerList) {
11844
+ return overseerList.map((user) => {
11845
+ const foundUser = allUserList.find((element) => element.my_member_id === user.member_id);
11846
+ if (foundUser) {
11847
+ return foundUser;
11848
+ }
11849
+ });
11850
+ }
11851
+ /**
11852
+ * Resets issue form
11853
+ */
11425
11854
  resetIssueForm() {
11426
11855
  this.scrollToBottom = false;
11427
11856
  this.logIssueForm = {
@@ -11429,8 +11858,10 @@ class LogAnIssueComponent {
11429
11858
  evidenceRequired: 0,
11430
11859
  issueDescription: '',
11431
11860
  issueDescriptionAttachements: [],
11861
+ recommendedActionsAttachments: [],
11862
+ associatedRisksAttachments: [],
11432
11863
  issueCategory: [],
11433
- issueCustomTag: {},
11864
+ issueCustomTag: [],
11434
11865
  issueRC: [],
11435
11866
  issueType: [],
11436
11867
  isAssignToMyself: false,
@@ -11448,6 +11879,9 @@ class LogAnIssueComponent {
11448
11879
  for (const key of Object.keys(this.additionalOptionStatus)) {
11449
11880
  this.additionalOptionStatus[key] = false;
11450
11881
  }
11882
+ this.smileyMessage = `The issue has been reported.`;
11883
+ this.mode = 'CREATE';
11884
+ this.modeChange.emit(this.mode);
11451
11885
  this.populateOptionalFields();
11452
11886
  }
11453
11887
  checkDescription() {
@@ -11465,7 +11899,7 @@ class LogAnIssueComponent {
11465
11899
  LogAnIssueComponent.decorators = [
11466
11900
  { type: Component, args: [{
11467
11901
  selector: 'app-log-an-issue',
11468
- template: "<!-- <p>log-an-issue works!</p> -->\r\n<div class=\"log-an-issue\" *ngIf=\"!showSmiley\">\r\n <div class=\"form-group-row\" *ngIf=\"['COMPLIANCE_WORKROOM','AUDIT_WORKROOM'].includes(openedFrom)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Linked to\r\n </label>\r\n <input type=\"text\" placeholder=\"Linked to\" disabled [value]=\"reponsibiltyData?.responsibiltyName\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\"\r\n [class.disabled]=\"activeField && activeField !== 'ISSUE_TITLE' && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm.issueName.trim().length\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/what.svg\" alt=\"name\"\r\n *ngIf=\"!logIssueForm.issueName.trim().length || activeField === 'ISSUE_TITLE'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"logIssueForm.issueName.trim().length && activeField !== 'ISSUE_TITLE'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Issue Title <span class=\"required\">*</span>\r\n </label>\r\n <input type=\"text\" placeholder=\"Enter issue Title\" [(ngModel)]=\"logIssueForm.issueName\"\r\n (focusin)=\"setActiveFieldSelector('ISSUE_TITLE','ISSUE_TITLE')\"\r\n (keyup)=\"logIssueForm.issueName?.trim()?.length > 0 ? removeError('issueName'): null\"\r\n (focusout)=\"setActiveFieldSelector('','')\" *ngIf=\"logIssueForm.issueName =='' || activeSelector === 'ISSUE_TITLE'\">\r\n <div class=\"selected\" *ngIf=\"logIssueForm.issueName.length && activeSelector !== 'ISSUE_TITLE'\">\r\n <div class=\"chip-container\">\r\n <span class=\"value\">{{logIssueForm.issueName}}</span>\r\n </div>\r\n <button class=\"edit\" (click)=\"setActiveFieldSelector('ISSUE_TITLE','ISSUE_TITLE')\" type=\"button\"><i class=\"icons\">&#xe90c;</i> Edit</button>\r\n </div>\r\n <p class=\"error-message\" *ngIf=\"fieldsWithError.includes('issueName')\">Please enter an issue title.</p>\r\n <ng-container *ngIf=\"descriptionAttachmentTrack.length > 0 \">\r\n <div class=\"file-list\" *ngFor=\"let uploadingFile of descriptionAttachmentTrack\">\r\n <div class=\"file-container\">\r\n <span class=\"file-name\">{{uploadingFile}}</span>\r\n <!-- <button>\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button> -->\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"logIssueForm?.issueDescriptionAttachements?.length > 0\">\r\n <div class=\"file-list\" *ngFor=\"let file of logIssueForm?.issueDescriptionAttachements\">\r\n <div class=\"file-container\">\r\n <span class=\"file-name\">{{file?.name}}</span>\r\n <button>\r\n <i class=\"icons\" (click)=\"deleteFile(file)\">&#xe90d;</i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <marx-editor [editorConfig]=\"{mode: 'prime',file:true,\r\n colorPalette: true,\r\n link: true,\r\n placeholder: 'Description'}\" [(ngModel)]=\"logIssueForm.issueDescription\"\r\n (sendSavedFiles)=\"selectFilefromDescription($event)\" (clickOutside)=\"checkDescription()\"></marx-editor>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group-row\" [class.active]=\"activeField === 'ISSUE_CATEGORY'\"\r\n [class.disabled]=\"activeField && activeField !== 'ISSUE_CATEGORY' && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm?.issueCategory?.length > 0 \">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\" alt=\"\"\r\n *ngIf=\"logIssueForm?.issueCategory?.length === 0 || activeField === 'ISSUE_CATEGORY' \" />\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"logIssueForm?.issueCategory?.length > 0 && activeField !== 'ISSUE_CATEGORY'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Issue Category <span class=\"required\">*</span></label>\r\n <div class=\"select\" *ngIf=\"!logIssueForm?.issueCategory || logIssueForm?.issueCategory?.length === 0\">\r\n <input (click)=\"setActiveFieldSelector('ISSUE_CATEGORY','ISSUE_CATEGORY')\" type=\"text\"\r\n placeholder=\"Select a category for this issue\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"logIssueForm?.issueCategory?.length > 0\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"><i class=\"icons\"\r\n (click)=\"deleteItem('ISSUE_CATEGORY',logIssueForm?.issueCategory[0])\">&#xe90d;</i>{{logIssueForm?.issueCategory[0]?.issue_category_name}}</span>\r\n </div>\r\n <button class=\"edit\" *ngIf=\"activeField !=='ISSUE_CATEGORY'\" type=\"button\"\r\n (click)=\"setActiveFieldSelector('ISSUE_CATEGORY','ISSUE_CATEGORY')\"><i\r\n class=\"icons\">&#xe90c;</i>Edit</button>\r\n </div>\r\n <p class=\"error-message\" *ngIf=\"fieldsWithError.includes('issueCategory')\">Please enter an issue\r\n category.</p>\r\n </div>\r\n <div class=\"vx-form-group\" *ngFor=\"let tag of logIssueForm.issueCustomTag|keyvalue\">\r\n <!-- {{logIssueForm.issueCustomTag|json}} -->\r\n <label class=\"vx-control-panel\">{{tag?.value?.custom_tag_name}}</label>\r\n <input type=\"text\" [placeholder]=\"tag?.value?.custom_tag_name\" [(ngModel)]=\"tag.value.custom_tag_value\">\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group-row\" [class.active]=\"false\"\r\n [class.disabled]=\"activeField && activeField !== 'ISSUE_RC' && sideSelectorElements.includes(activeField)\"\r\n *ngIf=\"openedFrom === 'GLOBAL'\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm?.issueRC?.length > 0\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/responsibility-center.svg\" alt=\"\" *ngIf=\"logIssueForm?.issueRC?.length === 0\">\r\n\r\n <svg class=\"checkIcon\" *ngIf=\"logIssueForm?.issueRC?.length > 0 && activeField !== 'ISSUE_RC'\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Responsibility Center <span class=\"required\">*</span></label>\r\n <div class=\"select\" *ngIf=\"!logIssueForm?.issueRC || logIssueForm?.issueRC?.length === 0\">\r\n <input (click)=\"setActiveFieldSelector('ISSUE_RC','ISSUE_RC')\" type=\"text\"\r\n placeholder=\"Select Responsibility Center(s)\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"logIssueForm?.issueRC?.length > 0\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"><i class=\"icons\"\r\n (click)=\"deleteItem('ISSUE_RC',logIssueForm?.issueRC[0])\">&#xe90d;</i>{{logIssueForm?.issueRC[0]?.item_name}}</span>\r\n </div>\r\n <button *ngIf=\"activeField !=='ISSUE_RC'\" class=\"edit\" type=\"button\"\r\n (click)=\"setActiveFieldSelector('ISSUE_RC','ISSUE_RC')\"><i\r\n class=\"icons\">&#xe90c;</i>Edit</button>\r\n </div>\r\n <p class=\"error-message\" *ngIf=\"fieldsWithError.includes('issueRC')\">Please select a responsibility center.</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group-row\"\r\n [class.disabled]=\"activeField && activeField !== 'ISSUE_WHO' && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm?.entrustTo?.length > 0\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/who.svg\" alt=\"im\"\r\n *ngIf=\"(logIssueForm?.entrustTo?.length === 0 && !logIssueForm?.isAssignToMyself) || activeField === 'ISSUE_WHO' \">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"(logIssueForm?.entrustTo?.length > 0 || logIssueForm?.isAssignToMyself ) && activeField !== 'ISSUE_WHO'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Who? <span class=\"required\">*</span></label>\r\n <div class=\"select\" [class.disabled]=\"logIssueForm?.isAssignToMyself\"\r\n *ngIf=\"!logIssueForm?.entrustTo || logIssueForm?.entrustTo?.length === 0\">\r\n <input (click)=\"setActiveFieldSelector('ISSUE_WHO','ISSUE_WHO')\"\r\n [disabled]=\"logIssueForm?.isAssignToMyself\" type=\"text\"\r\n placeholder=\"Who is responsible for completing the responsibility?\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"logIssueForm?.entrustTo?.length > 0\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"><i class=\"icons\"\r\n (click)=\"deleteItem('ISSUE_WHO',logIssueForm?.entrustTo[0])\">&#xe90d;</i>{{logIssueForm?.entrustTo[0]?.employee_name}}</span>\r\n </div>\r\n <button *ngIf=\"activeField !=='ISSUE_WHO'\" class=\"edit\" type=\"button\"\r\n (click)=\"setActiveFieldSelector('ISSUE_WHO','ISSUE_WHO')\"><i\r\n class=\"icons\">&#xe90c;</i>Edit</button>\r\n </div>\r\n <p class=\"error-message\" *ngIf=\"fieldsWithError.includes('entrustTo')\">Please select an assignee.</p>\r\n <div class=\"switch-row align-right\" [class.disabled]=\"activeField === 'ISSUE_WHO'\">\r\n <app-cs-switch [disabled]=\"activeField === 'ISSUE_WHO'\" [(ngValue)]=\"logIssueForm.isAssignToMyself\" (ngValueChange)=\"assignMyself($event)\">OR\r\n ASSIGN TO MYSELF\r\n </app-cs-switch>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group-row\"\r\n [class.disabled]=\"activeField && activeField !== 'ISSUE_DATE_TIME' && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm?.issueDueDate \">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/when.svg\" alt=\"im\"\r\n *ngIf=\"!logIssueForm?.issueDueDate || activeField === 'ISSUE_DATE_TIME' \">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"logIssueForm?.issueDueDate && activeField !== 'ISSUE_DATE_TIME'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Maximum Time to Resolve <span class=\"required\">*</span></label>\r\n <div class=\"date-time-picker\">\r\n <div class=\"picker-group\">\r\n <input type=\"text\" readonly placeholder=\"Set a deadline.\"\r\n [value]=\"logIssueForm.issueDueDate | date: 'dd MMM yyyy'\" (click)=\"openDatePicker();\">\r\n <i class=\"icons\">&#xe92d;</i>\r\n <dp-date-picker #datePicker (onSelect)=\"datePickerOverlay = false;closeDatePicker($event);removeError('issueDueDate')\" [config]=\"dateConfig\"\r\n [(ngModel)]=\"logIssueForm.issueDueDate\" >\r\n </dp-date-picker>\r\n <div class=\"vx-overlay\" (click)=\"closeDatePicker($event)\" *ngIf=\"datePickerOverlay\"></div>\r\n </div>\r\n\r\n <div class=\"picker-group\">\r\n\r\n <input (mouseover)=\"setCurrentTime()\" [(ngModel)]=\"logIssueForm.issueDueTime\" [value]=\"logIssueForm.issueDueTime\" readonly\r\n class=\"time\" aria-label=\"12hr format\" [ngxTimepicker]=\"dailyTime\" placeholder=\"Select Time\"\r\n type=\"text\" [min]=\"currentTime\" readonly>\r\n <i class=\"icons\">&#xe955;</i>\r\n <ngx-material-timepicker (opened)=\"setActiveFieldSelector('ISSUE_DATE_TIME', 'ISSUE_DATE_TIME')\"\r\n (closed)=\"setActiveFieldSelector('','')\" #dailyTime [defaultTime]=\"'11:59 pm'\">\r\n </ngx-material-timepicker>\r\n </div>\r\n\r\n </div>\r\n <p class=\"error-message\" *ngIf=\"fieldsWithError.includes('issueDueDate')\">Please enter a due date.</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group-row\" [class.disabled]=\"activeField && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm.issueRecommendation\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/recommended-action.svg\" alt=\"im\" *ngIf=\"!(logIssueForm.issueRecommendation | spaceBreaker).length\">\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"(logIssueForm.issueRecommendation | spaceBreaker).length>0\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Recommended Actions <span class=\"required\">*</span></label>\r\n <marx-editor [(ngModel)]=\"logIssueForm.issueRecommendation\" [editorConfig]=\"{mode: 'prime',\r\n colorPalette: true,\r\n link: true,\r\n placeholder: 'Recommended actions'}\" (ngModelChange)=\"logIssueForm?.issueRecommendation?.trim()?.length > 0 ? removeError('issueRecommendation'):null\"\r\n (clickOutside)=\"checkDescription()\"></marx-editor>\r\n <p class=\"error-message\" *ngIf=\"fieldsWithError.includes('issueRecommendation')\">Please enter\r\n recommendations.</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group-row\" *ngIf=\"!hiddenList.includes('RISK_CLASSIFICATION')\" [class.disabled]=\"activeField && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm.issueRiskRating\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/risks.svg\" alt=\"im\" *ngIf=\"!logIssueForm?.issueRiskRating\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"logIssueForm?.issueRiskRating\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n\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 class=\"low\" *ngFor=\" let class of riskClassification\" [ngClass]=\"[class.class]\">\r\n <input type=\"radio\" name=\"classification\" [value]=\"class.value\"\r\n [checked]=\"logIssueForm?.issueRiskRating === class.value\"\r\n [(ngModel)]=\"logIssueForm.issueRiskRating\">\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 <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"additionalOptionStatus.EXCEPTION_TYPE\"\r\n [class.disabled]=\"activeField && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm?.exceptionType > -1\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/exception-type.svg\" alt=\"im\" *ngIf=\"logIssueForm?.exceptionType === null\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"logIssueForm?.exceptionType > -1\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Exception Type\r\n </label>\r\n <app-cs-radio class=\"main-filed\" [value]=\"1\" [checked]=\"logIssueForm?.exceptionType === 1\"\r\n (checkedEvent)=\"setException(1)\">Design Exception\r\n <!-- <i class=\"icons\">&#xe91f;</i> -->\r\n </app-cs-radio>\r\n <app-cs-radio class=\"main-filed\" [value]=\"2\" [checked]=\"logIssueForm?.exceptionType === 0\"\r\n (checkedEvent)=\"setException(2)\">Effectiveness Exception\r\n <!-- <i class=\"icons\">&#xe91f;</i> -->\r\n </app-cs-radio>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" [class.active]=\"activeField === 'ISSUE_TYPE'\"\r\n [class.disabled]=\"activeField && activeField !== 'ISSUE_TYPE' && sideSelectorElements.includes(activeField)\"\r\n *ngIf=\"additionalOptionStatus.ISSUE_TYPE\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm?.issueType?.length > 0\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/issue-type.svg\" alt=\"\"\r\n *ngIf=\"logIssueForm?.issueType?.length === 0 || activeField === 'ISSUE_TYPE' \">\r\n\r\n <svg class=\"checkIcon\" *ngIf=\"logIssueForm?.issueType?.length > 0 && activeField !== 'ISSUE_TYPE'\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Issue Type</label>\r\n <div class=\"select\" *ngIf=\"!logIssueForm?.issueType || logIssueForm?.issueType?.length === 0\">\r\n <input (click)=\"setActiveFieldSelector('ISSUE_TYPE','ISSUE_TYPE')\" type=\"text\"\r\n placeholder=\"Select the Issue Type associated with this issue.\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"logIssueForm?.issueType?.length > 0\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"><i class=\"icons\"\r\n (click)=\"deleteItem('ISSUE_TYPE',logIssueForm?.issueType[0])\">&#xe90d;</i>{{logIssueForm?.issueType[0]?.issue_type_name}}</span>\r\n </div>\r\n <button *ngIf=\"activeField !=='ISSUE_TYPE'\" class=\"edit\" type=\"button\"\r\n (click)=\"setActiveFieldSelector('ISSUE_TYPE','ISSUE_TYPE')\"><i\r\n class=\"icons\">&#xe90c;</i>Edit</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"additionalOptionStatus.PRIORITY\"\r\n [class.disabled]=\"activeField && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm?.issuePriority\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/priority.svg\" alt=\"im\" *ngIf=\"!logIssueForm?.issuePriority\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"logIssueForm?.issuePriority > 0\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Priority</label>\r\n <div class=\"classification\">\r\n <label *ngFor=\" let priority of riskPrority\" [ngClass]=\"[priority.class]\">\r\n <input type=\"radio\" name=\"classification-priority\" [value]=\"priority.value\"\r\n [checked]=\"logIssueForm?.issuePriority === priority.value\"\r\n [(ngModel)]=\"logIssueForm.issuePriority\">\r\n <span>{{priority.name}}</span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"additionalOptionStatus.ASSOCIATED_RISKS\"\r\n [class.disabled]=\"activeField && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm.issueAssociatedRisk\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/associated-risks.svg\" alt=\"im\" *ngIf=\"!logIssueForm?.issueAssociatedRisk.trim().length\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"logIssueForm?.issueAssociatedRisk.trim().length\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Associated Risks </label>\r\n <marx-editor [(ngModel)]=\"logIssueForm.issueAssociatedRisk\" [editorConfig]=\"{mode: 'prime',\r\n colorPalette: true,\r\n link: true,\r\n placeholder: 'Associated Risks'}\" (clickOutside)=\"checkDescription()\"></marx-editor>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" [class.active]=\"false\" *ngIf=\"additionalOptionStatus.OVERSIGHT\"\r\n [class.disabled]=\"activeField && !(['ISSUE_CC','ISSUE_FCC'].includes(activeField)) && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\"\r\n [class.checked]=\"logIssueForm?.issueCCUsers?.length > 0 || logIssueForm?.failureCCUsers?.length > 0\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg\" alt=\"\"\r\n *ngIf=\"(logIssueForm?.issueCCUsers?.length === 0 && logIssueForm?.failureCCUsers?.length === 0)|| activeField === 'ISSUE_CC'|| activeField === 'ISSUE_FCC' \">\r\n\r\n <svg class=\"checkIcon\"\r\n *ngIf=\"logIssueForm?.issueCCUsers?.length > 0 || logIssueForm?.failureCCUsers?.length > 0 && activeField !== 'ISSUE_CC'|| activeField !== 'ISSUE_FCC'\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Overseer </label>\r\n <div class=\"select\" *ngIf=\"!logIssueForm?.issueCCUsers || logIssueForm?.issueCCUsers?.length === 0\">\r\n <input type=\"text\" (click)=\"setActiveFieldSelector('ISSUE_CC','ISSUE_CC')\"\r\n placeholder=\"Who should have oversight of this issue?\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"logIssueForm?.issueCCUsers?.length > 0\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"><i class=\"icons\"\r\n (click)=\"deleteItem('ISSUE_CC',logIssueForm?.issueCCUsers[0])\">&#xe90d;</i>{{logIssueForm?.issueCCUsers[0]?.employee_name}}</span>\r\n <button class=\"count\" *ngIf=\"logIssueForm?.issueCCUsers?.length > 1\" type=\"button\" appPopover\r\n (click)=\"CC.popover()\" placement=\"right\">+\r\n {{logIssueForm?.issueCCUsers?.slice(1).length}}</button>\r\n <app-popover #CC [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let cc of logIssueForm?.issueCCUsers | slice: 1; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"deleteItem('ISSUE_CC',cc)\">&#xe90d;</i>\r\n {{cc?.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 <button *ngIf=\"activeField !=='ISSUE_CC'\" class=\"edit\" type=\"button\"\r\n (click)=\"setActiveFieldSelector('ISSUE_CC','ISSUE_CC')\"><i\r\n class=\"icons\">&#xe90c;</i>Edit</button>\r\n </div>\r\n <div class=\"select\" *ngIf=\"!logIssueForm?.failureCCUsers || logIssueForm?.failureCCUsers?.length === 0\">\r\n <input (click)=\"setActiveFieldSelector('ISSUE_FCC','ISSUE_FCC')\" type=\"text\"\r\n placeholder=\"Who should be notified if the issue is not resolved?\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"logIssueForm?.failureCCUsers?.length > 0\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"><i class=\"icons\"\r\n (click)=\"deleteItem('ISSUE_FCC',logIssueForm?.failureCCUsers[0])\">&#xe90d;</i>{{logIssueForm?.failureCCUsers[0]?.employee_name}}</span>\r\n <button class=\"count\" *ngIf=\"logIssueForm?.failureCCUsers?.length > 1\" type=\"button\" appPopover\r\n (click)=\"FCC.popover()\" placement=\"right\">+\r\n {{logIssueForm?.failureCCUsers?.slice(1).length}}</button>\r\n <app-popover #FCC [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let fcc of logIssueForm?.failureCCUsers | slice: 1; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"deleteItem('ISSUE_FCC',fcc)\">&#xe90d;</i>\r\n {{fcc?.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 <button *ngIf=\"activeField !=='ISSUE_FCC'\" class=\"edit\" type=\"button\"\r\n (click)=\"setActiveFieldSelector('ISSUE_FCC','ISSUE_FCC')\"><i\r\n class=\"icons\">&#xe90c;</i>Edit</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"additionalOptionStatus.EVIDENCE\"\r\n [class.disabled]=\"activeField && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"true\">\r\n <!-- <img src=\"https://cdn.v-comply.com/format-evidence.svg\" alt=\"im\"> -->\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Evidence\r\n </label>\r\n <div class=\"upload-format\">\r\n <span class=\"text\">Do you want evidence of completion of the issue to be uploaded?</span>\r\n <div class=\"radio-group\">\r\n <app-cs-radio [name]=\"'file-evidence'\" [value]=\"1\"\r\n [checked]=\"logIssueForm?.evidenceRequired === 1\" (checkedEvent)=\"setEvidence(1)\">Yes\r\n </app-cs-radio>\r\n <app-cs-radio [name]=\"'file-evidence'\" [value]=\"0\"\r\n [checked]=\"logIssueForm?.evidenceRequired === 0\" (checkedEvent)=\"setEvidence(0)\">No\r\n </app-cs-radio>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n<app-radio-list [config]=\"selectorConfig?.ISSUE_CATGORY\" [itemsList]=\"listData?.categoryList\"\r\n [selectedItems]=\"logIssueForm.issueCategory\" [identifierKey]=\"'issue_category_id'\"\r\n [displayKey]=\"'issue_category_name'\" *ngIf=\"activeSelector==='ISSUE_CATEGORY'\"\r\n (saveList)=\"selectorAction($event,'ISSUE_CATEGORY')\" (closeList)=\"fieldDeselector('ISSUE_CATEGORY')\">\r\n</app-radio-list>\r\n\r\n<app-radio-list [config]=\"selectorConfig?.ISSUE_RC\" [itemsList]=\"listData?.rcList\"\r\n [selectedItems]=\"logIssueForm.issueRC\" [identifierKey]=\"'rc_id'\" [displayKey]=\"'rc_name'\"\r\n *ngIf=\"activeSelector==='ISSUE_RC'\" (saveList)=\"selectorAction($event,'ISSUE_RC')\"\r\n (closeList)=\"fieldDeselector('ISSUE_RC')\"></app-radio-list>\r\n\r\n<app-radio-list [config]=\"selectorConfig?.ISSUE_WHO\" [itemsList]=\"listData?.userList\" [twoColumn]=\"true\"\r\n [selectedItems]=\"logIssueForm.entrustTo\" [identifierKey]=\"'employee_id'\" [displayKey]=\"'employee_name'\" [tooltipKey]=\"'employee_email'\"\r\n *ngIf=\"activeSelector==='ISSUE_WHO'\" (saveList)=\"selectorAction($event,'ISSUE_WHO')\"\r\n (closeList)=\"fieldDeselector('ISSUE_WHO')\"></app-radio-list>\r\n\r\n<app-radio-list [config]=\"selectorConfig?.ISSUE_TYPE\" [itemsList]=\"listData?.issueTypeList\"\r\n [selectedItems]=\"logIssueForm.issueType\" [identifierKey]=\"'issue_id'\" [displayKey]=\"'issue_type_name'\"\r\n *ngIf=\"activeSelector==='ISSUE_TYPE'\" (saveList)=\"selectorAction($event,'ISSUE_TYPE')\"\r\n (closeList)=\"fieldDeselector('ISSUE_TYPE')\"></app-radio-list>\r\n\r\n<app-checkbox-list [config]=\"selectorConfig?.ISSUE_CC\" [twoColumn]=\"true\"\r\n [itemsList]=\"listData.userList|userFilter:'employee_email':logIssueForm.entrustTo:{'employee_email':currentUser?.email}\"\r\n [selectedItems]=\"logIssueForm.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')\"></app-checkbox-list>\r\n\r\n<app-checkbox-list [config]=\"selectorConfig?.ISSUE_FCC\" [twoColumn]=\"true\"\r\n [itemsList]=\"listData.userList|userFilter:'employee_email':logIssueForm.entrustTo:{'employee_email':currentUser?.email}\"\r\n [selectedItems]=\"logIssueForm.failureCCUsers\" [identifierKey]=\"'employee_email'\" [displayKey]=\"'employee_name'\" [tooltipKey]=\"'employee_email'\"\r\n *ngIf=\"activeSelector==='ISSUE_FCC'\" (saveList)=\"selectorAction($event,'ISSUE_FCC')\"\r\n (closeList)=\"fieldDeselector('ISSUE_FCC')\"></app-checkbox-list>\r\n\r\n<app-smiley-dialog-inline\r\n *ngIf=\"showSmiley\"\r\n [message]=\"smileyMessage\"\r\n [actionButtons]=\"actionButtons\"\r\n (action)=\"action($event)\"\r\n (closeSmiley)=\"closeSmiley($event)\">\r\n</app-smiley-dialog-inline>\r\n\r\n",
11902
+ template: "<!-- <p>log-an-issue works!</p> -->\r\n<div class=\"log-an-issue\" *ngIf=\"!showSmiley\">\r\n <div class=\"form-group-row\" *ngIf=\"['COMPLIANCE_WORKROOM'].includes(openedFrom)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Linked to\r\n </label>\r\n\r\n <div class=\"selected\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\">\r\n {{reponsibilityData?.responsibilityName}}</span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group-row\" *ngIf=\"['AUDIT_WORKROOM','VIEW_AUDIT_EXECUTION_SUMMARY','EXECUTE_AUDIT_PLAN'].includes(openedFrom)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Issue linked with\r\n </label>\r\n <div class=\"selected\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\">\r\n {{issueDetails?.auditPlanName}}</span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"form-group-row\" *ngIf=\"['VIEW_AUDIT_EXECUTION_SUMMARY','EXECUTE_AUDIT_PLAN'].includes(openedFrom) || isRiskControlVisible\" [class.active]=\"activeField === 'ISSUE_CONTROL_RISK'\"\r\n [class.disabled]=\"activeField && activeField !== 'ISSUE_CONTROL_RISK' && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm?.linkedControlRisk?.length > 0 \">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\" alt=\"\"\r\n *ngIf=\"logIssueForm?.linkedControlRisk?.length === 0 || activeField === 'ISSUE_CONTROL_RISK' \" />\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"logIssueForm?.linkedControlRisk?.length > 0 && activeField !== 'ISSUE_CONTROL_RISK'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Select a control or risk</label>\r\n <div class=\"select\" *ngIf=\"!logIssueForm?.linkedControlRisk || logIssueForm?.linkedControlRisk?.length === 0\">\r\n <input (click)=\"setActiveFieldSelector('ISSUE_CONTROL_RISK','ISSUE_CONTROL_RISK')\" type=\"text\"\r\n placeholder=\"Select a control or risk.\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"logIssueForm?.linkedControlRisk?.length > 0\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"><i class=\"icons\"\r\n (click)=\"deleteItem('ISSUE_CONTROL_RISK',logIssueForm?.linkedControlRisk[0])\">&#xe90d;</i>{{logIssueForm?.linkedControlRisk[0]?.itemControlName}}</span>\r\n </div>\r\n <button class=\"edit\" *ngIf=\"activeField !=='ISSUE_CONTROL_RISK'\" type=\"button\"\r\n (click)=\"setActiveFieldSelector('ISSUE_CONTROL_RISK','ISSUE_CONTROL_RISK')\"><i\r\n class=\"icons\">&#xe90c;</i>Edit</button>\r\n </div>\r\n </div>\r\n <div class=\"vx-form-group\" *ngFor=\"let tag of logIssueForm.issueCustomTag|keyvalue\">\r\n <!-- {{logIssueForm.issueCustomTag|json}} -->\r\n <label class=\"vx-control-panel\">{{tag?.value?.custom_tag_name}}</label>\r\n <input type=\"text\" [placeholder]=\"tag?.value?.custom_tag_name\" [(ngModel)]=\"tag.value.custom_tag_value\">\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n <div class=\"form-group-row\"\r\n [class.disabled]=\"activeField && activeField !== 'ISSUE_TITLE' && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm.issueName.trim().length\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/what.svg\" alt=\"name\"\r\n *ngIf=\"!logIssueForm.issueName.trim().length || activeField === 'ISSUE_TITLE'\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"logIssueForm.issueName.trim().length && activeField !== 'ISSUE_TITLE'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Issue Title <span class=\"required\">*</span>\r\n </label>\r\n <input type=\"text\" placeholder=\"Enter issue Title\" [(ngModel)]=\"logIssueForm.issueName\"\r\n (focusin)=\"setActiveFieldSelector('ISSUE_TITLE','ISSUE_TITLE')\"\r\n (keyup)=\"logIssueForm.issueName?.trim()?.length > 0 ? removeError('issueName'): null\"\r\n (focusout)=\"setActiveFieldSelector('','')\" *ngIf=\"logIssueForm.issueName =='' || activeSelector === 'ISSUE_TITLE'\">\r\n <div class=\"selected\" *ngIf=\"logIssueForm.issueName.length && activeSelector !== 'ISSUE_TITLE'\">\r\n <div class=\"chip-container\">\r\n <span class=\"value\">{{logIssueForm.issueName}}</span>\r\n </div>\r\n <button class=\"edit\" (click)=\"setActiveFieldSelector('ISSUE_TITLE','ISSUE_TITLE')\" type=\"button\"><i class=\"icons\">&#xe90c;</i> Edit</button>\r\n </div>\r\n <p class=\"error-message\" *ngIf=\"fieldsWithError.includes('issueName')\">Enter a name for this issue.</p>\r\n <ng-container *ngIf=\"AttachmentTrack[0]?.length > 0 \">\r\n <div class=\"file-list\" *ngFor=\"let uploadingFile of AttachmentTrack[0]\">\r\n <div class=\"file-container\">\r\n <span class=\"file-name\">{{uploadingFile}}</span>\r\n <!-- <button>\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button> -->\r\n </div>\r\n <app-line-loader [loaderHeight]=\"2\"></app-line-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"logIssueForm?.issueDescriptionAttachements?.length > 0\">\r\n <div class=\"file-list\" *ngFor=\"let file of logIssueForm?.issueDescriptionAttachements\">\r\n <div class=\"file-container\">\r\n <span class=\"file-name\">{{file?.name}}</span>\r\n <button>\r\n <i class=\"icons\" (click)=\"deleteFile(file,'ISSUE_DESCRIPTION')\">&#xe90d;</i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <marx-editor [editorConfig]=\"{mode: 'prime',file:false,\r\n colorPalette: true,\r\n link: true,\r\n placeholder: 'Description'}\" [(ngModel)]=\"logIssueForm.issueDescription\"\r\n (sendSavedFiles)=\"selectFile('ISSUE_DESCRIPTION',$event)\" (clickOutside)=\"checkDescription()\"></marx-editor>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group-row\" [class.active]=\"activeField === 'ISSUE_CATEGORY'\"\r\n [class.disabled]=\"activeField && activeField !== 'ISSUE_CATEGORY' && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm?.issueCategory?.length > 0 \">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\" alt=\"\"\r\n *ngIf=\"logIssueForm?.issueCategory?.length === 0 || activeField === 'ISSUE_CATEGORY' \" />\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"logIssueForm?.issueCategory?.length > 0 && activeField !== 'ISSUE_CATEGORY'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Issue Category </label>\r\n <div class=\"select\" *ngIf=\"!logIssueForm?.issueCategory || logIssueForm?.issueCategory?.length === 0\">\r\n <input (click)=\"setActiveFieldSelector('ISSUE_CATEGORY','ISSUE_CATEGORY')\" type=\"text\"\r\n placeholder=\"Select a category for this issue\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"logIssueForm?.issueCategory?.length > 0\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"><i class=\"icons\"\r\n (click)=\"deleteItem('ISSUE_CATEGORY',logIssueForm?.issueCategory[0])\">&#xe90d;</i>{{logIssueForm?.issueCategory[0]?.category_name}}</span>\r\n </div>\r\n <button class=\"edit\" *ngIf=\"activeField !=='ISSUE_CATEGORY'\" type=\"button\"\r\n (click)=\"setActiveFieldSelector('ISSUE_CATEGORY','ISSUE_CATEGORY')\"><i\r\n class=\"icons\">&#xe90c;</i>Edit</button>\r\n </div>\r\n <p class=\"error-message\" *ngIf=\"fieldsWithError.includes('issueCategory')\">Select an issue\r\n category.</p>\r\n </div>\r\n <div class=\"vx-form-group\" *ngFor=\"let tag of logIssueForm.issueCustomTag\">\r\n <!-- {{logIssueForm.issueCustomTag|json}} -->\r\n <label class=\"vx-control-panel\">{{tag?.name}}</label>\r\n <input type=\"text\" [placeholder]=\"tag?.name\" [(ngModel)]=\"tag.value\">\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group-row\" *ngIf=\"isRCVisible\" [class.active]=\"false\"\r\n [class.disabled]=\"activeField && activeField !== 'ISSUE_RC' && sideSelectorElements.includes(activeField)\"\r\n >\r\n <div class=\"left\" [class.checked]=\"logIssueForm?.issueRC?.length > 0\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/responsibility-center.svg\" alt=\"\" *ngIf=\"logIssueForm?.issueRC?.length === 0\">\r\n\r\n <svg class=\"checkIcon\" *ngIf=\"logIssueForm?.issueRC?.length > 0 && activeField !== 'ISSUE_RC'\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Responsibility Center\r\n <span class=\"required\" *ngIf=\"isRCMandatory\">*</span>\r\n </label>\r\n <div class=\"select\" *ngIf=\"!logIssueForm?.issueRC || logIssueForm?.issueRC?.length === 0\">\r\n <input (click)=\"setActiveFieldSelector('ISSUE_RC','ISSUE_RC')\" type=\"text\"\r\n placeholder=\"Select Responsibility Center(s)\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"logIssueForm?.issueRC?.length > 0\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"><i class=\"icons\" *ngIf=\"!isRCPreSelected\"\r\n (click)=\"deleteItem('ISSUE_RC',logIssueForm?.issueRC[0])\">&#xe90d;</i>{{logIssueForm?.issueRC[0]?.item_name}}</span>\r\n </div>\r\n <button *ngIf=\"activeField !=='ISSUE_RC' && !isRCPreSelected\" class=\"edit\" type=\"button\"\r\n (click)=\"setActiveFieldSelector('ISSUE_RC','ISSUE_RC')\"><i\r\n class=\"icons\">&#xe90c;</i>Edit</button>\r\n </div>\r\n <p class=\"error-message\" *ngIf=\"fieldsWithError.includes('issueRC')\">Select the Responsibility Center associated with this issue.</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group-row\"\r\n [class.disabled]=\"activeField && activeField !== 'ISSUE_WHO' && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm?.entrustTo?.length > 0\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/who.svg\" alt=\"im\"\r\n *ngIf=\"(logIssueForm?.entrustTo?.length === 0 && !logIssueForm?.isAssignToMyself) || activeField === 'ISSUE_WHO' \">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"(logIssueForm?.entrustTo?.length > 0 || logIssueForm?.isAssignToMyself ) && activeField !== 'ISSUE_WHO'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Who? <span class=\"required\">*</span></label>\r\n <div class=\"select\" [class.disabled]=\"logIssueForm?.isAssignToMyself\"\r\n *ngIf=\"!logIssueForm?.entrustTo || logIssueForm?.entrustTo?.length === 0\">\r\n <input (click)=\"setActiveFieldSelector('ISSUE_WHO','ISSUE_WHO')\"\r\n [disabled]=\"logIssueForm?.isAssignToMyself\" type=\"text\"\r\n placeholder=\"Who is responsible for completing the responsibility?\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"logIssueForm?.entrustTo?.length > 0\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"><i class=\"icons\"\r\n (click)=\"deleteItem('ISSUE_WHO',logIssueForm?.entrustTo[0])\">&#xe90d;</i>{{logIssueForm?.entrustTo[0]?.employee_name}}</span>\r\n </div>\r\n <button *ngIf=\"activeField !=='ISSUE_WHO'\" class=\"edit\" type=\"button\"\r\n (click)=\"setActiveFieldSelector('ISSUE_WHO','ISSUE_WHO')\"><i\r\n class=\"icons\">&#xe90c;</i>Edit</button>\r\n </div>\r\n <p class=\"error-message\" *ngIf=\"fieldsWithError.includes('entrustTo')\">Select the person responsible for resolving this issue.</p>\r\n <div class=\"switch-row align-right\" [class.disabled]=\"activeField === 'ISSUE_WHO'\">\r\n <app-cs-switch [disabled]=\"activeField === 'ISSUE_WHO'\" [(ngValue)]=\"logIssueForm.isAssignToMyself\" (ngValueChange)=\"assignMyself($event)\">OR\r\n ASSIGN TO MYSELF\r\n </app-cs-switch>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group-row\"\r\n [class.disabled]=\"activeField && activeField !== 'ISSUE_DATE_TIME' && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm?.issueDueDate \">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/when.svg\" alt=\"im\"\r\n *ngIf=\"!logIssueForm?.issueDueDate || activeField === 'ISSUE_DATE_TIME' \">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"logIssueForm?.issueDueDate && activeField !== 'ISSUE_DATE_TIME'\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Maximum Time to Resolve <span class=\"required\">*</span></label>\r\n <div class=\"date-time-picker\">\r\n <div class=\"picker-group\">\r\n <input type=\"text\" readonly placeholder=\"Set a deadline.\"\r\n [value]=\"logIssueForm.issueDueDate | date: 'dd MMM yyyy'\" (click)=\"openDatePicker();\">\r\n <i class=\"icons\">&#xe92d;</i>\r\n <dp-date-picker #datePicker (onSelect)=\"datePickerOverlay = false;closeDatePicker($event);removeError('issueDueDate')\" [config]=\"dateConfig\"\r\n [(ngModel)]=\"logIssueForm.issueDueDate\" >\r\n </dp-date-picker>\r\n <div class=\"vx-overlay\" (click)=\"closeDatePicker($event)\" *ngIf=\"datePickerOverlay\"></div>\r\n </div>\r\n\r\n <div class=\"picker-group\">\r\n\r\n <input (mouseover)=\"setCurrentTime()\" [(ngModel)]=\"logIssueForm.issueDueTime\" [value]=\"logIssueForm.issueDueTime\" readonly\r\n class=\"time\" aria-label=\"12hr format\" [ngxTimepicker]=\"dailyTime\" placeholder=\"Select Time\"\r\n type=\"text\" [min]=\"currentTime\" readonly>\r\n <i class=\"icons\">&#xe955;</i>\r\n <ngx-material-timepicker (opened)=\"setActiveFieldSelector('ISSUE_DATE_TIME', 'ISSUE_DATE_TIME')\"\r\n (closed)=\"setActiveFieldSelector('','')\" #dailyTime [defaultTime]=\"'11:59 pm'\">\r\n </ngx-material-timepicker>\r\n </div>\r\n\r\n </div>\r\n <p class=\"error-message\" *ngIf=\"fieldsWithError.includes('issueDueDate')\">Select the date by which this issue needs to be resolved.</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group-row\" [class.disabled]=\"activeField && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm.issueRecommendation\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/recommended-action.svg\" alt=\"im\" *ngIf=\"!(logIssueForm.issueRecommendation | spaceBreaker).length\">\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"(logIssueForm.issueRecommendation | spaceBreaker).length>0\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Recommended Actions <span class=\"required\">*</span></label>\r\n <ng-container *ngIf=\"AttachmentTrack[1]?.length > 0 \">\r\n <div class=\"file-list\" *ngFor=\"let uploadingFile of AttachmentTrack[1]\">\r\n <div class=\"file-container\">\r\n <span class=\"file-name\">{{uploadingFile}}</span>\r\n <!-- <button>\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button> -->\r\n </div>\r\n <app-line-loader [loaderHeight]=\"2\"></app-line-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"logIssueForm?.recommendedActionsAttachments?.length > 0\">\r\n <div class=\"file-list\" *ngFor=\"let file of logIssueForm?.recommendedActionsAttachments\">\r\n <div class=\"file-container\">\r\n <span class=\"file-name\">{{file?.name}}</span>\r\n <button>\r\n <i class=\"icons\" (click)=\"deleteFile(file,'RECOMMENDED_ACTIONS')\">&#xe90d;</i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <marx-editor [(ngModel)]=\"logIssueForm.issueRecommendation\" [editorConfig]=\"{mode: 'prime',\r\n colorPalette: true,\r\n link: true,\r\n file:true,\r\n placeholder: 'Recommended actions'}\" (ngModelChange)=\"logIssueForm?.issueRecommendation?.trim()?.length > 0 ? removeError('issueRecommendation'):null\"\r\n (clickOutside)=\"checkDescription()\" (sendSavedFiles)=\"selectFile('RECOMMENDED_ACTIONS',$event)\"></marx-editor>\r\n <p class=\"error-message\" *ngIf=\"fieldsWithError.includes('issueRecommendation')\">Specify the recommended actions to resolve this issue.</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group-row\" *ngIf=\"!hiddenList.includes('RISK_CLASSIFICATION')\" [class.disabled]=\"activeField && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm.issueRiskRating\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/risks.svg\" alt=\"im\" *ngIf=\"!logIssueForm?.issueRiskRating\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"logIssueForm?.issueRiskRating\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n\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 class=\"low\" *ngFor=\" let class of riskClassification\" [ngClass]=\"[class.class]\">\r\n <input type=\"radio\" name=\"classification\" [value]=\"class.value\"\r\n [checked]=\"logIssueForm?.issueRiskRating === class.value\"\r\n [(ngModel)]=\"logIssueForm.issueRiskRating\">\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 <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"additionalOptionStatus.EXCEPTION_TYPE\"\r\n [class.disabled]=\"activeField && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm?.exceptionType > -1\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/exception-type.svg\" alt=\"im\" *ngIf=\"logIssueForm?.exceptionType === null\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"logIssueForm?.exceptionType > -1\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Exception Type\r\n </label>\r\n <app-cs-radio class=\"main-filed\" [value]=\"1\" [checked]=\"logIssueForm?.exceptionType === 1\"\r\n (checkedEvent)=\"setException(1)\">Design Exception\r\n <!-- <i class=\"icons\">&#xe91f;</i> -->\r\n </app-cs-radio>\r\n <app-cs-radio class=\"main-filed\" [value]=\"2\" [checked]=\"logIssueForm?.exceptionType === 2\"\r\n (checkedEvent)=\"setException(2)\">Effectiveness Exception\r\n <!-- <i class=\"icons\">&#xe91f;</i> -->\r\n </app-cs-radio>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" [class.active]=\"activeField === 'ISSUE_TYPE'\"\r\n [class.disabled]=\"activeField && activeField !== 'ISSUE_TYPE' && sideSelectorElements.includes(activeField)\"\r\n *ngIf=\"additionalOptionStatus.ISSUE_TYPE\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm?.issueType?.length > 0\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/issue-type.svg\" alt=\"\"\r\n *ngIf=\"logIssueForm?.issueType?.length === 0 || activeField === 'ISSUE_TYPE' \">\r\n\r\n <svg class=\"checkIcon\" *ngIf=\"logIssueForm?.issueType?.length > 0 && activeField !== 'ISSUE_TYPE'\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Issue Type</label>\r\n <div class=\"select\" *ngIf=\"!logIssueForm?.issueType || logIssueForm?.issueType?.length === 0\">\r\n <input (click)=\"setActiveFieldSelector('ISSUE_TYPE','ISSUE_TYPE')\" type=\"text\"\r\n placeholder=\"Select the Issue Type associated with this issue.\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"logIssueForm?.issueType?.length > 0\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"><i class=\"icons\"\r\n (click)=\"deleteItem('ISSUE_TYPE',logIssueForm?.issueType[0])\">&#xe90d;</i>{{logIssueForm?.issueType[0]?.issue_type_name}}</span>\r\n </div>\r\n <button *ngIf=\"activeField !=='ISSUE_TYPE'\" class=\"edit\" type=\"button\"\r\n (click)=\"setActiveFieldSelector('ISSUE_TYPE','ISSUE_TYPE')\"><i\r\n class=\"icons\">&#xe90c;</i>Edit</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"additionalOptionStatus.PRIORITY\"\r\n [class.disabled]=\"activeField && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm?.issuePriority\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/priority.svg\" alt=\"im\" *ngIf=\"!logIssueForm?.issuePriority\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"logIssueForm?.issuePriority > 0\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Priority</label>\r\n <div class=\"classification\">\r\n <label *ngFor=\" let priority of riskPrority\" [ngClass]=\"[priority.class]\">\r\n <input type=\"radio\" name=\"classification-priority\" [value]=\"priority.value\"\r\n [checked]=\"logIssueForm?.issuePriority === priority.value\"\r\n [(ngModel)]=\"logIssueForm.issuePriority\">\r\n <span>{{priority.name}}</span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"additionalOptionStatus.ASSOCIATED_RISKS\"\r\n [class.disabled]=\"activeField && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"logIssueForm.issueAssociatedRisk\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/associated-risks.svg\" alt=\"im\" *ngIf=\"!logIssueForm?.issueAssociatedRisk.trim().length\">\r\n\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\"\r\n *ngIf=\"logIssueForm?.issueAssociatedRisk.trim().length\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Associated Risks </label>\r\n <ng-container *ngIf=\"AttachmentTrack[2]?.length > 0 \">\r\n <div class=\"file-list\" *ngFor=\"let uploadingFile of AttachmentTrack[2]\">\r\n <div class=\"file-container\">\r\n <span class=\"file-name\">{{uploadingFile}}</span>\r\n <!-- <button>\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button> -->\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"logIssueForm?.associatedRisksAttachments?.length > 0\">\r\n <div class=\"file-list\" *ngFor=\"let file of logIssueForm?.associatedRisksAttachments\">\r\n <div class=\"file-container\">\r\n <span class=\"file-name\">{{file?.name}}</span>\r\n <button>\r\n <i class=\"icons\" (click)=\"deleteFile(file,'ASSOCIATED_RISKS')\">&#xe90d;</i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <marx-editor [(ngModel)]=\"logIssueForm.issueAssociatedRisk\" [editorConfig]=\"{mode: 'prime',\r\n colorPalette: true,\r\n link: true,\r\n file:false,\r\n placeholder: 'Associated Risks'}\" (clickOutside)=\"checkDescription()\" (sendSavedFiles)=\"selectFile('ASSOCIATED_RISKS',$event)\"></marx-editor>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" [class.active]=\"false\" *ngIf=\"additionalOptionStatus.OVERSIGHT\"\r\n [class.disabled]=\"activeField && !(['ISSUE_CC','ISSUE_FCC'].includes(activeField)) && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\"\r\n [class.checked]=\"logIssueForm?.issueCCUsers?.length > 0 || logIssueForm?.failureCCUsers?.length > 0\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg\" alt=\"\"\r\n *ngIf=\"(logIssueForm?.issueCCUsers?.length === 0 && logIssueForm?.failureCCUsers?.length === 0)|| activeField === 'ISSUE_CC'|| activeField === 'ISSUE_FCC' \">\r\n\r\n <svg class=\"checkIcon\"\r\n *ngIf=\"logIssueForm?.issueCCUsers?.length > 0 || logIssueForm?.failureCCUsers?.length > 0 && activeField !== 'ISSUE_CC'|| activeField !== 'ISSUE_FCC'\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Overseer </label>\r\n <div class=\"select\" *ngIf=\"!logIssueForm?.issueCCUsers || logIssueForm?.issueCCUsers?.length === 0\">\r\n <input type=\"text\" (click)=\"setActiveFieldSelector('ISSUE_CC','ISSUE_CC')\"\r\n placeholder=\"Who should have oversight of this issue?\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"logIssueForm?.issueCCUsers?.length > 0\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"><i class=\"icons\"\r\n (click)=\"deleteItem('ISSUE_CC',logIssueForm?.issueCCUsers[0])\">&#xe90d;</i>{{logIssueForm?.issueCCUsers[0]?.employee_name}}</span>\r\n <button class=\"count\" *ngIf=\"logIssueForm?.issueCCUsers?.length > 1\" type=\"button\" appPopover\r\n (click)=\"CC.popover()\" placement=\"right\">+\r\n {{logIssueForm?.issueCCUsers?.slice(1).length}}</button>\r\n <app-popover #CC [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let cc of logIssueForm?.issueCCUsers | slice: 1; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"deleteItem('ISSUE_CC',cc)\">&#xe90d;</i>\r\n {{cc?.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 <button *ngIf=\"activeField !=='ISSUE_CC'\" class=\"edit\" type=\"button\"\r\n (click)=\"setActiveFieldSelector('ISSUE_CC','ISSUE_CC')\"><i\r\n class=\"icons\">&#xe90c;</i>Edit</button>\r\n </div>\r\n <div class=\"select\" *ngIf=\"!logIssueForm?.failureCCUsers || logIssueForm?.failureCCUsers?.length === 0\">\r\n <input (click)=\"setActiveFieldSelector('ISSUE_FCC','ISSUE_FCC')\" type=\"text\"\r\n placeholder=\"Who should be notified if the issue is not resolved?\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"logIssueForm?.failureCCUsers?.length > 0\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"><i class=\"icons\"\r\n (click)=\"deleteItem('ISSUE_FCC',logIssueForm?.failureCCUsers[0])\">&#xe90d;</i>{{logIssueForm?.failureCCUsers[0]?.employee_name}}</span>\r\n <button class=\"count\" *ngIf=\"logIssueForm?.failureCCUsers?.length > 1\" type=\"button\" appPopover\r\n (click)=\"FCC.popover()\" placement=\"right\">+\r\n {{logIssueForm?.failureCCUsers?.slice(1).length}}</button>\r\n <app-popover #FCC [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let fcc of logIssueForm?.failureCCUsers | slice: 1; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"deleteItem('ISSUE_FCC',fcc)\">&#xe90d;</i>\r\n {{fcc?.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 <button *ngIf=\"activeField !=='ISSUE_FCC'\" class=\"edit\" type=\"button\"\r\n (click)=\"setActiveFieldSelector('ISSUE_FCC','ISSUE_FCC')\"><i\r\n class=\"icons\">&#xe90c;</i>Edit</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [appScrollInView]=\"scrollToBottom\" class=\"form-group-row\" *ngIf=\"additionalOptionStatus.EVIDENCE\"\r\n [class.disabled]=\"activeField && sideSelectorElements.includes(activeField)\">\r\n <div class=\"left\" [class.checked]=\"true\">\r\n <!-- <img src=\"https://cdn.v-comply.com/format-evidence.svg\" alt=\"im\"> -->\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Evidence\r\n </label>\r\n <div class=\"upload-format\">\r\n <span class=\"text\">Do you want evidence of completion of the issue to be uploaded?</span>\r\n <div class=\"radio-group\">\r\n <app-cs-radio [name]=\"'file-evidence'\" [value]=\"1\"\r\n [checked]=\"logIssueForm?.evidenceRequired === 1\" (checkedEvent)=\"setEvidence(1)\">Yes\r\n </app-cs-radio>\r\n <app-cs-radio [name]=\"'file-evidence'\" [value]=\"0\"\r\n [checked]=\"logIssueForm?.evidenceRequired === 0\" (checkedEvent)=\"setEvidence(0)\">No\r\n </app-cs-radio>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n<app-radio-list [config]=\"selectorConfig?.ISSUE_CATGORY\" [itemsList]=\"listData?.categoryList\"\r\n [selectedItems]=\"logIssueForm.issueCategory\" [identifierKey]=\"'category_id'\"\r\n [displayKey]=\"'category_name'\" *ngIf=\"activeSelector==='ISSUE_CATEGORY'\"\r\n (saveList)=\"selectorAction($event,'ISSUE_CATEGORY')\" (closeList)=\"fieldDeselector('ISSUE_CATEGORY')\">\r\n</app-radio-list>\r\n\r\n<app-radio-list [config]=\"selectorConfig?.ISSUE_RC\" [itemsList]=\"listData?.rcList\"\r\n [selectedItems]=\"logIssueForm.issueRC\" [identifierKey]=\"'rc_id'\" [displayKey]=\"'rc_name'\"\r\n *ngIf=\"activeSelector==='ISSUE_RC'\" (saveList)=\"selectorAction($event,'ISSUE_RC')\"\r\n (closeList)=\"fieldDeselector('ISSUE_RC')\"></app-radio-list>\r\n\r\n<app-radio-list [config]=\"selectorConfig?.ISSUE_WHO\" [itemsList]=\"listData?.userList\" [twoColumn]=\"true\"\r\n [selectedItems]=\"logIssueForm.entrustTo\" [identifierKey]=\"'employee_id'\" [displayKey]=\"'employee_name'\" [tooltipKey]=\"'employee_email'\"\r\n *ngIf=\"activeSelector==='ISSUE_WHO'\" (saveList)=\"selectorAction($event,'ISSUE_WHO')\"\r\n (closeList)=\"fieldDeselector('ISSUE_WHO')\"></app-radio-list>\r\n\r\n<app-radio-list [config]=\"selectorConfig?.ISSUE_TYPE\" [itemsList]=\"listData?.issueTypeList\"\r\n [selectedItems]=\"logIssueForm.issueType\" [identifierKey]=\"'issue_id'\" [displayKey]=\"'issue_type_name'\"\r\n *ngIf=\"activeSelector==='ISSUE_TYPE'\" (saveList)=\"selectorAction($event,'ISSUE_TYPE')\"\r\n (closeList)=\"fieldDeselector('ISSUE_TYPE')\"></app-radio-list>\r\n\r\n<app-checkbox-list [config]=\"selectorConfig?.ISSUE_CC\" [twoColumn]=\"true\"\r\n [itemsList]=\"listData.userList|userFilter:'employee_email':logIssueForm.entrustTo:{'employee_email':currentUser?.email}\"\r\n [selectedItems]=\"logIssueForm.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')\"></app-checkbox-list>\r\n\r\n<app-checkbox-list [config]=\"selectorConfig?.ISSUE_FCC\" [twoColumn]=\"true\"\r\n [itemsList]=\"listData.userList|userFilter:'employee_email':logIssueForm.entrustTo:{'employee_email':currentUser?.email}\"\r\n [selectedItems]=\"logIssueForm.failureCCUsers\" [identifierKey]=\"'employee_email'\" [displayKey]=\"'employee_name'\" [tooltipKey]=\"'employee_email'\"\r\n *ngIf=\"activeSelector==='ISSUE_FCC'\" (saveList)=\"selectorAction($event,'ISSUE_FCC')\"\r\n (closeList)=\"fieldDeselector('ISSUE_FCC')\"></app-checkbox-list>\r\n\r\n<app-responsibility-risk-selector [loading]=\"isRiskControlLoading\" *ngIf=\"activeSelector==='ISSUE_CONTROL_RISK'\"\r\n (closeList)=\"fieldDeselector('ISSUE_CONTROL_RISK')\" (fetchList)=\"getLinkage(issueDetails?.auditObjId, $event)\"\r\n (saveList)=\"selectorAction($event,'ISSUE_CONTROL_RISK')\"\r\n[activeEntity]=\"logIssueForm?.linkageType\" [listItems]=\"listData?.linkageList\" [selectedItems]=\"logIssueForm?.linkedControlRisk\"></app-responsibility-risk-selector>\r\n\r\n<app-smiley-dialog-inline\r\n *ngIf=\"showSmiley\"\r\n [message]=\"smileyMessage\"\r\n [actionButtons]=\"actionButtons\"\r\n (action)=\"action($event)\"\r\n (closeSmiley)=\"closeSmiley($event)\">\r\n</app-smiley-dialog-inline>\r\n",
11469
11903
  styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");:root{font-size:4px}::ng-deep .log-an-issue{position:relative}", "@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep .vx-form-group{display:block;position:relative;margin-bottom:20px}::ng-deep .vx-form-group:after{content:\"\";display:block;clear:both}::ng-deep .vx-form-group .select{position:relative}::ng-deep .vx-form-group .select:after{content:\"\";border-top:5px solid #707070;border-right:5px solid transparent;border-left:5px solid transparent;position:absolute;right:15px;top:calc(50% - 2px)}::ng-deep .vx-form-group .select input{cursor:pointer;padding-right:30px!important}::ng-deep .vx-form-group .select .custom-input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:3px 12px;line-height:16px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .vx-form-group .select .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:13px;width:94%;display:block;pointer-events:none;opacity:.8}::ng-deep .vx-form-group .select .custom-input:hover{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:116px}::ng-deep .vx-form-group .select+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .select+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .select+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .select~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .select.button-sec:after{display:none}::ng-deep .vx-form-group .select.button-sec button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;position:absolute;top:12px;right:8px;padding:0;margin:0}::ng-deep .vx-form-group .select+.vx-control-panel{margin-top:8px}::ng-deep .vx-form-group .select+.selected{margin-top:8px}::ng-deep .vx-form-group .select.select{margin-top:8px}::ng-deep .vx-form-group .upload-format{border:1px solid #dbdbdb;border-radius:4px;padding:8px 12px;display:block}::ng-deep .vx-form-group .upload-format span.text{line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:block;margin-bottom:6px}::ng-deep .vx-form-group .upload-format .radio-group{display:flex}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio{display:inline-block}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;margin-left:8px}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio+app-cs-radio{margin-left:12px}::ng-deep .vx-form-group .upload-format~.upload-format{margin-top:4px}::ng-deep .vx-form-group .form-tab{display:flex;justify-content:flex-start}::ng-deep .vx-form-group .form-tab button{background:transparent;color:#161b2f;font-size:11px;line-height:16px;text-transform:uppercase;cursor:pointer;padding:8px 8px 8px 0;border:none;outline:none;font-weight:500}::ng-deep .vx-form-group .form-tab button:disabled{opacity:.5;pointer-events:none}::ng-deep .vx-form-group .form-tab button+button{padding:8px}::ng-deep .vx-form-group .form-tab button.active{color:#1e5dd3}::ng-deep .vx-form-group .tab-group{border:1px solid #dbdbdb;border-radius:4px;padding:0;display:block;position:relative}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 24px;display:flex;align-items:center}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px;margin-right:20px}::ng-deep .vx-form-group .tab-group .upload-file .browse{display:flex;align-items:center;justify-content:center;width:calc(100% - 100px);text-align:center}::ng-deep .vx-form-group .tab-group .upload-file .browse span{display:inline-block;font-size:12px;color:#747576;line-height:16px;padding:0 4px}::ng-deep .vx-form-group .tab-group .upload-file .browse .label{font-size:11px;color:#1e5dd3;line-height:16px;font-weight:600;text-transform:uppercase;margin:0;padding:0}::ng-deep .vx-form-group .tab-group .upload-file .browse .label input{opacity:0;position:absolute;top:0;margin:0;padding:0;right:0;bottom:0;left:0;cursor:pointer;width:100%}::ng-deep .vx-form-group .tab-group.active{border-color:#1e5dd3}::ng-deep .vx-form-group .tab-group.uploaded{margin-top:4px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file{padding:12px \u200B24px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .image{display:none}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .browse{width:100%}::ng-deep .vx-form-group .tab-group+label.vx-form-group{margin-top:8px;margin-bottom:4px}::ng-deep .vx-form-group .file-list{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:4px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:relative}::ng-deep .vx-form-group .file-list span.file-name{color:#747576;line-height:16px;font-size:11px;font-weight:400;cursor:pointer;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .vx-form-group .file-list .button-group{display:flex}::ng-deep .vx-form-group .file-list button{font-size:12px;color:#eb2424;cursor:pointer;display:flex;padding:0;border:none;outline:none;background:transparent}::ng-deep .vx-form-group .file-list button.edit{color:#1e5dd3}::ng-deep .vx-form-group .file-list button+button{margin-left:16px}::ng-deep .vx-form-group .file-list+.file-list{margin-top:4px}::ng-deep .vx-form-group .file-list .file-container{display:flex;justify-content:space-between;width:100%}::ng-deep .vx-form-group .file-list.policy{background:#fff}::ng-deep .vx-form-group .file-list cs-select{position:relative;margin-top:8px;width:100%}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group input.value{height:32px!important;font-size:11px!important}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group i{right:12px!important;top:12px!important}::ng-deep .vx-form-group .file-list app-line-loader{display:block;position:absolute;left:10px;right:10px;bottom:0}::ng-deep .vx-form-group label.vx-control-panel{color:#161b2f;font-size:11px;font-weight:500;line-height:16px;margin-bottom:8px;display:block;text-transform:uppercase;width:100%;margin-top:4px;text-align:left}::ng-deep .vx-form-group label.vx-control-panel.custom-tag{font-size:10px}::ng-deep .vx-form-group label.vx-control-panel.vx-mt-8{margin-top:8px}::ng-deep .vx-form-group label.vx-control-panel span.required{color:#eb2424;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 .input,::ng-deep .vx-form-group input[type=text]{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400}::ng-deep .vx-form-group .input::-moz-placeholder,::ng-deep .vx-form-group input[type=text]::-moz-placeholder{color:#747576}::ng-deep .vx-form-group .input:-ms-input-placeholder,::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder{color:#747576}::ng-deep .vx-form-group .input::placeholder,::ng-deep .vx-form-group input[type=text]::placeholder{color:#747576}::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group .input:hover,::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group input[type=text]:hover{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .vx-form-group .input.error,::ng-deep .vx-form-group input[type=text].error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group .input.error:focus,::ng-deep .vx-form-group input[type=text].error:focus{box-shadow:0 0 5px rgba(211,30,30,.27)}::ng-deep .vx-form-group .input:disabled,::ng-deep .vx-form-group input[type=text]:disabled{background:#f1f1f1;cursor:not-allowed}::ng-deep .vx-form-group .input:disabled:hover,::ng-deep .vx-form-group input[type=text]:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group .input span.text,::ng-deep .vx-form-group input[type=text] span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group .input .input-group,::ng-deep .vx-form-group input[type=text] .input-group{display:flex;align-items:center}::ng-deep .vx-form-group .input .input-group.counter,::ng-deep .vx-form-group input[type=text] .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group .input .input-group.counter button,::ng-deep .vx-form-group input[type=text] .input-group.counter button{height:24px;width:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#747576;font-size:8px;cursor:pointer;outline:none}::ng-deep .vx-form-group .input .input-group.counter input,::ng-deep .vx-form-group input[type=text] .input-group.counter input{-webkit-appearance:textfield;-moz-appearance:textfield;height:24px;width:calc(100% - 48px);border:1px solid #f1f1f1;outline:none;padding:0 6px;text-align:center}::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}::ng-deep .vx-form-group .input+.file-list,::ng-deep .vx-form-group input[type=text]+.file-list{margin-top:8px}::ng-deep .vx-form-group .input::-moz-placeholder,::ng-deep .vx-form-group input[type=text]::-moz-placeholder{font-size:13px}::ng-deep .vx-form-group .input::placeholder,::ng-deep .vx-form-group input[type=text]::placeholder{font-size:13px}::ng-deep .vx-form-group .input:-ms-input-placeholder,::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .input::-ms-input-placeholder,::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{width:100%;position:relative;z-index:1;margin:0 4px 0 0}::ng-deep .vx-form-group .classification label span{display:block;width:100%;height:24px;border:1px solid #f1f1f1;border-radius:2px;line-height:24px;font-size:10px;text-align:center;color:#747576;font-weight:500;position:relative;text-transform:uppercase}::ng-deep .vx-form-group .classification label span:before{height:2px;content:\"\";top:0;right:0;left:0;border-radius:2px;position:absolute;transition:all .2s ease-in-out}::ng-deep .vx-form-group .classification label input{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:1}::ng-deep .vx-form-group .classification label input:checked+span{color:#fff}::ng-deep .vx-form-group .classification label input:checked+span:before{bottom:0;height:100%;z-index:-1}::ng-deep .vx-form-group .classification label.low span:before{background:#34aa44}::ng-deep .vx-form-group .classification label.low-med span:before{background:#f2bf19}::ng-deep .vx-form-group .classification label.med-high span:before{background:#f29619}::ng-deep .vx-form-group .classification label.high span:before{background:#eb2424}::ng-deep .vx-form-group .classification label:last-of-type{margin-right:0}::ng-deep .vx-form-group .input{display:flex;align-items:center}::ng-deep .vx-form-group .selected{height:40px;border-radius:4px;border:1px solid #f1f1f1;background:#fbfbfb;outline:none;padding:8px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:flex;align-items:center;position:relative;justify-content:space-between}::ng-deep .vx-form-group .selected .chip-container{display:flex;width:calc(100% - 60px);align-items:center}::ng-deep .vx-form-group .selected .chip-container span.chip{background:#fff;border-radius:2px;box-shadow:0 0 3px #1e5dd31a;height:24px;padding:0 8px;color:#1e5dd3;font-size:12px;display:block;width:auto;max-width:100%;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}::ng-deep .vx-form-group .selected .chip-container span.chip 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.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 button.count{background:#1e5dd3;border-radius:2px;height:24px;padding:2px 8px;border:1px solid #1e5dd3;cursor:pointer;outline:none;color:#fff;font:13px;font-weight:500;line-height:20px;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit{border:1px solid #f1f1f1;border-radius:2px;background:#fff;outline:none;cursor:pointer;display:block;height:24px;padding:0 5px 0 4px;font-size:11px;font-weight:500;color:#1e5dd3;text-transform:uppercase;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit i{font-weight:400;font-size:8px;margin-right:4px}::ng-deep .vx-form-group .selected button.close-btn{background:transparent;border:none;padding:0;margin-left:8px;font-size:10px;color:#c7381b;display:flex;align-items:center}::ng-deep .vx-form-group .selected .workflow-label{min-width:92px;padding:4px;text-align:center;margin-left:-8px;margin-right:8px;border-right:1px solid #f1f1f1}::ng-deep .vx-form-group .selected .workflow-label p{margin:0;display:block;text-transform:uppercase}::ng-deep .vx-form-group .selected .workflow-label p.title{font-size:9px;line-height:12px;color:#161b2f;font-weight:500}::ng-deep .vx-form-group .selected .workflow-label p.description{font-size:11px;line-height:16px;color:#161b2f;font-weight:600}::ng-deep .vx-form-group .selected .workflow-label+.chip-container{width:calc(100% - 148px)}::ng-deep .vx-form-group .selected+.selected{margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .selected+app-cs-switch.who-toggle label.cs-switch span.value{color:#747576}::ng-deep .vx-form-group .selected+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .selected~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .selected.readOnly{pointer-events:none}::ng-deep .vx-form-group .selected span.chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .vx-form-group .select-list{position:absolute;background:#fff;box-shadow:0 0 5px #1e5dd3;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group marx-editor{margin-top:8px;display:block}::ng-deep .vx-form-group marx-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group marx-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}@media not all and (min-resolution:0.001dpcm){@supports (-webkit-appearance:none){::ng-deep .vx-form-group marx-editor .editor-container .editable-block:before{opacity:.72}}}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:22px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group marx-editor .editor-container:focus-within{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:hover{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group app-cs-switch label.cs-switch span.value{font-size:11px;color:#747576;text-transform:uppercase}::ng-deep .vx-form-group app-cs-switch+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group .date-time-picker{display:flex;justify-content:space-between;height:40px;border-radius:4px;border:1px solid #dbdbdb;padding:11px 0}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .vx-form-group .date-time-picker .picker-group{width:50%;position:relative;display:flex;align-items:center}::ng-deep .vx-form-group .date-time-picker .picker-group:first-of-type{border-right:1px solid #dbdbdb}::ng-deep .vx-form-group .date-time-picker .picker-group:only-of-type{border:none;width:100%}::ng-deep .vx-form-group .date-time-picker .picker-group input{height:38px;background:#fff;line-height:38px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400;border:none;padding:0 12px 0 34px;outline:none}::ng-deep .vx-form-group .date-time-picker .picker-group input:focus,::ng-deep .vx-form-group .date-time-picker .picker-group input:hover{box-shadow:none;border:none}::ng-deep .vx-form-group .date-time-picker .picker-group input::-moz-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input:-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group i{display:flex;justify-content:center;align-items:center;height:16px;width:16px;position:absolute;left:12px;top:0;color:#bcbcbc;font-size:16px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}.left{width:36px;height:36px;margin-top:30px;margin-left:-58px;margin-right:20px;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;border-radius:50%}.left.deadline-completed{margin-top:18px}.left.checked{background:transparent}.left img{width:36px}.left .checkIcon{width:32px;height:32px;background:#fff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 0 #34aa44;-webkit-animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}.left .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;-webkit-animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;-webkit-animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.right{width:100%}.right span.indicator{position:absolute;top:36px;left:-16px;font-size:12px;color:#f0b819;cursor:pointer}.form-group-row{display:flex;position:relative;transition:all .2s ease-in-out}.form-group-row.hide{opacity:0;transition:all .2s ease-in-out}.form-group-row.disabled{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:0;right:0;bottom:0;left:0;background:#fff;opacity:.7}.form-group-row.disabled .right{opacity:.3}.form-group-row.active{pointer-events:none;filter:grayscale(0);z-index:2;opacity:1}.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group input{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}@-webkit-keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes strokeCheck{to{stroke-dashoffset:0}}@-webkit-keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}.action-list{width:220px}.action-list ul{padding:0;margin:0;-webkit-animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.action-list ul.action-item{display:block}.action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}.action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}.action-list ul.action-item li button i{font-size:17px;margin-right:10px;color:#1c5bd1}.action-list ul.action-item li button:hover{background:#f3f3f3}.action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.action-list ul.action-item li .avatar-card.within-con{display:block}.action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#4681ef;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}.action-list ul.action-item li .avatar-card .avatar img{width:100%}.action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;-moz-text-align-last:left;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#1c5bd1;cursor:pointer;margin-right:5px}.action-list ul.action-item li .avatar-card.no-image{display:block}.action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.action-list ul.action-item li .chip-item i{margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}.action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.action-list ul.action-item li .chip-item span.id{font-size:9px}.action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}.action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}.action-list ul.action-item li:first-child{-webkit-animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(2){-webkit-animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(3){-webkit-animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(4){-webkit-animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(5){-webkit-animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(6){-webkit-animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(7){-webkit-animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(8){-webkit-animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(9){-webkit-animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(10){-webkit-animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@-webkit-keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@-webkit-keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}p.error-message{font-size:11px;font-weight:400;color:#eb2424;line-height:16px;margin-top:0;margin-bottom:0}.edit-loader{position:absolute;top:-3px;left:-3px;width:46px;height:46px;transform:rotate(180deg)}.circular-loader{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto}.loader-path{stroke-dasharray:150,200;stroke-dashoffset:-10;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@-webkit-keyframes rotate{to{transform:rotate(1turn)}}@keyframes rotate{to{transform:rotate(1turn)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}::ng-deep .dropdown{position:fixed;background:#fff;box-shadow:0 3px 6px #00000029;padding:24px 0;z-index:9;max-height:calc(100vh - 200px);overflow:auto}::ng-deep .dropdown ul.dropdown-list{padding:0 20px;margin:0;display:block}::ng-deep .dropdown ul.dropdown-list li{list-style:none}::ng-deep .dropdown ul.dropdown-list li app-cs-radio{display:flex}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.radio{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.value{padding:11px 12px 11px 32px;width:100%;border:1px solid #bcbcbc;border-radius:4px;margin-left:0;max-width:100%}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item svg{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item input[type=radio]:checked~span.value{background:#e8feeb;border-color:#34aa44}::ng-deep .dropdown ul.dropdown-list li+li{margin-top:8px}app-smiley-dialog{position:relative;z-index:10}app-smiley-dialog-inline{position:absolute;top:0;right:0;bottom:0;left:0;z-index:999}.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:0;left:0}dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}dp-date-picker input:focus{outline:none}dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;-webkit-animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}dp-date-picker .dp-popup dp-day-calendar,dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}dp-date-picker .dp-popup dp-day-calendar button,dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays{display:flex;justify-content:space-around}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected{background:#1e5dd3}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}dp-date-picker .dp-open+div{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:rgba(0,0,0,.3)}@-webkit-keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}"]
11470
11904
  },] }
11471
11905
  ];
@@ -11477,10 +11911,16 @@ LogAnIssueComponent.ctorParameters = () => [
11477
11911
  ];
11478
11912
  LogAnIssueComponent.propDecorators = {
11479
11913
  openedFrom: [{ type: Input }],
11480
- reponsibiltyData: [{ type: Input }],
11914
+ issueId: [{ type: Input }],
11915
+ reponsibilityData: [{ type: Input }],
11916
+ issueDetails: [{ type: Input }],
11917
+ mode: [{ type: Input }],
11918
+ config: [{ type: Input }],
11481
11919
  pickerChanged: [{ type: Output }],
11482
11920
  populateOption: [{ type: Output }],
11483
11921
  closeWorkflow: [{ type: Output }],
11922
+ modeChange: [{ type: Output }],
11923
+ disconnectRefresh: [{ type: Output }],
11484
11924
  datePicker: [{ type: ViewChild, args: ['datePicker',] }]
11485
11925
  };
11486
11926
 
@@ -11617,7 +12057,7 @@ class CheckboxListComponent {
11617
12057
  CheckboxListComponent.decorators = [
11618
12058
  { type: Component, args: [{
11619
12059
  selector: 'app-checkbox-list',
11620
- template: "<div class=\"add-risk-rc\" [class.animate]=\"animation\">\r\n <div class=\"add-risk-rc-head\">\r\n <h3 class=\"add-risk-rc-title\">{{config?.panelTitle}}</h3>\r\n <!-- <button class=\"add-risk-rc-close\" (click)=close()>\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button> -->\r\n </div>\r\n <div class=\"add-risk-rc-body\">\r\n <div class=\"search-block\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" placeholder=\"{{config?.searchPlaceholder}}\" [(ngModel)]=\"searchItem\" />\r\n </div>\r\n <ng-container *ngIf=\"(itemsList | search:searchItem) as searchList\">\r\n <div class=\"body-top\" *ngIf=\"config?.selectAllEnabled && searchList?.length > 0 && searchItem?.trim()?.length === 0 \">\r\n <app-cs-checkbox [ngValue]=\"itemsList?.length === selectedItems?.length && selectedItems?.length > 0\"\r\n (ngValueChange)=\"selectAll($event)\"><strong> {{itemsList?.length === selectedItems?.length &&\r\n selectedItems?.length > 0?'Deselect All':'Select All'}}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <ul class=\"add-risk-rc-list\" [class.two-column]=\"twoColumn\" *ngIf=\"searchList?.length > 0\">\r\n <li *ngFor=\"let item of searchList\" #ulElement>\r\n <app-cs-checkbox [ngValue]=\"selectedItems.includes(item[identifierKey])\"\r\n (ngValueChange)=\"selectItem(item[identifierKey],$event)\"\r\n [appTooltip]=\"tooltipKey ? item[tooltipKey]: item[displayKey]\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">\r\n {{item[displayKey]}}\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n <app-no-data *ngIf=\"searchList.length === 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"config?.noDataText?.length > 0 ? config?.noDataText:'No data to display'\"></app-no-data>\r\n </ng-container>\r\n </div>\r\n\r\n <app-floating-bar [selectedData]=\"selectedItems|listMapper:itemsList:identifierKey\" [displayElementKey]=\"displayKey\"\r\n [singularText]=\"config?.floatingTextSingular\"\r\n [pluralText]=\"config?.floatingTextPlural ?config?.floatingTextPlural:'Users selected'\" (closeEvent)=\"save()\"\r\n (closeList)=\"close()\" [isDisabled]=\"selectedItems.length === 0 || itemsList.length === 0 \"\r\n (deleteEvent)=\"deleteItem($event)\"></app-floating-bar>\r\n</div>",
12060
+ template: "<div class=\"add-risk-rc\" [class.animate]=\"animation\">\r\n <div class=\"add-risk-rc-head\">\r\n <h3 class=\"add-risk-rc-title\">{{config?.panelTitle}}</h3>\r\n <!-- <button class=\"add-risk-rc-close\" (click)=close()>\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button> -->\r\n </div>\r\n <div class=\"add-risk-rc-body\">\r\n <div class=\"search-block\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" placeholder=\"{{config?.searchPlaceholder}}\" [(ngModel)]=\"searchItem\" />\r\n </div>\r\n <ng-container *ngIf=\"(itemsList | search:searchItem:displayKey) as searchList\">\r\n <div class=\"body-top\" *ngIf=\"config?.selectAllEnabled && searchList?.length > 0 && searchItem?.trim()?.length === 0 \">\r\n <app-cs-checkbox [ngValue]=\"itemsList?.length === selectedItems?.length && selectedItems?.length > 0\"\r\n (ngValueChange)=\"selectAll($event)\"><strong> {{itemsList?.length === selectedItems?.length &&\r\n selectedItems?.length > 0?'Deselect All':'Select All'}}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <ul class=\"add-risk-rc-list\" [class.two-column]=\"twoColumn\" *ngIf=\"searchList?.length > 0\">\r\n <li *ngFor=\"let item of searchList\" #ulElement>\r\n <app-cs-checkbox [ngValue]=\"selectedItems.includes(item[identifierKey])\"\r\n (ngValueChange)=\"selectItem(item[identifierKey],$event)\"\r\n [appTooltip]=\"tooltipKey ? item[tooltipKey]: item[displayKey]\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">\r\n {{item[displayKey]}}\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n <app-no-data *ngIf=\"searchList.length === 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"config?.noDataText?.length > 0 ? config?.noDataText:'No data to display'\"></app-no-data>\r\n </ng-container>\r\n </div>\r\n\r\n <app-floating-bar [selectedData]=\"selectedItems|listMapper:itemsList:identifierKey\" [displayElementKey]=\"displayKey\"\r\n [singularText]=\"config?.floatingTextSingular\"\r\n [pluralText]=\"config?.floatingTextPlural ?config?.floatingTextPlural:'Users selected'\" (closeEvent)=\"save()\"\r\n (closeList)=\"close()\" [isDisabled]=\"selectedItems.length === 0 || itemsList.length === 0 \"\r\n (deleteEvent)=\"deleteItem($event)\"></app-floating-bar>\r\n</div>\r\n",
11621
12061
  styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::ng-deep .add-risk-rc{border-top:3px solid #1e5dd3;position:fixed;top:0;right:500px;bottom:0;left:0}::ng-deep .add-risk-rc-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border:1px solid #f1f1f1;border-right:none}::ng-deep .add-risk-rc-title{color:#161b2f;font-size:15px;font-weight:500;margin:0!important;padding:0;line-height:21px}::ng-deep .add-risk-rc-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .add-risk-rc-body{padding:24px 36px 16px;height:calc(100vh - 112px)}::ng-deep .add-risk-rc-body .search-block{position:relative}::ng-deep .add-risk-rc-body .search-block input{height:44px;line-height:24px;padding:10px 15px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}::ng-deep .add-risk-rc-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .add-risk-rc-body .search-block i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#f1f1f1}::ng-deep .add-risk-rc-body .body-top{display:flex;justify-content:space-between;padding:16px 0 0}::ng-deep .add-risk-rc-body .body-top app-cs-checkbox{display:flex}::ng-deep .add-risk-rc-body .body-top app-cs-checkbox label span.value strong{color:#161b2f;font-size:14px;font-weight:600;white-space:nowrap}::ng-deep .add-risk-rc-body ul{padding:0;margin:0}::ng-deep .add-risk-rc-body ul.add-risk-rc-list{padding:16px 0 0;display:block;align-items:flex-start;flex-wrap:wrap;max-height:calc(100vh - 248px);overflow:auto}::ng-deep .add-risk-rc-body ul.add-risk-rc-list li{width:100%;padding:0 0 16px;list-style:none}::ng-deep .add-risk-rc-body ul.add-risk-rc-list li app-cs-checkbox,::ng-deep .add-risk-rc-body ul.add-risk-rc-list li app-cs-radio{display:flex}::ng-deep .add-risk-rc-body ul.add-risk-rc-list li app-cs-checkbox label,::ng-deep .add-risk-rc-body ul.add-risk-rc-list li app-cs-radio label{width:100%}::ng-deep .add-risk-rc-body ul.add-risk-rc-list li app-cs-checkbox label span.value,::ng-deep .add-risk-rc-body ul.add-risk-rc-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important}::ng-deep .add-risk-rc-body ul.add-risk-rc-list li app-cs-checkbox ul.add-risk-rc-name,::ng-deep .add-risk-rc-body ul.add-risk-rc-list li app-cs-radio ul.add-risk-rc-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .add-risk-rc-body ul.add-risk-rc-list li app-cs-checkbox ul.add-risk-rc-name li,::ng-deep .add-risk-rc-body ul.add-risk-rc-list li app-cs-radio ul.add-risk-rc-name li{list-style:none;color:#747576;font-size:14px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:auto;padding:0 8px 0 0;max-width:100%}::ng-deep .add-risk-rc-body ul.add-risk-rc-list li app-cs-checkbox ul.add-risk-rc-name li i,::ng-deep .add-risk-rc-body ul.add-risk-rc-list li app-cs-radio ul.add-risk-rc-name li i{font-size:8px;padding-right:8px}::ng-deep .add-risk-rc-body ul.add-risk-rc-list li app-cs-checkbox ul.add-risk-rc-name li:first-child,::ng-deep .add-risk-rc-body ul.add-risk-rc-list li app-cs-radio ul.add-risk-rc-name li:first-child{color:#4681ef;max-width:100%}::ng-deep .add-risk-rc-body ul.add-risk-rc-list li app-cs-checkbox ul.add-risk-rc-name li:last-of-type,::ng-deep .add-risk-rc-body ul.add-risk-rc-list li app-cs-radio ul.add-risk-rc-name li:last-of-type{color:#66bf72}::ng-deep .add-risk-rc-body ul.add-risk-rc-list.two-column{display:flex;flex-wrap:wrap}::ng-deep .add-risk-rc-body ul.add-risk-rc-list.two-column li{width:50%;padding-right:20px}::ng-deep .add-risk-rc-body app-no-data .no-data-wrapper{height:calc(100vh - 182px)}::ng-deep .add-risk-rc.animate{-webkit-animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .add-risk-rc .message-footer{background:#1e5dd3;border-radius:5px;margin:0 0 0 30px;width:calc(100% - 60px);position:relative;bottom:0}::ng-deep .add-risk-rc .message-footer .message{padding:15px;display:flex;align-items:flex-start}::ng-deep .add-risk-rc .message-footer .message i{width:auto;font-size:16px;color:#fff}::ng-deep .add-risk-rc .message-footer .message span{color:#fff;font-size:12px;line-height:18px;padding-left:9px;font-weight:300}::ng-deep .add-risk-rc .message-footer .footer{border-top:1px solid #1483ef;display:flex;justify-content:space-between;align-items:center;padding:10px 15px}::ng-deep .add-risk-rc .message-footer .footer span{color:#fff;font-size:14px}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper{display:flex}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper button{width:60px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:11px;font-weight:500;border:1px solid #fff;text-transform:uppercase;border-radius:2px;outline:none;padding:0;margin:0}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper button.outline{background:#1e5dd3;color:#fff}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper button.fill{background:#fff;color:#1e5dd3}@-webkit-keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}"]
11622
12062
  },] }
11623
12063
  ];
@@ -11653,9 +12093,12 @@ class RadioListComponent {
11653
12093
  }, 300);
11654
12094
  this.selectedItems = this.arrayToId(this.selectedItems, this.identifierKey);
11655
12095
  // this.rerenderList();
12096
+ }
12097
+ ngAfterViewInit() {
11656
12098
  setTimeout(() => {
11657
- this.blockWidth = this.listBlock.nativeElement.offsetWidth;
11658
- }, 10);
12099
+ var _a, _b;
12100
+ this.blockWidth = (_b = (_a = this.listBlock) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.offsetWidth;
12101
+ }, 100);
11659
12102
  }
11660
12103
  selectItem(item) {
11661
12104
  this.selectedItems = [];
@@ -11678,7 +12121,7 @@ class RadioListComponent {
11678
12121
  RadioListComponent.decorators = [
11679
12122
  { type: Component, args: [{
11680
12123
  selector: 'app-radio-list',
11681
- template: "<div class=\"radio-list\" [class.animate]=\"animation\">\r\n <div class=\"radio-list-head\">\r\n <h3 class=\"radio-list-title\">{{config?.panelTitle}}</h3>\r\n <!-- <button class=\"radio-list-close\">\r\n <i class=\"icons\" (click)=\"close()\">&#xe90d;</i>\r\n </button> -->\r\n </div>\r\n\r\n <div class=\"radio-list-body\">\r\n <div class=\"search-block\" *ngIf=\"config?.searchEnabled\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" [placeholder]=\"config?.searchPlaceholder\" [(ngModel)]=\"searchItem\" />\r\n </div>\r\n <!-- <div class=\"body-top\">\r\n <div class=\"pagination\"></div>\r\n </div> -->\r\n <ng-container *ngIf=\"(itemsList | search:searchItem) as searchList\">\r\n <ul class=\"categories\" [class.two-column]=\"twoColumn\" *ngIf=\"searchList?.length > 0\">\r\n <li *ngFor=\"let item of searchList\">\r\n <ng-container *ngIf=\"(item[displayKey]|dataType) !== 'object' \">\r\n <app-cs-radio [name]=\"'radio-selector'\" (checkedEvent)=\"selectItem(item[identifierKey])\"\r\n [name]=\"'rx-category'\" [checked]=\"selectedItems.includes(item[identifierKey])\"\r\n [appTooltip]=\"tooltipKey ? item[tooltipKey]: item[displayKey]\" placement=\"bottom-left\"\r\n delay=\"0\" [tooltipMandatory]=\"true\">\r\n {{item[displayKey]}}\r\n </app-cs-radio>\r\n </ng-container>\r\n <ng-container *ngIf=\"(item[displayKey]|dataType) === 'object' \">\r\n <app-cs-radio [name]=\"'radio-selector'\" (checkedEvent)=\"selectItem(item[identifierKey])\"\r\n [checked]=\"selectedItems.includes(item[identifierKey])\">\r\n\r\n <ul class=\"category-within-list\" #listBlock>\r\n <li *ngFor=\"let child of item[displayKey]\" [style.max-width.px]=\"blockWidth / item[displayKey].length\">\r\n <span [appTooltip]=\"child\" placement=\"bottom-left\" delay=\"0\">{{child}}</span>\r\n </li>\r\n </ul>\r\n </app-cs-radio>\r\n </ng-container>\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]=\"config?.noDataText?.length > 0 ? config?.noDataText:'No data to display'\"></app-no-data>\r\n\r\n </ng-container>\r\n </div>\r\n <div class=\"radio-list-footer\">\r\n <app-floating-bar [selectedData]=\"selectedItems|listMapper:itemsList:identifierKey\" [displayElementKey]=\"displayKey\"\r\n [singularText]=\"config?.floatingTextSingular\"\r\n [pluralText]=\"config?.floatingTextPlural ?config?.floatingTextPlural:'Users selected'\"\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\" (deleteEvent)=\"deleteItem($event)\"\r\n [isDisabled]=\"selectedItems.length === 0 || itemsList.length === 0 \">\r\n </app-floating-bar>\r\n </div>\r\n</div>\r\n",
12124
+ template: "<div class=\"radio-list\" [class.animate]=\"animation\">\r\n <div class=\"radio-list-head\">\r\n <h3 class=\"radio-list-title\">{{config?.panelTitle}}</h3>\r\n <!-- <button class=\"radio-list-close\">\r\n <i class=\"icons\" (click)=\"close()\">&#xe90d;</i>\r\n </button> -->\r\n </div>\r\n\r\n <div class=\"radio-list-body\">\r\n <div class=\"search-block\" *ngIf=\"config?.searchEnabled\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" [placeholder]=\"config?.searchPlaceholder\" [(ngModel)]=\"searchItem\" />\r\n </div>\r\n <!-- <div class=\"body-top\">\r\n <div class=\"pagination\"></div>\r\n </div> -->\r\n <ng-container *ngIf=\"(itemsList | search:searchItem:displayKey) as searchList\">\r\n <ul class=\"categories\" [class.two-column]=\"twoColumn\" *ngIf=\"searchList?.length > 0\">\r\n <li *ngFor=\"let item of searchList\">\r\n <ng-container *ngIf=\"(item[displayKey]|dataType) !== 'object' \">\r\n <app-cs-radio [name]=\"'radio-selector'\" (checkedEvent)=\"selectItem(item[identifierKey])\"\r\n [name]=\"'rx-category'\" [checked]=\"selectedItems.includes(item[identifierKey])\"\r\n [appTooltip]=\"tooltipKey ? item[tooltipKey]: item[displayKey]\" placement=\"bottom-left\"\r\n delay=\"0\" [tooltipMandatory]=\"true\">\r\n {{item[displayKey]}}\r\n </app-cs-radio>\r\n </ng-container>\r\n <ng-container *ngIf=\"(item[displayKey]|dataType) === 'object' \">\r\n <app-cs-radio [name]=\"'radio-selector'\" (checkedEvent)=\"selectItem(item[identifierKey])\"\r\n [checked]=\"selectedItems.includes(item[identifierKey])\">\r\n\r\n <ul class=\"category-within-list\" #listBlock>\r\n <li *ngFor=\"let child of item[displayKey]\" [style.max-width.px]=\"blockWidth / item[displayKey].length\">\r\n <span [appTooltip]=\"child\" placement=\"bottom-left\" delay=\"0\">{{child}}</span>\r\n </li>\r\n </ul>\r\n </app-cs-radio>\r\n </ng-container>\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]=\"config?.noDataText?.length > 0 ? config?.noDataText:'No data to display'\"></app-no-data>\r\n\r\n </ng-container>\r\n </div>\r\n <div class=\"radio-list-footer\">\r\n <app-floating-bar [selectedData]=\"selectedItems|listMapper:itemsList:identifierKey\" [displayElementKey]=\"displayKey\"\r\n [singularText]=\"config?.floatingTextSingular\"\r\n [pluralText]=\"config?.floatingTextPlural ?config?.floatingTextPlural:'Users selected'\"\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\" (deleteEvent)=\"deleteItem($event)\"\r\n [isDisabled]=\"selectedItems.length === 0 || itemsList.length === 0 \">\r\n </app-floating-bar>\r\n </div>\r\n</div>\r\n",
11682
12125
  styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::ng-deep .radio-list{position:fixed;top:0;right:500px;bottom:0;left:0;border-top:3px solid #1e5dd3}::ng-deep .radio-list-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border:1px solid #f1f1f1;border-right:none}::ng-deep .radio-list-title{color:#161b2f;font-size:15px;font-weight:500;margin:0!important;padding:0;line-height:21px}::ng-deep .radio-list-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .radio-list-body{padding:24px 40px 24px 36px;background:#fff;height:calc(100vh - 124px)}::ng-deep .radio-list-body .filter-card{display:flex;align-items:center;border:1px solid #dbdbdb;border-radius:4px;height:55px;padding:12px 15px;width:100%;justify-content:space-between;cursor:pointer}::ng-deep .radio-list-body .filter-card.active{box-shadow:0 3px 6px #1e5dd31a}::ng-deep .radio-list-body .filter-card label{font-weight:600;text-transform:uppercase;color:#747576;line-height:16px;margin-left:0;font-size:11px;width:100%;pointer-events:none}::ng-deep .radio-list-body .filter-card p{line-height:16px;font-size:10px;color:#161b2f;font-weight:600;margin:0}::ng-deep .radio-list-body .filter-card span.counter{display:flex;height:32px;min-width:32px;border-radius:4px;background:#042e7d;color:#fff;font-size:11px;font-weight:600;justify-content:center;align-items:center;padding:0 5px;line-height:32px}::ng-deep .radio-list-body .filter-card .left{display:flex;flex-wrap:wrap}::ng-deep .radio-list-body .filter-card+.filter-card{margin-left:10px}::ng-deep .radio-list-body .filter-card-row{display:flex;padding-bottom:15px}::ng-deep .radio-list-body .search-block{position:relative}::ng-deep .radio-list-body .search-block input{height:44px;line-height:24px;padding:10px 16px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}::ng-deep .radio-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .radio-list-body .search-block i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#f1f1f1}::ng-deep .radio-list-body .body-top{display:flex;justify-content:space-between;padding:0 0 16px}::ng-deep .radio-list-body .body-top app-cs-checkbox,::ng-deep .radio-list-body .body-top app-cs-radio{display:flex}::ng-deep .radio-list-body .body-top app-cs-checkbox label span.value strong,::ng-deep .radio-list-body .body-top app-cs-radio label span.value strong{color:#161b2f;font-size:14px;font-weight:600;white-space:nowrap}::ng-deep .radio-list-body ul{padding:0;margin:0}::ng-deep .radio-list-body ul.categories{display:block;align-items:flex-start;flex-wrap:wrap;max-height:calc(100vh - 200px);overflow:auto;padding:16px 0 0}::ng-deep .radio-list-body ul.categories li{padding:0 0 16px;list-style:none}::ng-deep .radio-list-body ul.categories li app-cs-radio{display:flex}::ng-deep .radio-list-body ul.categories li app-cs-radio label.radio-item{width:100%}::ng-deep .radio-list-body ul.categories li app-cs-radio label.radio-item span.value{width:100%;font-size:13px;font-weight:400;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}::ng-deep .radio-list-body ul.categories li app-cs-radio ul.category-name{display:flex;justify-content:flex-start;width:auto}::ng-deep .radio-list-body ul.categories li app-cs-radio ul.category-name li{list-style:none;color:#747576;font-size:14px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:auto;padding:0 8px 0 0}::ng-deep .radio-list-body ul.categories li app-cs-radio ul.category-name li i{font-size:8px;padding-left:8px}::ng-deep .radio-list-body ul.categories li app-cs-radio ul.category-name li:first-child{color:#4681ef;max-width:100%}::ng-deep .radio-list-body ul.categories li app-cs-radio ul.category-name li:last-of-type{color:#66bf72}::ng-deep .radio-list-body ul.categories li app-cs-radio ul.category-name li:last-of-type i{display:none}::ng-deep .radio-list-body ul.categories li app-cs-radio label.radio-item span.value ul{padding:0;margin:0}::ng-deep .radio-list-body ul.categories li app-cs-radio label.radio-item span.value ul.category-within-list{display:flex;max-width:100%}::ng-deep .radio-list-body ul.categories li app-cs-radio label.radio-item span.value ul.category-within-list li{display:block;padding:0 8px;position:relative;max-width:50%;width:auto}::ng-deep .radio-list-body ul.categories li app-cs-radio label.radio-item span.value ul.category-within-list li:after{content:\">\";position:absolute;top:0;right:-3px;color:#747576;font-size:13px}::ng-deep .radio-list-body ul.categories li app-cs-radio label.radio-item span.value ul.category-within-list li span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:#747576}::ng-deep .radio-list-body ul.categories li app-cs-radio label.radio-item span.value ul.category-within-list li:last-of-type:after{display:none}::ng-deep .radio-list-body ul.categories li app-cs-radio label.radio-item span.value ul.category-within-list li:last-of-type span{color:#34aa44}::ng-deep .radio-list-body ul.categories li app-cs-radio label.radio-item span.value ul.category-within-list li:first-of-type{padding-left:0}::ng-deep .radio-list-body ul.categories li app-cs-radio label.radio-item span.value ul.category-within-list li:first-of-type span{color:#1e5dd3}::ng-deep .radio-list-body ul.categories.two-column{display:flex;flex-wrap:wrap}::ng-deep .radio-list-body ul.categories.two-column li{width:50%;padding-right:20px}::ng-deep .radio-list-body app-no-data .no-data-wrapper{height:calc(100% - 42px)!important}::ng-deep .radio-list-body.no-footer{height:calc(100vh - 42px)}::ng-deep .radio-list-body .card-row{display:flex;justify-content:space-between;margin-bottom:12px}::ng-deep .radio-list-body .card-row .card-block{width:100%;display:flex;padding:8px 12px;border-radius:2px;box-shadow:0 0 3px rgba(30,93,211,.27);min-height:48px;position:relative;cursor:pointer;justify-content:space-between;align-items:center}::ng-deep .radio-list-body .card-row .card-block+.card-block{margin-left:4px}::ng-deep .radio-list-body .card-row .card-block.active{box-shadow:0 0 10px rgba(30,93,210,.9);z-index:1}::ng-deep .radio-list-body .card-row .card-block .card-text{padding:0;margin:0;font-weight:500;font-size:11px;text-transform:uppercase;line-height:16px;width:auto;white-space:nowrap}::ng-deep .radio-list-body .card-row .card-block span.count{font-size:14px;line-height:24px;background:#042e7d;padding:0 8px;border-radius:2px;min-width:28px;color:#fff}::ng-deep .radio-list.animate{-webkit-animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}@-webkit-keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}"]
11683
12126
  },] }
11684
12127
  ];
@@ -11856,24 +12299,67 @@ CreateDocumentsComponent.propDecorators = {
11856
12299
  };
11857
12300
 
11858
12301
  class SearchPipe {
11859
- transform(value, args) {
11860
- if (!value) {
11861
- return null;
12302
+ transform(items, ...args) {
12303
+ let searchText = args[0];
12304
+ const searchKey = args[1];
12305
+ if (!items) {
12306
+ return [];
11862
12307
  }
11863
- if (!args) {
11864
- return value;
12308
+ if (!searchText) {
12309
+ return items;
12310
+ }
12311
+ searchText = searchText.toLowerCase();
12312
+ if (items === null || items === void 0 ? void 0 : items.length) {
12313
+ return items.filter((it) => {
12314
+ var _a, _b;
12315
+ if (!searchKey) {
12316
+ return JSON.stringify(it).toLowerCase().includes(searchText);
12317
+ }
12318
+ else if (searchKey) {
12319
+ // return empIds.indexOf(itm.empid) > -1;
12320
+ return ((_b = (_a = it[searchKey]) === null || _a === void 0 ? void 0 : _a.toString()) === null || _b === void 0 ? void 0 : _b.toLowerCase().indexOf(searchText)) > -1;
12321
+ //return it[searchKey].toLowerCase().includes(searchText);
12322
+ }
12323
+ });
12324
+ }
12325
+ else {
12326
+ return [];
11865
12327
  }
11866
- args = args.toLowerCase();
11867
- return value.filter((item) => {
11868
- return JSON.stringify(item).toLowerCase().includes(args);
11869
- });
11870
12328
  }
11871
12329
  }
11872
12330
  SearchPipe.decorators = [
11873
12331
  { type: Pipe, args: [{
11874
12332
  name: 'search'
11875
12333
  },] }
11876
- ];
12334
+ ];
12335
+ // export class FilterPipe implements PipeTransform {
12336
+ // transform(items: any[], ...args: any[]): any[] {
12337
+ // let searchText = args[0];
12338
+ // const searchKey = args[1];
12339
+ // if (!items) {
12340
+ // return [];
12341
+ // }
12342
+ // if (!searchText) {
12343
+ // return items;
12344
+ // }
12345
+ // searchText = searchText.toLowerCase();
12346
+ // if(items?.length){
12347
+ // return items.filter((it: any) => {
12348
+ // if(!searchKey){
12349
+ // return JSON.stringify(it).toLowerCase().includes(searchText);
12350
+ // }
12351
+ // else if(searchKey){
12352
+ // // return empIds.indexOf(itm.empid) > -1;
12353
+ // console.log("sda",it[searchKey].toLowerCase().indexOf(searchText) > -1)
12354
+ // return it[searchKey].toLowerCase().indexOf(searchText) > -1;
12355
+ // //return it[searchKey].toLowerCase().includes(searchText);
12356
+ // }
12357
+ // });
12358
+ // }else{
12359
+ // return [];
12360
+ // }
12361
+ // }
12362
+ // }
11877
12363
 
11878
12364
  class UserFilterPipe {
11879
12365
  transform(value, ...args) {
@@ -13334,6 +13820,75 @@ PopoverHoverModule.decorators = [
13334
13820
  },] }
13335
13821
  ];
13336
13822
 
13823
+ class ResponsibilityRiskSelectorComponent {
13824
+ constructor() {
13825
+ this.animation = true;
13826
+ this.activeTab = 'RESPONSIBILITY';
13827
+ this.controlIdKey = 'itemControlId';
13828
+ this.itemDisplayKey = 'itemControlName';
13829
+ this.identifierKey = 'itemId';
13830
+ this.listItems = [];
13831
+ this.selectedItems = [];
13832
+ this.loading = false;
13833
+ this.fetchList = new EventEmitter();
13834
+ this.closeList = new EventEmitter();
13835
+ this.saveList = new EventEmitter();
13836
+ }
13837
+ set activeEntity(value) {
13838
+ if (value) {
13839
+ this.activeTab = value;
13840
+ }
13841
+ }
13842
+ ngOnInit() {
13843
+ setTimeout(() => {
13844
+ this.animation = false;
13845
+ }, 300);
13846
+ this.selectedItems = this.arrayToId(this.selectedItems, this.identifierKey);
13847
+ }
13848
+ changeTab(type) {
13849
+ if (this.loading === true) {
13850
+ return;
13851
+ }
13852
+ this.activeTab = type;
13853
+ this.fetchList.emit(type);
13854
+ this.listItems = [];
13855
+ }
13856
+ selectItem(item) {
13857
+ this.selectedItems = [];
13858
+ this.selectedItems.push(item);
13859
+ }
13860
+ deleteItem(item) {
13861
+ this.selectedItems = [];
13862
+ // this.rerenderList();
13863
+ }
13864
+ save() {
13865
+ this.saveList.emit(this.selectedItems);
13866
+ }
13867
+ close() {
13868
+ this.closeList.emit();
13869
+ }
13870
+ arrayToId(array, identifierKey) {
13871
+ return array.map((a) => a[identifierKey]);
13872
+ }
13873
+ }
13874
+ ResponsibilityRiskSelectorComponent.decorators = [
13875
+ { type: Component, args: [{
13876
+ selector: 'app-responsibility-risk-selector',
13877
+ template: "<div class=\"risk-radio-list\" [class.animate]=\"animation\">\r\n <div class=\"risk-radio-list-head\">\r\n <h3 class=\"risk-radio-list-title\">Define Sample Size for Selected Audit Objects</h3>\r\n <!-- <button class=\"radio-list-close\">\r\n <i class=\"icons\" (click)=\"close()\">&#xe90d;</i>\r\n </button> -->\r\n </div>\r\n\r\n <div class=\"risk-radio-list-body\">\r\n\r\n <div class=\"tab-button\">\r\n <button [class.active]=\"activeTab === 'RESPONSIBILITY'\" (click)=\"changeTab('RESPONSIBILITY')\">RESPONSIBILITIES</button>\r\n <button [class.active]=\"activeTab === 'RISK'\" (click)=\"changeTab('RISK')\">RISKS</button>\r\n </div>\r\n <ng-container *ngIf=\"!loading\">\r\n <ul class=\"categories\">\r\n <li *ngFor= \"let item of listItems |arrayFilter : activeTab\"\r\n ><app-cs-radio [checked]=\"selectedItems.includes(item[identifierKey])\" (checkedEvent)=\"selectItem(item[identifierKey])\"><span class=\"cid\" *ngIf=\"item[controlIdKey]\">{{item[controlIdKey]}}</span>{{ ''+ item[itemDisplayKey]}}</app-cs-radio></li>\r\n </ul>\r\n </ng-container>\r\n <app-list-loader *ngIf=\"loading\"></app-list-loader>\r\n <app-no-data *ngIf=\"listItems?.length === 0 && !loading\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No Categories Found'\"></app-no-data>\r\n </div>\r\n <!-- [singularText]=\"config?.floatingTextSingular\"\r\n [pluralText]=\"config?.floatingTextPlural ?config?.floatingTextPlural:'Users selected'\" -->\r\n <!-- [selectedData]=\"selectedItems|listMapper:listItems:identifierKey\" -->\r\n <div class=\"risk-radio-list-footer\">\r\n <app-floating-bar [displayElementKey]=\"itemDisplayKey\"\r\n [selectedData]=\"selectedItems|listMapper:listItems:identifierKey\"\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\" (deleteEvent)=\"deleteItem($event)\"\r\n [isDisabled]=\"selectedItems.length === 0 || listItems.length === 0 \">\r\n </app-floating-bar>\r\n </div>\r\n</div>\r\n",
13878
+ styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::-webkit-scrollbar-track{background-color:#fff;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .risk-radio-list{background:#fff;position:fixed;top:0;right:500px;bottom:0;left:0;border-top:3px solid #1e5dd3}::ng-deep .risk-radio-list-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border:1px solid #f1f1f1;border-right:none}::ng-deep .risk-radio-list-title{color:#161b2f;font-size:15px;font-weight:500;margin:0!important;padding:0;line-height:21px}::ng-deep .risk-radio-list-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .risk-radio-list-body{padding:24px 40px 24px 36px;background:#fff;height:calc(100vh - 124px)}::ng-deep .risk-radio-list-body .filter-card{display:flex;align-items:center;border:1px solid #dbdbdb;border-radius:4px;height:55px;padding:12px 15px;width:100%;justify-content:space-between;cursor:pointer}::ng-deep .risk-radio-list-body .filter-card.active{box-shadow:0 3px 6px #1e5dd31a}::ng-deep .risk-radio-list-body .filter-card label{font-weight:600;text-transform:uppercase;color:#747576;line-height:16px;margin-left:0;font-size:11px;width:100%;pointer-events:none}::ng-deep .risk-radio-list-body .filter-card p{line-height:16px;font-size:10px;color:#161b2f;font-weight:600;margin:0}::ng-deep .risk-radio-list-body .filter-card span.counter{display:flex;height:32px;min-width:32px;border-radius:4px;background:#042e7d;color:#fff;font-size:11px;font-weight:600;justify-content:center;align-items:center;padding:0 5px;line-height:32px}::ng-deep .risk-radio-list-body .filter-card .left{display:flex;flex-wrap:wrap}::ng-deep .risk-radio-list-body .filter-card+.filter-card{margin-left:10px}::ng-deep .risk-radio-list-body .filter-card-row{display:flex;padding-bottom:15px}::ng-deep .risk-radio-list-body .search-block{position:relative}::ng-deep .risk-radio-list-body .search-block input{height:44px;line-height:24px;padding:10px 16px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}::ng-deep .risk-radio-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .risk-radio-list-body .search-block i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#f1f1f1}::ng-deep .risk-radio-list-body .tab-button{display:flex;align-items:center;border-bottom:1px solid #f1f1f1}::ng-deep .risk-radio-list-body .tab-button button{background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;color:#161b2f;font-size:11px;font-weight:600;text-transform:uppercase;padding:0;margin-right:28px}::ng-deep .risk-radio-list-body .tab-button button.active{border-bottom:2px solid #1e5dd3;color:#1e5dd3}::ng-deep .risk-radio-list-body .body-top{display:flex;justify-content:space-between;padding:0 0 16px}::ng-deep .risk-radio-list-body .body-top app-cs-checkbox,::ng-deep .risk-radio-list-body .body-top app-cs-radio{display:flex}::ng-deep .risk-radio-list-body .body-top app-cs-checkbox label span.value strong,::ng-deep .risk-radio-list-body .body-top app-cs-radio label span.value strong{color:#161b2f;font-size:14px;font-weight:600;white-space:nowrap}::ng-deep .risk-radio-list-body ul{padding:0;margin:0}::ng-deep .risk-radio-list-body ul.categories{display:block;align-items:flex-start;flex-wrap:wrap;max-height:calc(100vh - 200px);overflow:auto;padding:12px 0 0;scrollbar-width:thin}::ng-deep .risk-radio-list-body ul.categories li{padding:12px 0;list-style:none;border-bottom:1px solid #f1f1f1}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio{display:flex}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio label.radio-item{width:100%}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio label.radio-item span.value{width:100%;color:#1e5dd3;font-size:12px;font-weight:400;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio label.radio-item span.value .cid{font-size:10px}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio ul.category-name{display:flex;justify-content:flex-start;width:auto}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio ul.category-name li{list-style:none;color:#747576;font-size:14px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:auto;padding:0 8px 0 0}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio ul.category-name li i{font-size:8px;padding-left:8px}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio ul.category-name li:first-child{color:#4681ef;max-width:100%}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio ul.category-name li:last-of-type{color:#66bf72}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio ul.category-name li:last-of-type i{display:none}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio label.radio-item span.value ul{padding:0;margin:0}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio label.radio-item span.value ul.category-within-list{display:flex;max-width:100%}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio label.radio-item span.value ul.category-within-list li{display:block;padding:0 8px;position:relative;max-width:50%;width:auto}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio label.radio-item span.value ul.category-within-list li:after{content:\">\";position:absolute;top:0;right:-3px;color:#747576;font-size:13px}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio label.radio-item span.value ul.category-within-list li span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:#747576}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio label.radio-item span.value ul.category-within-list li:last-of-type:after{display:none}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio label.radio-item span.value ul.category-within-list li:last-of-type span{color:#34aa44}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio label.radio-item span.value ul.category-within-list li:first-of-type{padding-left:0}::ng-deep .risk-radio-list-body ul.categories li app-cs-radio label.radio-item span.value ul.category-within-list li:first-of-type span{color:#1e5dd3}::ng-deep .risk-radio-list-body ul.categories.two-column{display:flex;flex-wrap:wrap}::ng-deep .risk-radio-list-body ul.categories.two-column li{width:50%;padding-right:20px}::ng-deep .risk-radio-list-body app-no-data .no-data-wrapper{height:calc(100% - 42px)!important}::ng-deep .risk-radio-list-body.no-footer{height:calc(100vh - 42px)}::ng-deep .risk-radio-list-body .card-row{display:flex;justify-content:space-between;margin-bottom:12px}::ng-deep .risk-radio-list-body .card-row .card-block{width:100%;display:flex;padding:8px 12px;border-radius:2px;box-shadow:0 0 3px rgba(30,93,211,.27);min-height:48px;position:relative;cursor:pointer;justify-content:space-between;align-items:center}::ng-deep .risk-radio-list-body .card-row .card-block+.card-block{margin-left:4px}::ng-deep .risk-radio-list-body .card-row .card-block.active{box-shadow:0 0 10px rgba(30,93,210,.9);z-index:1}::ng-deep .risk-radio-list-body .card-row .card-block .card-text{padding:0;margin:0;font-weight:500;font-size:11px;text-transform:uppercase;line-height:16px;width:auto;white-space:nowrap}::ng-deep .risk-radio-list-body .card-row .card-block span.count{font-size:14px;line-height:24px;background:#042e7d;padding:0 8px;border-radius:2px;min-width:28px;color:#fff}::ng-deep .risk-radio-list.animate{-webkit-animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}@-webkit-keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}"]
13879
+ },] }
13880
+ ];
13881
+ ResponsibilityRiskSelectorComponent.ctorParameters = () => [];
13882
+ ResponsibilityRiskSelectorComponent.propDecorators = {
13883
+ activeEntity: [{ type: Input }],
13884
+ listItems: [{ type: Input }],
13885
+ selectedItems: [{ type: Input }],
13886
+ loading: [{ type: Input }],
13887
+ fetchList: [{ type: Output }],
13888
+ closeList: [{ type: Output }],
13889
+ saveList: [{ type: Output }]
13890
+ };
13891
+
13337
13892
  class ConditionalFocusDirective {
13338
13893
  constructor(el) {
13339
13894
  this.el = el;
@@ -13369,6 +13924,33 @@ ConditionalFocusDirective.propDecorators = {
13369
13924
  appConditionalFocus: [{ type: Input }]
13370
13925
  };
13371
13926
 
13927
+ class ListLoaderComponent {
13928
+ constructor() { }
13929
+ ngOnInit() {
13930
+ }
13931
+ }
13932
+ ListLoaderComponent.decorators = [
13933
+ { type: Component, args: [{
13934
+ selector: 'app-list-loader',
13935
+ template: "<div class=\"link-treatment-loader-container\">\r\n <!-- <div class=\"link-treatment-tab\">\r\n <ul>\r\n <li><div class=\"loader\"></div></li>\r\n <li><div class=\"loader\"></div></li>\r\n <li><div class=\"loader\"></div></li>\r\n <li><div class=\"loader\"></div></li>\r\n </ul>\r\n </div> -->\r\n <!-- <div class=\"link-treatment-create-btn\">\r\n <div class=\"loader\"></div>\r\n </div> -->\r\n <div class=\"link-treatment-body\">\r\n <!-- <div class=\"search-block\">\r\n <div class=\"loader\"></div>\r\n </div> -->\r\n <div class=\"link-treatment-list\">\r\n <ul>\r\n <li *ngFor=\"let data of [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]\">\r\n <div class=\"loader\"></div>\r\n </li>\r\n </ul>\r\n </div>\r\n <!-- <div class=\"link-treatment-footer\">\r\n <div class=\"left\">\r\n <div class=\"loader\"></div>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"loader\"></div>\r\n </div>\r\n </div> -->\r\n </div>\r\n</div>\r\n",
13936
+ styles: [".link-treatment-loader-container{background:#fff}.link-treatment-tab{background:#fff;padding:0 20px;position:relative;z-index:1}.link-treatment-tab:before{background:#dbdbdb;content:\"\";position:absolute;bottom:0;left:0;width:100%;height:1px;z-index:-1}.link-treatment-tab ul{display:flex;justify-content:space-between;list-style-type:none;margin:0;padding:0}.link-treatment-tab ul li{height:31px;display:flex;align-items:center}.link-treatment-tab ul li .loader{background:#f3f3f3;border-radius:20px;height:10px;width:85px}.link-treatment-create-btn{background:#fff;padding:20px 20px 0;height:50px}.link-treatment-create-btn .loader{background:#f3f3f3;border-radius:3px;height:30px;width:500px}.link-treatment-body{background:#fff;width:100%;padding:10px 20px 20px;height:calc(100vh - 173px)}.link-treatment-body .search-block{position:relative}.link-treatment-body .search-block .loader{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:3px;height:45px;width:100%}.link-treatment-list{padding-top:10px;width:calc(100% + 20px)}.link-treatment-list ul{padding:0;margin:0;height:calc(100vh - 281px);overflow:auto}.link-treatment-list ul li{width:100%;padding:12px 0;list-style:none}.link-treatment-list ul li .loader{background:#f3f3f3;border-radius:20px;height:10px;width:60%}.link-treatment-footer{height:50px;background:#f8f8f8;border-top:1px solid #f1f1f1;padding:0 20px 0 22px;justify-content:space-between;width:500px;position:fixed;bottom:0;right:0;z-index:2}.link-treatment-footer,.link-treatment-footer .left{display:flex;align-items:center}.link-treatment-footer .left .loader{background:#eee;border-radius:20px;height:10px;width:170px}.link-treatment-footer .right{display:flex;align-items:center}.link-treatment-footer .right .loader{background:#eee;border-radius:5px;height:30px;width:90px}"]
13937
+ },] }
13938
+ ];
13939
+ ListLoaderComponent.ctorParameters = () => [];
13940
+
13941
+ class ArrayFilterPipe {
13942
+ transform(value, ...args) {
13943
+ return value.filter((item) => {
13944
+ return item.itemType === args[0];
13945
+ });
13946
+ }
13947
+ }
13948
+ ArrayFilterPipe.decorators = [
13949
+ { type: Pipe, args: [{
13950
+ name: 'arrayFilter'
13951
+ },] }
13952
+ ];
13953
+
13372
13954
  class AuditCategoryListComponent {
13373
13955
  constructor() {
13374
13956
  this.animation = false;
@@ -13650,6 +14232,10 @@ WorkflowEngineModule.decorators = [
13650
14232
  SpaceBreakerPipe,
13651
14233
  FormatHtmlPipe,
13652
14234
  WithinDataPipe,
14235
+ ResponsibilityRiskSelectorComponent,
14236
+ ConditionalFocusDirective,
14237
+ ListLoaderComponent,
14238
+ ArrayFilterPipe,
13653
14239
  ConditionalFocusDirective,
13654
14240
  AuditCategoryListComponent,
13655
14241
  DocumentSectionComponent,
@@ -13688,5 +14274,5 @@ WorkflowEngineModule.decorators = [
13688
14274
  * Generated bundle index. Do not edit.
13689
14275
  */
13690
14276
 
13691
- export { WorkflowEngineContainerComponent, WorkflowEngineModule, WorkflowEngineService, UiKitService as ɵa, SnackBarService as ɵb, FrequencyContainerComponent as ɵba, FrequencyDailyComponent as ɵbb, FrequencyWeeklyComponent as ɵbc, FrequencyMonthlyComponent as ɵbd, FrequencyQuarterlyComponent as ɵbe, FrequencyBiannualComponent as ɵbf, FrequencyAnnualComponent as ɵbg, FrequencyOneTimeComponent as ɵbh, FrequencyRandomComponent as ɵbi, FrequencyOnCompletionOfComponent as ɵbj, FrequencyOngoingComponent as ɵbk, FrequencyTopComponent as ɵbl, FrequencyLifecycleComponent as ɵbm, FrequencyDueDateComponent as ɵbn, FrequencyCheckboxListComponent as ɵbo, FrequencyRadioListComponent as ɵbp, GroupUsersListComponent as ɵbq, AddMultipleResponsibilityComponent as ɵbr, FrequencyBulkService as ɵbs, BulkResponsibilityViewComponent as ɵbt, CheckpointsPolicyContainerComponent as ɵbu, CheckpointsPolicyListComponent as ɵbv, CheckpointsPolicyQuestionsComponent as ɵbw, WorkflowSurveyFormComponent as ɵbx, LogAnIssueComponent as ɵby, LogIssueService as ɵbz, WorkflowRiskComponent as ɵc, FilterPipe as ɵca, CheckboxListComponent as ɵcb, RadioListComponent as ɵcc, ListMapperPipe as ɵcd, CreateDocumentsComponent as ɵce, SearchPipe as ɵcf, UserFilterPipe as ɵcg, FrameworkListComponent as ɵch, ParentTableComponent as ɵci, DataTypePipe as ɵcj, CheckpointFloatingBarComponent as ɵck, FormatAndEvidenceComponent as ɵcl, RiskClassificationComponent as ɵcm, DragDropDirective as ɵcn, AutofocusDirective as ɵco, ScrollInViewDirective as ɵcp, ShortMergePipe as ɵcq, SpaceBreakerPipe as ɵcr, FormatHtmlPipe as ɵcs, WithinDataPipe as ɵct, ConditionalFocusDirective as ɵcu, AuditCategoryListComponent as ɵcv, DocumentSectionComponent as ɵcw, FormgroupModule as ɵcx, CsCheckboxComponent as ɵcy, CsRadioComponent as ɵcz, AddRiskService as ɵd, CsSwitchComponent as ɵda, CsRadioGroupComponent as ɵdb, CsSelectComponent$1 as ɵdc, PascalPipe as ɵdd, TooltipModule as ɵde, ToolTipDirective as ɵdf, PopoverModule as ɵdg, PopoverComponent as ɵdh, PopoverService as ɵdi, PopoverDirective as ɵdj, PopoverEventDirective as ɵdk, PopoverLongpressDirective as ɵdl, LineLoaderModule as ɵdm, LineLoaderComponent as ɵdn, SelectModule as ɵdo, CsSelectComponent as ɵdp, SelectService as ɵdq, CsOptionComponent as ɵdr, NoDataModule as ɵds, NoDataComponent as ɵdt, VLoaderModule as ɵdu, LoaderComponent as ɵdv, LoaderInlineComponent as ɵdw, SmileyDialogModule as ɵdx, SmileyDialogComponent as ɵdy, SnackBarModule as ɵdz, AuthService as ɵe, SnackBarComponent as ɵea, SmileyDialogInlineModule as ɵeb, SmileyDialogInlineComponent as ɵec, ClickOutsideModule as ɵed, ClickOutsideDirective as ɵee, PopoverHoverModule as ɵef, PopoverHoverComponent as ɵeg, PopoverHoverService as ɵeh, PopoverHoverDirective as ɵei, Configurations as ɵf, WorkflowComplianceComponent as ɵg, ResponsibilityService as ɵh, FrequencyService as ɵi, WorkflowPolicyComponent as ɵj, PolicyService as ɵk, MoreOptionComponent as ɵl, OwnerListComponent as ɵm, UserRadioListComponent as ɵn, CategoryListComponent as ɵo, CategoryMultiSelectComponent as ɵp, FloatingBarComponent as ɵq, ResponsibilityCentersListComponent as ɵr, WorkflowPaginationComponent as ɵs, AddMultipleRiskComponent as ɵt, BulkViewComponent as ɵu, CheckpointsComponent as ɵv, ConfirmationAlertComponent as ɵw, CheckpointsQuestionsComponent as ɵx, CheckpointsListComponent as ɵy, ReviewFrequencyComponent as ɵz };
14277
+ export { WorkflowEngineContainerComponent, WorkflowEngineModule, WorkflowEngineService, UiKitService as ɵa, SnackBarService as ɵb, FrequencyContainerComponent as ɵba, FrequencyDailyComponent as ɵbb, FrequencyWeeklyComponent as ɵbc, FrequencyMonthlyComponent as ɵbd, FrequencyQuarterlyComponent as ɵbe, FrequencyBiannualComponent as ɵbf, FrequencyAnnualComponent as ɵbg, FrequencyOneTimeComponent as ɵbh, FrequencyRandomComponent as ɵbi, FrequencyOnCompletionOfComponent as ɵbj, FrequencyOngoingComponent as ɵbk, FrequencyTopComponent as ɵbl, FrequencyLifecycleComponent as ɵbm, FrequencyDueDateComponent as ɵbn, FrequencyCheckboxListComponent as ɵbo, FrequencyRadioListComponent as ɵbp, GroupUsersListComponent as ɵbq, AddMultipleResponsibilityComponent as ɵbr, FrequencyBulkService as ɵbs, BulkResponsibilityViewComponent as ɵbt, CheckpointsPolicyContainerComponent as ɵbu, CheckpointsPolicyListComponent as ɵbv, CheckpointsPolicyQuestionsComponent as ɵbw, WorkflowSurveyFormComponent as ɵbx, LogAnIssueComponent as ɵby, LogIssueService as ɵbz, WorkflowRiskComponent as ɵc, FilterPipe as ɵca, CheckboxListComponent as ɵcb, RadioListComponent as ɵcc, ListMapperPipe as ɵcd, CreateDocumentsComponent as ɵce, SearchPipe as ɵcf, UserFilterPipe as ɵcg, FrameworkListComponent as ɵch, ParentTableComponent as ɵci, DataTypePipe as ɵcj, CheckpointFloatingBarComponent as ɵck, FormatAndEvidenceComponent as ɵcl, RiskClassificationComponent as ɵcm, DragDropDirective as ɵcn, AutofocusDirective as ɵco, ScrollInViewDirective as ɵcp, ShortMergePipe as ɵcq, SpaceBreakerPipe as ɵcr, FormatHtmlPipe as ɵcs, WithinDataPipe as ɵct, ResponsibilityRiskSelectorComponent as ɵcu, ConditionalFocusDirective as ɵcv, ListLoaderComponent as ɵcw, ArrayFilterPipe as ɵcx, AuditCategoryListComponent as ɵcy, DocumentSectionComponent as ɵcz, AddRiskService as ɵd, FormgroupModule as ɵda, CsCheckboxComponent as ɵdb, CsRadioComponent as ɵdc, CsSwitchComponent as ɵdd, CsRadioGroupComponent as ɵde, CsSelectComponent$1 as ɵdf, PascalPipe as ɵdg, TooltipModule as ɵdh, ToolTipDirective as ɵdi, PopoverModule as ɵdj, PopoverComponent as ɵdk, PopoverService as ɵdl, PopoverDirective as ɵdm, PopoverEventDirective as ɵdn, PopoverLongpressDirective as ɵdo, LineLoaderModule as ɵdp, LineLoaderComponent as ɵdq, SelectModule as ɵdr, CsSelectComponent as ɵds, SelectService as ɵdt, CsOptionComponent as ɵdu, NoDataModule as ɵdv, NoDataComponent as ɵdw, VLoaderModule as ɵdx, LoaderComponent as ɵdy, LoaderInlineComponent as ɵdz, AuthService as ɵe, SmileyDialogModule as ɵea, SmileyDialogComponent as ɵeb, SnackBarModule as ɵec, SnackBarComponent as ɵed, SmileyDialogInlineModule as ɵee, SmileyDialogInlineComponent as ɵef, ClickOutsideModule as ɵeg, ClickOutsideDirective as ɵeh, PopoverHoverModule as ɵei, PopoverHoverComponent as ɵej, PopoverHoverService as ɵek, PopoverHoverDirective as ɵel, Configurations as ɵf, WorkflowComplianceComponent as ɵg, ResponsibilityService as ɵh, FrequencyService as ɵi, WorkflowPolicyComponent as ɵj, PolicyService as ɵk, MoreOptionComponent as ɵl, OwnerListComponent as ɵm, UserRadioListComponent as ɵn, CategoryListComponent as ɵo, CategoryMultiSelectComponent as ɵp, FloatingBarComponent as ɵq, ResponsibilityCentersListComponent as ɵr, WorkflowPaginationComponent as ɵs, AddMultipleRiskComponent as ɵt, BulkViewComponent as ɵu, CheckpointsComponent as ɵv, ConfirmationAlertComponent as ɵw, CheckpointsQuestionsComponent as ɵx, CheckpointsListComponent as ɵy, ReviewFrequencyComponent as ɵz };
13692
14278
  //# sourceMappingURL=vcomply-workflow-engine.js.map