{"version":3,"file":"vcomply-workroom.mjs","sources":["../../../projects/workroom/src/lib/configurations.ts","../../../projects/workroom/src/lib/workroom.service.ts","../../../projects/workroom/src/lib/shared/ui-elements/ui-dialog/ui-dialog-ref.ts","../../../projects/workroom/src/lib/shared/ui-elements/ui-dialog/ui-insertion.directive.ts","../../../projects/workroom/src/lib/shared/ui-elements/ui-dialog/ui-dialog-config.ts","../../../projects/workroom/src/lib/shared/ui-elements/ui-dialog/ui-dialog.component.ts","../../../projects/workroom/src/lib/shared/ui-elements/ui-dialog/ui-dialog.component.html","../../../projects/workroom/src/lib/shared/ui-elements/ui-dialog/ui-dialog.module.ts","../../../projects/workroom/src/lib/shared/ui-elements/ui-dialog/ui-dialog-injector.ts","../../../projects/workroom/src/lib/shared/ui-elements/ui-dialog/ui-dialog.service.ts","../../../projects/workroom/src/lib/shared/ui-elements/formgroup/cs-checkbox/cs-checkbox.component.ts","../../../projects/workroom/src/lib/shared/ui-elements/formgroup/cs-checkbox/cs-checkbox.component.html","../../../projects/workroom/src/lib/shared/ui-elements/formgroup/cs-radio/cs-radio.component.ts","../../../projects/workroom/src/lib/shared/ui-elements/formgroup/cs-radio/cs-radio.component.html","../../../projects/workroom/src/lib/shared/ui-elements/tooltip/tooltip.directive.ts","../../../projects/workroom/src/lib/shared/ui-elements/formgroup/cs-switch/cs-switch.component.ts","../../../projects/workroom/src/lib/shared/ui-elements/formgroup/cs-switch/cs-switch.component.html","../../../projects/workroom/src/lib/shared/ui-elements/formgroup/cs-radio-group/cs-radio-group.component.ts","../../../projects/workroom/src/lib/shared/ui-elements/formgroup/cs-radio-group/cs-radio-group.component.html","../../../projects/workroom/src/lib/shared/ui-elements/formgroup/click-outside.directive.ts","../../../projects/workroom/src/lib/shared/ui-elements/formgroup/pipes/pascal.pipe.ts","../../../projects/workroom/src/lib/shared/ui-elements/formgroup/cs-select/cs-select.component.ts","../../../projects/workroom/src/lib/shared/ui-elements/formgroup/cs-select/cs-select.component.html","../../../projects/workroom/src/lib/shared/ui-elements/tooltip/tooltip.module.ts","../../../projects/workroom/src/lib/shared/ui-elements/formgroup/pipes/searchMultiSelect.pipe.ts","../../../projects/workroom/src/lib/shared/ui-elements/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ts","../../../projects/workroom/src/lib/shared/ui-elements/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.html","../../../projects/workroom/src/lib/shared/ui-elements/formgroup/formgroup.module.ts","../../../projects/workroom/src/lib/shared/ui-elements/no-data/no-data.component.ts","../../../projects/workroom/src/lib/shared/ui-elements/no-data/no-data.component.html","../../../projects/workroom/src/lib/shared/ui-elements/no-data/no-data.module.ts","../../../projects/workroom/src/lib/shared/ui-elements/popover/popover.service.ts","../../../projects/workroom/src/lib/shared/ui-elements/popover/popover.component.ts","../../../projects/workroom/src/lib/shared/ui-elements/popover/popover.component.html","../../../projects/workroom/src/lib/shared/ui-elements/popover/popover.directive.ts","../../../projects/workroom/src/lib/shared/ui-elements/popover/popover-event.directive.ts","../../../projects/workroom/src/lib/shared/ui-elements/popover/popover-longpress.directive.ts","../../../projects/workroom/src/lib/shared/ui-elements/popover/popover.module.ts","../../../projects/workroom/src/lib/shared/ui-elements/circle-progress/circle/circle.component.ts","../../../projects/workroom/src/lib/shared/ui-elements/circle-progress/circle/circle.component.html","../../../projects/workroom/src/lib/shared/ui-elements/circle-progress/circle-progress.module.ts","../../../projects/workroom/src/lib/shared/ui-elements/v-loader/v-loader/v-loader.component.ts","../../../projects/workroom/src/lib/shared/ui-elements/v-loader/v-loader/v-loader.component.html","../../../projects/workroom/src/lib/shared/ui-elements/v-loader/v-loader-inline/v-loader-inline.component.ts","../../../projects/workroom/src/lib/shared/ui-elements/v-loader/v-loader-inline/v-loader-inline.component.html","../../../projects/workroom/src/lib/shared/ui-elements/v-loader/v-loader.module.ts","../../../projects/workroom/src/lib/shared/ui-elements/snack-bar/snack-bar.service.ts","../../../projects/workroom/src/lib/shared/ui-elements/snack-bar/snack-bar/snack-bar.component.ts","../../../projects/workroom/src/lib/shared/ui-elements/snack-bar/snack-bar/snack-bar.component.html","../../../projects/workroom/src/lib/shared/ui-elements/snack-bar/snack-bar.module.ts","../../../projects/workroom/src/lib/shared/dialog/confirm/confirm.component.ts","../../../projects/workroom/src/lib/shared/dialog/confirm/confirm.component.html","../../../projects/workroom/src/lib/shared/pipe/profile.pipe.ts","../../../projects/workroom/src/lib/shared/dialog/delete-parent-resp/delete-parent-resp.component.ts","../../../projects/workroom/src/lib/shared/dialog/delete-parent-resp/delete-parent-resp.component.html","../../../projects/workroom/src/lib/shared/service/web-api.service.ts","../../../projects/workroom/src/lib/shared/pipe/search.pipe.ts","../../../projects/workroom/src/lib/shared/dialog/handover-transfer/handover-transfer.component.ts","../../../projects/workroom/src/lib/shared/dialog/handover-transfer/handover-transfer.component.html","../../../projects/workroom/src/lib/shared/service/authorizer.service.ts","../../../projects/workroom/src/lib/shared/service/file-upload.service.ts","../../../projects/workroom/src/lib/shared/dialog-form/dialog-form.component.ts","../../../projects/workroom/src/lib/shared/dialog-form/dialog-form.component.html","../../../projects/workroom/src/lib/quick-view-loader/quick-view-loader.component.ts","../../../projects/workroom/src/lib/quick-view-loader/quick-view-loader.component.html","../../../projects/workroom/src/lib/shared/pipe/read-more.pipe.ts","../../../projects/workroom/src/lib/shared/pipe/safeHtml.pipe.ts","../../../projects/workroom/src/lib/shared/pipe/strip.pipe.ts","../../../projects/workroom/src/lib/quick-view/quick-view.component.ts","../../../projects/workroom/src/lib/quick-view/quick-view.component.html","../../../projects/workroom/src/lib/workroom.component.ts","../../../projects/workroom/src/lib/shared/interceptors/token-interceptor.ts","../../../projects/workroom/src/lib/shared/interceptors/business-cycle.interceptor.ts","../../../projects/workroom/src/lib/shared/pipe/sanitizer.pipe.ts","../../../projects/workroom/src/lib/shared/pipe/pipe.module.ts","../../../projects/workroom/src/lib/shared/dialog-form/dialog.module.ts","../../../projects/workroom/src/lib/shared/dialog/dialog.module.ts","../../../projects/workroom/src/lib/quick-view/quick-view.module.ts","../../../projects/workroom/src/lib/workroom.module.ts","../../../projects/workroom/src/public-api.ts","../../../projects/workroom/src/vcomply-workroom.ts"],"sourcesContent":["export class Configurations {\r\n    public envConfig: any;\r\n  \r\n    constructor() {\r\n      this.envConfig = {};\r\n    }\r\n  \r\n  }\r\n  ","import { Injectable, Optional } from '@angular/core';\nimport { Configurations } from './configurations';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class WorkroomService {\nenv :any = null;\n  constructor(@Optional() config?: Configurations) { \n    if (config) {\n      this.env = config.envConfig;\n\n    }\n  }\n}\n","import { Observable, Subject } from 'rxjs';\r\n\r\nexport class DialogRef {\r\n  private readonly afterDialogClosed = new Subject<any>();\r\n  private readonly afterEventEmited = new Subject<any>();\r\n  private readonly afterEventReceived = new Subject<any>();\r\n  afterClosed: Observable<any> = this.afterDialogClosed.asObservable();\r\n  afterEvent: Observable<any> = this.afterEventEmited.asObservable();\r\n  eventReceived: Observable<any> = this.afterEventReceived.asObservable();\r\n  constructor() {}\r\n\r\n  close(result?: any) {\r\n    this.afterDialogClosed.next(result);\r\n    document.body.style.overflow = 'auto';\r\n  }\r\n\r\n//this function is used to emit an event to the parent reference\r\n  emitEvent(result?:any){\r\n    this.afterEventEmited.next(result)\r\n  }\r\n//this function is used to send an event to the dialog from the parent reference\r\n  sendEvent(result?:any){\r\n    this.afterEventReceived.next(result);\r\n  }\r\n}\r\n","import { Directive, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n  selector: '[appInsertion]',\r\n})\r\nexport class InsertionDirective {\r\n  constructor(public viewContainerRef: ViewContainerRef) {}\r\n}\r\n","export class DialogConfig<D = any> {\r\n  data?: D;\r\n  position?: any;\r\n  background?: any;\r\n}\r\n","import { Component, Type, ComponentFactoryResolver, ViewChild, OnDestroy, ComponentRef, AfterViewInit, ChangeDetectorRef, OnInit } from '@angular/core';\r\n\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { NavigationEnd, NavigationError, NavigationStart, Router, ROUTER_CONFIGURATION } from '@angular/router';\r\nimport { DialogConfig } from './ui-dialog-config';\r\nimport { DialogRef } from './ui-dialog-ref';\r\nimport { InsertionDirective } from './ui-insertion.directive';\r\n\r\n@Component({\r\n  selector: 'ui-dialog',\r\n  templateUrl: './ui-dialog.component.html',\r\n  styleUrls: ['./ui-dialog.component.css'],\r\n})\r\nexport class DialogComponent implements AfterViewInit, OnDestroy, OnInit {\r\n  componentRef!: ComponentRef<any>;\r\n  position: any;\r\n  background: any;\r\n  @ViewChild(InsertionDirective, { static: true })\r\n  insertionPoint!: InsertionDirective;\r\n  animation = true;\r\n\r\n  private readonly onDialogClose = new Subject<any>();\r\n  public onClose = this.onDialogClose.asObservable();\r\n\r\n  childComponentType!: Type<any>;\r\n\r\n  constructor(\r\n    private componentFactoryResolver: ComponentFactoryResolver,\r\n    private cd: ChangeDetectorRef,\r\n    private dialogRef: DialogRef,\r\n    public config: DialogConfig,\r\n    private router: Router\r\n  ) {\r\n    // this.componentRef = this.componentRef;\r\n    // this.animate =   this.animate;\r\n    // this.insertionPoint =  this.insertionPoint;\r\n    // this.childComponentType =  this.childComponentType;\r\n  }\r\n  ngOnInit() {\r\n    this.position = this.config.position;\r\n    this.background = this.config.background;\r\n    document.body.style.overflow = 'hidden';\r\n    setTimeout(() => {\r\n      this.animation = false;\r\n    }, 200);\r\n    this.routeAction();\r\n  }\r\n\r\n  routeAction() {\r\n    this.router.events.subscribe((event: any) => {\r\n      if (event instanceof NavigationStart) {\r\n        // Show loading indicator\r\n      }\r\n      if (event instanceof NavigationEnd) {\r\n        // Hide loading indicator\r\n        this.dialogRef.close();\r\n      }\r\n      if (event instanceof NavigationError) {\r\n        // Hide loading indicator\r\n        // Present error to user\r\n      }\r\n    });\r\n  }\r\n  ngAfterViewInit() {\r\n    this.loadChildComponent(this.childComponentType);\r\n    this.cd.detectChanges();\r\n  }\r\n\r\n  onOverlayClicked(evt: MouseEvent) {\r\n    // this.dialogRef.close();\r\n  }\r\n\r\n  onDialogClicked(evt: MouseEvent) {\r\n    evt.stopPropagation();\r\n  }\r\n\r\n  loadChildComponent(componentType: Type<any>) {\r\n    const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);\r\n\r\n    const viewContainerRef = this.insertionPoint.viewContainerRef;\r\n    viewContainerRef.clear();\r\n\r\n    this.componentRef = viewContainerRef.createComponent(componentFactory);\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    if (this.componentRef) {\r\n      this.componentRef.destroy();\r\n    }\r\n  }\r\n\r\n  close() {\r\n    this.onDialogClose.next(true);\r\n    document.body.style.overflow = 'auto';\r\n  }\r\n}\r\n","<div\r\n  class=\"overlay\"\r\n  (click)=\"onOverlayClicked($event)\"\r\n  [ngClass]=\"{\r\n    top: position === 'TOP',\r\n    right: position === 'RIGHT',\r\n    bottom: position === 'BOTTOM',\r\n    left: position === 'LEFT',\r\n    center: position === 'CENTER',\r\n    black: background === 'black'\r\n  }\"\r\n>\r\n  <div\r\n    class=\"dialog\"\r\n    [class.animate]=\"animation\"\r\n    (click)=\"onDialogClicked($event)\"\r\n    [ngClass]=\"{\r\n      top: position === 'TOP',\r\n      right: position === 'RIGHT',\r\n      bottom: position === 'BOTTOM',\r\n      left: position === 'LEFT',\r\n      center: position === 'CENTER'\r\n    }\"\r\n  >\r\n    <ng-template appInsertion></ng-template>\r\n  </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DialogRef } from './ui-dialog-ref';\r\nimport { DialogComponent } from './ui-dialog.component';\r\nimport { InsertionDirective } from './ui-insertion.directive';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [DialogComponent, InsertionDirective],\r\n  entryComponents: [DialogComponent],\r\n  providers: [DialogRef],\r\n})\r\nexport class DialogModule { }\r\n","import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\r\n\r\nexport class DialogInjector implements Injector {\r\n  constructor(private parentDialogInjector: Injector, private dialogAdditionalTokens: WeakMap<any, any>) {}\r\n\r\n  get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T, flags?: InjectFlags): T;\r\n  // get(token: any, notFoundValue?: any){return; }\r\n  get(token: any, notFoundValue?: any, flags?: any) {\r\n    const value = this.dialogAdditionalTokens.get(token);\r\n    if (value) {\r\n      return value;\r\n    }\r\n    return this.parentDialogInjector.get<any>(token, notFoundValue);\r\n  }\r\n}\r\n","import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector, Type, EmbeddedViewRef, ComponentRef } from '@angular/core';\r\nimport { DialogConfig } from './ui-dialog-config';\r\nimport { DialogInjector } from './ui-dialog-injector';\r\nimport { DialogRef } from './ui-dialog-ref';\r\nimport { DialogComponent } from './ui-dialog.component';\r\nimport { DialogModule } from './ui-dialog.module';\r\n\r\n\r\n@Injectable({\r\n  providedIn: DialogModule,\r\n})\r\nexport class DialogService {\r\n  dialogComponentRef: ComponentRef<DialogComponent>[] = [];\r\n  constructor(private componentFactoryResolver: ComponentFactoryResolver, private appRef: ApplicationRef, private injector: Injector) { }\r\n\r\n  public open(componentType: Type<any>, config: DialogConfig) {\r\n    const dialogRef = this.appendDialogComponentToBody(config);\r\n    this.dialogComponentRef[this.dialogComponentRef?.length - 1].instance.childComponentType = componentType;\r\n    return dialogRef\r\n  }\r\n\r\n  private appendDialogComponentToBody(config: DialogConfig) {\r\n    const map = new WeakMap();\r\n    map.set(DialogConfig, config);\r\n\r\n    const dialogRef = new DialogRef();\r\n    map.set(DialogRef, dialogRef);\r\n\r\n    const sub = dialogRef.afterClosed.subscribe(() => {\r\n      this.removeDialogComponentFromBody();\r\n      sub.unsubscribe();\r\n    });\r\n\r\n    const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DialogComponent);\r\n    const componentRef = componentFactory.create(new DialogInjector(this.injector, map));\r\n\r\n    this.appRef.attachView(componentRef.hostView);\r\n\r\n\r\n\r\n    const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n    document.body.appendChild(domElem);\r\n\r\n    this.dialogComponentRef.push(componentRef)\r\n    this.dialogComponentRef[this.dialogComponentRef?.length - 1].instance.onClose.subscribe(() => {\r\n      this.removeDialogComponentFromBody();\r\n    });\r\n\r\n    return dialogRef;\r\n  }\r\n\r\n  private removeDialogComponentFromBody() {\r\n    this.appRef.detachView(this.dialogComponentRef[this.dialogComponentRef?.length - 1].hostView);\r\n    this.dialogComponentRef.pop()?.destroy();\r\n    \r\n\r\n  }\r\n\r\n}\r\n","\r\n\r\nimport { Component, forwardRef, Provider } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nconst CHECKBOX_VALUE_ACCESSOR: Provider = {\r\n  provide: NG_VALUE_ACCESSOR,\r\n  useExisting: forwardRef(() => CsCheckboxComponent),\r\n  multi: true,\r\n};\r\n\r\n@Component({\r\n  selector: 'vui-checkbox',\r\n  templateUrl: './cs-checkbox.component.html',\r\n  styleUrls: ['./cs-checkbox.component.less'],\r\n  providers: [CHECKBOX_VALUE_ACCESSOR],\r\n  inputs:['disabled','checked'],\r\n\r\n})\r\nexport class CsCheckboxComponent implements ControlValueAccessor{\r\n  disabled !:boolean | any;\r\n  checked !:boolean | any;\r\n  onChanged = (value:any) => {};\r\n  onTouched = () => {};\r\n\r\n  writeValue(value: boolean): void {\r\n    this.checked = value ?? false\r\n  }\r\n  registerOnChange(fn: any): void {\r\n    this.onChanged = fn;\r\n  }\r\n  registerOnTouched(fn: any): void {\r\n    this.onTouched = fn;\r\n  }\r\n  setDisabledState(isDisabled: boolean) {\r\n    this.disabled = isDisabled;\r\n  }\r\n  valueChanged(){\r\n \r\n    this.checked = !this.checked;\r\n    this.onChanged(this.checked);\r\n    this.onTouched();\r\n  }\r\n}\r\n","<label class=\"checkbox-item\" [class.disabled]=\"disabled\">\r\n  <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" (change)=\"valueChanged()\"/>\r\n  <span class=\"checkbox\">\r\n    <span class=\"inner\"></span>\r\n  </span>\r\n  <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n    <circle class=\"checkmark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n    <path class=\"checkmark__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n  </svg>\r\n  <span class=\"value\"><ng-content></ng-content></span>\r\n</label>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'vui-cs-radio',\r\n  templateUrl: './cs-radio.component.html',\r\n  styleUrls: ['./cs-radio.component.less'],\r\n})\r\nexport class CsRadioComponent implements OnInit {\r\n  @Input() disabled!: boolean;\r\n  @Input() readonly!: boolean;\r\n  @Input() name!: string;\r\n  @Input() checked!: boolean;\r\n  @Input() value: any;\r\n  @Output() checkedEvent = new EventEmitter();\r\n  constructor() {}\r\n\r\n  ngOnInit(): void {}\r\n  changeState(evt: any) {\r\n    this.checkedEvent.emit(evt);\r\n  }\r\n}\r\n","<label class=\"radio-item\" [class.readonly]=\"readonly\">\r\n  <input type=\"radio\" [disabled]=\"disabled\" [name]=\"name\" [value]=\"value\" [checked]=\"checked\" (change)=\"changeState($event)\" />\r\n  <span class=\"radio\">\r\n    <span class=\"inner\"></span>\r\n  </span>\r\n  <svg class=\"radiomark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n    <circle class=\"radiomark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n    <circle class=\"radiomark__check\" cx=\"26\" cy=\"26\" r=\"5\" fill=\"none\" />\r\n  </svg>\r\n  <span class=\"value\"><ng-content></ng-content></span>\r\n</label>\r\n","import { Directive, Input, ElementRef, HostListener, Renderer2} from '@angular/core';\r\n\r\n@Directive({\r\n  selector: '[vcTooltip]',\r\n})\r\nexport class ToolTipDirective {\r\n  @Input('vcTooltip') tooltipTitle!: string;\r\n  @Input() placement!: string;\r\n  @Input() type!: any;\r\n  @Input() tooltipMandatory!: boolean;\r\n  @Input() showTooltip = true;\r\n  @Input() animate!: boolean;\r\n  tooltip!: HTMLElement;\r\n  offset = 8;\r\n\r\n  constructor(private el: ElementRef, private renderer: Renderer2) {}\r\n\r\n  // Host listners for all the mouse events\r\n  @HostListener('mouseenter') onMouseEnter() {\r\n    this.hide();\r\n    this.show();\r\n  }\r\n  @HostListener('mouseover') onMouseOver() {\r\n    this.hide();\r\n    this.show();\r\n  }\r\n\r\n  @HostListener('mouseleave') onMouseLeave() {\r\n    this.hide();\r\n  }\r\n  @HostListener('mouseout') onMouseOut() {\r\n    this.hide();\r\n  }\r\n  @HostListener('click') onClick() {\r\n    this.hide();\r\n  }\r\n \r\n\r\n  //method to show the tooltip object\r\n  show() {\r\n    if (!this.showTooltip) {\r\n      return;\r\n    }\r\n    this.create();\r\n    const element = this.el.nativeElement;\r\n    if (this.tooltipMandatory === true) {\r\n      this.setPosition();\r\n      this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\r\n    } else {\r\n      if (element.scrollWidth * element.scrollHeight > element.offsetWidth * element.offsetHeight) {\r\n        this.setPosition();\r\n        this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\r\n      }\r\n    }\r\n  }\r\n//method to hide the tooltip\r\n  hide() {\r\n    if (document.body.contains(this.tooltip)) {\r\n      if (this.renderer) {\r\n        this.renderer.removeChild(document.body, document.getElementById('tooltip'));\r\n      }\r\n    }\r\n  }\r\n//method to create the tooltip object\r\n  create() {\r\n    this.tooltip = this.renderer.createElement('span');\r\n    this.tooltip.setAttribute('id', 'tooltip');\r\n    this.tooltip.innerHTML = this.tooltipTitle;\r\n    this.renderer.appendChild(document.body, this.tooltip);\r\n    this.renderer.addClass(this.tooltip, 'ng-tooltip');\r\n    this.renderer.addClass(this.tooltip, `ng-tooltip-${this.placement}`);\r\n    this.renderer.addClass(this.tooltip, `${this.type}`);\r\n    if (this.animate) {\r\n      this.renderer.addClass(this.tooltip, `animate-${this.placement}`);\r\n    }\r\n  }\r\n// function to decide the position of the tooltip element\r\n  setPosition() {\r\n    const hostPos = this.el.nativeElement.getBoundingClientRect();\r\n    const tooltipPos = this.tooltip.getBoundingClientRect();\r\n    const scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n    const w = window.innerWidth;\r\n    const h = window.innerHeight;\r\n    let top;\r\n    let left;\r\n    if (this.placement === 'top') {\r\n      top = hostPos.top - tooltipPos.height - this.offset;\r\n      left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n    }\r\n\r\n    if (this.placement === 'bottom') {\r\n      if (hostPos.top + tooltipPos.height > h) {\r\n        top = hostPos.top - tooltipPos.height;\r\n        left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n        this.renderer.removeClass(this.tooltip, `ng-tooltip-bottom`);\r\n        this.renderer.addClass(this.tooltip, `ng-tooltip-top`);\r\n      } else {\r\n        top = hostPos.bottom + this.offset;\r\n        left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n      }\r\n    }\r\n\r\n    if (this.placement === 'left') {\r\n      top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n      left = hostPos.left - tooltipPos.width - this.offset;\r\n    }\r\n\r\n    if (this.placement === 'right') {\r\n      top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n      left = hostPos.right + this.offset;\r\n    }\r\n    if (this.placement === 'bottom-right') {\r\n      top = hostPos.bottom + this.offset;\r\n      left = hostPos.left - (tooltipPos.width - 28);\r\n    }\r\n    if (this.placement === 'bottom-left') {\r\n      if (hostPos.top + tooltipPos.height > h - 30) {\r\n        top = hostPos.top - tooltipPos.height;\r\n        \r\n        left = hostPos.left;\r\n        this.renderer.removeClass(this.tooltip, `ng-tooltip-bottom-left`);\r\n        this.renderer.addClass(this.tooltip, `ng-tooltip-top-left`);\r\n      } else {\r\n        top = hostPos.bottom + this.offset;\r\n        left = hostPos.left;\r\n      }\r\n    }\r\n    this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);\r\n    this.renderer.setStyle(this.tooltip, 'left', `${left}px`);\r\n  }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'vui-cs-switch',\r\n  templateUrl: './cs-switch.component.html',\r\n  styleUrls: ['./cs-switch.component.less'],\r\n})\r\nexport class CsSwitchComponent implements OnInit {\r\n  @Input() disabled!: boolean;\r\n  @Input() ngValue: any;\r\n  @Input() value: any;\r\n  @Output() ngValueChange = new EventEmitter<any>();\r\n  @Input() tooltipMessage: any;\r\n  @Input() position: any;\r\n  constructor() {}\r\n\r\n  ngOnInit(): void {\r\n    // \r\n  }\r\n  valueChanged() {\r\n    this.ngValueChange.emit(this.ngValue);\r\n  }\r\n}\r\n","<label class=\"cs-switch\" [class.top]=\"position == 'top'\">\r\n  <!-- [class.large]=\"large\" -->\r\n  <span class=\"value\">\r\n    <span [innerHTML]=\"value\" *ngIf=\"value != undefined\"></span>\r\n    <!-- <span class=\"notification\" *ngIf=\"!tooltipMessage\" [vcTooltip]=\"tooltipMessage\" placement=\"bottom-right\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n        <i class=\"vc-icons\">&#xe9f3;</i>\r\n      </span> -->\r\n  </span>\r\n  <!-- [class.last]=\"last\" -->\r\n  <span class=\"switch\" *ngIf=\"tooltipMessage === '' || tooltipMessage === undefined\">\r\n    <input type=\"checkbox\" [(ngModel)]=\"ngValue\" (ngModelChange)=\"valueChanged()\" [disabled]=\"disabled\" />\r\n    <span class=\"switch-box\">\r\n      <span class=\"switch-ball\"></span>\r\n    </span>\r\n  </span>\r\n  <span\r\n    class=\"switch\"\r\n    *ngIf=\"tooltipMessage !== '' && tooltipMessage !== undefined\"\r\n    [vcTooltip]=\"tooltipMessage\"\r\n    placement=\"bottom-right\"\r\n    delay=\"0\"\r\n    type=\"black\"\r\n    [tooltipMandatory]=\"true\"\r\n  >\r\n    <input type=\"checkbox\" [(ngModel)]=\"ngValue\" (ngModelChange)=\"valueChanged()\" [disabled]=\"disabled\" />\r\n    <span class=\"switch-box\">\r\n      <span class=\"switch-ball\"></span>\r\n    </span>\r\n  </span>\r\n</label>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'vui-cs-radio-group',\r\n  templateUrl: './cs-radio-group.component.html',\r\n  styleUrls: ['./cs-radio-group.component.less'],\r\n})\r\nexport class CsRadioGroupComponent implements OnInit {\r\n  constructor() {}\r\n\r\n  ngOnInit(): void {}\r\n}\r\n","<vui-cs-radio>fefre</vui-cs-radio>\r\n<vui-cs-radio>fefre</vui-cs-radio>\r\n<vui-cs-radio>fefre</vui-cs-radio>\r\n<vui-cs-radio>fefre</vui-cs-radio>\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\r\n\r\n@Directive({\r\n  selector: '[clickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n  constructor(private elementRef: ElementRef) {}\r\n  @Output('clickOutside') clickOutside: EventEmitter<any> = new EventEmitter();\r\n\r\n  @HostListener('document:click', ['$event.target']) onMouseEnter(targetElement: any) {\r\n    const clickedInside = this.elementRef.nativeElement.contains(targetElement);\r\n    if (!clickedInside) {\r\n      this.clickOutside.emit(null);\r\n    }\r\n  }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n  name: 'pascal',\r\n})\r\nexport class PascalPipe implements PipeTransform {\r\n  transform(value: string, ...args: unknown[]): unknown {\r\n    if (typeof value !== 'string') {\r\n      return value;\r\n    }\r\n    return value.charAt(0).toUpperCase() + value.slice(1);\r\n  }\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'vui-cs-select',\r\n  templateUrl: './cs-select.component.html',\r\n  styleUrls: ['./cs-select.component.less'],\r\n})\r\nexport class CsSelectComponent implements OnChanges {\r\n  @Input() dataList!: any[];\r\n  @Input() dropdownLabel!: string;\r\n  @Input() displayProperty!: string;\r\n  @Input() selectedValue!: string;\r\n  @Input() isRequired!: boolean;\r\n  @Input() dropdownSubLabel!: string;\r\n  @Input() disabled!: boolean;\r\n  @ViewChild('option') option!: ElementRef;\r\n\r\n  @Output() selectedData = new EventEmitter();\r\n  @Output() selectedValueChange = new EventEmitter();\r\n  @Input() placeholder: any;\r\n  @Input() stylex: any;\r\n  @Input() valueKey: any;\r\n  @Input() multipleSelect: any;\r\n  @Input() colorProperty!: string;\r\n\r\n  @Input() colorSelected!: string;\r\n  colorCode!: string;\r\n\r\n  dropdownOption = false;\r\n  positionReset!: boolean;\r\n  getLeft!: number;\r\n  getTop!: number;\r\n  getWidth!: number;\r\n  maxWidth!: number;\r\n  activeDoropdown = false;\r\n\r\n  private optionList!: ElementRef;\r\n\r\n  @ViewChild('optionList') set content(content: ElementRef) {\r\n    if (content) {\r\n      // initially setter gets called with undefined\r\n      this.optionList = content;\r\n    }\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    if (changes['selectedValue']) {\r\n      this.selectedValue = this.selectedValue || '--';\r\n    }\r\n  }\r\n\r\n  openDropdown(event: any): void {\r\n    this.dropdownOption = true;\r\n    setTimeout(() => {\r\n      const dropdown = event.target.getBoundingClientRect();\r\n      const selectOption = this.optionList.nativeElement.offsetHeight;\r\n      if (dropdown.top + selectOption * 2 > window.innerHeight) {\r\n        this.getTop = dropdown.top - selectOption;\r\n      } else {\r\n        this.getTop = dropdown.top + dropdown.height;\r\n      }\r\n      this.getLeft = dropdown.left;\r\n      this.getWidth = dropdown.width;\r\n      this.maxWidth = dropdown.width * 1.25;\r\n    }, 10);\r\n    setTimeout(() => {\r\n      this.activeDoropdown = true;\r\n    }, 100);\r\n  }\r\n  selectOption(selectedData: any) {\r\n    if (typeof selectedData === 'object') {\r\n      this.selectedValue = selectedData[this.displayProperty];\r\n      this.colorSelected = selectedData[this.colorProperty];\r\n    } else {\r\n      this.selectedValue = selectedData;\r\n    }\r\n    this.selectedData.emit(selectedData);\r\n    this.dropdownOption = false;\r\n  }\r\n  closeDropdown() {\r\n    this.dropdownOption = false;\r\n  }\r\n}\r\n","<div class=\"input-group\" (clickOutside)=\"dropdownOption = false\">\r\n  <label *ngIf=\"dropdownLabel != undefined\">\r\n    {{ dropdownLabel }} <span class=\"sub-label\">{{ dropdownSubLabel }}</span> <span class=\"required\" *ngIf=\"isRequired\">*</span></label\r\n  >\r\n  <div class=\"custom-select-box\" [class.disabled]=\"disabled\">\r\n    <input\r\n      type=\"text\"\r\n      [class.line]=\"stylex\"\r\n      [placeholder]=\"placeholder\"\r\n      [value]=\"selectedValue | pascal\"\r\n      readonly\r\n      (click)=\"openDropdown($event)\"\r\n      (keyup.enter)=\"openDropdown($event)\"\r\n      (keyup.arrowup)=\"openDropdown($event)\"\r\n      (keyup.arrowdown)=\"openDropdown($event)\"\r\n      *ngIf=\"!colorProperty\"\r\n    />\r\n    <span class=\"show-label\" *ngIf=\"colorProperty\" (click)=\"openDropdown($event)\">\r\n      <span class=\"label\" [innerHTML]=\"selectedValue\" [style.backgroundColor]=\"colorSelected + '1A'\" [style.color]=\"colorSelected\"></span>\r\n    </span>\r\n    <!-- <span class=\"arrow\" [class.line]=\"stylex\">\r\n      <i class=\"icons\">&#xe919;</i>\r\n    </span> -->\r\n    <div class=\"overlay active\" *ngIf=\"dropdownOption === true\" (click)=\"closeDropdown()\"></div>\r\n    <ul\r\n      class=\"list-of-option\"\r\n      *ngIf=\"dropdownOption === true && !colorProperty\"\r\n      #optionList\r\n      (keyup.Escape)=\"closeDropdown()\"\r\n      [style.top.px]=\"getTop\"\r\n      [style.left.px]=\"getLeft\"\r\n      [style.min-width.px]=\"getWidth\"\r\n      [style.max-width.px]=\"maxWidth\"\r\n      [class.active]=\"activeDoropdown\"\r\n    >\r\n      <li *ngFor=\"let data of dataList\">\r\n        <label>\r\n          <input type=\"radio\" [value]=\"data[valueKey]\" name=\"sliceLabel\" (change)=\"selectOption(data)\" #option (keyup.enter)=\"closeDropdown()\" class=\"pointer-none\" />\r\n          <span (click)=\"closeDropdown(); selectOption(data)\" *ngIf=\"displayProperty && displayProperty !== ''\" class=\"value\">{{ data[displayProperty] }}</span>\r\n          <span (click)=\"closeDropdown(); selectOption(data)\" *ngIf=\"!displayProperty || displayProperty === ''\" class=\"value\">{{ data }}</span>\r\n        </label>\r\n      </li>\r\n    </ul>\r\n    <ul\r\n      class=\"list-of-option\"\r\n      *ngIf=\"dropdownOption === true && colorProperty\"\r\n      #optionList\r\n      (keyup.Escape)=\"closeDropdown()\"\r\n      [style.top.px]=\"getTop\"\r\n      [style.left.px]=\"getLeft\"\r\n      [style.min-width.px]=\"getWidth\"\r\n      [style.max-width.px]=\"maxWidth\"\r\n      [class.active]=\"activeDoropdown\"\r\n    >\r\n      <li *ngFor=\"let data of dataList\">\r\n        <label class=\"colors\">\r\n          <input type=\"radio\" [value]=\"data[valueKey]\" name=\"sliceLabel\" (click)=\"selectOption(data)\" #option (keyup.enter)=\"closeDropdown()\" class=\"pointer-none\" />\r\n          <span\r\n            (click)=\"selectOption(data)\"\r\n            *ngIf=\"displayProperty && displayProperty !== ''\"\r\n            class=\"value\"\r\n            [ngStyle]=\"{ color: data.segment_color }\"\r\n            [style.backgroundColor]=\"data.segment_color + '1A'\"\r\n            >{{ data[displayProperty] }}</span\r\n          >\r\n          <span\r\n            (click)=\"selectOption(data)\"\r\n            *ngIf=\"!displayProperty || displayProperty === ''\"\r\n            class=\"value\"\r\n            [ngStyle]=\"{ color: data.segment_color }\"\r\n            [style.backgroundColor]=\"data.segment_color + '1A'\"\r\n            >{{ data }}</span\r\n          >\r\n        </label>\r\n      </li>\r\n    </ul>\r\n  </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ToolTipDirective } from './tooltip.directive';\r\n\r\n@NgModule({\r\n  declarations: [ToolTipDirective],\r\n  imports: [CommonModule],\r\n  exports: [ToolTipDirective],\r\n})\r\nexport class TooltipModule {}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n  name: 'searchMultiSelect',\r\n})\r\nexport class SearchMultiSelectPipe implements PipeTransform {\r\n  transform(value: any[], key: string, searchKey: string): any[] {\r\n    if (searchKey && searchKey.length > 0) {\r\n      searchKey = searchKey.toLowerCase();\r\n      return value.filter((item) => {\r\n        if (item[key].toLowerCase().includes(searchKey)) {\r\n          return item;\r\n        }\r\n      });\r\n    }\r\n    return value;\r\n  }\r\n}\r\n","import { Component, OnInit, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'vui-checkbox-indeterminate',\r\n  templateUrl: './cs-checkbox-indeterminate.component.html',\r\n  styleUrls: ['./cs-checkbox-indeterminate.component.less']\r\n})\r\nexport class CsCheckboxIndeterminateComponent implements OnInit {\r\n  @Input() disabled!: boolean;\r\n  @Input() ngValue: any;\r\n  @Input() value: any;\r\n  @Output() ngValueChange = new EventEmitter<any>();\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n  valueChanged() {\r\n    const emitValue = {\r\n      value: this.value,\r\n      checked: this.ngValue\r\n    }\r\n    this.ngValueChange.emit(emitValue);\r\n  }\r\n\r\n}\r\n","<label class=\"checkbox-item\" [class.disabled]=\"disabled\">\r\n    <input type=\"checkbox\" [name]=\"value\" [disabled]=\"disabled\" [(ngModel)]=\"ngValue\" (ngModelChange)=\"valueChanged()\" />\r\n    <span class=\"checkbox\">\r\n      <span class=\"inner\"></span>\r\n    </span>\r\n    <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n      <circle class=\"checkmark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n      <path fill=\"none\" d=\"M37.9,27H14v-2h23.9V27z\"/>\r\n    </svg>\r\n    <span class=\"value\"><ng-content></ng-content></span>\r\n  </label>\r\n  ","import { FormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CsCheckboxComponent } from './cs-checkbox/cs-checkbox.component';\r\nimport { CsRadioComponent } from './cs-radio/cs-radio.component';\r\nimport { CsSwitchComponent } from './cs-switch/cs-switch.component';\r\nimport { CsRadioGroupComponent } from './cs-radio-group/cs-radio-group.component';\r\nimport { CsSelectComponent } from './cs-select/cs-select.component';\r\nimport { TooltipModule } from '../tooltip/tooltip.module';\r\nimport { PascalPipe } from './pipes/pascal.pipe';\r\nimport { SearchMultiSelectPipe } from './pipes/searchMultiSelect.pipe';\r\nimport { ClickOutsideDirective } from './click-outside.directive';\r\nimport { CsCheckboxIndeterminateComponent } from './cs-checkbox-indeterminate/cs-checkbox-indeterminate.component';\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    CsCheckboxComponent,\r\n    CsRadioComponent,\r\n    CsSwitchComponent,\r\n    CsRadioGroupComponent,\r\n    CsSelectComponent,\r\n    PascalPipe,\r\n    SearchMultiSelectPipe,\r\n    ClickOutsideDirective,\r\n    CsCheckboxIndeterminateComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    FormsModule,\r\n    TooltipModule\r\n  ],\r\n  exports: [\r\n    CsCheckboxComponent,\r\n    CsRadioComponent,\r\n    CsSwitchComponent,\r\n    CsRadioGroupComponent,\r\n    CsSelectComponent,\r\n    SearchMultiSelectPipe,\r\n    CsCheckboxIndeterminateComponent\r\n  ],\r\n})\r\nexport class FormgroupModule {}\r\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'vui-no-data',\r\n  templateUrl: './no-data.component.html',\r\n  styleUrls: ['./no-data.component.less'],\r\n})\r\nexport class NoDataComponent implements OnInit {\r\n  @Input() action!: object;\r\n  @Input() noDataImage!: string;\r\n  @Input() noDataText!: string;\r\n  @Input() noDataButton!: string | boolean;\r\n  @Input() noDataSecButton!: string | boolean;\r\n  @Input() noDataMultipleButtons!: Array<string>;\r\n  @Input() altText!: string;\r\n  @Output() buttonAction = new EventEmitter<object>();\r\n  @Output() clickedButton = new EventEmitter<object>();\r\n  @Input() smallButton!: boolean;\r\n  constructor() {}\r\n\r\n  ngOnInit(): void {}\r\n\r\n  actionEmitter(button: object) {\r\n    this.buttonAction.emit(button);\r\n  }\r\n\r\n  getClickedButton(button: any) {\r\n    this.clickedButton.emit(button);\r\n  }\r\n}\r\n","<div class=\"no-data-wrapper\">\r\n  <div class=\"no-data-container\">\r\n    <img [src]=\"noDataImage\" [alt]=\"altText\" class=\"image\" />\r\n    <p class=\"text\" [innerHTML]=\"noDataText\" *ngIf=\"noDataText\"></p>\r\n    <div *ngIf=\"noDataButton\" class=\"button-row\">\r\n      <button *ngIf=\"noDataButton\" class=\"vx-btn md primary\" (click)=\"actionEmitter($event)\">{{noDataButton}}</button>\r\n    </div>\r\n    \r\n    <div *ngIf=\"noDataMultipleButtons?.length\" class=\"button-row\">\r\n      <button *ngFor=\"let button of noDataMultipleButtons\"  class=\"vx-btn md primary\" (click)=\"getClickedButton(button)\">{{button}}</button>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NoDataComponent } from './no-data.component';\r\n\r\n@NgModule({\r\n  declarations: [NoDataComponent],\r\n  imports: [CommonModule],\r\n  exports: [NoDataComponent],\r\n})\r\nexport class NoDataModule {}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class PopoverService {\r\n  positionX!: number;\r\n  positionY!: number;\r\n  popoverHeight: any;\r\n  popoverWidth: any;\r\n  elementPosition: any;\r\n  elementDirection: any;\r\n  constructor() {\r\n    \r\n  }\r\n}\r\n","import { Component, ElementRef, Input, OnInit, ViewChild, EventEmitter, Output } from '@angular/core';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@Component({\r\n  selector: 'vui-popover',\r\n  templateUrl: './popover.component.html',\r\n  styleUrls: ['./popover.component.less'],\r\n})\r\nexport class PopoverComponent implements OnInit {\r\n  @Input() dontCloseonClick!: boolean;\r\n  popoverContainer = false;\r\n  @ViewChild('popoverRatio') popoverRatio!: ElementRef;\r\n  @ViewChild('popoverContent') popoverContent!: ElementRef;\r\n  @Output() closedOnOverlay = new EventEmitter();\r\n  constructor(public popoverService: PopoverService) {}\r\n  showPopover = false;\r\n  leftValue: any;\r\n  topValue: any;\r\n  popoverHeight: any;\r\n  popoverWidth: any;\r\n  positionX!: number;\r\n  positionY!: number;\r\n  ngOnInit(): void {}\r\n  popover() {\r\n    this.popoverContainer = false;\r\n    this.popoverContainer = true;\r\n    setTimeout(() => {\r\n      this.getPosition();\r\n      this.showPopover = true;\r\n    }, 10);\r\n    return false;\r\n  }\r\n  popoverEvent() {\r\n    this.popoverContainer = false;\r\n    this.popoverContainer = true;\r\n    setTimeout(() => {\r\n      // this.getPosition();\r\n      this.positionX = this.popoverService.positionX;\r\n      this.positionY = this.popoverService.positionY;\r\n      this.showPopover = true;\r\n    }, 10);\r\n    return false;\r\n  }\r\n  closePopover(top?: string) {\r\n    if (!this.dontCloseonClick || top === 'top') {\r\n      this.popoverContainer = false;\r\n      this.showPopover = false;\r\n    }\r\n  }\r\n\r\n  close(){\r\n    this.popoverContainer = false;\r\n    this.showPopover = false;\r\n  }\r\n  clickedPopover() {\r\n    this.getPosition();\r\n  }\r\n  getPosition() {\r\n    // setTimeout(() => {\r\n    const elementPositionn = this.popoverService.elementPosition;\r\n    this.popoverHeight = this.popoverRatio.nativeElement.offsetHeight;\r\n    this.popoverWidth = this.popoverRatio.nativeElement.offsetWidth;\r\n    if (this.popoverService.elementDirection === 'left') {\r\n      this.leftValue = elementPositionn.left;\r\n      if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n        this.topValue = elementPositionn.top - this.popoverHeight;\r\n      } else {\r\n        this.topValue = elementPositionn.top + elementPositionn.height;\r\n      }\r\n    }\r\n    if (this.popoverService.elementDirection === 'right') {\r\n      this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverWidth;\r\n      if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n        this.topValue = elementPositionn.top - this.popoverHeight;\r\n      } else {\r\n        this.topValue = elementPositionn.top + elementPositionn.height;\r\n      }\r\n    }\r\n    if (this.popoverService.elementDirection === 'top') {\r\n      this.leftValue = elementPositionn.left + elementPositionn.width;\r\n      if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n        this.topValue = elementPositionn.top - this.popoverHeight;\r\n      } else {\r\n        this.topValue = elementPositionn.top - this.popoverHeight;\r\n      }\r\n    }\r\n    if (this.popoverService.elementDirection === 'bottom') {\r\n      this.leftValue = elementPositionn.left + elementPositionn.width;\r\n      if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n        this.topValue = elementPositionn.top - this.popoverHeight;\r\n      } else {\r\n        this.topValue = elementPositionn.top + elementPositionn.height;\r\n      }\r\n    }\r\n    if (this.popoverService.elementDirection === 'self-position') {\r\n      this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\r\n      this.topValue = elementPositionn.top - 15;\r\n    }\r\n    if (this.popoverService.elementDirection === 'top-center') {\r\n      this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\r\n      // this.topValue = elementPositionn.top - this.popoverHeight;\r\n      if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight) {\r\n        this.topValue = elementPositionn.top + elementPositionn.height;\r\n      } else {\r\n        this.topValue = elementPositionn.top - this.popoverHeight;\r\n      }\r\n    }\r\n    if (this.popoverService.elementDirection === 'center') {\r\n      this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\r\n      this.topValue = elementPositionn.top + elementPositionn.height;\r\n    }\r\n    this.positionX = this.leftValue;\r\n    this.positionY = this.topValue;\r\n    // }, 10);\r\n  }\r\n}\r\n","<div class=\"overlay\" *ngIf=\"popoverContainer\" (click)=\"closePopover('top');this.closedOnOverlay.emit();\"></div>\r\n<div class=\"action\" [class.active]=\"showPopover\" *ngIf=\"popoverContainer\" [style.top.px]=\"positionY\" [style.left.px]=\"positionX\" #popoverRatio id=\"popoverRatio\">\r\n  <div (click)=\"closePopover(); clickedPopover()\" #popoverContent>\r\n    <ng-content></ng-content>\r\n  </div>\r\n</div>\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@Directive({\r\n  selector: '[vcPopover]',\r\n})\r\nexport class PopoverDirective {\r\n  dynamicComponent: any;\r\n  @Input() refrence: any;\r\n  @Input() position!: string;\r\n  leftValue: any;\r\n  topValue: any;\r\n  constructor(private elRef: ElementRef, private popoverService: PopoverService) {}\r\n  @HostListener('click') click() {\r\n    this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\r\n    this.popoverService.elementDirection = this.position;\r\n    // this.getPosition();\r\n  }\r\n\r\n  getPosition() {\r\n    setTimeout(() => {\r\n      // this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\r\n      const elementPositionn = this.elRef.nativeElement.getBoundingClientRect();\r\n      if (this.position === 'left') {\r\n        this.leftValue = elementPositionn.left;\r\n        if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n          this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n        } else {\r\n          this.topValue = elementPositionn.top + elementPositionn.height;\r\n        }\r\n      }\r\n      if (this.position === 'right') {\r\n        this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverService.popoverWidth;\r\n        if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n          this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n        } else {\r\n          this.topValue = elementPositionn.top + elementPositionn.height;\r\n        }\r\n      }\r\n      if (this.position === 'top') {\r\n        this.leftValue = elementPositionn.left + elementPositionn.width;\r\n        if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n          this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n        } else {\r\n          this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n        }\r\n      }\r\n      if (this.position === 'bottom') {\r\n        this.leftValue = elementPositionn.left + elementPositionn.width;\r\n        if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n          this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n        } else {\r\n          this.topValue = elementPositionn.top + elementPositionn.height;\r\n        }\r\n      }\r\n      if (this.position === 'self-position') {\r\n        this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\r\n        this.topValue = elementPositionn.top - 15;\r\n      }\r\n      if (this.position === 'top-center') {\r\n        this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\r\n        this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n      }\r\n      this.popoverService.positionX = this.leftValue;\r\n      this.popoverService.positionY = this.topValue;\r\n    }, 10);\r\n  }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@Directive({\r\n  selector: '[appPopoverEvent]',\r\n})\r\nexport class PopoverEventDirective {\r\n  constructor(private popoverService: PopoverService) {}\r\n  @HostListener('contextmenu', ['$event']) contextmenu(event: any) {\r\n    this.getEventPosition(event);\r\n  }\r\n  getEventPosition(event: any) {\r\n    // const container = event.currentTarget;\r\n    this.popoverService.positionX = event.clientX;\r\n    this.popoverService.positionY = event.clientY;\r\n  }\r\n}\r\n\r\n// appPopoverEvent\r\n","import { Directive, EventEmitter, HostListener, Output } from '@angular/core';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@Directive({\r\n  selector: '[appPopoverLongpress]',\r\n})\r\nexport class PopoverLongpressDirective {\r\n  getTime: any;\r\n  currentTime: any;\r\n\r\n  timer: any;\r\n  @Output() longPressPopover = new EventEmitter<any>();\r\n  constructor(private popoverService: PopoverService) {}\r\n  @HostListener('mousedown', ['$event']) mousedown(event: any) {\r\n    // alert('Tong');\r\n    this.currentTime = Date.now();\r\n    // \r\n    this.timer = setInterval(() => {\r\n      if (Date.now() - this.currentTime > 1000) {\r\n        this.longPressPopover.emit();\r\n        clearInterval(this.timer);\r\n        this.getEventPosition(event);\r\n        // alert('Ting tong');\r\n      }\r\n    }, 10);\r\n  }\r\n  @HostListener('mouseup') mouseup() {\r\n    clearInterval(this.timer);\r\n    this.currentTime = undefined;\r\n    // \r\n  }\r\n  getEventPosition(event: any) {\r\n    this.popoverService.positionX = event.clientX;\r\n    this.popoverService.positionY = event.clientY;\r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PopoverComponent } from './popover.component';\r\nimport { PopoverDirective } from './popover.directive';\r\nimport { PopoverEventDirective } from './popover-event.directive';\r\nimport { PopoverLongpressDirective } from './popover-longpress.directive';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@NgModule({\r\n  declarations: [PopoverComponent, PopoverDirective, PopoverEventDirective, PopoverLongpressDirective],\r\n  imports: [CommonModule],\r\n  exports: [PopoverComponent, PopoverDirective, PopoverEventDirective, PopoverLongpressDirective],\r\n  providers: [PopoverService],\r\n})\r\nexport class PopoverModule {}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'vui-circle-progress',\r\n  templateUrl: './circle.component.html',\r\n  styleUrls: ['./circle.component.less'],\r\n})\r\nexport class CircleComponent implements OnInit {\r\n  @Input() progressColor!: string;\r\n  @Input() fillColor!: string;\r\n  @Input() value!: string;\r\n  @Input() isValueVisible!: boolean;\r\n  @Input() isPercentVisible!: boolean;\r\n  @Input() textColor!: string;\r\n  @Input() circularSize!: string;\r\n  @Input() borderSize!: string;\r\n\r\n  constructor() {}\r\n\r\n  ngOnInit(): void {}\r\n}\r\n","<svg viewBox=\"0 0 36 36\" class=\"circular-chart\" [style.height.px]=\"circularSize\" [style.width.px]=\"circularSize\">\r\n  <path\r\n    class=\"circle-bg\"\r\n    [style.strokeWidth]=\"borderSize\"\r\n    attr.stroke=\"{{ fillColor }}\"\r\n    stroke-dasharray=\"100, 100\"\r\n    d=\"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831\"\r\n  />\r\n  <path\r\n    *ngIf=\"value\"\r\n    class=\"circle circle-{{ value }}\"\r\n    stroke-dasharray=\"100, 100\"\r\n    d=\"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831\"\r\n    attr.stroke=\"{{ progressColor }}\"\r\n    [style.strokeWidth]=\"borderSize\"\r\n  />\r\n  <text\r\n    *ngIf=\"isValueVisible === true && isPercentVisible === true && value\"\r\n    x=\"50%\"\r\n    y=\"52%\"\r\n    font-family=\"Poppins\"\r\n    font-size=\"9\"\r\n    font-weight=\"500\"\r\n    class=\"text\"\r\n    dominant-baseline=\"middle\"\r\n    text-anchor=\"middle\"\r\n    attr.fill=\"{{ progressColor }}\"\r\n  >\r\n    {{ value }}%\r\n  </text>\r\n  <text\r\n    *ngIf=\"isValueVisible === true && isPercentVisible !== true && value\"\r\n    x=\"50%\"\r\n    y=\"52%\"\r\n    font-family=\"Poppins\"\r\n    font-size=\"9\"\r\n    font-weight=\"500\"\r\n    class=\"text\"\r\n    dominant-baseline=\"middle\"\r\n    text-anchor=\"middle\"\r\n    attr.fill=\"{{ progressColor }}\"\r\n  >\r\n    {{ value }}\r\n  </text>\r\n</svg>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CircleComponent } from './circle/circle.component';\r\n\r\n@NgModule({\r\n  declarations: [CircleComponent],\r\n  imports: [CommonModule],\r\n  exports: [CircleComponent],\r\n})\r\nexport class CircleProgressModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'vui-v-loader',\r\n  templateUrl: './v-loader.component.html',\r\n  styleUrls: ['./v-loader.component.less']\r\n})\r\nexport class VLoaderComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<div class=\"subLoader\">\r\n    <div class=\"demo\">\r\n      <div class=\"demo__inner\">\r\n        <svg\r\n          width=\"30px\"\r\n          xmlns=\"http://www.w3.org/2000/svg\"\r\n          xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n          version=\"1.1\"\r\n          id=\"Layer_1\"\r\n          x=\"0px\"\r\n          y=\"0px\"\r\n          viewBox=\"0 0 16 16\"\r\n          style=\"enable-background: new 0 0 16 16\"\r\n          xml:space=\"preserve\"\r\n        >\r\n          <style type=\"text/css\">\r\n            .st0 {\r\n              fill: #9d1f24;\r\n            }\r\n  \r\n            .st1 {\r\n              fill: #d83b3f;\r\n            }\r\n          </style>\r\n          <g>\r\n            <path\r\n              class=\"st0\"\r\n              d=\"M2,12.3c0.5,0.3,1.1,0.4,1.8,0.2c0.9-0.3,1.4-1.1,1.5-1.1c-0.3-0.2-0.5-0.6-0.5-1.1V7.2   C4.5,4.6,1.1,3.8,1.1,3.8v7.3C1.1,11.2,1.3,11.9,2,12.3z\"\r\n            />\r\n            <path\r\n              class=\"st1\"\r\n              d=\"M9.9,3.5c-1.8,2.8-4.6,7.8-4.6,7.8s0,0,0,0c0,0.1-0.5,0.8-1.5,1.1c-0.7,0.2-1.3,0.1-1.8-0.2   c-0.6-0.4-0.9-1.1-0.9-1.1s-0.1,1.2,0.6,2.2C2,13.9,4,15.9,6.6,14.5c0.6-0.3,1.1-0.8,1.6-1.5c0.4-0.5,6.9-11.6,6.9-11.6   S11.7,0.5,9.9,3.5z\"\r\n            />\r\n          </g>\r\n        </svg>\r\n      </div>\r\n      <div id=\"demo__colored-blocks\" class=\"demo__colored-blocks\">\r\n        <div class=\"demo__colored-blocks-rotater\">\r\n          <div class=\"demo__colored-block\"></div>\r\n          <div class=\"demo__colored-block\"></div>\r\n          <div class=\"demo__colored-block\"></div>\r\n          <div class=\"demo__colored-block\"></div>\r\n          <div class=\"demo__colored-block\"></div>\r\n          <div class=\"demo__colored-block\"></div>\r\n        </div>\r\n        <div class=\"demo__colored-blocks-inner\"></div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  ","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'vui-loader-inline',\r\n  templateUrl: './v-loader-inline.component.html',\r\n  styleUrls: ['./v-loader-inline.component.less']\r\n})\r\nexport class VLoaderInlineComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<div class=\"v-loader-inline-loader\">\r\n  <div class=\"v-demo-loader\">\r\n    <div class=\"v-demo-loader-colored-blocks\">\r\n      <div class=\"v-demo-loader-colored-blocks-rotater\">\r\n        <div class=\"v-demo-loader-colored-block\"></div>\r\n        <div class=\"v-demo-loader-colored-block\"></div>\r\n        <div class=\"v-demo-loader-colored-block\"></div>\r\n        <div class=\"v-demo-loader-colored-block\"></div>\r\n        <div class=\"v-demo-loader-colored-block\"></div>\r\n        <div class=\"v-demo-loader-colored-block\"></div>\r\n      </div>\r\n      <div class=\"v-demo-loader-colored-blocks-inner\"></div>\r\n    </div>\r\n    <div class=\"v-demo-loader-inner\">\r\n      <svg\r\n        width=\"30px\"\r\n        xmlns=\"http://www.w3.org/2000/svg\"\r\n        xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n        version=\"1.1\"\r\n        id=\"Layer_1\"\r\n        x=\"0px\"\r\n        y=\"0px\"\r\n        viewBox=\"0 0 16 16\"\r\n        style=\"enable-background: new 0 0 16 16\"\r\n        xml:space=\"preserve\"\r\n      >\r\n        <style type=\"text/css\">\r\n          .st0 {\r\n            fill: #9d1f24;\r\n          }\r\n\r\n          .st1 {\r\n            fill: #d83b3f;\r\n          }\r\n        </style>\r\n        <g>\r\n          <path\r\n            class=\"st0\"\r\n            d=\"M2,12.3c0.5,0.3,1.1,0.4,1.8,0.2c0.9-0.3,1.4-1.1,1.5-1.1c-0.3-0.2-0.5-0.6-0.5-1.1V7.2   C4.5,4.6,1.1,3.8,1.1,3.8v7.3C1.1,11.2,1.3,11.9,2,12.3z\"\r\n          />\r\n          <path\r\n            class=\"st1\"\r\n            d=\"M9.9,3.5c-1.8,2.8-4.6,7.8-4.6,7.8s0,0,0,0c0,0.1-0.5,0.8-1.5,1.1c-0.7,0.2-1.3,0.1-1.8-0.2   c-0.6-0.4-0.9-1.1-0.9-1.1s-0.1,1.2,0.6,2.2C2,13.9,4,15.9,6.6,14.5c0.6-0.3,1.1-0.8,1.6-1.5c0.4-0.5,6.9-11.6,6.9-11.6   S11.7,0.5,9.9,3.5z\"\r\n          />\r\n        </g>\r\n      </svg>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { VLoaderComponent } from './v-loader/v-loader.component';\r\nimport { VLoaderInlineComponent } from './v-loader-inline/v-loader-inline.component';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    VLoaderComponent,\r\n    VLoaderInlineComponent\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [\r\n    VLoaderComponent,\r\n    VLoaderInlineComponent\r\n  ]\r\n})\r\nexport class VLoaderModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class SnackBarService {\r\n  private snackbarSubject = new Subject<any>();\r\n  public snackbarState = this.snackbarSubject.asObservable();\r\n  constructor() {}\r\n\r\n  show(message: string, type?:'success'|'warning'|'info'|'alert'|'error') {\r\n    this.snackbarSubject.next({\r\n      show: true,\r\n      message,\r\n      icon:type,\r\n    });\r\n  }\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { SnackBarService } from '../snack-bar.service';\r\n\r\n@Component({\r\n  selector: 'vui-snack-bar',\r\n  templateUrl: './snack-bar.component.html',\r\n  styleUrls: ['./snack-bar.component.less'],\r\n})\r\nexport class SnackBarComponent implements OnInit, OnDestroy {\r\n  show = false;\r\n  message: string = '--';\r\n  icon: string = '&#xe914;';\r\n  type='alert'\r\n  icons:any = {\r\n    success:'&#xe93d;',\r\n    warning:'&#xe914;',\r\n    info:'&#xe932;',\r\n    alert:'&#xe914;',\r\n    error:'&#xeaae;'\r\n  }\r\n  iconType: string = '';\r\n  snackbarSubscription!: Subscription;\r\n  constructor(private snackbarService: SnackBarService) {}\r\n\r\n  ngOnInit(): void {\r\n    this.snackbarSubscription = this.snackbarService.snackbarState.subscribe((state) => {\r\n      if(state.icon && Object.keys(this.icons).includes(state?.icon)){\r\n        this.icon = this.icons[state.icon];\r\n        this.type = state?.icon;\r\n      }\r\n      this.iconType = state?.iconType ?? '';\r\n      this.message = state.message;\r\n      this.show = state.show;\r\n      setTimeout(() => {\r\n        this.show = false;\r\n      }, 3000);\r\n    });\r\n  }\r\n  close() {\r\n    this.show = false;\r\n  }\r\n  ngOnDestroy() {\r\n    this.snackbarSubscription.unsubscribe();\r\n  }\r\n}\r\n","<div class=\"snackbar\" *ngIf=\"show\">\r\n  <div class=\"snackbar-inner\">\r\n    <div class=\"snackbarText\">\r\n      <!-- &#xe914; -->\r\n      <i class=\"icons\" [class]=\"type\" [innerHTML]=\"icon\"></i> {{ message }}\r\n    </div>\r\n    <button (click)=\"close()\">[ <span>Close</span> ]</button>\r\n  </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SnackBarComponent } from './snack-bar/snack-bar.component';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    SnackBarComponent\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [\r\n    SnackBarComponent\r\n  ]\r\n})\r\nexport class SnackBarModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DialogConfig, DialogRef } from '../../ui-elements';\r\n\r\n\r\n@Component({\r\n  selector: 'vui-confirm',\r\n  templateUrl: './confirm.component.html',\r\n  styleUrls: ['./confirm.component.less']\r\n})\r\nexport class ConfirmComponent implements OnInit {\r\n  animation = false;\r\n  messageContent='';\r\n  type=''\r\n  icon='';\r\n  constructor(\r\n    private dialog: DialogRef,\r\n    public dialogConfig:DialogConfig\r\n  ) { \r\n    this.messageContent=this.dialogConfig.data?.message??'';\r\n    this.icon = this.dialogConfig.data?.icon ??'';\r\n    this.type= this.dialogConfig.data?.type ?? '';\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.animation = true;\r\n    setTimeout(() => {\r\n      this.animation = false;\r\n    }, 300);\r\n  }\r\n\r\n  delete(deleteFlag: boolean) {\r\n    this.dialog.close(deleteFlag);\r\n  }\r\n\r\n}\r\n","<div class=\"alert-dialog vx-d-flex vx-align-center vx-justify-center\" [class.animate]=\"animation\">\r\n  <div class=\"alert-dialog-container\">\r\n    <div class=\"alert-dialog-body\">\r\n      <div class=\"alert-dialog-icon vx-d-flex vx-align-center vx-justify-center\" >\r\n        <i class=\"icons\" [ngClass]=\"\r\n        {'delete': type==='DELETE',\r\n        'activate': type==='ACTIVATE',\r\n        'deactivate': type==='DEACTIVATE',\r\n        'make-key': type==='MAKE_KEY_RESPONSIBILITY',\r\n        'remove-key': type==='REMOVE_KEY_RESPONSIBILITY'}\" \r\n        \r\n        \r\n        \r\n        [innerHTML]=\"icon\">&#xe923;</i>\r\n      </div>\r\n      <p class=\"vx-fs-15 vx-paragraph-txt vx-m-0 vx-text-center\" [innerHTML]=\"messageContent\"></p>\r\n    </div>\r\n    <div class=\"alert-dialog-footer vx-d-flex vx-align-center vx-justify-between vx-p-3\">\r\n      <p class=\"vx-fs-12 vx-lable-txt vx-m-0\">Are you sure you would like to proceed?</p>\r\n      <div class=\"vx-d-flex vx-align-center\">\r\n        <button class=\"no-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-d-flex vx-align-center vx-justify-center\" (click)=\"delete(false)\">No</button>\r\n        <button class=\"yes-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-d-flex vx-align-center vx-justify-center\" (click)=\"delete(true)\">Yes</button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { Optional, Pipe, PipeTransform } from '@angular/core';\r\nimport { Configurations } from '../../configurations';\r\n\r\n@Pipe({\r\n  name: 'profile'\r\n})\r\nexport class ProfilePipe implements PipeTransform {\r\n\r\n  environment: any = ''\r\n\r\n   constructor(\r\n    @Optional() config?: Configurations\r\n   ) {\r\n    if(config) this.environment = config.envConfig;\r\n   }\r\n  transform(value: any, ...args: any[]): string {\r\n    return `${this.environment.s3Url}${this.environment.s3Bucket}/profile_pic/thumb/${value}`;\r\n  }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DialogConfig, DialogRef } from '../../ui-elements';\r\n\r\n@Component({\r\n  selector: 'delete-parent-resp',\r\n  templateUrl: './delete-parent-resp.component.html',\r\n  styleUrls: ['./delete-parent-resp.component.less']\r\n})\r\nexport class DeleteParentRespComponent implements OnInit {\r\n  animate = false;\r\n\r\n  dependentResponsibilities: Array<any> = [];\r\n  responsibility: any;\r\n  constructor(\r\n    private dialog: DialogRef,\r\n    public dialogConfig: DialogConfig,\r\n  ) {\r\n    this.dependentResponsibilities = this.dialogConfig.data?.dependentResponsibility ?? [];\r\n    this.responsibility = this.dialogConfig.data?.responsibility ?? [];\r\n    console.log(\"this.dialogConfig ===>\", this.dialogConfig)\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.animate = true;\r\n    setTimeout(() => {\r\n      this.animate = false;\r\n    }, 1000);\r\n  }\r\n\r\n  activate(deleteFlag: boolean) {\r\n    this.dialog.close(deleteFlag);\r\n  }\r\n\r\n}\r\n","<div class=\"delete-parent-resp-dialog\">\r\n    <div class=\"delete-parent-resp-dialog-container\" [class.animation]=\"animate\">\r\n      <div class=\"delete-parent-resp-dialog-body\">\r\n        <div class=\"delete-parent-resp-dialog-icon vx-d-flex vx-align-center vx-justify-center\">\r\n          <i class=\"icons vx-fs-24\">&#xe914;</i>\r\n        </div>\r\n        <div class=\"vx-fs-15 vx-paragraph-txt vx-mb-2 vx-text-center\"><strong class=\"vx-fw-600\">1</strong> out of <strong class=\"vx-fw-600\">1</strong> responsibility was not deleted.</div>\r\n        <div class=\"responsibility-name vx-fs-13 vx-label-txt vx-pl-4 vx-pr-4 vx-text-center\" [vcTooltip]=\"responsibility?.ReportName\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{responsibility?.ReportName}}</div>\r\n        <div class=\"vx-fs-13 vx-fw-500 vx-paragraph-txt vx-text-center vx-mt-4 vx-mb-4\">This responsibility is associated to the<br>following dependent responsibilities:</div>\r\n        <div class=\"responsibility-list vx-pr-2 vx-pl-4\">\r\n            <div class=\"responsibility-list-inner vx-pr-2\">\r\n                <div class=\"table-row\" *ngFor=\"let data of dependentResponsibilities;let i = index;\">\r\n                    <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n                        <div class=\"sr-no\" [vcTooltip]=\"'1'\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{i + 1}}</div>\r\n                    </div>\r\n                    <div class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\">\r\n                        <div class=\"vx-avatar-group vx-mr-2\">\r\n                            <div class=\"vx-avatar md\">\r\n                                <span *ngIf=\"!data?.member_pic\" class=\"blue\" [vcTooltip]=\"data?.AssignBy\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{data?.member_short_name}}</span>\r\n                                <img *ngIf=\"data?.member_pic\" [src]=\"data?.member_pic | profile\" alt=\"\" [vcTooltip]=\"data?.AssignBy\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n                            </div>\r\n                            <div class=\"vx-avatar md\">\r\n                                <span *ngIf=\"!data?.employee_pic\" class=\"green\" [vcTooltip]=\"data?.AssignTo\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{data?.employee_short_name}}</span>\r\n                                <img *ngIf=\"data?.employee_pic\" [src]=\"data?.employee_pic | profile\" alt=\"\" [vcTooltip]=\"data?.AssignTo\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n                            </div>\r\n                        </div>\r\n                        <div class=\"vx-d-flex vx-align-center\">\r\n                            <i class=\"icons star vx-fs-10 vx-paragraph-txt vx-mr-2\" [class.yellow]=\"true\">&#xea70;</i>\r\n                            <div class=\"vx-d-block\">\r\n                                <div class=\"vx-d-flex vx-align-center\">\r\n                                    <div class=\"id vx-fs-10 vx-fw-500 vx-txt-blue vx-mr-1\">{{data?.ControlId}}</div>\r\n                                    <div class=\"resp-name vx-fs-13 vx-label-txt\" [vcTooltip]=\"data?.ReportName\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{data?.ReportName}}</div>\r\n                                </div>\r\n                                <div class=\"frequency vx-fs-11 vx-paragraph-txt\"><span class=\"vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">Frequency:</span>{{data?.ReportFrequency}}</div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n        <div class=\"delete-label vx-fs-12 vx-txt-white vx-pl-4 vx-lh-8 vx-d-flex vx-align-center\"><i class=\"icons vx-fs-16 vx-mr-2\">&#xe914;</i> Deleting this responsibility will also delete the dependent responsibilities.</div>\r\n      </div>\r\n      <div class=\"delete-parent-resp-dialog-footer vx-d-flex vx-align-center vx-justify-between vx-p-3\">\r\n        <p class=\"vx-fs-12 vx-lable-txt vx-m-0\">Are you sure you would like to proceed?</p>\r\n        <div class=\"vx-d-flex vx-align-center\">\r\n          <button class=\"no-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-d-flex vx-align-center vx-justify-center\" (click)=\"activate(false)\">No</button>\r\n          <button class=\"yes-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-d-flex vx-align-center vx-justify-center\" (click)=\"activate(true)\">Yes</button>\r\n        </div>\r\n      </div>\r\n    </div>\r\n</div>\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable,Optional } from '@angular/core';\r\nimport { Configurations } from \"../../configurations\"\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class WebApiService {\r\n  environment: any;\r\n  constructor(private http: HttpClient,  @Optional() config?: Configurations) {\r\n    if(config) this.environment = config.envConfig;\r\n  }\r\n\r\n  get(uri: string, params: any = {}) {\r\n    return this.http.get(this.environment.baseUrl +`${uri}`, params);\r\n  }\r\n\r\n  post(uri: string, payload: Object) {\r\n    return this.http.post(this.environment.baseUrl +`${uri}`, payload);\r\n  }\r\n  put(uri: string, payload: Object) {\r\n    return this.http.put(this.environment.baseUrl +`${uri}`, payload);\r\n  }\r\n\r\n  patch(uri: string, payload: Object) {\r\n    return this.http.patch(this.environment.baseUrl +`/${uri}`, payload);\r\n  }\r\n\r\n  delete(uri: string) {\r\n    return this.http.delete(this.environment.baseUrl +`/${uri}`);\r\n  }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n  name: 'search'\r\n})\r\nexport class SearchPipe implements PipeTransform {\r\n  transform(items: any[], ...args: any[]): any[] {\r\n    let searchText = args[0];\r\n    const searchKey = args[1];\r\n    if (!items) {\r\n      return [];\r\n    }\r\n    if (!searchText) {\r\n      return items;\r\n    }\r\n    searchText = searchText.toLowerCase();\r\n    if(items?.length){\r\n    return items.filter((it: any) => {\r\n      if(!searchKey){\r\n         return JSON.stringify(it).toLowerCase().includes(searchText);\r\n      }\r\n      else if(searchKey){\r\n\r\n        return it[searchKey]?.toString()?.toLowerCase().indexOf(searchText) > -1;\r\n      }\r\n      else {\r\n        return\r\n      }\r\n\r\n    });\r\n  }else{\r\n     return [];\r\n  }\r\n  }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthorizerService } from '@vcomply/authorizer';\r\nimport { WebApiService } from '../../service/web-api.service';\r\nimport { DialogConfig, DialogRef, SnackBarService } from '../../ui-elements';\r\n\r\n@Component({\r\n  selector: 'handover-transfer',\r\n  templateUrl: './handover-transfer.component.html',\r\n  styleUrls: ['./handover-transfer.component.less'],\r\n})\r\nexport class HandoverTransferComponent implements OnInit {\r\n  animation = false;\r\n  messageContent = '';\r\n  type = '';\r\n  icon = '';\r\n  loader: boolean = false\r\n  myId: number = 0;\r\n  responsibilityDetails: any;\r\n  itemListArray: Array<any> = [];\r\n  selectedData: any;\r\n  searchText: string = '';\r\n  minDate: any  = new Date();\r\n  delegateDate: any;\r\n  validation: any = [];\r\n\r\n  constructor(\r\n    private dialog: DialogRef,\r\n    public dialogConfig: DialogConfig,\r\n    private apiService: WebApiService,\r\n    private snackBarService: SnackBarService,\r\n    private authorizer: AuthorizerService,\r\n    ) {\r\n    this.messageContent = this.dialogConfig.data?.message ?? '';\r\n    this.icon = this.dialogConfig.data?.icon ?? '';\r\n    this.type = this.dialogConfig.data?.type ?? '';\r\n    this.responsibilityDetails = this.dialogConfig.data.responsibility ?? {};\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.animation = true;\r\n    this.myId = this.authorizer.getUserId() ?? 0;\r\n    setTimeout(() => {\r\n      this.animation = false;\r\n    }, 300);\r\n    if(this.type.toUpperCase() === 'HANDOVER') {\r\n      this.getMemberList();\r\n    } else {\r\n      this.getEmployeeList()\r\n    }\r\n  }\r\n\r\n  delete(deleteFlag: boolean) {\r\n    this.dialog.close(deleteFlag);\r\n  }\r\n\r\n  showOption = false;\r\n  selectedUser: any = {};\r\n  data: any = { userList: [1,1,1,1,] };\r\n\r\n  closeDialog(data?: any) {\r\n    console.log(\"data  data data data\", data)\r\n    this.dialog.close(data)\r\n  }\r\n\r\n  selectedOption(event: any) {\r\n    console.log(\"event ===>\", event);\r\n    this.selectedData = event;\r\n  }\r\n\r\n  showErrorSnackbar() {\r\n    this.snackBarService.show(\r\n      \"Oops! Something went wrong and we were unable to complete this action. Let's give it another try, shall we?\",\r\n      'alert'\r\n    );\r\n  }\r\n\r\n/**\r\n * It gets a list of members from the API and then sets the user for handover.\r\n */\r\n  getMemberList() {\r\n    let url = 'organization/?mode=organizationUsers';\r\n    if(this.responsibilityDetails.programDetails?._id)\r\n      url += '&isOnBehalf=1&program_ids=' + this.responsibilityDetails.programDetails?._id;\r\n\r\n    this.apiCalled(url, this.setUserForHandover.bind(this));\r\n  }\r\n\r\n  apiCalled(url: string, setUser: any) {\r\n    this.loader = true;\r\n    this.apiService\r\n    .get(url)\r\n    .subscribe({\r\n      next: (res: any) => {\r\n        setUser(res);\r\n        this.loader = false;\r\n      },\r\n      error: () => {\r\n        this.showErrorSnackbar();\r\n      }\r\n    })\r\n  }\r\n\r\n  getEmployeeList() {\r\n    let url = 'organization/?mode=people';\r\n    if(this.responsibilityDetails.programDetails?._id)\r\n      url += '&program_ids='+ this.responsibilityDetails.programDetails?._id + '&memberslist=true';\r\n    if(this.type === 'DELEGATE') {\r\n      this.apiCalled(url, this.setUserForDelegate.bind(this));\r\n    } else {\r\n      this.apiCalled(url, this.setUserForTransfer.bind(this));\r\n    }\r\n\r\n  }\r\n\r\n /**\r\n  * The function takes an array of objects, filters out the objects that don't meet the criteria, and\r\n  * returns a new array of objects that do meet the criteria.\r\n  * @param {any} handoverList - Array of objects\r\n  */\r\n  setUserForHandover(handoverList: any) {\r\n    const ccEmail = this.responsibilityDetails?.cc.map((ele: any) => ele.email);\r\n    const failureCCEmail = this.responsibilityDetails?.failure_cc.map((ele: any) => ele.email);\r\n    this.itemListArray = handoverList.filter(\r\n      (mem: any) =>\r\n      {\r\n        if( this.responsibilityDetails?.AssignById !== mem.member_id &&\r\n          mem.member_id !== this.myId  &&\r\n          !ccEmail.includes(mem.member_email) &&\r\n          !failureCCEmail.includes(mem.member_email)) {\r\n            mem['item_name'] = mem.member_name;\r\n            mem['item_email'] = mem.member_email;\r\n            mem['item_id'] = mem.member_id;\r\n            return mem;\r\n          }\r\n      }\r\n\r\n    )\r\n\r\n  }\r\n\r\n/**\r\n * The function takes in an array of objects, and returns a filtered array of objects.\r\n *\r\n * The function is called like this:\r\n *\r\n * this.setUserForTransfer(this.transferList);\r\n * The function is called\r\n * @param {any} transferList - any = [{employee_email: \"test@test.com\", employee_name: \"test\",\r\n * employee_id: \"123\"}, {employee_email: \"test1@test.com\", employee_name: \"test1\", employee_id: \"1234\"}\r\n */\r\n  setUserForTransfer(transferList: any) {\r\n    const mailArr: Array<any> = [];\r\n    if(this.responsibilityDetails.programDetails?._id) {\r\n      transferList = transferList?.assignee\r\n    }\r\n    let overseerData = this.responsibilityDetails?.cc.map((ele: any) => ele.email);\r\n    overseerData = overseerData.concat(this.responsibilityDetails?.failure_cc.map((ele: any) => ele.email));\r\n    let responsibilityReviewerId = this.responsibilityDetails?.ReviewersDetails?.level1 ? this.responsibilityDetails?.ReviewersDetails?.level1?.reviewers?.map((ele: any) => ele?.member_email) : [];\r\n\r\n    if (this.responsibilityDetails.EntrustedToMembers.length > 0) {\r\n      this.responsibilityDetails.EntrustedToMembers.forEach((mems: any) => {\r\n        mailArr.push(mems.member_email);\r\n      });\r\n      transferList = transferList.filter((emp: any) => !mailArr.includes(emp.employee_email));\r\n    } else {\r\n      transferList = transferList.filter((emp: any) => this.responsibilityDetails.AssignToEmail !== emp.employee_email);\r\n    }\r\n    this.itemListArray = transferList.filter((emp: any) => {\r\n      if(!overseerData.includes(emp.employee_email) && !responsibilityReviewerId.includes(emp.employee_email)) {\r\n        emp['item_name'] = emp.employee_name;\r\n        emp['item_email'] = emp.employee_email;\r\n        emp['item_id'] = emp.employee_id;\r\n        return emp;\r\n      }\r\n    });\r\n\r\n    console.log(\"this.itemListArray ===>\", this.itemListArray)\r\n\r\n  }\r\n\r\n  setUserForDelegate(delegateList: any) {\r\n    if(this.responsibilityDetails.programDetails?._id) {\r\n      delegateList = delegateList?.assignee\r\n    }\r\n    let responsibilityReviewerId = this.responsibilityDetails?.ReviewersDetails?.level1 ? this.responsibilityDetails?.ReviewersDetails?.level1?.reviewers?.map((ele: any) => ele?.member_email) : [];\r\n    let overseerData = this.responsibilityDetails?.cc?.map((ele: any) => ele?.email);\r\n    overseerData = overseerData?.concat(this.responsibilityDetails?.failure_cc?.map((ele: any) => ele?.email));\r\n    delegateList = delegateList?.filter(\r\n      (user: any) => user?.my_member_id !== this.myId && !responsibilityReviewerId?.includes(user?.member_email) && !overseerData?.includes(user?.member_email) && user?.my_member_id > 0\r\n    );\r\n    this.itemListArray = delegateList?.map((user: any) => {\r\n      user['item_id'] = user?.my_member_id;\r\n      user['item_name'] = user?.member_name;\r\n      user['item_email'] = user?.employee_email;\r\n      return user;\r\n    });\r\n    console.log('this.responsibilityDetails ==>', delegateList);\r\n    this.data = {\r\n      msg: 'This action will <strong>Delegate</strong> this responsibility.',\r\n      type: 'delegate',\r\n      action: 'delegate',\r\n      icon: '&#xea7a;',\r\n      usersList: delegateList ?? [],\r\n      minDate: this.getToday(this.responsibilityDetails.FailedDateTimestamp),\r\n      isLoader: false,\r\n    };\r\n  }\r\n\r\n  getToday(timestamp: any) {\r\n    const currentDate = new Date().getTime();\r\n    const failedTimeStamp = timestamp === 0 ? new Date().getTime() / 1000 : timestamp;\r\n    const delegateTimeStamp = failedTimeStamp * 1000 > currentDate ? timestamp * 1000 : currentDate;\r\n    return delegateTimeStamp;\r\n  }\r\n\r\n  getMinDate() {\r\n    console.log(\"this.data. ==>\", new Date(this.data?.minDate ?? 0 * 1000).toISOString().split('T')[0])\r\n    return new Date(this.data?.minDate ?? 0 * 1000).toISOString().split('T')[0];\r\n  }\r\n\r\n  setNewDelegateDate(event: any) {\r\n    this.delegateDate = event.value;\r\n    this.selectedData['until'] = this.delegateDate;\r\n    this.validation.push(this.selectedData);\r\n  }\r\n\r\n\r\n\r\n}\r\n","<div class=\"alert-dialog vx-d-flex vx-align-center vx-justify-center\" [class.animate]=\"animation\">\r\n    <div class=\"alert-dialog-container\">\r\n      <div class=\"alert-dialog-body\">\r\n        <div class=\"alert-dialog-icon vx-d-flex vx-align-center vx-justify-center\" >\r\n          <i class=\"icons vx-fs-24\" [ngClass]=\"\r\n          {'delete': type==='DELETE',\r\n          'activate': type==='ACTIVATE',\r\n          'deactivate': type==='DEACTIVATE',\r\n          'make-key': type==='MAKE_KEY_RESPONSIBILITY',\r\n          'remove-key': type==='REMOVE_KEY_RESPONSIBILITY'}\"\r\n          [innerHTML]=\"icon\">&#xe923;</i>\r\n        </div>\r\n        <div class=\"vx-fs-15 vx-paragraph-txt vx-mb-4 vx-text-center\" [innerHTML]=\"messageContent\"></div>\r\n        <!-- Dropdown popover -->\r\n        <div class=\"custom-select vx-d-flex vx-align-center vx-justify-center\">\r\n          <div *ngIf=\"type !== 'DELEGATE'\" class=\"vx-fs-12 vx-paragraph-txt vx-mr-2\">to</div>\r\n            <div *ngIf=\"!loader\" class=\"custom-select-box vx-fs-12 vx-paragraph-txt vx-p-2 vx-d-flex vx-align-center vx-justify-between\" [class.vx-label-txt]=\"selectedData\" vcPopover (click)=\"formDropDown.popover()\" position=\"left\">\r\n              {{selectedData ? selectedData.item_name: 'Select User'}}\r\n              <i class=\"icons vx-fs-12 vx-paragraph-txt\">&#xe9e8;</i>\r\n            </div>\r\n            <div *ngIf=\"loader\" class=\"custom-select-box vx-fs-12 vx-paragraph-txt vx-p-2 vx-d-flex vx-align-center vx-justify-between\" [class.vx-label-txt]=\"selectedData\"  position=\"left\">\r\n              Loading..\r\n              <i class=\"icons vx-fs-12 vx-paragraph-txt\">&#xe9e8;</i>\r\n            </div>\r\n            <vui-popover #formDropDown [dontCloseonClick]=\"true\">\r\n              <div class=\"action-list\" style=\"width: 240px;\">\r\n                <ul class=\"action-item\">\r\n                  <li class=\"search-field\">\r\n                    <input class=\"search\" [(ngModel)]=\"searchText\" type=\"text\" placeholder=\"Search...\" />\r\n                  </li>\r\n                  <li *ngFor=\"let items of (itemListArray | search: searchText);\"><button (click)=\"selectedOption(items);formDropDown.closePopover('top')\">{{ items?.item_name }}</button></li>\r\n                </ul>\r\n              </div>\r\n            </vui-popover>\r\n        </div>\r\n        <div *ngIf=\"type === 'DELEGATE'\" class=\"calendar-area\">\r\n          <input matInput [matDatepicker]=\"picker\" [min]=\"getMinDate()\" placeholder=\"Delegate until\" class=\"datePicker\" (dateChange)=\"setNewDelegateDate($event)\" />\r\n          <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n          <mat-datepicker #picker></mat-datepicker>\r\n        </div>\r\n    </div>\r\n    <div class=\"alert-dialog-footer vx-d-flex vx-align-center vx-justify-between vx-p-3\">\r\n      <p class=\"vx-fs-12 vx-lable-txt vx-m-0\">Are you sure you would like to proceed?</p>\r\n      <div (click)=\"closeDialog()\" class=\"vx-d-flex vx-align-center\">\r\n        <button  class=\"no-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-d-flex vx-align-center vx-justify-center\" >No</button>\r\n        <button (click)=\"closeDialog(selectedData)\" class=\"yes-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-d-flex vx-align-center vx-justify-center\" >Yes</button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  </div>\r\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { JwtHelperService } from '@auth0/angular-jwt';\nimport CryptoES from 'crypto-es';\nexport interface Token {\n  token: string;\n  subdomain?: string;\n}\nexport interface User {\n  id: number;\n  name: string;\n  email: string;\n  organisation_id: number;\n  short_name: string;\n  keyAdminId: number;\n  keyAdmin: boolean;\n  admin: boolean;\n  manager: boolean;\n  user: boolean;\n  browser_fingerprint: number;\n  timezone: string;\n  created_utc: number;\n  access_type: number;\n}\n@Injectable({\n  providedIn: 'root',\n})\nexport class AuthorizerService {\n  tokenData!: any | null;\n  constructor(private http: HttpClient) {\n    this.setToken();\n    this.listentToLocalStorageChanges();\n    this.refreshCognitoToken();\n  }\n\n  listentToLocalStorageChanges() {\n    window.addEventListener(\n      'storage',\n      e => {\n        if (e.key === 'currentUser') {\n          this.setToken();\n        }\n      },\n      false\n    );\n  }\n\n  refreshCognitoToken() {\n    if (this.tokenData?.iss)\n      if (this.isExpiryWithin3hrs() || this.isTokenExpired()) {\n        this.fetchRefreshToken().subscribe({\n          next: (res: any) => {\n            localStorage.setItem('currentUser', JSON.stringify({ token: res?.token }));\n          },\n          error: (error: any) => {\n            if (error?.error?.code === 'EXPIRED_TOKEN') {\n              localStorage.removeItem('currentUser');\n              this.logout();\n            }\n          },\n        });\n      }\n  }\n\n  setToken() {\n    this.tokenData = this.getUserToken() ?? null;\n  }\n\n  /**\n   * Returns user details of the currently logged in user\n   * @returns [Object]\n   */\n  getUser(): User | null {\n    if (this.tokenData) {\n      if (this.tokenData?.iss) {\n        if (this.tokenData.user) {\n          try {\n            return JSON.parse(this.tokenData?.user);\n          } catch {\n            return null;\n          }\n        } else {\n          return null;\n        }\n      } else {\n        return this.tokenData?.user ?? null;\n      }\n    } else {\n      return null;\n    }\n  }\n\n  /**\n   * Returns the member_id of the currently logged in User\n   * @returns [member_id in mongoDB _id format]\n   */\n  getMemberId(): string | null {\n    if (this.tokenData) {\n      return this.tokenData?._id ?? null;\n    } else {\n      return null;\n    }\n  }\n  /**\n   * returns the organization id of the currently logged in user\n   * @returns [organization_id]\n   */\n  getOrganizationId(): number | null {\n    const userInfo = this.getUser();\n    if (userInfo && userInfo?.organisation_id) {\n      return userInfo?.organisation_id ?? null;\n    } else {\n      return null;\n    }\n  }\n\n  /**\n   * returns  id of the currently logged in user\n   * @returns [id]\n   */\n  getUserId(): number | null {\n    const userInfo = this.getUser();\n    if (userInfo && userInfo?.id) {\n      return userInfo?.id ?? null;\n    } else {\n      return null;\n    }\n  }\n\n  /**\n   * returns  id of the currently logged in user\n   * @returns [id]\n   */\n  getUserTimezone(): string | null {\n    const userInfo = this.getUser();\n    if (userInfo && userInfo?.id) {\n      return userInfo?.timezone ?? null;\n    } else {\n      return null;\n    }\n  }\n\n  /**\n   * returns  shortname of the currently logged in user\n   * @returns [short_name]\n   */\n  getUserShortName(): string | null {\n    const userInfo = this.getUser();\n    if (userInfo && userInfo?.short_name) {\n      return userInfo?.short_name ?? '';\n    } else {\n      return null;\n    }\n  }\n\n  /**\n   * returns key admin's id of the currently logged in user's organization\n   * @returns [keyAdminId]\n   */\n  getOrgKeyAdminId(): number | null {\n    const userInfo = this.getUser();\n    if (userInfo && userInfo?.keyAdminId) {\n      return userInfo?.keyAdminId ?? null;\n    } else {\n      return null;\n    }\n  }\n\n  /**\n   * returns true if currently loggedIn user is manager\n   * @returns [manager]  true/false\n   */\n  isManager(): boolean {\n    const userInfo = this.getUser();\n    if (userInfo && userInfo?.manager) {\n      return userInfo?.manager ?? false;\n    } else {\n      return false;\n    }\n  }\n\n  /**\n   * returns true if currently loggedIn user is manager\n   * @returns [admin]  true/false\n   */\n  isAdmin(): boolean {\n    const userInfo = this.getUser();\n    if (userInfo && userInfo?.admin) {\n      return userInfo?.admin ?? false;\n    } else {\n      return false;\n    }\n  }\n\n  /**\n   * returns true if currently loggedIn user is manager\n   * @returns [manager]  true/false\n   */\n  isKeyAdmin(): boolean {\n    const userInfo = this.getUser();\n    if (userInfo && userInfo?.keyAdmin) {\n      return userInfo?.keyAdmin ?? false;\n    } else {\n      return false;\n    }\n  }\n\n  /**\n   * returns weather the token is expired\n   * @returns  expired = true /not expired = false\n   */\n  isTokenExpired() {\n    const status = this.sisTokenValid();\n    if (status && status === true) {\n      return false;\n    } else {\n      return true;\n    }\n  }\n\n  /**\n   * returns weather the token is expired\n   * @returns  expired = false /not expired = true\n   */\n  isValidToken() {\n    return this.isTokenValid();\n  }\n\n  getToken(): string {\n    return this.getRawToken();\n  }\n\n  logout(afterLogoutAction: 'REDIRECT' | 'RELOAD' = 'REDIRECT') {\n    const primaryToken = localStorage.getItem('primaryuser');\n    if (primaryToken != null) {\n      localStorage.setItem('currentUser', primaryToken);\n      localStorage.removeItem('primaryuser');\n      if (afterLogoutAction === 'RELOAD') {\n        location.reload();\n      } else {\n        window.location.href = `https://${window.location.hostname}`;\n      }\n    } else {\n      localStorage.removeItem('currentUser');\n      window.location.href = `https://${window.location.hostname}`;\n    }\n  }\n\n  removeTokenFromLocal() {\n    localStorage.removeItem('currentUser');\n  }\n\n  isTokenValid() {\n    const helper = new JwtHelperService();\n    const isExpired = helper.isTokenExpired(this.getRawToken());\n    if (isExpired === false) {\n      return true;\n    } else {\n      return false;\n    }\n  }\n\n  fetchRefreshToken() {\n    return this.http.post('https://' + this.getAuthSubDomain() + '/VcomplyAuth/?mode=getNewIdToken', { token: this.encrypt(this.getRawToken()) });\n  }\n\n  makeAPI() {\n    return this.http.get<any>('https://devapi.program.com/logs');\n  }\n\n  getRawToken(): string {\n    const token: Token | null = JSON.parse(localStorage.getItem('currentUser') ?? '{}');\n    if (token?.token) {\n      return token.token ?? '';\n    } else {\n      return '';\n    }\n  }\n  getUserToken(): any | null {\n    const token: Token | null = JSON.parse(localStorage.getItem('currentUser') ?? '{}');\n    if (token?.token) {\n      try {\n        const helper = new JwtHelperService();\n        const tokenInfo = helper.decodeToken(this.getRawToken());\n        return tokenInfo;\n      } catch {\n        return null;\n      }\n    } else {\n      return null;\n    }\n  }\n\n  sisTokenValid() {\n    const helper = new JwtHelperService();\n    const isExpired = helper.isTokenExpired(this.getRawToken());\n    if (isExpired === false) {\n      return true;\n    } else {\n      return false;\n    }\n  }\n\n  getAuthSubDomain() {\n    if (['dev.v-comply.com', 'test.v-comply.com', 'alpha.v-comply.com'].includes(window.location.host)) {\n      return 'devapi.v-comply.com';\n    } else if (window.location.host === 'beta.v-comply.com') {\n      return 'betaapi.v-comply.com';\n    } else if (window.location.host.startsWith('local')) {\n      return 'devapi.v-comply.com';\n    } else {\n      return 'devapi.v-comply.com';\n    }\n  }\n\n  encrypt(string: any) {\n    return CryptoES.AES.encrypt(string, 'I@MTHEVC0MPLYUSER').toString();\n  }\n\n  isExpiryWithin3hrs() {\n    const tokenInfo = this.getUserToken();\n    if (tokenInfo && tokenInfo?.exp) {\n      if (tokenInfo?.exp - new Date().getTime() / 1000 < 10764) {\n        return true;\n      } else {\n        return false;\n      }\n    } else {\n      return true;\n    }\n  }\n}\n","import { HttpClient, HttpEvent, HttpEventType} from '@angular/common/http';\r\nimport { Injectable, Optional } from '@angular/core';\r\nimport { of } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { Configurations } from '../../configurations';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class FileUploadService {\r\n\r\n  environment: any;\r\n\r\n  constructor(\r\n    private http: HttpClient,\r\n    @Optional() config?: Configurations\r\n\r\n  ) {\r\n    if(config) this.environment = config.envConfig;\r\n  }\r\n\r\n  FileUpload(formData: any) {\r\n\r\n    return this.http\r\n      .post<any>(this.environment.compliancePost + 'complianceReport/fileUpload&bypass-businessCycle=true', formData, { reportProgress: true, observe: 'events' })\r\n      .pipe(\r\n        map((event) => this.getEventMessage(event, formData)),\r\n        catchError((err) => of(err))\r\n      );\r\n  }\r\n  uploadToNode(payload: any, des: any) {\r\n    return this.http.post<any>(this.environment.fileUploadEndPoint + des, payload);\r\n  }\r\n\r\n  // remove uploaded file from add past event\r\n  fileRemove(attachmentId: any) {\r\n    return this.http.get<any>(this.environment.complianceFile + 'file/removeAttachment&id=' + attachmentId);\r\n  }\r\n\r\n\r\n  private getEventMessage(event: HttpEvent<any>, formData: any) {\r\n    switch (event.type) {\r\n      case HttpEventType.UploadProgress:\r\n        return this.fileUploadProgress(event);\r\n      case HttpEventType.Response:\r\n        return this.apiResponse(event);\r\n      default:\r\n      // return `File \"${formData.get(\"name\").name}\" surprising upload event: ${event.type}.`;\r\n    }\r\n  }\r\n  private fileUploadProgress(event: any) {\r\n    const percentDone = Math.round((100 * event.loaded) / event.total);\r\n    return { status: 'progress', message: percentDone };\r\n  }\r\n\r\n  private apiResponse(event: any) {\r\n    return event.body;\r\n  }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, DoCheck, ElementRef, ViewChild } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { FileUploadService } from '../service/file-upload.service';\r\nimport { DatePickerComponent } from 'ng2-date-picker';\r\nimport * as dayjs from 'dayjs';\r\nimport { AuthorizerService } from '@vcomply/authorizer';\r\nimport { WebApiService } from '../service/web-api.service';\r\nimport { map, takeUntil } from 'rxjs';\r\nimport { SnackBarService } from '../ui-elements';\r\n@Component({\r\n  selector: 'app-dialog-form',\r\n  templateUrl: './dialog-form.component.html',\r\n  styleUrls: ['./dialog-form.component.less'],\r\n})\r\nexport class DialogFormComponent implements OnInit, OnChanges, DoCheck {\r\n  animation = false;\r\n  @Input() data: any;\r\n  @Input() isList = false;\r\n  @Input() isTextEditor = false;\r\n  @Input() isFileUpload = false;\r\n  @Output() actionData = new EventEmitter();\r\n  date1: any;\r\n  date2: any;\r\n  showOption = false;\r\n  eventDateError = false;\r\n  eventDate2Error = false;\r\n  eventStatusName = 'Completed';\r\n  selectedCompliance = 1;\r\n  selectedComplianceDate = dayjs(new Date());\r\n  selectedComplianceDate2 = dayjs(new Date());\r\n  minDate: any;\r\n  maxDate: any;\r\n  today = new Date();\r\n  reportObject_id: any;\r\n  uploadedFiles: Array<any> = [];\r\n  fileName: Array<any> = [];\r\n  files = [];\r\n  dropZoneHovered = false;\r\n  attachmentId: Array<any> = [];\r\n  attachmentResponse: any;\r\n  isAddDate = true;\r\n  isSubmit = true;\r\n  isRevoke = false;\r\n  reasonData: string = '';\r\n  editDueDateId: any;\r\n  searchText = '';\r\n  startTime: any = '11:59 pm';\r\n  numb = '';\r\n  failedValue: any = '5';\r\n  reminderValue: any = '15';\r\n  timeData = '11:59 pm';\r\n  dateObject: any;\r\n  isValidTime = true;\r\n  @ViewChild('datePicker') datePicker!: DatePickerComponent;\r\n  @ViewChild('datePickerFrom') datePickerFrom!: DatePickerComponent;\r\n  datepickerOverlay = false;\r\n  dailyTime1: any =  new Date();\r\n  todayDate = new Date();\r\n  fromMinDate = new Date(Date.now() + 86400000);\r\n  fromDate = new Date();\r\n  selectedDate: any;\r\n  dateConfig: any = {\r\n    format: \"DD MMM YYYY\",\r\n    displayDate: new Date()\r\n  };\r\n  dateFromConfig: any = {\r\n    format: \"DD MMM YYYY\",\r\n    displayDate: new Date()\r\n  };\r\n  userInfo: any;\r\n  descriptionComment: any = {\r\n    id: 'notes',\r\n    placeholder: 'Add a notes',\r\n    link: true,\r\n    colorPalette: true,\r\n    mode: 'prime',\r\n    zIndex: 2147483002,\r\n  };\r\n  isLoader: boolean = false;\r\n\r\n  constructor(\r\n    private fileUploadService: FileUploadService,\r\n    private authorizerService: AuthorizerService,\r\n    private apiService: WebApiService,\r\n    private snackBarService: SnackBarService,\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    this.animation = true;\r\n    setTimeout(() => {\r\n      this.animation = false;\r\n    }, 1000);\r\n    this.userInfo = this.authorizerService.getUser();\r\n  }\r\n\r\n  ngOnChanges() {\r\n    if (this.data.minDate) {\r\n      this.minDate = this.data.minDate;\r\n      if (this.data.type === 'editDueDate') {\r\n        this.selectedComplianceDate = dayjs(this.minDate);\r\n        this.eventStatusName = 'Due date';\r\n        this.selectedCompliance = -1;\r\n      }\r\n    } else {\r\n      this.minDate = '';\r\n    }\r\n    if (this.data.maxDate) {\r\n      this.maxDate = this.data.maxDate;\r\n    } else {\r\n      this.maxDate = '';\r\n    }\r\n    if (this.data.showDate) {\r\n      this.selectedComplianceDate = dayjs(this.data.showDate);\r\n    }\r\n    if (this.data.reportDetails && (this.data.type == 'reviewerDueDate' || this.data.type == 'reinitiateReview')) {\r\n      this.reminderValue = this.data.reportDetails.review_after_days.toString();\r\n      this.failedValue = this.data.reportDetails.review_failed_after_days.toString();\r\n    }\r\n    if (this.data.reportDetails && this.data.type !== 'reviewerDueDate' && this.data.type !== 'reinitiateReview') {\r\n      this.reminderValue = this.data.reportDetails.reminder_before_days.toString();\r\n      this.failedValue = this.data.reportDetails.failed_after_days.toString();\r\n    }\r\n\r\n    this.dateConfig['min'] = dayjs(this.minDate)\r\n    this.dateConfig['max'] = dayjs(this.maxDate);\r\n    if(this.data.type === 'editDueDate') {\r\n      this.getDueDateList();\r\n    }\r\n\r\n  }\r\n\r\n  clickinput() {\r\n    this.showOption = true;\r\n  }\r\n\r\n  hideOption() {\r\n    this.showOption = false;\r\n  }\r\n  selectedOption(val: any) {\r\n    this.selectedCompliance = val.value;\r\n    this.eventStatusName = val.name;\r\n    if (this.data.type === 'editDueDate') {\r\n      this.editDueDateId = val._id;\r\n    };\r\n    console.log(\"this.selectedCompliance ==>\", val,this.eventStatusName)\r\n  }\r\n\r\n\r\n  getToday() {\r\n    return new Date(this.data.minDate * 1000).toISOString().split('T')[0];\r\n  }\r\n\r\n  cancelAction() {\r\n    if (this.data.type === 'addAPastEvent') {\r\n      let index = 0;\r\n      for (const iterator of this.uploadedFiles) {\r\n        this.deleteFile(index);\r\n        index++;\r\n      }\r\n    }\r\n    const returnValue = { resultMessage: 'cancel' };\r\n    this.actionData.emit(returnValue);\r\n  }\r\n\r\n  ngDoCheck() {\r\n    const selectedTimeDate = new Date(dayjs(this.selectedComplianceDate).unix());\r\n    this.date1 = dayjs(this.selectedComplianceDate).format('DD/MM/YYYY');\r\n    /* Converting the date to a string in the format DD/MM/YYYY */\r\n    /* Converting the date to a string in the format DD/MM/YYYY */\r\n    this.date2 = dayjs(this.selectedComplianceDate).format('DD/MM/YYYY');\r\n\r\n    this.dateObject = dayjs(this.date1 + ' ' + this.startTime,'DD/MM/YYYY h:mm A').unix();\r\n\r\n    // this.reasonData =  document.getElementById('reason')?.innerHTML ?? '';\r\n    // for validations on button\r\n    if (\r\n      this.reminderValue !== undefined &&\r\n      this.reminderValue != '' &&\r\n      parseInt(this.reminderValue) >= 0 &&\r\n      this.failedValue !== undefined &&\r\n      this.failedValue !== '' &&\r\n      parseInt(this.failedValue) >= 0 &&\r\n      Date.now() / 1000 < this.dateObject &&\r\n      this.data.type !== 'reviewerDueDate' &&\r\n      this.data.type !== 'pauseResponsibility'\r\n    ) {\r\n      this.isAddDate = true;\r\n      return;\r\n    } else {\r\n      this.isAddDate = false;\r\n    }\r\n    if (\r\n      this.reminderValue !== undefined &&\r\n      this.reminderValue != '' &&\r\n      parseInt(this.reminderValue) > 0 &&\r\n      this.failedValue !== undefined &&\r\n      this.failedValue !== '' &&\r\n      parseInt(this.failedValue) >= 0 &&\r\n      this.data.type === 'reviewerDueDate' &&\r\n      this.data.type !== 'pauseResponsibility'\r\n    ) {\r\n\r\n      this.isAddDate = true;\r\n    } else {\r\n\r\n      this.isAddDate = false;\r\n    }\r\n    if (this.data.action === 'revokeDelegation' || this.data.action === 'revokeHandover') {\r\n\r\n\r\n      if (this.reasonData?.replace(/&nbsp;/g, '').trim()?.length < 1) {\r\n        this.isRevoke = false;\r\n        return;\r\n      } else {\r\n        this.isRevoke = true;\r\n      }\r\n    }\r\n    if (this.data.type === 'editDueDate') {\r\n      if (this.selectedCompliance !== null && this.date2 !== null) {\r\n        this.isSubmit = true;\r\n      } else {\r\n        this.isSubmit = false;\r\n      }\r\n    }\r\n    console.log('this.data.type', this.data.type, this.isSubmit);\r\n    if (this.data.type === 'pauseResponsibility') {\r\n      //console.log(\"timestatmp\",fromData)\r\n      if (this.date1 == null || this.date2 == null) {\r\n        this.isSubmit = false;\r\n        return;\r\n      }\r\n\r\n      const fromDate = dayjs(this.date1).unix();\r\n      const toDate = dayjs(this.date2).unix();;\r\n      this.maxDate = new Date(toDate * 1000);\r\n      console.log(\"max date ====>\", this.maxDate, toDate);\r\n      if (toDate < fromDate) {\r\n        this.isSubmit = false;\r\n        this.eventDate2Error = true;\r\n        return;\r\n      }\r\n      if (fromDate > toDate) {\r\n        this.isSubmit = false;\r\n        this.eventDate2Error = true;\r\n        return;\r\n      }\r\n      console.log('this.data.type', this.data.type, this.isSubmit);\r\n      this.isSubmit = true;\r\n    }\r\n  }\r\n\r\n  submitForm() {\r\n    let complianceVal = '';\r\n    let data;\r\n    if (this.selectedCompliance === 1) {\r\n      complianceVal = 'Completed';\r\n    } else if (this.selectedCompliance === 2) {\r\n      complianceVal = 'Delayed';\r\n    } else {\r\n      complianceVal = 'Failed';\r\n    }\r\n    switch (true) {\r\n      case this.data.type === 'addNewDueDate': {\r\n        console.log(\"this.startTim ===>\", this.startTime)\r\n        const dueTime = dayjs(this.startTime, 'h:mm A').format('HH:mm:ss');\r\n        console.log(\"this.startTim ===>\", dueTime)\r\n        data = {\r\n          failed_after_days: this.failedValue,\r\n          reminder_before_days: this.reminderValue,\r\n          date: dayjs(this.todayDate).format('DD/MM/YYYY'),\r\n          time: dueTime,\r\n        };\r\n        break;\r\n      }\r\n      case this.data.type === 'addAPastEvent': {\r\n        data = {\r\n          dateDate: dayjs(this.todayDate).format('DD/MM/YYYY'),\r\n          compliance: complianceVal,\r\n          reason: this.reasonData,\r\n          attachmentIds: this.attachmentId.join(','),\r\n        };\r\n        break;\r\n      }\r\n      case this.data.type === 'pauseResponsibility': {\r\n        data = {\r\n          fromDate: this.date1,\r\n          toDate: this.date2,\r\n        };\r\n        break;\r\n      }\r\n      case this.data.type === 'editDueDate': {\r\n        data = {\r\n          oldDateId: this.editDueDateId,\r\n          newDate: this.date2,\r\n          reason: this.reasonData,\r\n        };\r\n        break;\r\n      }\r\n      case this.data.action === 'revokeDelegation' || this.data.action === 'revokeHandover':\r\n        {\r\n          data = {\r\n            repo: this.data.reportDetails,\r\n            memberId: this.data.memberId,\r\n            reason: this.reasonData,\r\n          };\r\n        }\r\n        break;\r\n      case this.data.type === 'reviewerDueDate':\r\n        {\r\n          const dueTime = 7642383832;\r\n          data = {\r\n            failed_after_days: this.failedValue,\r\n            reminder_before_days: this.reminderValue,\r\n            date: this.date1,\r\n            time: dueTime,\r\n            reason: this.reasonData,\r\n          };\r\n        }\r\n        break;\r\n      case this.data.type === 'reinitiateReview':\r\n        {\r\n          data = {\r\n            comment: this.reasonData,\r\n            date: this.date1,\r\n            type: this.data?.duedateType,\r\n            dueDateId: this.data.dueDateId,\r\n          };\r\n        }\r\n        break;\r\n    }\r\n\r\n    const returnValue = { resultMessage: 'apply', type: this.data.type, action: this.data.action, info: [data] };\r\n    this.actionData.emit(returnValue);\r\n  }\r\n\r\n  fileExistsBefore(name: string) {\r\n    for (let i = 0; i < this.uploadedFiles.length; i++) {\r\n      if (this.uploadedFiles[i].name === name) {\r\n        return true;\r\n      }\r\n    }\r\n    return false;\r\n  }\r\n\r\n  onFileUpload(event: any) {\r\n    this.isSubmit = false;\r\n    const userEmail = this.userInfo.email;\r\n    const memberId = this.userInfo.id;\r\n    for (let i = 0; i < event.target.files.length; i++) {\r\n      const formData = new FormData();\r\n      const file = event.target.files[i];\r\n      if (!this.fileExistsBefore(file.name)) {\r\n        this.fileName.push(file.name);\r\n        this.uploadedFiles.push({\r\n          name: file.name,\r\n          extension: file.name.substring(file.name.lastIndexOf('.') + 1).toUpperCase(),\r\n        });\r\n        formData.append('file', file);\r\n        this.fileUploadService.uploadToNode(formData, 'uploads/' + userEmail + '/' + this.data.reportDetails.ReportId + '/reports/').subscribe((data) => {\r\n          if (data) {\r\n            this.fileName = this.fileName.filter((ele) => ele !== data.org_file);\r\n            const payload = {\r\n              filepath: 'uploadFormat',\r\n              file_name: data.org_file,\r\n              filename: data.name,\r\n              original_filename: data.org_file,\r\n            };\r\n            const attachmentPayload = {\r\n              action_type: 'ADD_EVENT',\r\n              due_date_id: 0,\r\n              file_path: data,\r\n              member_id: memberId,\r\n              report_id: this.data.reportDetails.ReportId,\r\n            };\r\n            this.attachmentResponse = undefined;\r\n            this.fileUploadService.FileUpload(attachmentPayload).subscribe((res) => {\r\n              this.attachmentResponse = res;\r\n              if (this.attachmentResponse) {\r\n                this.uploadedFiles.map((files) => {\r\n                  if (files.name === this.attachmentResponse.original_filename) {\r\n                    files.fileId = this.attachmentResponse._id;\r\n                    files.name = file.name;\r\n                    files.extension = file.name.substring(file.name.lastIndexOf('.') + 1).toUpperCase();\r\n                  }\r\n                });\r\n                this.attachmentId.push(this.attachmentResponse.attachment_id);\r\n                if (this.attachmentId.length === this.uploadedFiles.length) {\r\n                  this.isSubmit = true;\r\n                }\r\n              }\r\n              this.attachmentId = this.attachmentId.filter((ele) => ele);\r\n              console.log(\"this.attachmentId ====>\", this.attachmentId)\r\n            });\r\n          }\r\n        });\r\n      }\r\n    }\r\n  }\r\n  deleteFile(i: number) {\r\n    const payload = this.uploadedFiles[i].fileId;\r\n    try {\r\n      if (this.fileName || this.data) {\r\n        this.fileUploadService.fileRemove(payload).subscribe((data) => {\r\n          this.fileName = this.fileName.filter((name) => name !== this.uploadedFiles[i].name);\r\n          this.files = this.files.filter((file: any) => file.file_name !== this.uploadedFiles[i].name);\r\n          this.uploadedFiles.splice(i, 1);\r\n          if (this.uploadedFiles.length === 0) {\r\n            this.dragHoverOut();\r\n          }\r\n          this.attachmentId.splice(i, 1);\r\n        });\r\n      }\r\n    } catch (e) {\r\n      // tslint:disable-next-line: no-console\r\n      console.log(e);\r\n    }\r\n  }\r\n\r\n  dragHover() {\r\n    this.dropZoneHovered = true;\r\n  }\r\n\r\n  dragHoverOut() {\r\n    this.dropZoneHovered = false;\r\n  }\r\n\r\n  applyClass(val: any) {\r\n    return val.toString().toLowerCase();\r\n  }\r\n\r\n  openDatePicker() {\r\n    this.datePicker.api.moveCalendarTo(Date.now().toLocaleString())\r\n    this.datePicker?.api?.open();\r\n    this.datepickerOverlay = true;\r\n  }\r\n\r\n  closeDatepicker() {\r\n    this.datePicker?.api?.close();\r\n    this.datepickerOverlay = false;\r\n  }\r\n\r\n\r\n  openFromDatePicker() {\r\n    this.datePickerFrom.api.moveCalendarTo(Date.now().toLocaleString())\r\n    this.datePickerFrom?.api?.open();\r\n    this.datepickerOverlay = true;\r\n  }\r\n\r\n  closeFromDatepicker() {\r\n    this.datePickerFrom?.api?.close();\r\n    this.datepickerOverlay = false;\r\n  }\r\n\r\n\r\n  getDate(event: any) {\r\n\r\n   // this.selectedComplianceDate = dayjs(event.date);\r\n    this.todayDate = new Date(event);\r\n    this.fromMinDate = new Date((dayjs(this.todayDate).unix() *1000) + 86400000);\r\n    this.selectedComplianceDate2 = dayjs(this.fromMinDate)\r\n    console.log('event ===>', this.todayDate , 'wdcewcew', this.fromMinDate, 'dscedwcew', this.selectedComplianceDate2)\r\n  }\r\n\r\n  getFromDate(event: any) {\r\n    console.log('event ===>', event,event.date, dayjs(event.date).unix())\r\n    // this.selectedComplianceDate2 = dayjs(event.date);\r\n    this.fromDate = new Date(dayjs(event.date).unix() * 1000);\r\n  }\r\n\r\n  getDueDateList() {\r\n    this.isLoader = true;\r\n    const url: string = `compliance_post/?mode=complianceDueDate&reportId=${this.data._id}`;\r\n    this.apiService\r\n    .post(url, {})\r\n    .subscribe({\r\n      next: (dueDate: any) => {\r\n        const data = dueDate.map((ele: any) => {\r\n          this.isLoader = false;\r\n          let response: any = {}\r\n          response['name'] = ele.report_due_date;\r\n          response['value'] = dayjs(ele.due_date_timestamp).format('DD/MM/YYYY');\r\n          response['_id'] = ele.duedate_object_id\r\n         return response;\r\n        })\r\n        this.data.listItems = [...data];\r\n        console.log(\"this.data ===>\", this.data)\r\n      },\r\n      error: () => {\r\n        this.isLoader = false;\r\n        this.snackBarService.show(\r\n          \"Oops! Something went wrong and we were unable to complete this action. Let's give it another try, shall we?\",\r\n          'alert'\r\n        );\r\n      }\r\n    })\r\n  }\r\n\r\n\r\n}\r\n","<div class=\"main-dialog vx-d-flex vx-align-center vx-justify-center\">\r\n\r\n  <div class=\"main-dialog-inner\" [class.animate]=\"animation\">\r\n    <div class=\"form-head vx-d-flex vx-align-center vx-justify-between\">\r\n\r\n      <div class=\"form-heading\" [innerHtml]=\"data.title\">{{ data.title }} </div>\r\n      <i class=\"icons cursor-pointer close-icon\" (click)=\"cancelAction()\">&#xe90d;</i>\r\n    </div>\r\n    <div class=\"form-content\">\r\n      <div *ngIf=\"data.calenderPlaceHolder\" class=\"date-form-field vx-mb-5 vx-w-100\">\r\n        <div class=\"date-field-label vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\" [class.active]=\"true\">{{ data.calenderPlaceHolder }}</div>\r\n        <div class=\"vx-d-flex vx-align-center\">\r\n          <div class=\"date-form-input vx-d-flex vx-align-center vx-w-100\">\r\n            <div class=\"date-time-area\">\r\n                <!-- <i class=\"icons cal-icon vx-fs-14 vx-paragraph-txt\">&#xe996;</i> -->\r\n                <!-- <input class=\"datePicker\" (click)=\"openDatePicker()\" [placeholder]=\"(todayDate | date:'dd MMM YYYY')\"> -->\r\n                <!-- <dp-date-picker\r\n                #datePicker\r\n                [id]=\"'start-date-' + 6\"\r\n                [placeholder]=\"'Select Date'\"\r\n                [(ngModel)]=\"selectedComplianceDate\"\r\n                [config]=\"dateConfig\"\r\n                (onSelect)=\"openDatePicker();getDate($event)\"\r\n\r\n              >\r\n              </dp-date-picker> -->\r\n              <!-- <div class=\"overlay\" (click)=\"closeDatepicker()\" *ngIf=\"datepickerOverlay\"></div> -->\r\n\r\n\r\n                <input [matDatepicker]=\"formPicker\" class=\"datePicker\" [(ngModel)]=\"selectedComplianceDate\" (ngModelChange)=\"getDate($event)\"  [min]=\"minDate == '' ? false : minDate\" [max]=\"maxDate\" [placeholder]=\"(todayDate | date : 'dd MMM YYYY')\" />\r\n                <mat-datepicker-toggle matSuffix [for]=\"formPicker\"></mat-datepicker-toggle>\r\n                <mat-datepicker #formPicker></mat-datepicker>\r\n              </div>\r\n          </div>\r\n          <div *ngIf=\"data?.showAddDate && data.type !== 'reinitiateReview'\" class=\"time-picker vx-d-flex vx-align-center vx-ml-1\">\r\n            <input class=\"time-picker-input\" aria-label=\"24hr format\" [ngxTimepicker]=\"dailyTime1\" [(ngModel)]=\"startTime\" readonly />\r\n            <span class=\"time-clock-icon vx-fs-14 vx-paragraph-txt\"><i class=\"icons\">&#xe955;</i></span>\r\n            <ngx-material-timepicker #dailyTime1 [enableKeyboardInput]=\"true\"></ngx-material-timepicker>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div *ngIf=\"isList\" class=\"custom-select vx-mb-5 vx-w-100\">\r\n        <!-- <div class=\"overlay\" [class.active]=\"showOption\" (click)=\"hideOption()\"></div> -->\r\n        <div class=\"date-field-label vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\" [class.active]=\"eventStatusName != ''\">{{ data.listPlaceHolder }}</div>\r\n        <!-- <div *ngIf=\"eventStatusName != ''\" class=\"date-field-label vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">{{ eventStatusName }}</div> -->\r\n\r\n        <div class=\"custom-select-box\" vcPopover (click)=\"formDropDown.popover()\" position=\"left\">\r\n         {{isLoader ? 'Loading..' : eventStatusName }}\r\n          <i class=\"icons vx-fs-14 vx-paragraph-txt\">&#xe9e8;</i>\r\n        </div>\r\n        <vui-popover #formDropDown>\r\n          <div class=\"action-list\" style=\"width: 489px;\">\r\n            <ul class=\"action-item\">\r\n              <li *ngFor=\"let items of data.listItems;\"><button (click)=\"selectedOption(items);\">{{ items.name }}</button></li>\r\n            </ul>\r\n          </div>\r\n      </vui-popover>\r\n\r\n\r\n        <!-- <input class=\"select-input cursur-pointer\" type=\"text\" (click)=\"clickinput()\" readonly />\r\n        <i class=\"icons select-arrow\" (click)=\"clickinput()\">&#xe919;</i>\r\n        <div class=\"custom-select-bottom\" [class.d-block]=\"showOption\">\r\n          <div class=\"custom-select-search\">\r\n            <input type=\"text\" [(ngModel)]=\"searchText\" placeholder=\"Search\" />\r\n            <i *ngIf=\"searchText.length > 0\" class=\"icons cursur-pointer\">&#xe90d;</i>\r\n          </div>\r\n          <div *ngIf=\"false\" class=\"custom-select-option\">\r\n            <form action=\"#\">\r\n              <div *ngFor=\"let items of data.listItems \" class=\"custom-select-item\">\r\n                <input type=\"radio\" name=\"radio-group\" (click)=\"selectedOption(items); hideOption()\" />\r\n                <span *ngIf=\"items.name\" class=\"ellipse width100 mw-inherit\">{{ items.name }}</span>\r\n                <!- - <span *ngIf=\"items.due_date_timestamp_utc\" class=\"ellipse width100 mw-inherit\">{{items.due_date_timestamp_utc|date:'dd MMM y'}}</span> - ->\r\n              </div>\r\n            </form>\r\n          </div>\r\n        </div> -->\r\n      </div>\r\n      <div  class=\"date-form-field vx-mb-5 vx-w-100\">\r\n        <ng-container *ngIf=\"data.calenderPlaceHolder2\">\r\n          <div class=\"date-field-label vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\" [class.active]=\"false\">\r\n          {{ data?.calenderPlaceHolder2 }}\r\n        </div>\r\n        <div class=\"vx-d-flex vx-align-center\">\r\n          <div class=\"date-form-input vx-d-flex vx-align-center vx-w-100\">\r\n            <div class=\"date-time-area\">\r\n              <input [matDatepicker]=\"toPicker\" class=\"datePicker\" [(ngModel)]=\"selectedComplianceDate2\"  [placeholder]=\"fromMinDate | date: 'dd MMM YYYY'\" [min]=\"fromMinDate\"/>\r\n              <mat-datepicker-toggle matSuffix [for]=\"toPicker\"></mat-datepicker-toggle>\r\n              <mat-datepicker #toPicker></mat-datepicker>\r\n          </div>\r\n        </div>\r\n      </div>\r\n        </ng-container>\r\n\r\n\r\n      <div *ngIf=\"isTextEditor\" class=\"form-field vx-mb-5 vx-w-100\">\r\n        <div class=\"date-field-label vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">Notes</div>\r\n        <marx-editor [(ngModel)]=\"reasonData\"></marx-editor>\r\n        <!-- <app-text-editor [file]=\"false\" [list]=\"true\" [id]=\"'reason'\" class=\"width100\" [placeholder]=\"'Add a note.'\"> </app-text-editor> -->\r\n      </div>\r\n\r\n      <div *ngIf=\"isFileUpload\" class=\"date-field-label vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">Upload File</div>\r\n      <div *ngIf=\"isFileUpload\" class=\"file-field vx-mb-5 vx-w-100\">\r\n        <div *ngIf=\"uploadedFiles.length < 1\" class=\"vx-d-flex vx-align-center vx-justify-center\">\r\n          <div class=\"drop-file w-50\" (dragenter)=\"dragHover()\">\r\n            <span>Drop files here</span>\r\n          </div>\r\n          <div class=\"w-50 vx-d-flex vx-align-center vx-justify-between\">\r\n            <div class=\"or-div vx-ml-2 vx-mr-2\">or</div>\r\n            <label class=\"browse-btn\">\r\n              <input type=\"file\" (change)=\"onFileUpload($event)\" multiple />\r\n              <i class=\"icons\">&#xeade;</i> Browse File\r\n            </label>\r\n          </div>\r\n          <div class=\"drag-hover\" [class.active]=\"dropZoneHovered\">\r\n            <input type=\"file\" (change)=\"onFileUpload($event)\" multiple />\r\n          </div>\r\n        </div>\r\n        <ng-container>\r\n          <div class=\"file-item width100\" *ngFor=\"let eachFile of uploadedFiles; let i = index\">\r\n            <div class=\"vx-d-flex vx-align-center\">\r\n              <span class=\"file table\" [ngClass]=\"applyClass(eachFile?.extension)\">\r\n                <i class=\"icons\">&#xe92e;</i>\r\n                <span class=\"format\">\r\n                  <ng-container *ngIf=\"eachFile.extension == 'docx' || eachFile.extension == 'DOCX'\">doc</ng-container>\r\n                  <ng-container *ngIf=\"eachFile.extension == 'jpeg' || eachFile.extension == 'JPEG'\">jpg</ng-container>\r\n                  <ng-container *ngIf=\"eachFile.extension == 'xlsx' || eachFile.extension == 'XLSX'\">xls</ng-container>\r\n                  <ng-container *ngIf=\"eachFile.extension == 'pptx' || eachFile.extension == 'PPTX'\">ppt</ng-container>\r\n                  <ng-container\r\n                    *ngIf=\"\r\n                      eachFile.extension != 'docx' &&\r\n                      eachFile.extension != 'DOCX' &&\r\n                      eachFile.extension != 'jpeg' &&\r\n                      eachFile.extension != 'JPEG' &&\r\n                      eachFile.extension != 'xlsx' &&\r\n                      eachFile.extension != 'XLSX' &&\r\n                      eachFile.extension != 'pptx' &&\r\n                      eachFile.extension != 'PPTX'\r\n                    \"\r\n                    >{{ eachFile.extension }}\r\n                  </ng-container>\r\n                  <!-- {{ eachFile.extension }} -->\r\n                </span>\r\n              </span>\r\n              <div class=\"file-item-right\">\r\n                <div class=\"vx-d-flex vx-align-center\">\r\n                  <div class=\"file-item-part\">\r\n                    <div class=\"file-name\">{{ eachFile?.name }}</div>\r\n                    <span *ngIf=\"fileName?.includes(eachFile?.name)\" class=\"file-status\">Uploading...</span>\r\n                  </div>\r\n                  <div class=\"vx-d-flex vx-align-center delete-icon\">\r\n                    <i class=\"icons\" (click)=\"deleteFile(i)\">&#xe923;</i>\r\n                  </div>\r\n                </div>\r\n                <div *ngIf=\"fileName?.includes(eachFile?.name)\" class=\"progress\">\r\n                  <div class=\"indeterminate\"></div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"uploadcallFlex\">\r\n            <label>Do you want insert more files? <span>Drop Files Here</span> / <span class=\"btn\">Browse</span> </label>\r\n            <input type=\"file\" (change)=\"onFileUpload($event)\" multiple />\r\n          </div>\r\n        </ng-container>\r\n      </div>\r\n\r\n      <ng-container *ngIf=\"data?.showAddDate\">\r\n        <div *ngIf=\"data.type !== 'reviewerDueDate' && data.type !== 'reinitiateReview'\" class=\"reminder-text\">\r\n          The responsibility can be marked as <i class=\"blue-text\">complete</i> <input type=\"text\" [value]=\"reminderValue\" [(ngModel)]=\"reminderValue\" />\r\n          {{ reminderValue <= 1 ? 'day' : 'days' }} before the due date.\r\n        </div>\r\n        <div *ngIf=\"data.type === 'reviewerDueDate' || data.type === 'reinitiateReview'\" class=\"reminder-text\">\r\n          This responsibility needs to be <i class=\"blue-text\">reviewed </i> within\r\n          <input type=\"text\" [value]=\"reminderValue\" [(ngModel)]=\"reminderValue\" [readonly]=\"data.type === 'reinitiateReview'\" />\r\n          {{ reminderValue <= 1 ? 'day' : 'days' }} after it has been completed.\r\n        </div>\r\n\r\n        <div *ngIf=\"data.type !== 'reviewerDueDate' && data.type !== 'reinitiateReview'\" class=\"reminder-text\">\r\n          The responsibility will be marked as <i class=\"red-text\">not completed</i> <input type=\"text\" [value]=\"failedValue\" [(ngModel)]=\"failedValue\" />\r\n          {{ failedValue <= 1 ? 'day' : 'days' }} after the due date if it is not done.\r\n        </div>\r\n        <div *ngIf=\"data.type === 'reviewerDueDate' || data.type === 'reinitiateReview'\" class=\"reminder-text\">\r\n          The review status for this responsibility will be marked as <i class=\"red-text\">not completed</i>\r\n          <input type=\"text\" [value]=\"failedValue\" [(ngModel)]=\"failedValue\" [readonly]=\"data.type === 'reinitiateReview'\" /> {{ failedValue <= 1 ? 'day' : 'days' }} after the due\r\n          date if not reviewed.\r\n        </div>\r\n      </ng-container>\r\n    </div>\r\n  </div>\r\n  <div class=\"form-bottom vx-d-flex vx-align-center vx-justify-end\">\r\n    <button *ngIf=\"data?.showCancelButton\" class=\"white-btn\" (click)=\"cancelAction()\">Cancel</button>\r\n    <button *ngIf=\"data?.showSaveButton\" [class.disabled]=\"!isSubmit\" (click)=\"submitForm()\">Save</button>\r\n    <button *ngIf=\"data?.showAddDate && data.type !== 'reviewerDueDate' && data.type !== 'reinitiateReview'\" [class.disabled]=\"!isAddDate\" (click)=\"submitForm()\">\r\n      Add Date\r\n    </button>\r\n    <button *ngIf=\"data?.showAddDate && data.type === 'reviewerDueDate'\" [class.disabled]=\"!isAddDate\" (click)=\"submitForm()\">Submit</button>\r\n    <button *ngIf=\"data?.showRevokeButton\" class=\"red-btn\" [class.disabled]=\"!isRevoke\" (click)=\"submitForm()\">Revoke</button>\r\n  </div>\r\n\r\n\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'vui-quick-view-loader',\r\n  templateUrl: './quick-view-loader.component.html',\r\n  styleUrls: ['./quick-view-loader.component.less']\r\n})\r\nexport class QuickViewLoaderComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<div class=\"quick-view-loader\">\r\n    <div class=\"status\"></div>\r\n    <div class=\"quick-view-loader-header vx-d-flex vx-align-center vx-justify-between vx-pl-2 vx-pr-2\">\r\n        <div class=\"vx-d-flex vx-align-center\">\r\n            <div class=\"loader\" *ngFor=\"let data of [1, 1, 1]\"></div>\r\n        </div>\r\n        <div class=\"loader button\"></div>\r\n    </div>\r\n    <div class=\"quick-view-loader-top vx-d-flex vx-align-center vx-justify-between vx-p-2 vx-pt-3 vx-pb-3\">\r\n        <div class=\"name loader\"></div>\r\n        <button class=\"more-action\"></button>\r\n    </div>\r\n    <div class=\"quick-view-loader-mid vx-p-2 vx-pb-1\">\r\n        <div class=\"vx-d-flex vx-mb-4\">\r\n            <div class=\"half-area vx-mt-1\">\r\n                <div class=\"heading vx-mb-1\"><div class=\"loader\"></div></div>\r\n                <div class=\"circle-progress vx-d-flex vx-align-center vx-mt-2\"><div class=\"loader\" *ngFor=\"let data of [1, 1, 1]\"></div></div>\r\n            </div>\r\n            <div class=\"half-area vx-mt-1\">\r\n                <div class=\"heading vx-mb-1\"><div class=\"loader\"></div></div>\r\n                <div class=\"circle-progress vx-d-flex vx-align-center vx-mt-2\"><div class=\"loader\" *ngFor=\"let data of [1, 1]\"></div></div>\r\n            </div>\r\n        </div>\r\n        <div class=\"vx-d-flex vx-mb-4\">\r\n            <div class=\"half-area vx-mt-1\">\r\n                <div class=\"heading vx-mb-1\"><div class=\"loader\"></div></div>\r\n                <div class=\"score vx-mt-3\"><div class=\"loader\"></div></div>\r\n            </div>\r\n            <div class=\"half-area vx-mt-1\">\r\n                <div class=\"heading vx-mb-1\"><div class=\"loader\"></div></div>\r\n                <div class=\"vx-d-flex vx-align-center\">\r\n                    <div class=\"risk-status vx-d-flex vx-align-center vx-mt-1\"><div class=\"loader\" *ngFor=\"let data of [1, 1]\"></div></div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n        <div class=\"vx-d-flex vx-justify-between vx-mt-5\">\r\n            <div class=\"half-box vx-p-2 vx-mb-1\" *ngFor=\"let data of [1, 1]\">\r\n                <div class=\"heading vx-mb-3\"><div class=\"loader\"></div></div>\r\n                <div class=\"details\"><div class=\"loader vx-mt-2\" *ngFor=\"let data of [1, 1]\"></div></div>\r\n            </div>\r\n        </div>\r\n        <div class=\"vx-d-flex vx-justify-between\">\r\n            <div class=\"half-box vx-p-2 vx-mb-1\" *ngFor=\"let data of [1, 1]\">\r\n                <div class=\"heading vx-mb-3\"><div class=\"loader\"></div></div>\r\n                <div class=\"details\"><div class=\"loader vx-mt-2\" *ngFor=\"let data of [1, 1]\"></div></div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <div class=\"quick-view-loader-btn vx-w-100 loader\"></div>\r\n</div>","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n  name: 'readMore'\r\n})\r\n/* This class is a pipe that takes a string and a number as arguments and returns a boolean */\r\nexport class ReadMorePipe implements PipeTransform {\r\n\r\n/**\r\n * It takes a string as an argument, and returns a boolean\r\n * @param {string} value - the id of the element you want to check the height of\r\n * @param {number} [height=126] - number = 126\r\n * @returns A boolean value.\r\n */\r\n  transform(value: string, height: number = 90): boolean {\r\n    const scrollHeight = document.getElementById(value)?.scrollHeight ?? 0;\r\n    console.log(\"scrollHeightscrollHeight ==>\", scrollHeight, value, document.getElementById(value))\r\n    if(scrollHeight >= height) {\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n\r\n}\r\n","import { DomSanitizer } from '@angular/platform-browser';\r\nimport { PipeTransform, Pipe } from '@angular/core';\r\n\r\n@Pipe({ name: 'safeHtml' })\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n  constructor(private sanitized: DomSanitizer) {}\r\n  transform(value: any) {\r\n    return this.sanitized.bypassSecurityTrustHtml(value);\r\n  }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n  name: 'strip'\r\n})\r\nexport class StripPipe implements PipeTransform {\r\n\r\n  transform(value: any, ): string {\r\n    const doc = new DOMParser()?.parseFromString(value, 'text/html') ?? '';\r\n    return doc?.body?.textContent?.replace(/&amp;/g, '&') || '';\r\n  }\r\n\r\n}\r\n","import {\r\n  ChangeDetectorRef,\r\n  Component,\r\n  EventEmitter,\r\n  HostListener,\r\n  Input,\r\n  OnDestroy,\r\n  OnInit,\r\n  Optional,\r\n  Output,\r\n} from '@angular/core';\r\nimport * as dayjs from 'dayjs';\r\nimport { Subject, takeUntil } from 'rxjs';\r\nimport { Configurations } from '../configurations';\r\nimport { ConfirmComponent } from '../shared/dialog/confirm/confirm.component';\r\nimport { DeleteParentRespComponent } from '../shared/dialog/delete-parent-resp/delete-parent-resp.component';\r\nimport { HandoverTransferComponent } from '../shared/dialog/handover-transfer/handover-transfer.component';\r\nimport { AuthorizerService } from '../shared/service/authorizer.service';\r\nimport { WebApiService } from '../shared/service/web-api.service';\r\nimport { DialogService } from '../shared/ui-elements';\r\nimport { SnackBarService } from '../shared/ui-elements/snack-bar/snack-bar.service';\r\n@Component({\r\n  selector: 'quick-view',\r\n  templateUrl: './quick-view.component.html',\r\n  styleUrls: ['./quick-view.component.less'],\r\n})\r\nexport class QuickViewComponent implements OnInit, OnDestroy {\r\n  @Input() _id!: string; // responsibility object id\r\n  @Output() closeQuickView: EventEmitter<boolean> = new EventEmitter();\r\n  @Output() workflowAction: EventEmitter<any> = new EventEmitter();\r\n  @Output() refresh : EventEmitter<any> = new EventEmitter();\r\n  isLoader = true;\r\n  private unsubscribe = new Subject<any>();\r\n  quickViewData: any;\r\n  collaboratorList: Array<any> = [];\r\n  environment: any;\r\n  hideObjective: boolean = false;\r\n  hideNotes: boolean = false;\r\n  statusClass: string = '';\r\n  getRiskDetails: any = {\r\n    shortName: '',\r\n    fullName: '',\r\n  };\r\n  basUrl: string = '';\r\n  status: string = '';\r\n  categoryType: Array<string> = [\r\n    'Others',\r\n    'Regulations',\r\n    'Standards',\r\n    'Internal Controls',\r\n  ];\r\n  categoryClass: Array<string> = [\r\n    'others',\r\n    'regulations',\r\n    'standards',\r\n    'internal-controls',\r\n  ];\r\n  workflowAuthorization: any = '';\r\n  feature: any = {};\r\n  overseerArr: Array<any> = [];\r\n  availableActionList: Array<any> = [];\r\n  showFormPopUp: boolean = false;\r\n  isTextEditor: boolean = false;\r\n  isList: boolean = false;\r\n  isUpload: boolean = false;\r\n  data: any;\r\n  showSkeltonLoader = true;\r\n  vLoader = false;\r\n  constructor(\r\n    private cdr: ChangeDetectorRef,\r\n    private apiService: WebApiService,\r\n    private dialog: DialogService,\r\n    private authorizer: AuthorizerService,\r\n    private snackBarService: SnackBarService,\r\n    @Optional() config?: Configurations\r\n  ) {\r\n    if (config) this.environment = config.envConfig;\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    if (this._id) this.fetchApi();\r\n  }\r\n\r\n  @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(\r\n    event: KeyboardEvent\r\n  ) {\r\n    this.close();\r\n  }\r\n  close() {\r\n    this.closeQuickView.emit(false);\r\n  }\r\n  ngOnDestroy() {\r\n    this.quickViewData = [];\r\n    this.unsubscribe.next(true);\r\n    this.unsubscribe.complete();\r\n  }\r\n\r\n  /**\r\n   * This function is used to fetch the data from the API and display it on the quick view\r\n   */\r\n  fetchApi() {\r\n    this.showSkeltonLoader = true;\r\n    const url: string = `compliance_post/?mode=reportDetailsById&reportId=${this._id}`;\r\n    const collaboratorListUrl: string = `compliance/?mode=workroomParticipants&reportId=${this._id}`;\r\n    this.basUrl =\r\n      this.environment.domainPath +\r\n      '/compliance/#/compliance/responsibility-workroom/overview?ReportId=' +\r\n      this._id;\r\n    this.apiService\r\n      .post(url, {})\r\n      .pipe(takeUntil(this.unsubscribe))\r\n      .subscribe({\r\n        next: (res: any) => {\r\n          this.quickViewData = res;\r\n          this.availableActions();\r\n          this.getResponsibilityStatus();\r\n          this.getClass(this.quickViewData?.reportStatus);\r\n          this.getRiskValue(parseInt(this.quickViewData?.ReportRiskClassID));\r\n          this.getOverseer(\r\n            this.quickViewData?.cc,\r\n            this.quickViewData?.failure_cc\r\n          );\r\n          this.convertDateIntoTimeZone();\r\n          this.showSkeltonLoader = false;\r\n        },\r\n        error: (err: any) => {\r\n          this.showSkeltonLoader = true;\r\n          this.showErrorSnackbar();\r\n          console.error('error =====>', err);\r\n        },\r\n      });\r\n\r\n    this.apiService\r\n      .get(collaboratorListUrl)\r\n      .pipe(takeUntil(this.unsubscribe))\r\n      .subscribe({\r\n        next: (res: any) => {\r\n          this.collaboratorList = res;\r\n        },\r\n        error: (err: any) => {\r\n          console.log('participant ===>', err);\r\n        },\r\n      });\r\n  }\r\n  showObjective() {\r\n    this.hideObjective = !this.hideObjective;\r\n  }\r\n  showNotes() {\r\n    this.hideNotes = !this.hideNotes;\r\n  }\r\n  getClass(type: string) {\r\n    if (\r\n      this.quickViewData?.ReportFrequencyType === '6' &&\r\n      this.quickViewData?.DueDateTimestamp == 0 &&\r\n      this.quickViewData?.ExpireFlag != 1\r\n    ) {\r\n      type = 'pending';\r\n    } else if (this.quickViewData?.ReportFrequencyType === '5') {\r\n      type = 'onHold';\r\n    }\r\n    switch (type.toLowerCase()) {\r\n      case 'lifecycle completed':\r\n        this.statusClass = 'lifecycle-completed';\r\n        break;\r\n      case 'not accepted':\r\n        this.statusClass = 'not-accepted';\r\n        break;\r\n      case 'onHold':\r\n        this.statusClass = 'on-hold';\r\n        break;\r\n      default:\r\n        this.statusClass = type.toLowerCase();\r\n    }\r\n\r\n    console.log('this.statusClass ===>', this.statusClass);\r\n  }\r\n\r\n  changeKeyResponsibility() {}\r\n\r\n  getRiskValue(riskClass: number) {\r\n    const riskArray = ['L', 'LM', 'MH', 'H'];\r\n    const riskDetails = ['Low', 'Low-Medium', 'Medium-High', 'High'];\r\n    this.getRiskDetails = {\r\n      shortName: riskArray[riskClass - 1],\r\n      fullName: riskDetails[riskClass - 1],\r\n    };\r\n  }\r\n  getOverseer(ccMail: Array<any>, ccFailure: Array<any>): void {\r\n    const ccArr = [...ccMail, ...ccFailure];\r\n    this.overseerArr = ccArr;\r\n    console.log('this.ccDetails ==>', this.overseerArr);\r\n  }\r\n\r\n  getResponsibilityStatus() {\r\n    if (\r\n      this.quickViewData?.reportStatus &&\r\n      this.quickViewData?.ReportFrequencyType !== '5' &&\r\n      !(\r\n        this.quickViewData?.ReportFrequencyType === '6' &&\r\n        this.quickViewData?.DueDateTimestamp == 0 &&\r\n        this.quickViewData?.ExpireFlag != 1\r\n      )\r\n    ) {\r\n      this.status = this.quickViewData?.reportStatus?.toUpperCase();\r\n    } else if (\r\n      this.quickViewData?.ReportFrequencyType === '6' &&\r\n      this.quickViewData?.DueDateTimestamp == 0 &&\r\n      this.quickViewData?.ExpireFlag != 1\r\n    ) {\r\n      this.status = 'ON HOLD';\r\n    } else if (this.quickViewData?.ReportFrequencyType === '5') {\r\n      this.status = 'PENDING';\r\n    }\r\n  }\r\n\r\n  availableActions() {\r\n    localStorage.setItem('previousUrl', document.URL);\r\n    this.availableActionList = [];\r\n    this.availableActionList.push({\r\n      actionName: 'Responsibility Workroom',\r\n      actionIcon: '&#xea73;',\r\n      callFunction: () => {\r\n        this.externalRedirect(\r\n          'RESPONSIBILITY_WORKROOM',\r\n          this.quickViewData.EncryptedReportId\r\n        );\r\n      },\r\n    });\r\n    if (this.quickViewData?.AddNewDueDate_enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Add New Due Date',\r\n        actionIcon: '&#xe92d;',\r\n        callFunction: () => {\r\n          this.addNewDueDates();\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.Accept_Enable || true) {\r\n      this.availableActionList.push({\r\n        actionName: 'Accept',\r\n        actionIcon: '&#xe9d3;',\r\n        callFunction: () => {\r\n          this.redirectToSingleAction(\r\n            'ACCEPT',\r\n            this.quickViewData.DuedateObjectId\r\n          );\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.Decline_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Decline',\r\n        actionIcon: '&#xe9d0;',\r\n        callFunction: () => {\r\n          this.redirectToSingleAction(\r\n            'DECLINE',\r\n            this.quickViewData.DuedateObjectId\r\n          );\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.MoreDetails_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Request More Details',\r\n        actionIcon: '&#xe980;',\r\n        callFunction: () => {\r\n          this.redirectToSingleAction(\r\n            'REQUEST_DETAILS',\r\n            this.quickViewData.DuedateObjectId\r\n          );\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.Done_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Start',\r\n        actionIcon: '&#xeac5;',\r\n        callFunction: () => {\r\n          this.redirectToSingleAction(\r\n            'DONE',\r\n            this.quickViewData.DuedateObjectId\r\n          );\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.NeedMoreTime_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Need More Time',\r\n        actionIcon: '&#xea96;',\r\n        callFunction: () => {\r\n          this.redirectToSingleAction(\r\n            'NEED_MORE_TIME',\r\n            this.quickViewData.DuedateObjectId\r\n          );\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.CannotComply_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Cannot Complete',\r\n        actionIcon: '&#xeaae;',\r\n        callFunction: () => {\r\n          this.redirectToSingleAction(\r\n            'CANNOT_COMPLETE',\r\n            this.quickViewData.DuedateObjectId\r\n          );\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.Redo_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Redo',\r\n        actionIcon: '&#xea51;',\r\n        callFunction: () => {\r\n          this.redirectToSingleAction(\r\n            'REDO',\r\n            this.quickViewData.DuedateObjectId\r\n          );\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.Reject_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Reject',\r\n        actionIcon: '&#xe90d;',\r\n        callFunction: () => {\r\n          this.redirectToSingleAction(\r\n            'REJECT',\r\n            this.quickViewData.DuedateObjectId\r\n          );\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.Condone_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Condone',\r\n        actionIcon: '&#xea84;',\r\n        callFunction: () => {\r\n          this.redirectToSingleAction(\r\n            'CONDONE',\r\n            this.quickViewData.DuedateObjectId\r\n          );\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.Insist_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Insist',\r\n        actionIcon: '&#xeb31;',\r\n        callFunction: () => {\r\n          this.redirectToSingleAction(\r\n            'INSIST',\r\n            this.quickViewData.DuedateObjectId\r\n          );\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.NeedMoreTimeAccept_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Accept',\r\n        actionIcon: '&#xe9d3;',\r\n        callFunction: () => {\r\n          this.redirectToSingleAction(\r\n            'NEED_MORE_TIME_ACCEPT',\r\n            this.quickViewData.DuedateObjectId\r\n          );\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.NeedMoreTimeDecline_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Decline',\r\n        actionIcon: '&#xe9d0;',\r\n        callFunction: () => {\r\n          this.redirectToSingleAction(\r\n            'NEED_MORE_TIME_DECLINE',\r\n            this.quickViewData.DuedateObjectId\r\n          );\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.CannotComplyAccept_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Accept',\r\n        actionIcon: '&#xe9d3;',\r\n        callFunction: () => {\r\n          this.redirectToSingleAction(\r\n            'CANNOT_COMPLY_ACCEPT',\r\n            this.quickViewData.DuedateObjectId\r\n          );\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.CannotComplyDecline_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Decline',\r\n        actionIcon: '&#xe9d0;',\r\n        callFunction: () => {\r\n          this.redirectToSingleAction(\r\n            'CANNOT_COMPLY_DECLINE',\r\n            this.quickViewData.DuedateObjectId\r\n          );\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.CannotComplyDuedate_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Accept with new due date',\r\n        actionIcon: '&#xe9c7;',\r\n        callFunction: () => {\r\n          this.redirectToSingleAction(\r\n            'CANNOT_COMPLY_NEW_DATE',\r\n            this.quickViewData.DuedateObjectId\r\n          );\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.activate_enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Activate',\r\n        actionIcon: '&#xe93d;',\r\n        callFunction: () => {\r\n          this.confirm('ACTIVATE', this.quickViewData.EncryptedReportId);\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.deactivate_enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Deactivate',\r\n        actionIcon: '&#xe9d0;',\r\n        callFunction: () => {\r\n          this.confirm('DEACTIVATE', this.quickViewData.EncryptedReportId);\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.edit_enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Edit',\r\n        actionIcon: '&#xe9ba;',\r\n        callFunction: () => {\r\n          this.workflowEngineAction(\r\n            'EDIT_RESPONSIBILITY',\r\n            this.quickViewData.EncryptedReportId\r\n          );\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.duplicate_enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Duplicate',\r\n        actionIcon: '&#xe9b6;',\r\n        callFunction: () => {\r\n          this.confirm('DUPLICATE', this.quickViewData.EncryptedReportId);\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.transfer_enable) {\r\n      const msg = 'This action will <strong>Transfer</strong> this responsibility.'\r\n      this.availableActionList.push({\r\n        actionName: 'Transfer',\r\n        actionIcon: '&#xe9e5;',\r\n        callFunction: () => {\r\n          this.handoverTransfer(msg,'TRANSFER', '&#xe9e5;');\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.handover_enable) {\r\n      const msg = 'This action will <strong>Handover</strong> this responsibility.'\r\n      this.availableActionList.push({\r\n        actionName: 'Handover',\r\n        actionIcon: '&#xea7c;',\r\n        callFunction: () => {\r\n          this.handoverTransfer(msg,'HANDOVER', '&#xea7c;');\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.Handover_Terminate_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Handed Over to',\r\n        actionIcon: '&#xea7c;',\r\n        id:'handoverRevoke',\r\n        tooltip: 'Handed Over to ' + this.quickViewData?.handover_data_arr[0]?.handover_member_name + ' - Click here to revoke',\r\n        profile_pic: this.quickViewData?.handover_data_arr[0]?.profile_pic,\r\n        shortName: this.quickViewData.handover_data_arr[0]?.shortName,\r\n        callFunction: () => {\r\n          this.handoverRevoke();\r\n        },\r\n      });\r\n    }\r\n    if (\r\n      this.quickViewData.Delegate_Enable &&\r\n      this.quickViewData.Delegate_Enable &&\r\n      !this.quickViewData.read_only_flag\r\n    ) {\r\n      const msg = 'This action will <strong>Delegate</strong> this responsibility.'\r\n      this.availableActionList.push({\r\n        actionName: 'Delegate',\r\n        actionIcon: '&#xeb13;',\r\n        callFunction: () => {\r\n         this.handoverTransfer(msg, 'DELEGATE', '&#xea7a;');\r\n        },\r\n      });\r\n    }\r\n    if (\r\n      this.quickViewData.Terminate_Enable &&\r\n      this.quickViewData.ReportDelegation &&\r\n      this.quickViewData.ReportDelegation.length > 0\r\n    ) {\r\n      this.availableActionList.push({\r\n        actionName: 'Delegated to',\r\n        actionIcon: '&#xeb13;',\r\n        id:'handoverRevoke',\r\n        tooltip: 'Delegated to ' + this.quickViewData?.ReportDelegation[0]?.member_name + ' - Click here to revoke',\r\n        profile_pic: '',\r\n        shortName: this.shortName(this.quickViewData?.ReportDelegation[0]?.member_name),\r\n        callFunction: () => {\r\n          this.revokeDelegation(this.quickViewData);\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.delete_enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Delete',\r\n        actionIcon: '&#xe923;',\r\n        callFunction: () => {\r\n          this.confirm('DELETE', this.quickViewData.EncryptedReportId);\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.PastEvent_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Add a Past Event',\r\n        actionIcon: '&#xe92d;',\r\n        callFunction: () => {\r\n          // this.openDialogPastevent();\r\n          this.openDialogPastEvent();\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.LogIssue_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Log an Issue',\r\n        actionIcon: '&#xe9b4;',\r\n        callFunction: () => {\r\n          this.workflowEngineAction(\r\n            'LOG_AN_ISSUE',\r\n            this.quickViewData.EncryptedReportId\r\n          );\r\n        },\r\n      });\r\n    }\r\n    // if (this.quickViewData.PTF_enable) {\r\n    //   this.availableActionList.push({\r\n    //     actionName: 'Push To Framework',\r\n    //     actionIcon: '&#xeb14;',\r\n    //     callFunction: () => {\r\n    //       // this.openPushFramework(this.quickViewData.EncryptedReportId);\r\n    //     },\r\n    //   });\r\n    // }\r\n    if (this.quickViewData.Pause_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Pause',\r\n        actionIcon: '&#xea32;',\r\n        callFunction: () => {\r\n          this.pauseDueDates();\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.EditDuedate_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Edit a Due Date',\r\n        actionIcon: '&#xe90c;',\r\n        callFunction: () => {\r\n          this.editDueDates();\r\n        },\r\n      });\r\n    }\r\n    if (this.quickViewData.Send_Reminder_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Send Reminder',\r\n        actionIcon: '&#xe909;',\r\n        callFunction: () => {\r\n           this.sendReminderEmail();\r\n        },\r\n      });\r\n    }\r\n\r\n    if (this.quickViewData.Entrust_Enable) {\r\n      this.availableActionList.push({\r\n        actionName: 'Entrust',\r\n        actionIcon: '&#xe91c;',\r\n        callFunction: () => {\r\n          this.workflowEngineAction(\r\n            'ENTRUST',\r\n            this.quickViewData.EncryptedReportId\r\n          );\r\n        },\r\n      });\r\n    }\r\n\r\n  }\r\n\r\n  confirm(\r\n    type:\r\n      | 'DELETE'\r\n      | 'ACTIVATE'\r\n      | 'DEACTIVATE'\r\n      | 'DUPLICATE'\r\n      | 'REMOVE_KEY_RESPONSIBILITY'\r\n      | 'MAKE_KEY_RESPONSIBILITY',\r\n    dueDateId?: string\r\n  ) {\r\n    let configuration: any = {\r\n      DELETE: {\r\n        component: ConfirmComponent,\r\n        message: 'This action will <b>delete</b> this responsibility.',\r\n        method: this.delete.bind(this),\r\n        icon: '&#xe923;',\r\n      },\r\n      DUPLICATE: {\r\n        component: ConfirmComponent,\r\n        message: 'This action will <b>duplicate</b> this responsibility.',\r\n        method: this.duplicate.bind(this),\r\n        icon: '&#xe9b6;',\r\n      },\r\n      ACTIVATE: {\r\n        component: ConfirmComponent,\r\n        message: 'This action will <b>activate</b> this responsibility.',\r\n        method: this.activate.bind(this),\r\n        icon: '&#xe93d;',\r\n      },\r\n      DEACTIVATE: {\r\n        component: ConfirmComponent,\r\n        message: 'This action will <b>deactivate</b> this responsibility.',\r\n        method: this.deactivate.bind(this),\r\n        icon: '&#xe9d0;',\r\n      },\r\n      MAKE_KEY_RESPONSIBILITY: {\r\n        component: ConfirmComponent,\r\n        message:\r\n          'Once confirmed, this responsibility will be designated as a <b>Key Responsibility</b>.',\r\n        method: this.makeKeyResponsibility.bind(this),\r\n        icon: '&#xea70;',\r\n      },\r\n      REMOVE_KEY_RESPONSIBILITY: {\r\n        component: ConfirmComponent,\r\n        message:\r\n          'This action will remove this responsibility as a <b>Key Responsibility</b>.',\r\n        method: this.removeKeyResponsibility.bind(this),\r\n        icon: '&#xea71;',\r\n      },\r\n    };\r\n\r\n    const ref = this.dialog.open(configuration[type]?.component, {\r\n      data: {\r\n        message: configuration[type]?.message,\r\n        icon: configuration[type]?.icon,\r\n        type,\r\n      },\r\n      position: 'CENTER',\r\n      background: 'black',\r\n    });\r\n\r\n    ref.afterClosed.subscribe({\r\n      next: (res: any) => {\r\n        if (res === true) {\r\n          configuration[type]?.method();\r\n        }\r\n      },\r\n    });\r\n  }\r\n\r\n  delete() {\r\n    this.vLoader= true;\r\n    const payload = {\r\n      report_id: [this.quickViewData.EncryptedReportId],\r\n      action: '',\r\n    };\r\n    this.apiService\r\n      .post(\r\n        'compliance_post/?mode=complianceReport/multipleReportDelete',\r\n        payload\r\n      )\r\n      .subscribe({\r\n        next: (res: any) => {\r\n          if(res.reports[this._id]) {\r\n            this.openDependentResponsibility(res.reports[this._id])\r\n          } else {\r\n            this.vLoader= false;\r\n            this.snackBarService.show(\r\n              'The responsibility has been deleted successfully.',\r\n              'success'\r\n            );\r\n          }\r\n\r\n          setTimeout(() => {\r\n            this.closeQuickView.emit(true);\r\n          }, 1000);\r\n        },\r\n        error: () => {\r\n          this.showErrorSnackbar();\r\n        },\r\n      });\r\n  }\r\n\r\n  activate() {\r\n    this.vLoader = true;\r\n    const payload = {\r\n      report_id: [this.quickViewData.EncryptedReportId],\r\n      report_active_flag: 1,\r\n    };\r\n    this.apiService\r\n      .post(\r\n        'compliance_post/?mode=complianceReport/multipleResponsibilitiesActivateDeactivate',\r\n        payload\r\n      )\r\n      .subscribe({\r\n        next: () => {\r\n          this.vLoader= false;\r\n          this.fetchApi();\r\n          this.snackBarService.show(\r\n            'The responsibility has been activated successfully.',\r\n            'success'\r\n          );\r\n          this.refresh.emit(true)\r\n        },\r\n        error: () => {\r\n          this.showErrorSnackbar();\r\n        },\r\n      });\r\n  }\r\n\r\n  deactivate() {\r\n    this.vLoader = true;\r\n    const payload = {\r\n      report_id: [this.quickViewData.EncryptedReportId],\r\n      report_active_flag: 0,\r\n    };\r\n    this.apiService\r\n      .post(\r\n        'compliance_post/?mode=complianceReport/multipleResponsibilitiesActivateDeactivate',\r\n        payload\r\n      )\r\n      .subscribe({\r\n        next: () => {\r\n          this.vLoader= false;\r\n          this.fetchApi();\r\n          this.snackBarService.show(\r\n            'The responsibility has been deactivated successfully.',\r\n            'success'\r\n          );\r\n          this.refresh.emit(true)\r\n        },\r\n        error: () => {\r\n          this.showErrorSnackbar();\r\n        },\r\n      });\r\n  }\r\n\r\n  duplicate() {\r\n    this.vLoader = true;\r\n    const payload = {};\r\n    console.log('logging', this.environment);\r\n    this.apiService\r\n      .put(\r\n        'compliance_put/?mode=duplicateReport&report_id=' +\r\n          this.quickViewData.EncryptedReportId,\r\n        payload\r\n      )\r\n      .subscribe({\r\n        next: () => {\r\n          this.vLoader= false;\r\n          this.fetchApi();\r\n          this.snackBarService.show(\r\n            'The responsibility has been duplicated successfully.',\r\n            'success'\r\n          );\r\n          this.refresh.emit(true)\r\n        },\r\n        error: () => {\r\n          this.showErrorSnackbar();\r\n        },\r\n      });\r\n  }\r\n\r\n  makeKeyResponsibility() {\r\n    this.vLoader = true;\r\n    const payload = {};\r\n    this.apiService\r\n      .put(\r\n        'compliance_put/?mode=keyCompliance&report_id=' +\r\n          this.quickViewData.EncryptedReportId +\r\n          '&is_key_compliance=1',\r\n        payload\r\n      )\r\n      .subscribe({\r\n        next: () => {\r\n          this.vLoader= false;\r\n          this.fetchApi();\r\n          this.snackBarService.show(\r\n            'This has been designated as a key responsibility.',\r\n            'success'\r\n          );\r\n          this.refresh.emit(true)\r\n        },\r\n        error: () => {\r\n          this.showErrorSnackbar();\r\n        },\r\n      });\r\n  }\r\n\r\n  removeKeyResponsibility() {\r\n    this.vLoader = true;\r\n    const payload = {};\r\n    this.apiService\r\n      .put(\r\n        'compliance_put/?mode=keyCompliance&report_id=' +\r\n          this.quickViewData.EncryptedReportId +\r\n          '&is_key_compliance=0',\r\n        payload\r\n      )\r\n      .subscribe({\r\n        next: () => {\r\n          this.vLoader= false;\r\n          this.fetchApi();\r\n          this.snackBarService.show(\r\n            'This has been removed as a key responsibility.',\r\n            'success'\r\n          );\r\n          this.refresh.emit(true)\r\n        },\r\n        error: () => {\r\n          this.showErrorSnackbar();\r\n        },\r\n      });\r\n  }\r\n\r\n  showErrorSnackbar() {\r\n    this.vLoader= false;\r\n    this.snackBarService.show(\r\n      \"Oops! Something went wrong and we were unable to complete this action. Let's give it another try, shall we?\",\r\n      'alert'\r\n    );\r\n  }\r\n\r\n  redirectToSingleAction(\r\n    type:\r\n      | 'ACCEPT'\r\n      | 'DECLINE'\r\n      | 'REQUEST_DETAILS'\r\n      | 'DONE'\r\n      | 'NEED_MORE_TIME'\r\n      | 'CANNOT_COMPLETE'\r\n      | 'REDO'\r\n      | 'REJECT'\r\n      | 'CONDONE'\r\n      | 'INSIST'\r\n      | 'NEED_MORE_TIME_ACCEPT'\r\n      | 'NEED_MORE_TIME_DECLINE'\r\n      | 'CANNOT_COMPLY_ACCEPT'\r\n      | 'CANNOT_COMPLY_DECLINE'\r\n      | 'CANNOT_COMPLY_NEW_DATE',\r\n    dueDateId: string\r\n  ) {\r\n    const config = {\r\n      ACCEPT: 'accept',\r\n      DECLINE: 'decline',\r\n      REQUEST_DETAILS: 'request_more_details',\r\n      DONE: 'done',\r\n      NEED_MORE_TIME: 'need_more_time',\r\n      CANNOT_COMPLETE: 'can_not_do',\r\n      REDO: 'redo',\r\n      REJECT: 'reject',\r\n      CONDONE: 'condone',\r\n      INSIST: 'insist',\r\n      NEED_MORE_TIME_ACCEPT: 'need_more_time_accept',\r\n      NEED_MORE_TIME_DECLINE: 'need_more_time_decline',\r\n      CANNOT_COMPLY_ACCEPT: 'can_not_do_accept',\r\n      CANNOT_COMPLY_DECLINE: 'can_not_do_decline',\r\n      CANNOT_COMPLY_NEW_DATE: 'can_not_do_accept_withdate',\r\n    };\r\n    window.location.href =\r\n      'https://' +\r\n      window.location.host +\r\n      '/action/compliance?mode=' +\r\n      config[type] +\r\n      '&reportId=' +\r\n      this.quickViewData.EncryptedReportId +\r\n      '&uId=' +\r\n      this.authorizer.getUserId() +\r\n      (dueDateId ? '&duedateId=' + dueDateId : '');\r\n  }\r\n\r\n  workflowEngineAction(\r\n    type: 'EDIT_RESPONSIBILITY' | 'LOG_AN_ISSUE' | 'ENTRUST',\r\n    reportId: string\r\n  ) {\r\n    if (type === 'LOG_AN_ISSUE') {\r\n      const payload = {\r\n        type: type,\r\n        data: {\r\n          workflowType: 'LAI',\r\n          workflowMode: 'CREATE',\r\n          allowedWorkflows: ['RISK', 'RESPONSIBILITY', 'ISSUE'],\r\n          id: '',\r\n          isWorkflowOpened: true,\r\n          frameworkDetails: [],\r\n          responsibilityData: {\r\n            responsibilityId: this.quickViewData?.ReportId,\r\n            responsibilityName: `${this.quickViewData?.ControlId} ${this.quickViewData?.ReportName}`,\r\n            rcId: this.quickViewData?.RC_details_array[0]?.rc_id ?? null,\r\n            responsibilityObjectId: this.quickViewData.EncryptedReportId,\r\n            responsibiltyName: '',\r\n            responsibiltyId: '',\r\n          },\r\n          openedFrom: 'COMPLIANCE_WORKROOM',\r\n          entrustButtonName: '',\r\n        },\r\n      };\r\n      this.workflowAction.emit(payload);\r\n    } else if (type === 'EDIT_RESPONSIBILITY') {\r\n      const payload = {\r\n        type: type,\r\n        data: {\r\n          workflowType: 'CAR',\r\n          workflowMode: 'EDIT',\r\n          allowedWorkflows: ['RISK', 'RESPONSIBILITY', 'ISSUE'],\r\n          id: this.quickViewData.EncryptedReportId,\r\n          isWorkflowOpened: true,\r\n          frameworkDetails: [],\r\n          responsibilityData: {\r\n            responsibilityId: '',\r\n            responsibilityName: '',\r\n            rcId: null,\r\n            responsibilityObjectId: '',\r\n            responsibiltyName: '',\r\n            responsibiltyId: '',\r\n          },\r\n          openedFrom: 'COMPLIANCE',\r\n          entrustButtonName: 'Update',\r\n        },\r\n      };\r\n      this.workflowAction.emit(payload);\r\n    } else if (type === 'ENTRUST') {\r\n      const payload = {\r\n        type: type,\r\n        data: {\r\n          workflowType: 'CAR',\r\n          workflowMode: 'EDIT',\r\n          allowedWorkflows: ['RISK', 'RESPONSIBILITY', 'ISSUE'],\r\n          id: this.quickViewData.EncryptedReportId,\r\n          isWorkflowOpened: true,\r\n          frameworkDetails: [],\r\n          responsibilityData: {\r\n            responsibilityId: '',\r\n            responsibilityName: '',\r\n            rcId: null,\r\n            responsibilityObjectId: '',\r\n            responsibiltyName: '',\r\n            responsibiltyId: '',\r\n          },\r\n          openedFrom: 'COMPLIANCE',\r\n          entrustButtonName: 'Entrust',\r\n        },\r\n      };\r\n      this.workflowAction.emit(payload);\r\n    }\r\n  }\r\n\r\n  externalRedirect(type: 'RESPONSIBILITY_WORKROOM', reportId: string) {\r\n    if (type === 'RESPONSIBILITY_WORKROOM') {\r\n      window.location.href =\r\n        'https://' +\r\n        window.location.host +\r\n        '/compliance/#/compliance/responsibility-workroom/overview?ReportId=' +\r\n        reportId;\r\n    }\r\n  }\r\n\r\n  /**\r\n   * It sets the value of the showFormPopUp variable to true, and sets the values of the other variables\r\n   * to false.\r\n   */\r\n  addNewDueDates() {\r\n    this.showFormPopUp = true;\r\n    this.isTextEditor = false;\r\n    this.isList = false;\r\n    this.isUpload = false;\r\n    this.data = {\r\n      title: 'Add new due date',\r\n      type: 'addNewDueDate',\r\n      action: 'addNewDueDate',\r\n      showDate: new Date(),\r\n      minDate: new Date(),\r\n      calenderPlaceHolder: 'Event Date',\r\n      reportDetails: this.quickViewData,\r\n      showSaveButton: false,\r\n      showCancelButton: false,\r\n      showAddDate: true,\r\n    };\r\n  }\r\n\r\n  openDialogPastEvent(): void {\r\n    this.showFormPopUp = true;\r\n    this.isTextEditor = true;\r\n    this.isList = true;\r\n    this.isUpload = true;\r\n    this.data = {\r\n      title: 'Add a Past Event',\r\n      type: 'addAPastEvent',\r\n      action: 'addAPastEvent',\r\n      showDate: new Date(),\r\n      maxDate: new Date(),\r\n      calenderPlaceHolder: 'Event Date',\r\n      listPlaceHolder: 'Event Status',\r\n      reportDetails: this.quickViewData,\r\n      showSaveButton: true,\r\n      showCancelButton: true,\r\n      listItems: [\r\n        { value: 1, name: 'Completed' },\r\n        { value: 2, name: 'Delayed' },\r\n        { value: 3, name: 'Not Completed' },\r\n      ],\r\n    };\r\n  }\r\n\r\n  revokeDelegation(reportDetail: any) {\r\n    this.showFormPopUp = true;\r\n    this.isList = false;\r\n    this.isTextEditor = true;\r\n    const user = reportDetail.ReportDelegation[0].member_name;\r\n    const delegatedUntil = new Date(\r\n      reportDetail.ReportDelegation[0].active_to_utc * 1000\r\n    );\r\n    // tslint:disable-next-line: no-console\r\n    this.data = {\r\n      title: `Delegated to ${user} until ${dayjs(delegatedUntil).format(\r\n        'DD MMM YYYY'\r\n      )}`,\r\n      action: 'revokeDelegation',\r\n      type: 'revokeDelegation',\r\n      reportDetails: reportDetail,\r\n      memberId: reportDetail.ReportDelegation[0].member_id,\r\n      showSaveButton: false,\r\n      showCancelButton: true,\r\n      showRevokeButton: true,\r\n    };\r\n  }\r\n\r\n  pauseDueDates() {\r\n    this.showFormPopUp = true;\r\n    this.isTextEditor = false;\r\n    this.isList = false;\r\n    this.isUpload = false;\r\n    this.data = {\r\n      title: 'Pause this Responsibility',\r\n      type: 'pauseResponsibility',\r\n      action: 'pauseResponsibility',\r\n      showDate: '',\r\n      minDate: new Date(),\r\n      maxDate: '',\r\n      calenderPlaceHolder: 'From',\r\n      calenderPlaceHolder2: 'To',\r\n      showCancelButton: false,\r\n      showSaveButton: true,\r\n      reportDetails: this.quickViewData,\r\n    };\r\n  }\r\n\r\n  editDueDates() {\r\n    this.showFormPopUp = true;\r\n    this.isTextEditor = true;\r\n    this.isList = true;\r\n    this.isUpload = false;\r\n\r\n    this.data = {\r\n      title: 'Edit a Due Date',\r\n      type: 'editDueDate',\r\n      action: 'editDueDate',\r\n      showDate: '',\r\n      minDate: new Date(),\r\n      listPlaceHolder: 'Due date',\r\n      calenderPlaceHolder2: 'Select an upcoming due date to modify',\r\n      reportDetails: this.quickViewData,\r\n      showCancelButton: false,\r\n      listItems: [],\r\n      showSaveButton: true,\r\n      _id: this._id,\r\n    };\r\n  }\r\n\r\n  handoverRevoke() {\r\n    this.showFormPopUp = true;\r\n    this.isList = false;\r\n    this.isTextEditor = true;\r\n    this.data = {\r\n      title: `This action will revoke the responsibility handover request sent to ${this.quickViewData?.handover_data_arr[0]?.handover_member_name}.`,\r\n      action: 'revokeHandover',\r\n      type: 'revokeHandover',\r\n      reportDetails: this.quickViewData,\r\n      memberId: this.quickViewData?.handover_data_arr[0]?.handover_member_id,\r\n      showSaveButton: false,\r\n      showCancelButton: true,\r\n      showRevokeButton: true,\r\n    };\r\n  }\r\n\r\n  applyAction(event: any) {\r\n    this.showFormPopUp = false;\r\n    const data = event.info[0];\r\n    switch (event.type) {\r\n      case 'addNewDueDate':\r\n        this.addNewDueDate(data);\r\n        break;\r\n      case 'addAPastEvent':\r\n        this.addPastEventNow(data);\r\n        break;\r\n      case 'pauseResponsibility':\r\n        this.pauseDueDatesNow(data);\r\n        break;\r\n      case 'editDueDate':\r\n        this.onEditDueDate(data);\r\n        break;\r\n      case 'revokeDelegation':\r\n        this.terminateDelegation(data);\r\n        break;\r\n      case 'revokeHandover':\r\n        this.terminateHandover(data);\r\n        break;\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Add new due date\r\n   * @param {any} event - {\r\n   */\r\n  addNewDueDate(event: any) {\r\n    const url = `compliance_post/?mode=complianceReport/addNewDuedate&reportId=${this._id}&bypass-businessCycle=true`;\r\n    this.apiService\r\n      .post(url, event)\r\n      .pipe(takeUntil(this.unsubscribe))\r\n      .subscribe({\r\n        next: (res: any) => {\r\n          this.snackBarService.show(\r\n            'A new due date has been added for this responsibility.',\r\n            'success'\r\n          );\r\n        },\r\n        error: () => {\r\n            this.showErrorSnackbar();\r\n        },\r\n      });\r\n  }\r\n  /**\r\n   * It takes in a data object, and then makes a post request to the API with the data object.\r\n   *\r\n   * The data object is a form that the user fills out.\r\n   *\r\n   * The form has a date field, a compliance field, a reason field, and an attachment field.\r\n   *\r\n   * The date field is a date picker.\r\n   *\r\n   * The compliance field is a dropdown.\r\n   *\r\n   * The reason field is a textarea.\r\n   *\r\n   * The attachment field is a file upload.\r\n   *\r\n   * The user can fill out the form and submit it.\r\n   *\r\n   * The form is submitted by calling the addPastEventNow function.\r\n   *\r\n   * The addPastEventNow function takes in the data object and makes a post request to the API with the\r\n   * data object.\r\n   *\r\n   * The API then takes the data object and adds it to the database.\r\n   *\r\n   * The user can\r\n   * @param {any} data - any = {\r\n   */\r\n  addPastEventNow(data: any) {\r\n    const url = `compliance_post/?mode=complianceReport/addPastEvent&objectId=${this._id}&bypass-businessCycle=true`;\r\n    const payload = {\r\n      event_date: data?.dateDate ?? '',\r\n      status: data?.compliance,\r\n      reason: data?.reason,\r\n      attachmentIds: data?.attachmentIds,\r\n    };\r\n    this.apiService\r\n      .post(url, payload)\r\n      .pipe(takeUntil(this.unsubscribe))\r\n      .subscribe({\r\n        next: () => {\r\n          this.snackBarService.show(\r\n            'A past event has been recorded for this responsibility.',\r\n            'success'\r\n          );\r\n        },\r\n        error: (err: any) => {\r\n          this.showErrorSnackbar();\r\n        },\r\n      });\r\n  }\r\n\r\n  /**\r\n   * The function takes in a result object, which has a fromDate and toDate property. The function then\r\n   * makes a post request to the server with the fromDate and toDate properties. If the response is\r\n   * 404, it shows a snackbar with a message. If the response is anything else, it shows a different\r\n   * snackbar with a different message.\r\n   * @param {any} result - any = {\r\n   */\r\n  pauseDueDatesNow(result: any) {\r\n    const url = `compliance_post/?mode=complianceReport/pauseDueDate&objectId=${this._id}&bypass-businessCycle=true`;\r\n    if (result && result.fromDate !== null && result.toDate !== null) {\r\n      let payload = {\r\n        from_date: result.fromDate,\r\n        to_date: result.toDate,\r\n      };\r\n      this.apiService\r\n        .post(url, payload)\r\n        .pipe(takeUntil(this.unsubscribe))\r\n        .subscribe({\r\n          next: (res: any) => {\r\n            if (res.status === 404) {\r\n              this.snackBarService.show(\r\n                'There are no due dates between the duration specified by you.',\r\n                'alert'\r\n              );\r\n            } else {\r\n              this.snackBarService.show(\r\n                'The responsibility has been paused and will not generate any alerts.',\r\n                'success'\r\n              );\r\n            }\r\n          },\r\n          error: () => {\r\n            this.showErrorSnackbar();\r\n          },\r\n        });\r\n    }\r\n  }\r\n\r\n  handoverTransfer(message: string ,type: 'TRANSFER' | 'HANDOVER' | 'DELEGATE', icon: '&#xe9e5;' | '&#xea7c;' | '&#xea7a;') {\r\n    const ref = this.dialog.open(HandoverTransferComponent, {\r\n      data: {\r\n        responsibility: this.quickViewData,\r\n        minDate: this.getToday(this.quickViewData.FailedDateTimestamp ?? Date.now()),\r\n        message,\r\n        icon,\r\n        type,\r\n      },\r\n      position: 'CENTER',\r\n      background: 'black',\r\n    })\r\n    .afterClosed.subscribe(res => {\r\n      if(res) {\r\n        switch(type) {\r\n          case 'TRANSFER': this.onTransfer(res); break;\r\n          case 'HANDOVER': this.onHandover(res); break;\r\n          case 'DELEGATE':  this.onDelegate(res); break;\r\n        }\r\n      }\r\n\r\n\r\n    })\r\n  }\r\n\r\n  getToday(timestamp: any) {\r\n    const currentDate = new Date().getTime();\r\n    const failedTimeStamp = timestamp === 0 ? new Date().getTime() / 1000 : timestamp;\r\n    const delegateTimeStamp = failedTimeStamp * 1000 > currentDate ? timestamp * 1000 : currentDate;\r\n    return delegateTimeStamp / 1000;\r\n  }\r\n\r\n  onEditDueDate(result: any) {\r\n    const url = `compliance_put/?mode=complianceReport/editDuedate&duedate_id=${result.oldDateId}&bypass-businessCycle=true`;\r\n    if (result.oldDateId && result.newDate != null) {\r\n      const payload = {\r\n        date: result?.newDate,\r\n        reason: result?.reason,\r\n      };\r\n      this.apiService\r\n        .post(url, payload)\r\n        .pipe(takeUntil(this.unsubscribe))\r\n        .subscribe({\r\n          next: () => {\r\n            this.snackBarService.show(\r\n              'The due date has been modified successfully.',\r\n              'success'\r\n            );\r\n          },\r\n          error: () => {\r\n            this.showErrorSnackbar();\r\n          },\r\n        });\r\n    }\r\n  }\r\n\r\n  terminateDelegation(event: any) {\r\n    // tslint:disable-next-line: no-console\r\n    console.log(event);\r\n    let reasonRevoke;\r\n    if (event.reason && event.reason !== '') {\r\n      reasonRevoke = event.reason;\r\n    } else {\r\n      reasonRevoke = 'N/A';\r\n    }\r\n    const payLoad = {\r\n      id: event.repo.EncryptedReportId,\r\n      delegate_to: event.memberId,\r\n      action: 'TERMINATE_DELEGATION',\r\n      reason: reasonRevoke,\r\n    };\r\n    const url: string = `compliance_post/?mode=delegateResponsibility&bypass-businessCycle=true`;\r\n\r\n    this.apiService.post(url, payLoad).subscribe({\r\n      next: () => {\r\n        this.snackBarService.show(\r\n          `${event.repo.ReportDelegation[0].member_name} has been removed as a delegatee from this responsibility.`,\r\n          'success'\r\n        );\r\n      },\r\n      error: (err: any) => {\r\n        this.showErrorSnackbar();\r\n      },\r\n    });\r\n  }\r\n\r\n  terminateHandover(event: any) {\r\n    console.log(event);\r\n    const payload = {\r\n      report_id: event.repo.ReportId,\r\n      handover_to: event.memberId,\r\n      action: 'HANDOVER_TERMINATE',\r\n      reason: event.reason,\r\n    };\r\n\r\n    const url: string = `compliance_post/?mode=complianceReport/TerminateHandover&bypass-businessCycle=true`;\r\n\r\n    this.apiService.post(url, payload).subscribe({\r\n      next: () => {\r\n        this.snackBarService.show(\r\n          `The handover request sent to ${this.quickViewData?.handover_data_arr[0]?.handover_member_name} has been revoked.`,\r\n          'success'\r\n        );\r\n      },\r\n      error: (err: any) => {\r\n        this.showErrorSnackbar();\r\n      },\r\n    });\r\n  }\r\n\r\n/**\r\n * It takes a user object, creates a payload object, creates a url string, creates a msg string, and\r\n * then calls the apiCallPost function with the url, msg, payload, and 'info' as parameters.\r\n * @param {any} user - any -&gt; this is the user object that is passed from the child component\r\n */\r\n  onTransfer(user: any) {\r\n      const payload = {\r\n        report_id: [this.quickViewData.ReportId],\r\n        to_employee_id: user.employee_id\r\n      }\r\n      const url = 'compliance_post/?mode=complianceReport/transferReport&bypass-businessCycle=true';\r\n      const msg = 'We are processing your request. You will get notified once it is done.';\r\n      this.apiCallPost(url,msg, payload, 'info');\r\n  }\r\n\r\n\r\n/**\r\n * It takes a user object, creates a payload object, makes an API call, and then displays a message.\r\n * @param {any} user - any -&gt; this is the user object that is selected from the dropdown\r\n */\r\n  onHandover(user: any) {\r\n    const payload = {\r\n      report_ids: [this.quickViewData.ReportId],\r\n      handover_by:  this.authorizer.getUserId(),\r\n      handover_to: user.member_id,\r\n    }\r\n    const url = 'compliance_post/?mode=complianceReport/reportHandover&bypass-businessCycle=true';\r\n    const msg = 'We have received your request. The new Assignor will be notified via email.';\r\n    this.apiCallPost(url,msg, payload, 'info');\r\n}\r\n\r\n /**\r\n  * It takes a url, a message, a payload, and a message class, and then it calls the apiService.post\r\n  * method, and then it shows a snackbar with the message and message class.\r\n  * @param {string} url - string - the url to call\r\n  * @param {string} msg - string - The message to display in the snackbar\r\n  * @param {any} payload - any = {}\r\n  * @param {'success' | 'info'} [msgClass=success] - 'success' | 'info' = 'success'\r\n  */\r\n  apiCallPost(url: string, msg: string, payload: any = {}, msgClass:'success' | 'info' = 'success') {\r\n    this.apiService\r\n    .post(url, payload)\r\n    .pipe(takeUntil(this.unsubscribe))\r\n    .subscribe({\r\n      next: () => {\r\n        this.snackBarService.show(msg, msgClass);\r\n      },\r\n      error: () => {\r\n        this.showErrorSnackbar();\r\n      },\r\n    });\r\n  }\r\n\r\n  onDelegate(res: any) {\r\n    console.log(\"ressss ===>\", res)\r\n    const payload = {\r\n      action: 'DELEGATE_RESPONSIBILITY',\r\n      till_date: dayjs(res.until).format('DD MMM YYYY'),\r\n      data: [\r\n        {\r\n          id: this._id,\r\n          delegate_to: res.item_id,\r\n        }\r\n      ]\r\n    }\r\n    const url = 'compliance_post/?mode=delegateResponsibility&bypass-businessCycle=true';\r\n    const msg = 'The responsibility has been delegated successfully.'\r\n    this.apiCallPost(url, msg, payload , 'success')\r\n  }\r\n\r\n  sendReminderEmail() {\r\n    const api = 'compliance/?mode=complianceReport/SendreminderByReport&reportId=' + this._id + '&bypass-businessCycle=true';\r\n    const msg = 'The reminder for this responsibility has been sent successfully.';\r\n    this.apiService\r\n    .get(api)\r\n    .subscribe({\r\n      next: () => {\r\n        this.snackBarService.show(msg, 'success');\r\n      },\r\n      error: () => {\r\n        this.showErrorSnackbar();\r\n      }\r\n    })\r\n  }\r\n\r\n  openDependentResponsibility(responsibility: any) {\r\n    console.log(\"res ===>\",responsibility)\r\n    this.dialog.open(DeleteParentRespComponent, {\r\n      data: {\r\n        dependentResponsibility: responsibility,\r\n        responsibility: this.quickViewData\r\n      },\r\n      position: 'CENTER',\r\n      background: 'black',\r\n    })\r\n    .afterClosed.subscribe((res: any) => {\r\n      if(res) {\r\n        const payload = {\r\n          report_id: responsibility.map((ele: any) =>  ele.EncryptedReportId).concat(this._id),\r\n          action: 'confirm'\r\n        }\r\n        const api = 'compliance_post/?mode=complianceReport/multipleReportDelete&bypass-businessCycle=true';\r\n        const msg = 'The responsibility has been deleted successfully. You can find this in the trash.'\r\n        this.apiCallPost(api, msg, payload, 'success',)\r\n      }\r\n    })\r\n  }\r\n  eventHandler(evt:any){\r\n    if(['ENTRUST','EDIT_RESPONSIBILITY'].includes(evt?.type)){\r\n      this.fetchApi();\r\n    }\r\n  }\r\n\r\n  shortName(str1: string) {\r\n    const splitNames = str1.trim().split(' ');\r\n    let name;\r\n    if (splitNames.length === 1) {\r\n      name = splitNames[0].substring(0, 2);\r\n    }\r\n    if (splitNames.length > 1) {\r\n      name = splitNames[0].charAt(0) + splitNames[1].charAt(0);\r\n    }\r\n    return name;\r\n  }\r\n\r\n  convertDateIntoTimeZone() {\r\n    this.quickViewData.CreatedOnTimestamp = this.changeTimeZone(this.quickViewData?.CreatedOnTimestamp);\r\n    this.quickViewData.dom_utc = this.changeTimeZone(this.quickViewData?.dom_utc);\r\n    this.quickViewData.DueDateTimestamp = this.changeTimeZone(this.quickViewData?.DueDateTimestamp);\r\n    this.quickViewData.AdvanceDateTimeStamp = this.changeTimeZone(this.quickViewData?.AdvanceDateTimeStamp);\r\n    this.quickViewData.FailedDateTimestamp = this.changeTimeZone(this.quickViewData?.FailedDateTimestamp);\r\n  }\r\n\r\n  changeTimeZone(date: any) {\r\n    if (typeof date === 'number') {\r\n      if(date === 0) {\r\n        return '';\r\n      }\r\n      date = new Date(date );\r\n    }\r\n    const invDate = new Date(\r\n      date.toLocaleString('en-US', {\r\n        timeZone: this.authorizer.getUserTimezone()\r\n      })\r\n    );\r\n    return invDate;\r\n  }\r\n\r\n  strip(html: any) {\r\n    const doc = new DOMParser()?.parseFromString(html, 'text/html') ?? '';\r\n    return doc?.body?.textContent?.replace(/&amp;/g, '&') || '';\r\n  }\r\n\r\n}\r\n","<div class=\"quick-view-container\">\r\n  <div class=\"quick-view\">\r\n    <vui-quick-view-loader *ngIf=\"showSkeltonLoader\"></vui-quick-view-loader>\r\n    <vui-loader-inline *ngIf=\"vLoader\"></vui-loader-inline>\r\n    <ng-container *ngIf=\"!showSkeltonLoader\">\r\n      <!-- [class.active]=\"true\" [class.pending]=\"false\" [class.lifecycle-completed]=\"false\" [class.inactive]=\"false\" [class.not-accepted]=\"false\" -->\r\n      <div\r\n        class=\"status vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase\"\r\n        [ngClass]=\"statusClass\"\r\n      >\r\n        {{ status }}\r\n      </div>\r\n      <div\r\n        class=\"quick-view-header vx-d-flex vx-align-center vx-justify-between vx-pl-2 vx-pr-2\"\r\n      >\r\n        <div class=\"vx-d-flex vx-align-center\">\r\n          <div class=\"vx-avatar-group vx-mr-2\">\r\n            <div class=\"vx-avatar md\">\r\n              <img\r\n                *ngIf=\"quickViewData?.member_pic\"\r\n                [src]=\"quickViewData?.member_pic | profile\"\r\n                [alt]=\"quickViewData?.srt_AssignBy\"\r\n                [vcTooltip]=\"'Entrusted by: ' + quickViewData?.AssignBy\"\r\n                placement=\"bottom-left\"\r\n                delay=\"0\"\r\n                type=\"black\"\r\n                [tooltipMandatory]=\"true\"\r\n              />\r\n              <span\r\n                *ngIf=\"!quickViewData?.member_pic\"\r\n                class=\"blue\"\r\n                [vcTooltip]=\"quickViewData?.AssignBy\"\r\n                placement=\"bottom-left\"\r\n                delay=\"0\"\r\n                type=\"black\"\r\n                [tooltipMandatory]=\"true\"\r\n                >{{ quickViewData?.member_short_name }}</span\r\n              >\r\n            </div>\r\n            <div\r\n              *ngIf=\"quickViewData?.EntrustedToMembers?.length === 0\"\r\n              class=\"vx-avatar md\"\r\n            >\r\n              <img\r\n                *ngIf=\"quickViewData?.employee_pic\"\r\n                [src]=\"quickViewData?.employee_pic | profile\"\r\n                alt=\"\"\r\n                [vcTooltip]=\"'Entrusted to: ' + quickViewData?.AssignTo\"\r\n                placement=\"bottom-left\"\r\n                delay=\"0\"\r\n                type=\"black\"\r\n                [tooltipMandatory]=\"true\"\r\n              />\r\n              <span\r\n                *ngIf=\"!quickViewData?.employee_pic\"\r\n                class=\"green\"\r\n                [vcTooltip]=\"quickViewData?.AssignTo\"\r\n                placement=\"bottom-left\"\r\n                delay=\"0\"\r\n                type=\"black\"\r\n                [tooltipMandatory]=\"true\"\r\n                >{{ quickViewData?.employee_short_name }}</span\r\n              >\r\n            </div>\r\n            <div\r\n              *ngIf=\"quickViewData?.EntrustedToMembers?.length > 0\"\r\n              class=\"vx-avatar md counter\"\r\n              vcPopover\r\n              (click)=\"entrustedTo.popover()\"\r\n              position=\"left\"\r\n            >\r\n              <span\r\n                class=\"green\"\r\n                [vcTooltip]=\"'Entrusted to: Multiple users'\"\r\n                placement=\"bottom-left\"\r\n                delay=\"0\"\r\n                type=\"black\"\r\n                [tooltipMandatory]=\"true\"\r\n                >+{{ quickViewData?.EntrustedToMembers?.length }}</span\r\n              >\r\n            </div>\r\n            <vui-popover #entrustedTo>\r\n              <div class=\"action-list\">\r\n                <ul class=\"action-item\">\r\n                  <li\r\n                    *ngFor=\"let assignBy of quickViewData?.EntrustedToMembers\"\r\n                  >\r\n                    <div class=\"avatar-card\">\r\n                      <div class=\"avatar\">\r\n                        <ng-container *ngIf=\"!assignBy?.profile_pic\">{{\r\n                          assignBy.member_short_name\r\n                        }}</ng-container>\r\n                        <img\r\n                          *ngIf=\"assignBy?.profile_pic\"\r\n                          [src]=\"assignBy?.profile_pic | profile\"\r\n                          alt=\"\"\r\n                          [vcTooltip]=\"assignBy?.member_name\"\r\n                          placement=\"bottom-left\"\r\n                          delay=\"0\"\r\n                          type=\"black\"\r\n                          [tooltipMandatory]=\"true\"\r\n                        />\r\n                      </div>\r\n                      <span class=\"value\">{{ assignBy?.member_name }}</span>\r\n                    </div>\r\n                  </li>\r\n                </ul>\r\n              </div>\r\n            </vui-popover>\r\n          </div>\r\n          <!-- <i class=\"icons star cursor-pointer\" [class.yellow]=\"!quickViewData?.is_key_compliance\" (click)=\"makeKeyResponsibility()\">&#xea70;</i> -->\r\n          <button\r\n            *ngIf=\"!quickViewData?.is_key_compliance\"\r\n            (click)=\"confirm('MAKE_KEY_RESPONSIBILITY')\"\r\n            class=\"star-btn vx-fs-12 vx-paragraph-txt vx-ml-0 vx-mr-2 vx-p-0\"\r\n          >\r\n            <i class=\"icons\">&#xea70;</i>\r\n          </button>\r\n          <button\r\n            *ngIf=\"quickViewData?.is_key_compliance\"\r\n            (click)=\"confirm('REMOVE_KEY_RESPONSIBILITY')\"\r\n            class=\"star-btn vx-fs-12 vx-paragraph-txt vx-mt-0 vx-mb-0 vx-ml-0 vx-mr-2 vx-p-0 active\"\r\n          >\r\n            <i class=\"icons\">&#xea70;</i>\r\n          </button>\r\n          <div class=\"controld-id vx-fs-11 vx-fw-500 vx-txt-blue\">\r\n            {{ quickViewData?.ControlId }}\r\n          </div>\r\n        </div>\r\n        <button\r\n          (click)=\"close()\"\r\n          class=\"close vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n          [vcTooltip]=\"'[Esc] to close'\"\r\n          placement=\"left\"\r\n          delay=\"0\"\r\n          type=\"black\"\r\n          [tooltipMandatory]=\"true\"\r\n        >\r\n          <i class=\"icons vx-fs-16 vx-label-txt\">&#xe93f;</i>\r\n        </button>\r\n      </div>\r\n\r\n      <div\r\n        class=\"quick-view-top vx-d-flex vx-align-center vx-justify-between vx-pl-2 vx-pr-2 vx-pt-3 vx-pb-3\"\r\n      >\r\n        <div class=\"name vx-fs-13 vx-txt-blue\">\r\n          {{ quickViewData?.ReportName }}\r\n        </div>\r\n        <button\r\n          class=\"more-action vx-fs-15 vx-txt-white vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n          vcPopover\r\n          (click)=\"moreAction.popover()\"\r\n          position=\"right\"\r\n        >\r\n          <i class=\"icons\">&#xe911;</i>\r\n        </button>\r\n      </div>\r\n      <vui-popover #moreAction>\r\n        <div class=\"action-list\">\r\n          <ul class=\"action-item\">\r\n            <li *ngFor=\"let action of availableActionList\">\r\n              <button\r\n                (click)=\"action?.callFunction()\"\r\n                class=\"vx-d-flex vx-align-center vx-justify-between\"\r\n              >\r\n                <div class=\"vx-d-flex vx-align-center vx-justify-start\">\r\n                  <i class=\"icons\" [innerHTML]=\"action?.actionIcon\">&#xea73;</i\r\n                  >{{ action?.actionName }}\r\n                </div>\r\n                <div\r\n                  *ngIf=\"action?.id === 'handoverRevoke'\"\r\n                  class=\"vx-avatar md\"\r\n                >\r\n                  <img\r\n                    *ngIf=\"action?.profile_pic\"\r\n                    [src]=\"action?.profile_pic | profile\"\r\n                    [alt]=\"''\"\r\n                    [vcTooltip]=\"action?.tooltip\"\r\n                    placement=\"bottom-right\"\r\n                    delay=\"0\"\r\n                    type=\"black\"\r\n                    [tooltipMandatory]=\"true\"\r\n                  />\r\n                  <span\r\n                    *ngIf=\"!action?.profile_pic\"\r\n                    class=\"green\"\r\n                    [vcTooltip]=\"action?.tooltip\"\r\n                    placement=\"bottom-right\"\r\n                    delay=\"0\"\r\n                    type=\"black\"\r\n                    [tooltipMandatory]=\"true\"\r\n                    >{{ action?.shortName }}</span\r\n                  >\r\n                </div>\r\n              </button>\r\n            </li>\r\n            <!-- <li *ngIf=\"true\"><button (click)=\"pauseDueDates()\"><i class=\"icons\">&#xea7c;</i> Add Past event</button></li> -->\r\n          </ul>\r\n        </div>\r\n      </vui-popover>\r\n\r\n      <div class=\"quick-view-mid vx-p-2 vx-pb-1\">\r\n        <div class=\"vx-d-flex vx-mb-4\">\r\n          <div class=\"half-area\">\r\n            <div\r\n              class=\"heading vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n            >\r\n              OVERALL PERFORMANCE:\r\n            </div>\r\n            <div class=\"circle-progress\">\r\n              <vui-circle-progress\r\n                [progressColor]=\"'#9BB62D'\"\r\n                [fillColor]=\"'#F1F1F1'\"\r\n                [value]=\"quickViewData?.ReportPerformance?.split(',')[0]\"\r\n                [isValueVisible]=\"true\"\r\n                [isPercentVisible]=\"true\"\r\n                [textColor]=\"'#9BB62D'\"\r\n              ></vui-circle-progress>\r\n\r\n              <vui-circle-progress\r\n                [progressColor]=\"'#F0B819'\"\r\n                [fillColor]=\"'#F1F1F1'\"\r\n                [value]=\"quickViewData?.ReportPerformance?.split(',')[1]\"\r\n                [isValueVisible]=\"true\"\r\n                [isPercentVisible]=\"true\"\r\n                [textColor]=\"'#F0B819'\"\r\n              ></vui-circle-progress>\r\n\r\n              <vui-circle-progress\r\n                [progressColor]=\"'#C7381B'\"\r\n                [fillColor]=\"'#F1F1F1'\"\r\n                [value]=\"quickViewData?.ReportPerformance?.split(',')[2]\"\r\n                [isValueVisible]=\"true\"\r\n                [isPercentVisible]=\"true\"\r\n                [textColor]=\"'#C7381B'\"\r\n              ></vui-circle-progress>\r\n            </div>\r\n          </div>\r\n          <div class=\"half-area\">\r\n            <div\r\n              class=\"heading vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n            >\r\n              COMPLIANCE STATUS:\r\n            </div>\r\n            <div class=\"circle-progress\">\r\n              <vui-circle-progress\r\n                [progressColor]=\"'#9BB62D'\"\r\n                [fillColor]=\"'#F1F1F1'\"\r\n                [value]=\"\r\n                  quickViewData?.compliance_status_percent?.split(',')[0]\r\n                \"\r\n                [isValueVisible]=\"true\"\r\n                [isPercentVisible]=\"true\"\r\n                [textColor]=\"'#9BB62D'\"\r\n              ></vui-circle-progress>\r\n\r\n              <vui-circle-progress\r\n                [progressColor]=\"'#C7381B'\"\r\n                [fillColor]=\"'#F1F1F1'\"\r\n                [value]=\"\r\n                  quickViewData?.compliance_status_percent?.split(',')[1]\r\n                \"\r\n                [isValueVisible]=\"true\"\r\n                [isPercentVisible]=\"true\"\r\n                [textColor]=\"'#C7381B'\"\r\n              ></vui-circle-progress>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"vx-d-flex vx-mb-4\">\r\n          <div class=\"half-area\">\r\n            <div\r\n              class=\"heading vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n            >\r\n              FEEDBACK SCORE:\r\n            </div>\r\n            <div\r\n              *ngIf=\"quickViewData?.AvgRating > 0\"\r\n              class=\"score vx-fs-12 vx-paragraph-txt\"\r\n            >\r\n              <span class=\"vx-fs-16 vx-label-txt\">{{\r\n                quickViewData?.AvgRating\r\n              }}</span\r\n              >/5\r\n            </div>\r\n            <div\r\n              *ngIf=\"quickViewData?.AvgRating == 0\"\r\n              class=\"score vx-fs-12 vx-paragraph-txt\"\r\n            >\r\n              <span class=\"vx-fs-12 vx-paragraph-txt\">--</span>\r\n            </div>\r\n          </div>\r\n          <div class=\"half-area\">\r\n            <div\r\n              class=\"heading vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n            >\r\n              RISK:\r\n            </div>\r\n            <div class=\"vx-d-flex vx-align-center\">\r\n              <div\r\n                class=\"risk-status vx-fs-11 vx-fw-500 vx-tt-uppercase vx-d-flex vx-align-center vx-justify-center vx-mr-2\"\r\n                [class.low]=\"true\"\r\n                [class.low-medium]=\"false\"\r\n                [class.medium-high]=\"false\"\r\n                [class.high]=\"false\"\r\n              >\r\n                {{ getRiskDetails?.shortName }}\r\n              </div>\r\n              <div class=\"vx-fs-12 vx-paragraph-txt\">\r\n                {{ getRiskDetails?.fullName }}\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"vx-d-flex vx-justify-between\">\r\n          <div class=\"half-box vx-p-2 vx-mb-1\">\r\n            <div\r\n              class=\"heading vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n            >\r\n              CREATED ON:\r\n            </div>\r\n            <div class=\"details vx-fs-12 vx-paragraph-txt\">\r\n              {{ quickViewData?.CreatedOnTimestamp * 1000 | date: \"dd MMM yyyy\"\r\n              }}<br />at\r\n              {{ quickViewData?.CreatedOnTimestamp * 1000 | date: \"h:mm a\" }}\r\n            </div>\r\n          </div>\r\n          <div class=\"half-box vx-p-2 vx-mb-1\">\r\n            <div\r\n              class=\"heading vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n            >\r\n              MODIFIED ON:\r\n            </div>\r\n            <div class=\"details vx-fs-12 vx-paragraph-txt\">\r\n              {{ quickViewData?.dom_utc * 1000 | date: \"dd MMM yyyy\" }}<br />at\r\n              {{ quickViewData?.dom_utc * 1000 | date: \"h:mm a\" }}\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"vx-d-flex vx-justify-between\">\r\n          <div class=\"half-box vx-p-2 vx-mb-1\">\r\n            <div\r\n              class=\"heading vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n            >\r\n              NEXT DUE DATE:\r\n            </div>\r\n            <div\r\n              *ngIf=\"quickViewData?.DueDateTimestamp\"\r\n              class=\"details vx-fs-12 vx-paragraph-txt\"\r\n            >\r\n              {{ quickViewData?.DueDateTimestamp * 1000 | date: \"dd MMM yyyy\"\r\n              }}<br />by\r\n              {{ quickViewData?.DueDateTimestamp * 1000 | date: \"h:mm a\" }}\r\n            </div>\r\n            <div\r\n              *ngIf=\"!quickViewData?.DueDateTimestamp\"\r\n              class=\"details vx-fs-12 vx-paragraph-txt\"\r\n            >\r\n              --\r\n            </div>\r\n          </div>\r\n          <div class=\"half-box vx-p-2 vx-mb-1\">\r\n            <div\r\n              class=\"heading vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n            >\r\n              COMPLETION WINDOW:\r\n            </div>\r\n            <div\r\n              *ngIf=\"quickViewData?.AdvanceDateTimeStamp\"\r\n              class=\"details vx-fs-12 vx-paragraph-txt\"\r\n            >\r\n              {{\r\n                quickViewData?.AdvanceDateTimeStamp * 1000 | date: \"dd MMM yyyy\"\r\n              }}\r\n              to<br />{{\r\n                quickViewData?.FailedDateTimestamp * 1000 | date: \"dd MMM yyyy\"\r\n              }}\r\n            </div>\r\n            <div\r\n              *ngIf=\"!quickViewData?.AdvanceDateTimeStamp\"\r\n              class=\"details vx-fs-12 vx-paragraph-txt\"\r\n            >\r\n              --\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"vx-d-flex vx-justify-between\">\r\n          <div class=\"half-box vx-p-2 vx-mb-1\">\r\n            <div\r\n              class=\"heading vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n            >\r\n              OVERSIGHT:\r\n            </div>\r\n            <div class=\"vx-avatar-group\">\r\n              <div\r\n                class=\"vx-fs-12 vx-paragraph-txt\"\r\n                *ngIf=\"!overseerArr?.length\"\r\n              >\r\n                --\r\n              </div>\r\n              <div\r\n                class=\"vx-avatar md\"\r\n                *ngFor=\"let overSeer of overseerArr | slice: 0:5\"\r\n              >\r\n                <span\r\n                  *ngIf=\"!overSeer?.pic\"\r\n                  class=\"blue\"\r\n                  [vcTooltip]=\"overSeer?.name\"\r\n                  placement=\"bottom-left\"\r\n                  delay=\"0\"\r\n                  type=\"black\"\r\n                  [tooltipMandatory]=\"true\"\r\n                  >{{ overSeer?.short }}</span\r\n                >\r\n                <img\r\n                  *ngIf=\"overSeer?.pic\"\r\n                  [src]=\"overSeer?.pic | profile\"\r\n                  alt=\"\"\r\n                  [vcTooltip]=\"overSeer?.name\"\r\n                  placement=\"bottom-left\"\r\n                  delay=\"0\"\r\n                  type=\"black\"\r\n                  [tooltipMandatory]=\"true\"\r\n                />\r\n              </div>\r\n              <div\r\n                *ngIf=\"overseerArr.length > 5\"\r\n                class=\"vx-avatar md counter\"\r\n                vcPopover\r\n                (click)=\"oversightCount.popover()\"\r\n                position=\"left\"\r\n              >\r\n                <span class=\"green\">+{{ overseerArr.length - 5 }}</span>\r\n              </div>\r\n              <vui-popover #oversightCount>\r\n                <div class=\"action-list\">\r\n                  <ul class=\"action-item\">\r\n                    <li\r\n                      *ngFor=\"\r\n                        let overSeer of overseerArr\r\n                          | slice: 5:overseerArr?.length\r\n                      \"\r\n                    >\r\n                      <div class=\"avatar-card\">\r\n                        <div class=\"avatar\">\r\n                          <ng-container *ngIf=\"!overSeer?.pic\">{{\r\n                            overSeer?.short\r\n                          }}</ng-container>\r\n                          <img\r\n                            *ngIf=\"overSeer?.pic\"\r\n                            [src]=\"overSeer?.pic | profile\"\r\n                            alt=\"\"\r\n                            [vcTooltip]=\"overSeer?.name\"\r\n                            placement=\"bottom-left\"\r\n                            delay=\"0\"\r\n                            type=\"black\"\r\n                            [tooltipMandatory]=\"true\"\r\n                          />\r\n                        </div>\r\n                        <span class=\"value\">{{ overSeer?.name }}</span>\r\n                      </div>\r\n                    </li>\r\n                  </ul>\r\n                </div>\r\n              </vui-popover>\r\n            </div>\r\n          </div>\r\n          <div class=\"half-box vx-p-2 vx-mb-1\">\r\n            <div\r\n              class=\"heading vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n            >\r\n              COLLABORATOR:\r\n            </div>\r\n            <div class=\"vx-avatar-group\">\r\n              <div\r\n                class=\"vx-avatar md\"\r\n                *ngFor=\"let collaborator of collaboratorList | slice: 0:5\"\r\n              >\r\n                <span\r\n                  *ngIf=\"!collaborator?.pic\"\r\n                  class=\"blue\"\r\n                  [vcTooltip]=\"collaborator?.user_name\"\r\n                  placement=\"bottom-left\"\r\n                  delay=\"0\"\r\n                  type=\"black\"\r\n                  [tooltipMandatory]=\"true\"\r\n                  >{{ collaborator?.short_name }}</span\r\n                >\r\n                <img\r\n                  *ngIf=\"collaborator?.pic\"\r\n                  [src]=\"collaborator?.pic | profile\"\r\n                  alt=\"\"\r\n                  [vcTooltip]=\"collaborator?.user_name\"\r\n                  placement=\"bottom-left\"\r\n                  delay=\"0\"\r\n                  type=\"black\"\r\n                  [tooltipMandatory]=\"true\"\r\n                />\r\n              </div>\r\n              <div\r\n                *ngIf=\"collaboratorList.length > 5\"\r\n                class=\"vx-avatar md counter\"\r\n                vcPopover\r\n                (click)=\"collaboratorCount.popover()\"\r\n                position=\"right\"\r\n              >\r\n                <span class=\"green\">+{{ collaboratorList.length - 5 }}</span>\r\n              </div>\r\n              <vui-popover #collaboratorCount>\r\n                <div class=\"action-list\">\r\n                  <ul class=\"action-item\">\r\n                    <li\r\n                      *ngFor=\"\r\n                        let collaborator of collaboratorList\r\n                          | slice: 5:collaboratorList?.length\r\n                      \"\r\n                    >\r\n                      <div class=\"avatar-card\">\r\n                        <div class=\"avatar\">\r\n                          <ng-container *ngIf=\"!collaborator?.pic\">{{\r\n                            collaborator?.short_name\r\n                          }}</ng-container>\r\n                          <img\r\n                            *ngIf=\"collaborator?.pic\"\r\n                            alt=\"\"\r\n                            [src]=\"collaborator?.pic | profile\"\r\n                            [vcTooltip]=\"collaborator?.user_name\"\r\n                            placement=\"bottom-left\"\r\n                            delay=\"0\"\r\n                            type=\"black\"\r\n                            [tooltipMandatory]=\"true\"\r\n                          />\r\n                        </div>\r\n                        <span class=\"value\">{{ collaborator?.user_name }}</span>\r\n                      </div>\r\n                    </li>\r\n                  </ul>\r\n                </div>\r\n              </vui-popover>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"vx-d-flex vx-justify-between\">\r\n          <div class=\"half-box vx-p-2 vx-mb-1\">\r\n            <div\r\n              class=\"heading vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-mb-1 vx-d-flex vx-align-center\"\r\n            >\r\n              REVIEWER:\r\n              <span\r\n                *ngIf=\"\r\n                  quickViewData?.ReviewersDetails?.level1?.reviewers?.length > 0\r\n                \"\r\n                class=\"review-label vx-fs-9 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-pl-1 vx-pr-1 vx-lh-3 vx-ml-2\"\r\n                >{{\r\n                  quickViewData?.ReviewersDetails?.level1?.type === \"SEQUENTIAL\"\r\n                    ? \"Sequential\"\r\n                    : \"Any Reviewer\"\r\n                }}</span\r\n              >\r\n            </div>\r\n            <span\r\n              *ngIf=\"\r\n                quickViewData?.ReviewersDetails?.level1?.reviewers?.length === 0\r\n              \"\r\n              class=\"review-label vx-fs-12 vx-paragraph-txt\"\r\n              >--</span\r\n            >\r\n            <div\r\n              *ngIf=\"\r\n                quickViewData?.ReviewersDetails?.level1?.reviewers?.length > 0\r\n              \"\r\n              class=\"vx-d-flex vx-align-center\"\r\n            >\r\n              <div class=\"vx-avatar-group vx-mr-2\">\r\n                <div class=\"vx-avatar md\">\r\n                  <span\r\n                    *ngIf=\"\r\n                      !quickViewData?.ReviewersDetails?.level1?.reviewers[0]\r\n                        ?.profile_pic\r\n                    \"\r\n                    class=\"blue\"\r\n                    >{{\r\n                      quickViewData?.ReviewersDetails?.level1?.reviewers[0]\r\n                        ?.short_name\r\n                    }}</span\r\n                  >\r\n                  <img\r\n                    *ngIf=\"\r\n                      quickViewData?.ReviewersDetails?.level1?.reviewers[0]\r\n                        ?.profile_pic\r\n                    \"\r\n                    [src]=\"\r\n                      quickViewData?.ReviewersDetails?.level1?.reviewers[0]\r\n                        ?.profile_pic | profile\r\n                    \"\r\n                    alt=\"\"\r\n                  />\r\n                </div>\r\n                <div\r\n                  *ngIf=\"\r\n                    quickViewData?.ReviewersDetails?.level1?.reviewers?.length >\r\n                    1\r\n                  \"\r\n                  class=\"vx-avatar md counter\"\r\n                  vcPopover\r\n                  (click)=\"reviewerCount.popover()\"\r\n                  position=\"left\"\r\n                >\r\n                  <span class=\"green\"\r\n                    >+{{\r\n                      quickViewData?.ReviewersDetails?.level1?.reviewers\r\n                        ?.length - 1\r\n                    }}</span\r\n                  >\r\n                </div>\r\n                <vui-popover #reviewerCount>\r\n                  <div class=\"review-card vx-pb-2\">\r\n                    <div class=\"review-box-type with-line vx-pl-2 vx-pr-2\">\r\n                      <div class=\"review-box-top vx-pt-2 vx-pb-3\">\r\n                        <div\r\n                          class=\"review-heading vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-lh-4\"\r\n                        >\r\n                          Workflow Type:\r\n                        </div>\r\n                        <div\r\n                          class=\"review-details vx-fs-12 vx-paragraph-txt vx-lh-3\"\r\n                        >\r\n                          {{ quickViewData?.ReviewersDetails?.level1?.type }}\r\n                        </div>\r\n                      </div>\r\n                      <div class=\"review-box-list\">\r\n                        <ul class=\"vx-p-0 vx-m-0\">\r\n                          <li\r\n                            class=\"vx-d-flex vx-align-center vx-justify-between vx-p-2\"\r\n                            *ngFor=\"\r\n                              let reviewer of quickViewData?.ReviewersDetails\r\n                                ?.level1?.reviewers;\r\n                              let i = index\r\n                            \"\r\n                          >\r\n                            <div\r\n                              class=\"review-user-wrapper vx-d-flex vx-align-center vx-w-100\"\r\n                            >\r\n                              <div\r\n                                *ngIf=\"\r\n                                  quickViewData?.ReviewersDetails?.level1?.type.toLowerCase() ===\r\n                                  'any reviewer'\r\n                                \"\r\n                                class=\"review-dot vx-mr-2\"\r\n                              ></div>\r\n                              <div\r\n                                *ngIf=\"\r\n                                  quickViewData?.ReviewersDetails?.level1?.type.toLowerCase() ===\r\n                                  'sequential'\r\n                                \"\r\n                                class=\"review-number vx-fs-10 vx-fw-500 vx-txt-white vx-text-center\"\r\n                              >\r\n                                {{ i + 1 }}\r\n                              </div>\r\n                              <div class=\"vx-avatar md vx-mr-2\">\r\n                                <span\r\n                                  *ngIf=\"!reviewer?.profile_pic\"\r\n                                  class=\"blue\"\r\n                                  [vcTooltip]=\"reviewer?.member_name\"\r\n                                  position=\"bottom-left\"\r\n                                  delay=\"0\"\r\n                                  type=\"black\"\r\n                                  [tooltipMandatory]=\"true\"\r\n                                  >{{ reviewer?.short_name }}</span\r\n                                >\r\n                                <img\r\n                                  *ngIf=\"reviewer?.profile_pic\"\r\n                                  [src]=\"reviewer?.profile_pic | profile\"\r\n                                  alt=\"\"\r\n                                  [vcTooltip]=\"reviewer?.member_name\"\r\n                                  position=\"bottom-left\"\r\n                                  delay=\"0\"\r\n                                  type=\"black\"\r\n                                  [tooltipMandatory]=\"true\"\r\n                                />\r\n                              </div>\r\n                              <div class=\"review-status\">\r\n                                <div\r\n                                  class=\"review-user-name vx-fs-13 vx-paragraph-txt\"\r\n                                >\r\n                                  {{ reviewer?.member_name }}\r\n                                </div>\r\n                                <div\r\n                                  class=\"reviewer-performance vx-d-flex vx-align-center\"\r\n                                >\r\n                                  <span class=\"vx-fs-10 vx-fw-500\"\r\n                                    >{{\r\n                                      reviewer?.ReviewerPerformanceCountPercentage?.split(\r\n                                        \"~\"\r\n                                      )[1].split(\",\")[0]\r\n                                    }}%</span\r\n                                  >\r\n                                  <span\r\n                                    class=\"vx-fs-10 vx-fw-500 vx-pl-2 vx-pr-2\"\r\n                                    >{{\r\n                                      reviewer?.ReviewerPerformanceCountPercentage?.split(\r\n                                        \"~\"\r\n                                      )[1].split(\",\")[1]\r\n                                    }}%</span\r\n                                  >\r\n                                  <span class=\"vx-fs-10 vx-fw-500\"\r\n                                    >{{\r\n                                      reviewer?.ReviewerPerformanceCountPercentage?.split(\r\n                                        \"~\"\r\n                                      )[1].split(\",\")[2]\r\n                                    }}%</span\r\n                                  >\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </li>\r\n                        </ul>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </vui-popover>\r\n              </div>\r\n              <div class=\"vx-d-block\">\r\n                <div class=\"reviewer-name vx-fs-12 vx-paragraph-txt\">\r\n                  {{\r\n                    quickViewData?.ReviewersDetails?.level1?.reviewers[0]\r\n                      ?.member_name\r\n                  }}\r\n                </div>\r\n                <div class=\"reviewer-performance vx-d-flex vx-align-center\">\r\n                  <span class=\"vx-fs-10 vx-fw-500\"\r\n                    >{{\r\n                      quickViewData?.ReviewerPerformanceCountPercentage?.split(\r\n                        \"~\"\r\n                      )[1].split(\",\")[0]\r\n                    }}%</span\r\n                  >\r\n                  <span class=\"vx-fs-10 vx-fw-500 vx-pl-2 vx-pr-2\"\r\n                    >{{\r\n                      quickViewData?.ReviewerPerformanceCountPercentage?.split(\r\n                        \"~\"\r\n                      )[1].split(\",\")[1]\r\n                    }}%</span\r\n                  >\r\n                  <span class=\"vx-fs-10 vx-fw-500\"\r\n                    >{{\r\n                      quickViewData?.ReviewerPerformanceCountPercentage?.split(\r\n                        \"~\"\r\n                      )[1].split(\",\")[2]\r\n                    }}%</span\r\n                  >\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"half-box vx-p-2 vx-mb-1\">\r\n            <div\r\n              class=\"heading vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n            >\r\n              FREQUENCY:\r\n            </div>\r\n            <div class=\"details vx-fs-12 vx-paragraph-txt\">\r\n              {{ quickViewData?.ReportFrequency }}\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"vx-d-flex\">\r\n          <div class=\"half-box vx-p-2 vx-mb-1 vx-w-100\">\r\n            <div\r\n              class=\"heading vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n            >\r\n              PROGRAM:\r\n            </div>\r\n            <div\r\n              *ngIf=\"quickViewData?.ReportCategorysArr?.length > 0\"\r\n              class=\"vx-d-flex vx-align-center vx-justify-between\"\r\n            >\r\n              <div class=\"program-item\">\r\n                <div class=\"program-name vx-fs-12 vx-paragraph-txt vx-mb-1\">\r\n                  {{ quickViewData?.ReportCategorysArr[0] | strip}}\r\n                </div>\r\n                <div\r\n                  class=\"program-type vx-fs-9 vx-fw-500 vx-lh-3 vx-pl-1 vx-pr-1 vx-tt-uppercase vx-txt-white\"\r\n                  [ngClass]=\"\r\n                    categoryClass[\r\n                      quickViewData.ReportCategorysType.split(',')[0]\r\n                    ]\r\n                  \"\r\n                >\r\n                  {{\r\n                    categoryType[\r\n                      quickViewData.ReportCategorysType.split(\",\")[0]\r\n                    ]\r\n                  }}\r\n                </div>\r\n              </div>\r\n              <div\r\n                *ngIf=\"quickViewData?.ReportCategorysArr?.length > 1\"\r\n                class=\"program-count vx-fs-12 vx-text-center vx-txt-white\"\r\n                vcPopover\r\n                (click)=\"programType.popover()\"\r\n                position=\"right\"\r\n              >\r\n                <span\r\n                  >+{{ quickViewData?.ReportCategorysArr?.length - 1 }}</span\r\n                >\r\n              </div>\r\n            </div>\r\n            <vui-popover #programType>\r\n              <div class=\"action-list\">\r\n                <ul class=\"action-item\">\r\n                  <li\r\n                    *ngFor=\"\r\n                      let category of quickViewData?.ReportCategorysArr\r\n                        | slice: 1:quickViewData?.ReportCategorysArr.length;\r\n                      let i = index\r\n                    \"\r\n                  >\r\n                    <div class=\"program-item\">\r\n                      <div class=\"program-name vx-fs-12 vx-fw-400 vx-label-txt\">\r\n                        {{ category | strip }}\r\n                      </div>\r\n                      <div\r\n                        class=\"program-type regulations vx-fs-9 vx-fw-500 vx-lh-3 vx-pl-1 vx-pr-1 vx-tt-uppercase vx-txt-white\"\r\n                      >\r\n                        {{\r\n                          categoryType[\r\n                            quickViewData.ReportCategorysType.split(\",\")[i + 1]\r\n                          ]\r\n                        }}\r\n                      </div>\r\n                    </div>\r\n                  </li>\r\n                </ul>\r\n              </div>\r\n            </vui-popover>\r\n          </div>\r\n        </div>\r\n        <div class=\"vx-d-flex\">\r\n          <div class=\"half-box vx-p-2 vx-mb-1 vx-w-100\">\r\n            <div\r\n              class=\"heading vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n            >\r\n              RESPONSIBILITY CENTER:\r\n            </div>\r\n            <div\r\n              class=\"responsibility-center-name vx-fs-12 vx-paragraph-txt\"\r\n              [vcTooltip]=\"quickViewData?.RespCenterName\"\r\n              placement=\"bottom-left\"\r\n              delay=\"0\"\r\n              type=\"black\"\r\n              [tooltipMandatory]=\"false\"\r\n            >\r\n              {{\r\n                quickViewData?.RespCenterName\r\n                  ? quickViewData?.RespCenterName\r\n                  : \"--\"\r\n              }}\r\n            </div>\r\n            <div *ngIf=\"quickViewData?.breadcrumbRcParent?.length > 1\">\r\n              {{\r\n                quickViewData?.breadcrumbRcParent?.slice().reverse().join(\" < \")\r\n              }}\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"vx-d-flex\">\r\n          <div class=\"half-box vx-p-2 vx-mb-1 vx-w-100\">\r\n            <div\r\n              class=\"heading vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n            >\r\n              CUSTOM TAG:\r\n            </div>\r\n            <div\r\n              *ngIf=\"!quickViewData?.CustomTag?.length\"\r\n              class=\"responsibility-center-name vx-fs-12 vx-paragraph-txt\"\r\n            >\r\n              --\r\n            </div>\r\n            <div\r\n              class=\"vx-mt-2\"\r\n              *ngFor=\"\r\n                let tags of quickViewData?.CustomTag;\r\n                let tagId = index;\r\n                let last = last\r\n              \"\r\n            >\r\n              <div class=\"heading vx-fs-11 vx-fw-600 vx-label-txt\">\r\n                {{ tags.tag_name }}\r\n              </div>\r\n              <div class=\"responsibility-center-name vx-fs-12 vx-paragraph-txt\">\r\n                {{ tags.value }}\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"vx-d-flex\">\r\n          <div class=\"half-box vx-p-2 vx-mb-1 vx-w-100\">\r\n            <div\r\n              class=\"heading vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n            >\r\n              NOTES:\r\n            </div>\r\n            <div\r\n              id=\"quick-details-notes\"\r\n              class=\"notes-details vx-fs-12 vx-paragraph-txt\"\r\n              [class.expand]=\"hideNotes\"\r\n              [innerHTML]=\"\r\n                quickViewData?.Remarks\r\n                  ? (quickViewData?.Remarks | safeHtml)\r\n                  : '--'\r\n              \"\r\n            ></div>\r\n            <div class=\"vx-d-flex vx-justify-end\">\r\n              <button\r\n                (click)=\"showNotes()\"\r\n                class=\"more-btn vx-fs-9 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex\"\r\n              >\r\n                <ng-container\r\n                  *ngIf=\"!hideNotes && ('quick-details-notes' | readMore)\"\r\n                  >READ MORE</ng-container\r\n                >\r\n                <ng-container *ngIf=\"hideNotes\">SHOW LESS</ng-container>\r\n              </button>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"vx-d-flex\">\r\n          <div class=\"half-box vx-p-2 vx-mb-1 vx-w-100\">\r\n            <div\r\n              class=\"heading vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-mb-1\"\r\n            >\r\n              OBJECTIVE:\r\n            </div>\r\n            <div\r\n              id=\"quick-details-objective\"\r\n              class=\"notes-details vx-fs-12 vx-paragraph-txt\"\r\n              [class.expand]=\"true\"\r\n              [innerHTML]=\"\r\n                quickViewData?.ControlObjective\r\n                  ? (quickViewData?.ControlObjective | safeHtml)\r\n                  : '--'\r\n              \"\r\n            ></div>\r\n            <div class=\"vx-d-flex vx-justify-end\">\r\n              <button\r\n                (click)=\"showObjective()\"\r\n                class=\"more-btn vx-fs-9 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex\"\r\n              >\r\n                <ng-container\r\n                  *ngIf=\"\r\n                    !hideObjective && ('quick-details-objective' | readMore)\r\n                  \"\r\n                  >READ MORE</ng-container\r\n                >\r\n                <ng-container *ngIf=\"hideObjective\">SHOW LESS</ng-container>\r\n              </button>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <a [href]=\"basUrl\">\r\n        <button\r\n          class=\"quick-view-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center vx-w-100\"\r\n        >\r\n          Go to the Responsibility Workroom\r\n          <i class=\"icons vx-fs-20\">&#xeb32;</i>\r\n        </button>\r\n      </a>\r\n    </ng-container>\r\n  </div>\r\n</div>\r\n\r\n<app-dialog-form\r\n  *ngIf=\"showFormPopUp\"\r\n  [data]=\"data\"\r\n  [isTextEditor]=\"isTextEditor\"\r\n  [isFileUpload]=\"isUpload\"\r\n  [isList]=\"isList\"\r\n  (actionData)=\"applyAction($event)\"\r\n></app-dialog-form>\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { QuickViewComponent } from './quick-view/quick-view.component';\r\nimport { WorkroomService } from './workroom.service';\r\n\r\n@Component({\r\n  selector: 'responsibility-workroom',\r\n  template: `\r\n  <vui-snack-bar></vui-snack-bar>\r\n    <quick-view #quickview [_id]=\"_id\" (closeQuickView)=\"closeQuickView.emit($event)\" (workflowAction)=\"workflowAction.emit($event)\" (refresh)=\"refresh.emit($event)\"></quick-view>\r\n  `,\r\n  styles: [\r\n  ]\r\n})\r\nexport class WorkroomComponent implements OnInit {\r\n  @Output() closeQuickView = new EventEmitter<any>();\r\n  @Output() workflowAction = new EventEmitter<any>();\r\n  @Input() _id: string = '';\r\n  @Output() refresh : EventEmitter<any> = new EventEmitter();\r\n  @ViewChild('quickview') quickView!: QuickViewComponent;\r\n  constructor(public workRoomService:WorkroomService) { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n  sendEvent(evt:any){\r\n      this.quickView.eventHandler(evt);\r\n  }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpEvent, HttpResponse, HttpRequest, HttpHandler } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor {\r\n  timeFilter: any = {};\r\n  constructor(private route: ActivatedRoute) {\r\n    this.route.queryParams.subscribe((params: any) => {\r\n      \r\n      if(['not_completed','completed']?.includes(params['type']) ) {\r\n        let payloadOnFilteredApplied = JSON.parse(params['filterPayload'] ?? '{}');\r\n        if(payloadOnFilteredApplied?.timeFilterPayload && Object.keys(payloadOnFilteredApplied?.timeFilterPayload)?.length){\r\n          this.timeFilter = payloadOnFilteredApplied?.timeFilterPayload\r\n        } else {\r\n          this.timeFilter = {} ;\r\n        }\r\n      } else {\r\n        this.timeFilter = {};\r\n      }\r\n    })\r\n  }\r\n\r\n  \r\n\r\n  intercept(httpRequest: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n    const tokenLessUrl = ['https://upload.v-comply.com/fileupload'];\r\n   let currentBusinessCycle !: any;\r\n\r\n    const businessCycle = JSON.parse(localStorage.getItem(\"businessCycle\") ?? '{}');\r\n    if(Object.keys(this.timeFilter)?.length){\r\n      currentBusinessCycle = {\r\n        selected_cycle: this.timeFilter?.selected_cycle ?? '',\r\n        start_date: this.timeFilter?.start_date ?? '',\r\n        end_date: this.timeFilter?.end_date ?? '',\r\n        selected_cycle_arr: this.timeFilter?.selected_cycle_arr ?? [],\r\n        time_filter_type: this.timeFilter?.time_filter_type ?? '',\r\n      };\r\n    } else {\r\n      currentBusinessCycle = {\r\n        selected_cycle: businessCycle\r\n          ? businessCycle?.selectedCycle?.start_date +\r\n          \"-\" +\r\n          businessCycle?.selectedCycle?.end_date\r\n          : \"\",\r\n        start_date: businessCycle ? businessCycle?.selectedCycle?.start_date : \"\",\r\n        end_date: businessCycle ? businessCycle?.selectedCycle?.end_date : \"\",\r\n        selected_cycle_arr: businessCycle\r\n          ? businessCycle?.selectedCycle?.selected_cycle_arr\r\n          : [],\r\n      };\r\n    }\r\n    const token = this.getAuthorizationToken();\r\n    if (httpRequest.url.includes('bypass-token=true') || httpRequest.url.includes('fileupload') || httpRequest.url.includes('bucket')) {\r\n      return next.handle(httpRequest.clone({})).pipe(\r\n        catchError((err) => {\r\n          if ([401].indexOf(err.status) !== -1) {\r\n\r\n          }\r\n\r\n          return throwError(err);\r\n        })\r\n      );\r\n    } else if(httpRequest.url.includes('b-cycle-header') || httpRequest.url.includes('isBusinessCycle=true')) {\r\n      return next.handle(httpRequest.clone({ setHeaders:\r\n        { token,   'Content-Type': 'application/json',\r\n          'x-business-cycle':  JSON.stringify(currentBusinessCycle)} })).pipe(\r\n          catchError((err) => {\r\n          if ([401].indexOf(err.status) !== -1) {\r\n          }\r\n          return throwError(err);\r\n        })\r\n      );\r\n    } else {\r\n      return next.handle(httpRequest.clone({ setHeaders: { token } })).pipe(\r\n        catchError((err) => {\r\n          if ([401].indexOf(err.status) !== -1) {\r\n          }\r\n          return throwError(err);\r\n        })\r\n      );\r\n    }\r\n  }\r\n\r\n  getAuthorizationToken() {\r\n    const TOKEN = localStorage.getItem('currentUser');\r\n    let currentUser;\r\n    TOKEN !== null ? (currentUser = JSON.parse(TOKEN)) : (currentUser = {});\r\n    return currentUser.token;\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n  HttpRequest,\r\n  HttpHandler,\r\n  HttpEvent,\r\n  HttpInterceptor\r\n} from '@angular/common/http';\r\nimport { catchError, Observable, throwError } from 'rxjs';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class BusinessCycleInterceptor implements HttpInterceptor {\r\n\r\n  timeFilter: any = {};\r\n  constructor(private route: ActivatedRoute) {\r\n    this.route.queryParams.subscribe((params: any) => {\r\n      \r\n      if(['not_completed','completed']?.includes(params['type']) ) {\r\n        let payloadOnFilteredApplied = JSON.parse(params['filterPayload'] ?? '{}');\r\n        if(payloadOnFilteredApplied?.timeFilterPayload && Object.keys(payloadOnFilteredApplied?.timeFilterPayload)?.length){\r\n          this.timeFilter = payloadOnFilteredApplied?.timeFilterPayload\r\n        } else {\r\n          this.timeFilter = {} ;\r\n        }\r\n      } else {\r\n        this.timeFilter = {};\r\n      }\r\n    })\r\n  }\r\n\r\n  skipUrls=[\r\n    'createReport',\r\n    'risk/CreateRisk',\r\n    'import/create'\r\n  ]\r\n\r\n\r\n  intercept(httpRequest: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n    let preSavedCycle = JSON.parse(localStorage.getItem('businessCycle') ?? '{}');\r\n    const mode = httpRequest.url.split('mode=')[1];\r\n    if(Object.keys(this.timeFilter)?.length){\r\n      preSavedCycle = {\r\n        selectedCycle: {\r\n          selected_cycle: this.timeFilter?.selected_cycle ?? '',\r\n          start_date: this.timeFilter?.start_date ?? '',\r\n          end_date: this.timeFilter?.end_date ?? '',\r\n          selected_cycle_arr: this.timeFilter?.selected_cycle_arr ?? [],\r\n          time_filter_type: this.timeFilter?.time_filter_type ?? '',\r\n        }\r\n      };\r\n    } \r\n    \r\n    if (httpRequest.url.includes('bypass-businessCycle=true') || \r\n    httpRequest.url.includes('https://upload.v-comply.com/fileupload/') || \r\n    httpRequest?.url?.includes('compliance_post/?mode=file/upload')\r\n    ||  this.skipUrls.includes(mode) || ((typeof(mode)=='string')&& mode.startsWith('createReport')) \r\n    || ((typeof(mode)=='string')&& mode.startsWith('import/create'))){\r\n      return next.handle(httpRequest.clone()).pipe(\r\n        catchError((err) => {\r\n          return next.handle(httpRequest);\r\n        })\r\n      );\r\n    } else if(httpRequest.url.includes('businessCycle-payload=true')) {\r\n      return next.handle(\r\n        httpRequest.clone({\r\n          body: {\r\n            ...httpRequest.body,\r\n            start_date: preSavedCycle?.selectedCycle?.start_date,\r\n            end_date: preSavedCycle?.selectedCycle?.end_date,\r\n            selected_cycle_arr: preSavedCycle?.selectedCycle?.selected_cycle_arr,\r\n            selected_cycle: `${preSavedCycle?.selectedCycle?.start_date}-${preSavedCycle?.selectedCycle?.end_date}`,\r\n            time_filter_type: '',\r\n          },\r\n        })\r\n      );\r\n    }\r\n\r\n    else {\r\n      return next.handle(\r\n        httpRequest.clone({\r\n          body: {\r\n            ...httpRequest.body,\r\n            start_date: preSavedCycle?.selectedCycle?.start_date,\r\n            end_date: preSavedCycle?.selectedCycle?.end_date,\r\n            selected_cycle_arr: preSavedCycle?.selectedCycle?.selected_cycle_arr,\r\n            selected_cycle: `${preSavedCycle?.selectedCycle?.start_date}-${preSavedCycle?.selectedCycle?.end_date}`\r\n          },\r\n        })\r\n      );\r\n    }\r\n  }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n  name: 'sanitizer'\r\n})\r\nexport class SanitizerPipe implements PipeTransform {\r\n\r\n  constructor(protected sanitizer: DomSanitizer) {}\r\n\r\n  transform(value: any, ...args: any[]): any {\r\n    return this.sanitizer.bypassSecurityTrustHtml(value);\r\n  }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { SanitizerPipe } from './sanitizer.pipe';\r\nimport { ProfilePipe } from './profile.pipe';\r\nimport { ReadMorePipe } from './read-more.pipe';\r\nimport { SafeHtmlPipe } from './safeHtml.pipe';\r\nimport { SearchPipe } from './search.pipe';\r\nimport { StripPipe } from './strip.pipe';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    SanitizerPipe,\r\n    ProfilePipe,\r\n    ReadMorePipe,\r\n    SafeHtmlPipe,\r\n    SearchPipe,\r\n    StripPipe\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports:[\r\n    SanitizerPipe,\r\n    ProfilePipe,\r\n    ReadMorePipe,\r\n    SafeHtmlPipe,\r\n    SearchPipe,\r\n    StripPipe\r\n  ]\r\n})\r\nexport class PipeModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DialogModule, PopoverModule } from '../ui-elements';\r\nimport { DialogFormComponent } from './dialog-form.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DpDatePickerModule } from \"ng2-date-picker\";\r\nimport {NgxMaterialTimepickerModule} from 'ngx-material-timepicker';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { MarxEditorModule } from 'vcomply-editor';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport { DateAdapter, MatNativeDateModule, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\r\n\r\nexport const MY_FORMATS = {\r\n  parse: {\r\n    dateInput: 'LL',\r\n  },\r\n  display: {\r\n    dateInput: 'DD MMM YYYY',\r\n    monthYearLabel: 'MMM YYYY',\r\n    dateA11yLabel: 'LL',\r\n    monthYearA11yLabel: 'MMMM YYYY',\r\n  },\r\n};\r\n\r\n\r\n@NgModule({\r\n  declarations: [DialogFormComponent],\r\n  imports: [\r\n    DialogModule,\r\n    CommonModule,\r\n    FormsModule,\r\n    DpDatePickerModule,\r\n    NgxMaterialTimepickerModule,\r\n    BrowserAnimationsModule,\r\n    PopoverModule,\r\n    MarxEditorModule,\r\n    MatDatepickerModule,\r\n    MatNativeDateModule\r\n  ],\r\n  exports:[\r\n    DialogFormComponent,\r\n    NgxMaterialTimepickerModule\r\n  ],\r\n  providers:[\r\n    { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\r\n    { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\r\n  ]\r\n})\r\nexport class DialogFormModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DialogModule, PopoverModule, TooltipModule } from '../ui-elements';\r\nimport { ConfirmComponent } from './confirm/confirm.component';\r\nimport { HandoverTransferComponent } from './handover-transfer/handover-transfer.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DeleteParentRespComponent } from './delete-parent-resp/delete-parent-resp.component';\r\nimport { PipeModule } from '../pipe/pipe.module';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport { DateAdapter, MatNativeDateModule, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\r\n\r\nexport const MY_FORMATS = {\r\n  parse: {\r\n    dateInput: 'LL',\r\n  },\r\n  display: {\r\n    dateInput: 'DD MMM YYYY',\r\n    monthYearLabel: 'MMM YYYY',\r\n    dateA11yLabel: 'LL',\r\n    monthYearA11yLabel: 'MMMM YYYY',\r\n  },\r\n};\r\n\r\n@NgModule({\r\n  declarations: [ConfirmComponent, HandoverTransferComponent, DeleteParentRespComponent],\r\n  imports: [\r\n    DialogModule,\r\n    CommonModule,\r\n    FormsModule,\r\n    PopoverModule,\r\n    TooltipModule,\r\n    PipeModule,\r\n    MatDatepickerModule,\r\n    MatNativeDateModule\r\n  ],\r\n  exports:[\r\n    ConfirmComponent\r\n  ],\r\n  providers:[\r\n    { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\r\n    { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\r\n  ]\r\n})\r\nexport class ActionDialogModule { }\r\n","import { NgModule, Optional } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PipeModule } from '../shared/pipe/pipe.module';\r\nimport { QuickViewComponent } from './quick-view.component';\r\nimport { CircleProgressModule, PopoverModule, SnackBarModule, TooltipModule, VLoaderModule } from '../shared/ui-elements';\r\nimport { DialogFormModule } from '../shared/dialog-form/dialog.module';\r\nimport { ActionDialogModule } from '../shared/dialog/dialog.module';\r\nimport { QuickViewLoaderComponent } from '../quick-view-loader/quick-view-loader.component';\r\n\r\n\r\n\r\n//import { CircleProgressModule, PopoverModule, TooltipModule } from './shared/ui-elements';\r\n\r\n\r\nlet environment :any;\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    QuickViewComponent,\r\n    QuickViewLoaderComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    CircleProgressModule,\r\n    PopoverModule,\r\n    TooltipModule,\r\n    PipeModule,\r\n    DialogFormModule,\r\n    SnackBarModule,\r\n    ActionDialogModule,\r\n    VLoaderModule\r\n  ],\r\n  exports:[\r\n    PipeModule,\r\n    QuickViewComponent\r\n  ]\r\n})\r\nexport class QuickViewModule { \r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { Configurations } from './configurations';\r\nimport { WorkroomComponent } from './workroom.component';\r\n\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { TokenInterceptor } from './shared/interceptors/token-interceptor';\r\nimport { BusinessCycleInterceptor } from './shared/interceptors/business-cycle.interceptor';\r\nimport { QuickViewModule } from './quick-view/quick-view.module';\r\nimport { DialogModule, SnackBarModule, VLoaderModule } from './shared/ui-elements';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    WorkroomComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    HttpClientModule,\r\n    QuickViewModule,\r\n    DialogModule,\r\n    SnackBarModule\r\n  ],\r\n  exports: [\r\n    WorkroomComponent\r\n  ],\r\n  providers: [\r\n    { provide: HTTP_INTERCEPTORS, useClass: TokenInterceptor, multi: true },\r\n    { provide: HTTP_INTERCEPTORS, useClass: BusinessCycleInterceptor, multi: true },\r\n  ]\r\n})\r\nexport class WorkroomModule {\r\n  public static forRoot(environmentConfig: Configurations): ModuleWithProviders<WorkroomModule> {\r\n\r\n    return {\r\n      ngModule: WorkroomModule,\r\n      providers: [\r\n        { provide: Configurations, useValue: environmentConfig }\r\n      ]\r\n    };\r\n  }\r\n}\r\n","/*\n * Public API Surface of workroom\n */\n\nexport * from './lib/workroom.service';\nexport * from './lib/workroom.component';\nexport * from './lib/workroom.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.Configurations","i1.DialogRef","i2.DialogConfig","i3","i4","i5.InsertionDirective","i1","i3.ToolTipDirective","i1.CsRadioComponent","i2.ClickOutsideDirective","i3.PascalPipe","i1.PopoverService","i2","i1.SnackBarService","i1.DialogConfig","i4.ProfilePipe","i2.Configurations","i2.WebApiService","i5","i6.PopoverComponent","i7.PopoverDirective","i9.SearchPipe","i1.FileUploadService","i3.WebApiService","i4.SnackBarService","i6","i8.PopoverComponent","i9.PopoverDirective","i11","i1.WebApiService","i2.DialogService","i3.AuthorizerService","i5.Configurations","i7.CircleComponent","i10.ToolTipDirective","i11.DialogFormComponent","i12.VLoaderInlineComponent","i13.QuickViewLoaderComponent","i14.ProfilePipe","i15.ReadMorePipe","i16.SafeHtmlPipe","i17.StripPipe","i1.WorkroomService","i2.QuickViewComponent","i3.SnackBarComponent","catchError","MY_FORMATS"],"mappings":"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"}