vc-create-dashboard 3.0.71 → 3.0.73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"vc-create-dashboard.mjs","sources":["../../../projects/create-dashboard/src/lib/create-dashboard.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/pipes/text-count.pipe.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/constants/assets.constant.ts","../../../projects/create-dashboard/src/lib/configurations.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/services/auth.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/services/create-dashboard.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/services/pagination.service.ts","../../../projects/create-dashboard/src/lib/ui-kit/snack-bar/snack-bar.service.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/services/configure-widgets.service.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-radio/cs-radio.component.html","../../../projects/create-dashboard/src/lib/ui-kit/tooltip/tooltip.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog-ref.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.component.html","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/floating-bar/floating-bar.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/floating-bar/floating-bar.component.html","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.html","../../../projects/create-dashboard/src/lib/ui-kit/no-data/no-data.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/no-data/no-data.component.html","../../../projects/create-dashboard/src/lib/create-dashboard-container/pipes/search.pipe.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.html","../../../projects/create-dashboard/src/lib/ui-kit/v-loader/loader-inline/loader-inline.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/v-loader/loader-inline/loader-inline.component.html","../../../projects/create-dashboard/src/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.html","../../../projects/create-dashboard/src/lib/create-dashboard-container/directives/scroll-in-view.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/smiley-dialog/smiley-dialog.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/smiley-dialog/smiley-dialog.component.html","../../../projects/create-dashboard/src/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.html","../../../projects/create-dashboard/src/lib/ui-kit/pagination/pagination.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/pagination/pagination.component.html","../../../projects/create-dashboard/src/lib/create-dashboard-container/user-list/user-list.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/user-list/user-list.component.html","../../../projects/create-dashboard/src/lib/create-dashboard-container/pipes/filter.pipe.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/responsibility-center/responsibility-center.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/responsibility-center/responsibility-center.component.html","../../../projects/create-dashboard/src/lib/create-dashboard-container/categories/categories.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/categories/categories.component.html","../../../projects/create-dashboard/src/lib/create-dashboard-container/risk-categories/risk-categories.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/risk-categories/risk-categories.component.html","../../../projects/create-dashboard/src/lib/create-dashboard-container/frequency/frequency.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/frequency/frequency.component.html","../../../projects/create-dashboard/src/lib/create-dashboard-container/create-dashboard.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/create-dashboard.component.html","../../../projects/create-dashboard/src/lib/ui-kit/select/safe-html.pipe.ts","../../../projects/create-dashboard/src/lib/ui-kit/select/cs-select/cs-select.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/select/cs-select/cs-select.component.html","../../../projects/create-dashboard/src/lib/ui-kit/services/cs-select.service.ts","../../../projects/create-dashboard/src/lib/ui-kit/select/cs-option/cs-option.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/select/cs-option/cs-option.component.html","../../../projects/create-dashboard/src/lib/ui-kit/select/select.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/pagination/pagination.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-switch/cs-switch.component.html","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.html","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/click-outside.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/pipes/pascal.pipe.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-select/cs-select.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-select/cs-select.component.html","../../../projects/create-dashboard/src/lib/ui-kit/tooltip/tooltip.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/formgroup.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/dashboard-footer/dashboard-footer.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/insertion.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog-config.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog.component.html","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog-injector.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/form-group/form-group.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/form-group/form-group.component.html","../../../projects/create-dashboard/src/lib/ui-kit/floating-bar/floating-bar.module.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/directives/directives.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/no-data/no-data.module.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/configure-widgets/configure-widgets.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/v-loader/loader/loader.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/v-loader/loader/loader.component.html","../../../projects/create-dashboard/src/lib/ui-kit/v-loader/v-loader.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/snack-bar/snack-bar.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/smiley-dialog/smiley-dialog.module.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/services/urlConfig.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/create-dashboard.module.ts","../../../projects/create-dashboard/src/public-api.ts","../../../projects/create-dashboard/src/vc-create-dashboard.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CreateDashboardService {\n constructor() {}\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'textCount'\n})\nexport class TextCountPipe implements PipeTransform {\n\n transform(value: any, ...args: any[]): any {\n const span = document.createElement('span');\n span.innerHTML = value;\n console.log('span.innerHTML ==>',span.innerHTML,span.innerText.length)\n return span.textContent?.length || span.innerText.length;\n }\n\n}\n","export const ASSETS = {\n dashBoardIcon: `/libraries/workflow-engine/assets/workflow/what.svg`,\n dashBoardUsersIcon: `/libraries/workflow-engine/assets/workflow/who.svg`,\n dashBoardRcIcon: `/libraries/workflow-engine/assets/workflow/responsibility-center.svg`,\n dashBoardProgramIcon: `/libraries/workflow-engine/assets/workflow/category.svg`,\n dashBoardRiskIcon: `/libraries/workflow-engine/assets/workflow/category.svg`,\n dashBoardTimeFrameIcon: `/libraries/workflow-engine/assets/workflow/when.svg`,\n dashBoardEmailSummariesIcon: `/libraries/workflow-engine/assets/workflow/send-resolution.svg`,\n configure_widget: `/libraries/configure-widget/assets/images/configure-widget.svg`,\n overviewWidget: `/libraries/configure-widget/assets/images/overview.png`,\n responsibilityCalenderWidget: `/libraries/configure-widget/assets/images/responsibility-calender.png`,\n responsibilityCenterOverviewWidget: `/libraries/configure-widget/assets/images/responsibility-center-overview.png`,\n myResponsibilitiesWidget: `/libraries/configure-widget/assets/images/my-responsibilities.png`,\n keyResponsibilitiesWidget: `/libraries/configure-widget/assets/images/key-responsibilities.png`,\n trendAnalysisWidget: `/libraries/configure-widget/assets/images/trend-analysis.png`,\n workroomUpdatesWidget: `/libraries/configure-widget/assets/images/workroom-updates.png`,\n recentActivitiesWidget: `/libraries/configure-widget/assets/images/recent-activities.png`,\n exceptionSummaryWidget: `/libraries/configure-widget/assets/images/exception-summary.png`,\n riskOverviewWidget: `/libraries/configure-widget/assets/images/riskV2/risk-overview.png`,\n appetiteToleranceWidget: `/libraries/configure-widget/assets/images/riskV2/appetite-tolerance.png`,\n inherentRCWidget: `/libraries/configure-widget/assets/images/riskV2/inherent-RC.png`,\n residualRCWidget: `/libraries/configure-widget/assets/images/riskV2/residual-RC.png`,\n riskCategoryOverviewWidget: `/libraries/configure-widget/assets/images/riskV2/risk-category-overview.png`,\n riskHeatmapWidget: `/libraries/configure-widget/assets/images/risk-heatmap.png`,\n inherentCategoriesWidget: `/libraries/configure-widget/assets/images/riskV2/inherent-categories.png`,\n residualCategoriesWidget: `/libraries/configure-widget/assets/images/riskV2/residual-categories.png`,\n tenRiskRatingsWidget: `/libraries/configure-widget/assets/images/10-risk-ratings.png`,\n search_data: `/libraries/workflow-engine/assets/workflow/search-data.svg`,\n appetite_tolerance: `/libraries/configure-widget/assets/images/appetite-tolerance.png`,\n inherent_trend: `/libraries/configure-widget/assets/images/inherent-trend.png`,\n residual_trend: `/libraries/configure-widget/assets/images/residual-trend.png`,\n risk_trend: `/libraries/configure-widget/assets/images/risk-trend.png`,\n policyApproverView: `/policy/images/policy-approver-view.svg`,\n};\n","export class Configurations {\n public envConfig: any;\n\n constructor() {\n this.envConfig = {};\n }\n\n}\n","import { Injectable, Optional } from '@angular/core';\nimport { JwtHelperService } from '@auth0/angular-jwt';\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { of, BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { map, shareReplay, catchError, delay} from 'rxjs/operators';\nimport { Configurations } from '../../configurations';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n public env !: any;\n\n constructor(private http: HttpClient, @Optional() config?: Configurations) { \n if (config) {\n this.env = config.envConfig;\n }\n }\n getAuthorizationToken() {\n if (localStorage.getItem('currentUser')) {\n const currentUser = JSON.parse(localStorage.getItem('currentUser') || '{}');\n return currentUser.token;\n }\n }\n\n \n}\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable, Optional } from '@angular/core';\nimport { JwtHelperService } from '@auth0/angular-jwt';\nimport { of } from 'rxjs';\nimport { catchError, map, retry } from 'rxjs/operators';\nimport { Configurations } from '../../configurations';\nimport { AuthService } from './auth.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CreateDashboardService {\n public env!: any;\n\n httpOptions: any;\n constructor(\n private http: HttpClient,\n private authService: AuthService,\n @Optional() config?: Configurations\n ) {\n if (config) {\n this.env = config.envConfig;\n }\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n token: this.authService.getAuthorizationToken(),\n }),\n };\n }\n\n /*\n * Fetches the Organization Users List by making an API call\n */\n getOrganizationUsers(url?: any) {\n return this.http\n .get(\n this.env?.organizationGet +\n 'organisationUsersList&paginationType=small' +\n (url.p ? '&p=' + url.p : '') +\n (url.type ? '&type=' + url.type : '') +\n (url.q ? '&q=' + url.q : ''),\n this.httpOptions\n )\n .pipe(\n map((res: any) => {\n return res;\n }),\n retry(2),\n catchError((err) => of(err))\n );\n }\n\n /**\n * Fetches the OrganizationUsers details of users List to set pagination details including number of\n * pages and records limit per page,\n * @param url contains info about type & search query\n */\n getOrganizationUsersCount(url?: any) {\n return this.http\n .get(\n this.env?.organizationGet +\n 'organisationUsersCount&paginationType=small' +\n (url.type ? '&type=' + url.type : '') +\n (url.q ? '&q=' + url.q : ''),\n this.httpOptions\n )\n .pipe(\n map((res) => {\n return res;\n }),\n catchError((err) => of(err))\n );\n }\n\n getCategoryList() {\n const headers = new HttpHeaders().set(\n 'token',\n this.authService.getAuthorizationToken()\n );\n return this.http\n .get<any[]>(this.env?.riskGet + 'category/list', { headers })\n .pipe(retry(2));\n }\n\n /**\n * Fetches all users by making an API call\n */\n getAllUsers() {\n return this.http\n .get(\n this.env?.organizationGet + 'selectAllUsers&type=all',\n this.httpOptions\n )\n .pipe(retry(2));\n }\n\n /**\n * Fetches all groups by making an API call\n * */\n getAllGroups(params?: HttpParams) {\n const headers = new HttpHeaders().set(\n 'token',\n this.authService.getAuthorizationToken()\n );\n return this.http\n .get(\n this.env?.organizationGet +\n 'groupsList&permType=dashboard&memberExists=1',\n { params, headers }\n )\n .pipe(retry(2));\n }\n\n /**\n * Fetches responsibilityCentersList by making an API call\n */\n getResponsibilityCenterList() {\n const headers = new HttpHeaders().set(\n 'token',\n this.authService.getAuthorizationToken()\n );\n return this.http\n .get<any[]>(this.env?.complianceGet + 'responsibilityCenterTree', {\n headers,\n })\n .pipe(retry(2));\n }\n\n getComplianceCategoriesList() {\n const headers = new HttpHeaders().set(\n 'token',\n this.authService.getAuthorizationToken()\n );\n return this.http\n .get<any[]>(\n this.env.complianceGet + 'complianceCategory/CategoryListTree',\n {\n headers,\n }\n )\n .pipe(retry(2));\n }\n\n getComplianceCategoriesListFromGlobal() {\n const headers = new HttpHeaders().set(\n 'token',\n this.authService.getAuthorizationToken()\n );\n return this.http\n .get<any[]>(\n this.env?.complianceGet +\n 'complianceCategory/CategoryListTree&program=1&isDashboard=true',\n {\n headers,\n }\n )\n .pipe(retry(2));\n }\n\n submitDashboard(payload: any) {\n const headers = new HttpHeaders().set(\n 'token',\n this.authService.getAuthorizationToken()\n );\n return this.http\n .post(this.env.dashboard + 'CreateDashboard', payload, { headers })\n .pipe(retry(2));\n }\n\n /**\n * Fetches the Dashboard details for data population to Edit the dashboard\n * @param id\n */\n fetchDashboard(id: any) {\n return this.http\n .get(this.env.dashboard + id + '?mode=edit', this.httpOptions)\n .pipe(retry(2));\n }\n\n updateDashboard(id: any, payload: any) {\n return this.http\n .put(\n this.env.dashboard + 'UpdateDashboard/' + id,\n payload,\n this.httpOptions\n )\n .pipe(retry(2));\n }\n\n getUserInformation() {\n return this.http\n .get(\n this.env?.organizationGet + 'users&id=' + this?._ID(),\n this.httpOptions\n )\n .pipe(retry(2));\n }\n _ID() {\n const helper = new JwtHelperService();\n const myRawToken = localStorage.getItem('currentUser') || '{}';\n const isExpired = helper?.isTokenExpired(myRawToken);\n if (isExpired === false) {\n const tokenInfo = helper?.decodeToken(myRawToken);\n return tokenInfo._id;\n }\n return '';\n }\n\n checkDuplicateDashboardName(payload: any) {\n return this.http\n .post(\n this.env.dashboard + 'DuplicateDashboard',\n payload,\n this.httpOptions\n )\n .pipe(retry(2));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\n\n/**\n * Service to implement pagination for users while creating an app\n */\nexport class PaginationService {\n currentPage = 1;\n searchValue = '';\n currentValues = new BehaviorSubject({});\n\n constructor() { }\n\n setCurrentState() {\n this.currentValues.next(true);\n }\n reset(){\n this.currentPage = 1;\n this.searchValue = '';\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SnackBarService {\n snackbarSubject = new Subject<any>();\n constructor() {}\n\n show(message: string, icon?: string) {\n this.snackbarSubject.next({\n show: true,\n message,\n icon,\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PopoverService {\n stopScroll = false;\n positionX!: number;\n positionY!: number;\n popoverHeight: any;\n popoverWidth: any;\n elementPosition: any;\n elementDirection: any;\n constructor() {\n console.log(this.popoverHeight);\n }\n}\n","import { Injectable, Optional } from '@angular/core';\nimport { widgetDataModel } from '../interfaces/widget-data-model';\nimport {\n HttpClient,\n HttpHeaders,\n JsonpClientBackend,\n} from '@angular/common/http';\nimport { catchError, map, retry } from 'rxjs/operators';\nimport { JwtHelperService } from '@auth0/angular-jwt';\nimport { of } from 'rxjs';\nimport { AuthService } from './auth.service';\nimport { Configurations } from '../../configurations';\nimport { ASSETS } from '../constants/assets.constant';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigureWidgetsService {\n public env!: any;\n\n constructor(\n private http: HttpClient,\n private authService: AuthService,\n @Optional() config?: Configurations\n ) {\n if (config) {\n this.env = config.envConfig;\n }\n }\n\n // complianceWidgetsData = [\n // {\n // title: 'Overview',\n // id: 'overview_flag',\n // description:\n // 'Displays all responsibilities that have been assigned to you.',\n // widgetImage: ASSETS.overviewWidget,\n // value: 0,\n // },\n // {\n // title: 'Responsibility Calendar',\n // id: 'compliance_calendar_flag',\n // description:\n // 'Displays all responsibilities that are due on a particular day.',\n // widgetImage: ASSETS.responsibilityCalenderWidget,\n // value: 0,\n // },\n // {\n // title: 'Responsibility Center Overview',\n // id: 'responsibility_center_overview_flag',\n // description:\n // 'Displays all responsibilities that have been assigned to you.',\n // widgetImage: ASSETS.overviewWidget,\n // value: 0,\n // },\n // {\n // title: 'My Responsibilities',\n // id: 'my_responsibilities',\n // description:\n // 'Displays all responsibilities that have been assigned to you.',\n // widgetImage: ASSETS.myResponsibilitiesWidget,\n // tabOption: true,\n // value: 0,\n // },\n // {\n // title: 'Key Responsibilities',\n // id: 'key_responsibilities',\n // description:\n // 'Displays all responsibilities that are due on a particular day.',\n // widgetImage: ASSETS.keyResponsibilitiesWidget,\n // tabOption: true,\n // value: 0,\n // },\n // {\n // title: 'Trend Analysis',\n // id: 'trend_analysis_flag',\n // description:\n // 'Displays all responsibilities that have been assigned to you.',\n // widgetImage: ASSETS.trendAnalysisWidget,\n // value: 0,\n // },\n // {\n // title: 'Workroom Updates',\n // id: 'workroom_alert_flag',\n // description:\n // 'Displays all responsibilities that have been assigned to you.',\n // widgetImage: ASSETS.workroomUpdatesWidget,\n // value: 0,\n // },\n // {\n // title: 'Recent Activities',\n // id: 'recent_activity_flag',\n // description:\n // 'Displays all responsibilities that have been assigned to you.',\n // widgetImage: ASSETS.recentActivitiesWidget,\n // value: 0,\n // },\n // {\n // title: 'Exception Summary',\n // id: 'exception_summary_flag',\n // description:\n // 'Displays all responsibilities that have been assigned to you.',\n // widgetImage: ASSETS.exceptionSummaryWidget,\n // value: 0,\n // },\n // ];\n\n riskWidgetsData = [\n {\n title: 'Risk Overview',\n id: 'risk_overview',\n description: 'description',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-overview.png',\n widgetImage: ASSETS.riskOverviewWidget,\n value: 0,\n },\n {\n title: 'Risk Appetite & Tolerance',\n id: 'risk_appetite_tolerance',\n description: 'description',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',\n widgetImage: ASSETS.appetiteToleranceWidget,\n value: 0,\n },\n {\n title: 'Risk Ratings',\n id: 'risk_ratings',\n description: 'Description.',\n widgetImage: ASSETS.appetite_tolerance,\n value: 0,\n },\n {\n title: 'Risks Without Controls',\n id: 'risks_without_controls',\n description: 'Description',\n widgetImage: ASSETS.appetite_tolerance,\n value: 0,\n },\n {\n title: 'Risks Exceeding Risk Tolerance',\n id: 'exceeds_risk_tolerance',\n description: 'description',\n widgetImage: ASSETS.appetite_tolerance,\n value: 0,\n },\n {\n title: 'Inherent Risk Rating by Responsibility Centers ',\n id: 'inherent_risk_rating_by_responsibility_centers',\n description: 'Description.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-RC.png',\n widgetImage: ASSETS.inherentRCWidget,\n value: 0,\n },\n {\n title: 'Residual Risk Rating by Responsibility Centers ',\n id: 'residual_risk_rating_by_responsibility_centers',\n description: 'Description.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-RC.png',\n widgetImage: ASSETS.residualRCWidget,\n value: 0,\n },\n {\n title: 'Risk Category Overview',\n id: 'risk_category_overview',\n description: 'description',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-category-overview.png',\n widgetImage: ASSETS.riskCategoryOverviewWidget,\n value: 0,\n },\n {\n title: 'Risk Heatmap',\n id: 'risk_heatmap',\n description: 'Description.',\n widgetImage: ASSETS.riskHeatmapWidget,\n value: 0,\n },\n {\n title: 'Inherent Risk Rating by Categories',\n id: 'inherent_risk_rating_by_categories',\n description: 'Description.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-categories.png',\n widgetImage: ASSETS.inherentCategoriesWidget,\n value: 0,\n },\n\n {\n title: 'Residual Risk Rating by Categories',\n id: 'residual_risk_rating_by_categories',\n description: 'description',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-categories.png',\n widgetImage: ASSETS.residualCategoriesWidget,\n value: 0,\n },\n {\n title: 'Inherent Risk Rating Trend by Responsibility Centers',\n id: 'inherent_risk_rating_trend_by_responsibility_centers',\n description: 'Description.',\n widgetImage: ASSETS.inherent_trend,\n value: 0,\n },\n {\n title: 'Residual Risk Rating Trend by Responsibility Centers',\n id: 'residual_risk_rating_trend_by_responsibility_centers',\n description: 'Description.',\n widgetImage: ASSETS.residual_trend,\n value: 0,\n },\n {\n title: 'Risk Rating Trend by Categories',\n id: 'risk_rating_trend_by_categories',\n description: 'Description.',\n widgetImage: ASSETS.risk_trend,\n value: 0,\n },\n {\n title: 'Top 5 Risk Ratings',\n id: 'top_5_residual_risk_ratings',\n description: 'Description.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/5-risk-ratings.png',\n widgetImage: ASSETS.tenRiskRatingsWidget,\n value: 0,\n },\n ];\n auditWidgetsData = [];\n policyWidgetsData = [];\n\n // For dashboard view\n dashBoardWidgetUpdate(widGetJson: any) {\n const headers = new HttpHeaders().set(\n 'token',\n this.authService.getAuthorizationToken()\n );\n return this.http\n .put(this.env.OrganizationPut + 'dashboardWidgets', widGetJson)\n .pipe(retry(2));\n }\n\n moduleType(identifier: string) {\n if (JSON.stringify(this.riskWidgetsData).includes(identifier)) {\n return 'RISK';\n // } else if (JSON.stringify(this.complianceWidgetsData).includes(identifier)) {\n // return 'COMPLIANCE';\n }\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-cs-radio',\n templateUrl: './cs-radio.component.html',\n styleUrls: ['./cs-radio.component.less'],\n})\nexport class CsRadioComponent implements OnInit {\n @Input() disabled!: boolean;\n @Input() readonly!: boolean;\n @Input() name!: string;\n @Input() checked!: boolean;\n @Input() value: any;\n @Output() checkedEvent = new EventEmitter();\n constructor() {}\n\n ngOnInit(): void {}\n changeState(evt: any) {\n this.checkedEvent.emit(evt);\n }\n}\n","<label class=\"radio-item\" [class.readonly]=\"readonly\">\n <input type=\"radio\" [disabled]=\"disabled\" [name]=\"name\" [value]=\"value\" [checked]=\"checked\" (change)=\"changeState($event)\" />\n <span class=\"radio\">\n <span class=\"inner\"></span>\n </span>\n <svg class=\"radiomark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\n <circle class=\"radiomark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <circle class=\"radiomark__check\" cx=\"26\" cy=\"26\" r=\"5\" fill=\"none\" />\n </svg>\n <span class=\"value\"><ng-content></ng-content></span>\n</label>\n","import {\n Directive,\n Input,\n ElementRef,\n HostListener,\n Renderer2,\n OnInit,\n AfterViewInit,\n ViewChild,\n OnDestroy,\n} from '@angular/core';\n\n@Directive({\n selector: '[arTooltip]',\n})\nexport class ToolTipDirective implements OnInit, OnDestroy {\n @Input('arTooltip') tooltipTitle!: string;\n @Input() placement!: string;\n @Input() type: any;\n @Input() tooltipMandatory!: boolean;\n @Input() showTooltip = true;\n @Input() animate!: boolean;\n tooltip!: HTMLElement;\n offset = 8;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n ngOnInit() {}\n @HostListener('mouseenter') onMouseEnter() {\n this.hide();\n this.show();\n }\n @HostListener('mouseover') onMouseOver() {\n this.hide();\n this.show();\n }\n\n @HostListener('mouseleave') onMouseLeave() {\n this.hide();\n }\n @HostListener('mouseout') onMouseOut() {\n this.hide();\n }\n @HostListener('click') onClick() {\n this.hide();\n }\n ngOnDestroy() {\n this.hide();\n }\n show() {\n if (!this.showTooltip) {\n return;\n }\n this.create();\n const element = this.el.nativeElement;\n if (this.tooltipMandatory === true) {\n this.setPosition();\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\n } else {\n if (\n element.scrollWidth * element.scrollHeight >\n element.offsetWidth * element.offsetHeight\n ) {\n this.setPosition();\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\n }\n }\n }\n\n hide() {\n if (document.body.contains(this.tooltip)) {\n if (this.renderer) {\n this.renderer.removeChild(\n document.body,\n document.getElementById('tooltip')\n );\n }\n }\n }\n\n create() {\n this.tooltip = this.renderer.createElement('span');\n this.tooltip.setAttribute('id', 'tooltip');\n this.tooltip.innerHTML = this.tooltipTitle;\n this.renderer.appendChild(document.body, this.tooltip);\n this.renderer.addClass(this.tooltip, 'ng-tooltip');\n this.renderer.addClass(this.tooltip, `ng-tooltip-${this.placement}`);\n this.renderer.addClass(this.tooltip, `${this.type}`);\n if (this.animate) {\n this.renderer.addClass(this.tooltip, `animate-${this.placement}`);\n }\n }\n\n setPosition() {\n const hostPos = this.el.nativeElement.getBoundingClientRect();\n const tooltipPos = this.tooltip.getBoundingClientRect();\n const scrollPos =\n window.pageYOffset ||\n document.documentElement.scrollTop ||\n document.body.scrollTop ||\n 0;\n const w = window.innerWidth;\n const h = window.innerHeight;\n let top;\n let left;\n if (this.placement === 'top') {\n top = hostPos.top - tooltipPos.height - this.offset;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n }\n\n if (this.placement === 'bottom') {\n if (hostPos.top + tooltipPos.height > h) {\n top = hostPos.top - tooltipPos.height;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n this.renderer.removeClass(this.tooltip, `ng-tooltip-bottom`);\n this.renderer.addClass(this.tooltip, `ng-tooltip-top`);\n } else {\n top = hostPos.bottom + this.offset;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n }\n }\n\n if (this.placement === 'left') {\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\n left = hostPos.left - tooltipPos.width - this.offset;\n }\n\n if (this.placement === 'right') {\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\n left = hostPos.right + this.offset;\n }\n if (this.placement === 'bottom-right') {\n top = hostPos.bottom + this.offset;\n left = hostPos.left - (tooltipPos.width - 28);\n }\n if (this.placement === 'bottom-left') {\n if (hostPos.top + tooltipPos.height > h - 30) {\n top = hostPos.top - tooltipPos.height;\n console.log('bottom left', hostPos.top - tooltipPos.height);\n left = hostPos.left;\n this.renderer.removeClass(this.tooltip, `ng-tooltip-bottom-left`);\n this.renderer.addClass(this.tooltip, `ng-tooltip-top-left`);\n } else {\n top = hostPos.bottom + this.offset;\n left = hostPos.left;\n }\n }\n this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`);\n }\n}\n","import { Observable, Subject } from 'rxjs';\n\nexport class DialogRef {\n private readonly afterDialogClosed = new Subject<any>();\n afterClosed: Observable<any> = this.afterDialogClosed.asObservable();\n constructor() {}\n\n close(result?: any) {\n this.afterDialogClosed.next(result);\n document.body.style.overflow = 'auto';\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { PopoverService } from './popover.service';\n\n@Component({\n selector: 'app-popover',\n templateUrl: './popover.component.html',\n styleUrls: ['./popover.component.less'],\n})\nexport class PopoverComponent implements OnInit {\n @Input() dontCloseonClick = false;\n popoverContainer = false;\n @ViewChild('popoverRatio') popoverRatio!: ElementRef;\n @ViewChild('popoverContent') popoverContent!: ElementRef;\n @Output() closedOnOverlay = new EventEmitter();\n constructor(public popoverService: PopoverService) {}\n showPopover = false;\n leftValue: any;\n topValue: any;\n popoverHeight: any;\n popoverWidth: any;\n positionX!: number;\n positionY!: number;\n ngOnInit(): void {}\n popover() {\n this.popoverContainer = false;\n this.popoverContainer = true;\n setTimeout(() => {\n this.getPosition();\n this.showPopover = true;\n this.popoverService.stopScroll = true;\n // document.body.style.overflow = 'hidden';\n }, 10);\n return false;\n }\n popoverEvent() {\n this.popoverContainer = false;\n this.popoverContainer = true;\n setTimeout(() => {\n // this.getPosition();\n this.positionX = this.popoverService.positionX;\n this.positionY = this.popoverService.positionY;\n this.showPopover = true;\n this.popoverService.stopScroll = true;\n\n }, 10);\n return false;\n }\n closePopover(top?: string) {\n if (!this.dontCloseonClick || top === 'top') {\n this.popoverContainer = false;\n this.showPopover = false;\n this.popoverService.stopScroll = false;\n // document.body.style.overflow = 'auto';\n }\n }\n\n close(){\n this.popoverContainer = false;\n this.showPopover = false;\n this.popoverService.stopScroll = false;\n }\n\n clickedPopover() {\n this.getPosition();\n }\n getPosition() {\n // setTimeout(() => {\n const elementPositionn = this.popoverService.elementPosition;\n this.popoverHeight = this.popoverRatio.nativeElement.offsetHeight;\n this.popoverWidth = this.popoverRatio.nativeElement.offsetWidth;\n if (this.popoverService.elementDirection === 'left') {\n this.leftValue = elementPositionn.left;\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\n this.topValue = elementPositionn.top - this.popoverHeight;\n } else {\n this.topValue = elementPositionn.top + elementPositionn.height;\n }\n }\n if (this.popoverService.elementDirection === 'right') {\n this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverWidth;\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\n this.topValue = elementPositionn.top - this.popoverHeight;\n } else {\n this.topValue = elementPositionn.top + elementPositionn.height;\n }\n }\n if (this.popoverService.elementDirection === 'top') {\n this.leftValue = elementPositionn.left + elementPositionn.width;\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\n this.topValue = elementPositionn.top - this.popoverHeight;\n } else {\n this.topValue = elementPositionn.top - this.popoverHeight;\n }\n }\n if (this.popoverService.elementDirection === 'bottom') {\n this.leftValue = elementPositionn.left + elementPositionn.width;\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\n this.topValue = elementPositionn.top - this.popoverHeight;\n } else {\n this.topValue = elementPositionn.top + elementPositionn.height;\n }\n }\n if (this.popoverService.elementDirection === 'self-position') {\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\n this.topValue = elementPositionn.top - 15;\n }\n if (this.popoverService.elementDirection === 'top-center') {\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\n // this.topValue = elementPositionn.top - this.popoverHeight;\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight) {\n this.topValue = elementPositionn.top + elementPositionn.height;\n } else {\n this.topValue = elementPositionn.top - this.popoverHeight;\n }\n }\n if (this.popoverService.elementDirection === 'center') {\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\n this.topValue = elementPositionn.top + elementPositionn.height;\n }\n this.positionX = this.leftValue;\n this.positionY = this.topValue;\n // }, 10);\n }\n}\n","<div class=\"popover-overlay\" *ngIf=\"popoverContainer\" (click)=\"closePopover('top');this.closedOnOverlay.emit();\"></div>\n<div class=\"action\" [class.active]=\"showPopover\" *ngIf=\"popoverContainer\" [style.top.px]=\"positionY\" [style.left.px]=\"positionX\" #popoverRatio id=\"popoverRatio\">\n <div (click)=\"closePopover(); clickedPopover()\" #popoverContent>\n <ng-content></ng-content>\n </div>\n</div>\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\nimport { PopoverService } from './popover.service';\n\n@Directive({\n selector: '[appPopover]',\n})\nexport class PopoverDirective {\n dynamicComponent: any;\n @Input() refrence: any;\n @Input() placement!: string;\n leftValue: any;\n topValue: any;\n constructor(private elRef: ElementRef, private popoverService: PopoverService) {}\n @HostListener('click') click() {\n this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\n this.popoverService.elementDirection = this.placement;\n // this.getPosition();\n }\n\n getPosition() {\n setTimeout(() => {\n // this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\n const elementPositionn = this.elRef.nativeElement.getBoundingClientRect();\n if (this.placement === 'left') {\n this.leftValue = elementPositionn.left;\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\n } else {\n this.topValue = elementPositionn.top + elementPositionn.height;\n }\n }\n if (this.placement === 'right') {\n this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverService.popoverWidth;\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\n } else {\n this.topValue = elementPositionn.top + elementPositionn.height;\n }\n }\n if (this.placement === 'top') {\n this.leftValue = elementPositionn.left + elementPositionn.width;\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\n } else {\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\n }\n }\n if (this.placement === 'bottom') {\n this.leftValue = elementPositionn.left + elementPositionn.width;\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\n } else {\n this.topValue = elementPositionn.top + elementPositionn.height;\n }\n }\n if (this.placement === 'self-position') {\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\n this.topValue = elementPositionn.top - 15;\n }\n if (this.placement === 'top-center') {\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\n }\n if (this.placement === 'bottom-center') {\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\n this.topValue = elementPositionn.top + this.popoverService.popoverHeight;\n }\n this.popoverService.positionX = this.leftValue;\n this.popoverService.positionY = this.topValue;\n }, 10);\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { SnackBarService } from '../snack-bar/snack-bar.service';\n\n@Component({\n selector: 'floating-bar',\n templateUrl: './floating-bar.component.html',\n styleUrls: ['./floating-bar.component.less']\n})\nexport class FloatingBarComponent implements OnInit {\n @Output() cancelEvent = new EventEmitter<string>();\n @Output() submitEvent = new EventEmitter<string>();\n @Output() deleteEvent: EventEmitter<number> = new EventEmitter();\n @Input() text!: boolean;\n @Input() frequencyMessage: any;\n @Input() singleCategory: any;\n @Input() selectedData: any;\n\n constructor(private snackBar: SnackBarService\n ) {\n this.selectedData = [];\n }\n\n ngOnInit(): void {\n }\n cancelFloatingBar() {\n this.cancelEvent.emit();\n }\n submitFloatingBar() {\n if (this.selectedData.length < 1) {\n this.snackBar.show('Select a widget.','alert');\n return\n }\n this.submitEvent.emit(this.selectedData);\n }\n\n deleteSelected(index: number) {\n this.deleteEvent.emit(index);\n }\n\n}\n","<div class=\"lib-floating-bar-container\">\n <div class=\"lib-floating-bar vx-d-flex vx-align-center vx-justify-between vx-p-3\">\n <div class=\"left vx-d-flex vx-align-center\" *ngIf=\"text && !frequencyMessage && !singleCategory\">\n <span class=\"value\">This audit plan needs to be <strong>reviewed</strong> within 2 days after it has been completed.</span>\n </div>\n <div class=\"left vx-d-flex vx-align-center\" *ngIf=\"frequencyMessage && !text\">\n <span class=\"value\" [innerHTML]=\"frequencyMessage\"></span>\n </div>\n <div class=\"left vx-d-flex vx-align-center\" *ngIf=\"singleCategory && !frequencyMessage && !text\">\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2 vx-mr-2\">\n <span class=\"chipName vx-fs-11 vx-label-txt\" [arTooltip]=\"singleCategory\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{singleCategory}}</span>\n </div>\n </div>\n <div class=\"left vx-d-flex vx-align-center\" *ngIf=\"!singleCategory && !text && !frequencyMessage\">\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2 vx-mr-2\" *ngIf=\"selectedData.length\">\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\" (click)=\"deleteSelected(selectedData[0])\">&#xe9ae;</i>\n <span class=\"chipName vx-fs-11 vx-label-txt\" [arTooltip]=\"selectedData[0]?.title\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{selectedData[0]?.title}}</span>\n <button class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\" appPopover (click)=\"countPopup.popover()\" placement=\"left\" *ngIf=\"selectedData?.length > 1\">+{{selectedData?.length - 1}}</button>\n </div>\n \n <span class=\"vx-fs-12 vx-paragraph-txt\" *ngIf=\"(selectedData?.length - 1) === 1\">Widget Selected</span>\n <span class=\"vx-fs-12 vx-paragraph-txt\" *ngIf=\"(selectedData?.length - 1) > 1\">Widgets Selected</span>\n\n <app-popover #countPopup [dontCloseonClick]=\"true\">\n <div class=\"lib-floating-bar-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let data of selectedData | slice: 1; let j = index\">\n <div class=\"avatar-card\">\n <span class=\"value\" [arTooltip]=\"data?.title\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\"><i class=\"icons cross-icon vx-mr-2\" (click)=\"deleteSelected(data)\">&#xe90d;</i>{{data?.title}}</span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n <div class=\"right vx-d-flex vx-align-center\">\n <button class=\"cancel-btn\" (click)=\"cancelFloatingBar()\">Cancel</button>\n <!-- <button class=\"vx-bg-blue vx-txt-white vx-fw-500 vx-tt-uppercase\" (click)=\"submitFloatingBar()\">Update</button> -->\n <button class=\"save-btn\" (click)=\"submitFloatingBar()\">Save</button>\n </div>\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-cs-checkbox',\n templateUrl: './cs-checkbox.component.html',\n styleUrls: ['./cs-checkbox.component.less'],\n})\nexport class CsCheckboxComponent implements OnInit {\n @Input() disabled!: boolean;\n @Input() ngValue: any;\n @Input() value: any;\n @Output() ngValueChange = new EventEmitter<any>();\n constructor() {}\n\n ngOnInit(): void {}\n valueChanged() {\n this.ngValueChange.emit(this.ngValue);\n }\n}\n","<label class=\"checkbox-item\" [class.disabled]=\"disabled\">\n <input type=\"checkbox\" [name]=\"value\" [disabled]=\"disabled\" [(ngModel)]=\"ngValue\" (ngModelChange)=\"valueChanged()\" />\n <span class=\"checkbox\">\n <span class=\"inner\"></span>\n </span>\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\n <circle class=\"checkmark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path class=\"checkmark__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\n </svg>\n <span class=\"value\"><ng-content></ng-content></span>\n</label>\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-no-data',\n templateUrl: './no-data.component.html',\n styleUrls: ['./no-data.component.less'],\n})\nexport class NoDataComponent implements OnInit {\n @Input() action!: any;\n @Input() noDataImage!: string;\n @Input() noDataText = '';\n @Input() noDataButton!: string | boolean;\n @Input() noDataSecButton!: string | boolean;\n @Input() altText!: string;\n @Output() buttonAction = new EventEmitter<object>();\n @Input() smallButton!: boolean;\n @Input() buttonIcon!: any;\n @Input() iconClass!: any;\n constructor() { }\n\n ngOnInit(): void { }\n\n actionEmitter(button: object) {\n this.buttonAction.emit(button);\n }\n}\n","<div class=\"no-data-wrapper\">\n <div class=\"no-data-container\">\n <img [src]=\"noDataImage\" [alt]=\"altText\" class=\"image\" />\n <p class=\"text\" [innerHTML]=\"noDataText\" *ngIf=\"noDataText\"></p>\n <div class=\"button-row\" *ngFor=\"let button of action\">\n <button *ngIf=\"!button?.buttonIcon\" (click)=\"actionEmitter(button)\" [innerHTML]=\"button?.buttonText\"\n [class.small]=\"smallButton\"></button>\n <button *ngIf=\"button?.buttonIcon\" (click)=\"actionEmitter(button)\" [class.small]=\"smallButton\">\n <i class=\"icons\" [innerHTML]=\"button?.buttonIcon\"></i> <span\n [innerHTML]=\"button?.buttonText\"></span>\n </button>\n </div>\n </div>\n</div>","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'search'\n})\nexport class SearchPipe implements PipeTransform {\n\n transform(value: any, args?: any): any {\n if (!value) {\n return null;\n }\n if (!args) {\n return value;\n }\n\n args = args.toLowerCase();\n\n return value.filter((item: any) => {\n return JSON.stringify(item).toLowerCase().includes(args);\n });\n }\n\n}\n","import { ConfigureWidgetsService } from '../../services/configure-widgets.service';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n} from '@angular/core';\nimport { retry } from 'rxjs/operators';\nimport { widgetDataModel } from '../../interfaces/widget-data-model';\nimport { DialogRef } from '../../../ui-kit/dialog/dialog-ref';\nimport { widgetConfig } from './widget.interface';\nimport { SnackBarService } from '../../../ui-kit/snack-bar/snack-bar.service';\nimport { ASSETS } from '../../constants/assets.constant';\n\n@Component({\n selector: 'app-configure-widgets',\n templateUrl: './configure-widgets.component.html',\n styleUrls: ['./configure-widgets.component.less'],\n})\nexport class ConfigureWidgetsComponent implements OnInit, OnChanges {\n @Output() widgetsDataModified: EventEmitter<any> = new EventEmitter();\n @Output() closeConfigureWidgets: EventEmitter<any> = new EventEmitter();\n checkboxStatus!: any;\n search: string = '';\n checkedArray: Array<{ index: number; status: number }> = [];\n selectedWidgets: Array<widgetDataModel> = [];\n ASSETS = ASSETS;\n module: 'COMPLIANCE' | 'RISK' = 'COMPLIANCE';\n @Input() selectedWidgetsData: any = [];\n @Input() displayedWidgets: any = [];\n @Input() showRisk = false;\n @Input() showCompliance = false;\n @Input() mode = 'CREATE';\n noDataText =\n 'You have not configured any widgets. Click on the <strong>Configure Widgets</strong> button to begin.';\n\n selectedWidgetIds: any = [];\n subResponsibilitiesSelected: boolean = false;\n subKeyResponsibilitiesSelected: boolean = false;\n showWidgets = true;\n complianceWidgetsDisplayCount = 9;\n riskWidgetsDisplayCount = 9;\n\n constructor(\n private dialog: DialogRef,\n public configureWidgetsService: ConfigureWidgetsService,\n private snackBar: SnackBarService\n ) {}\n\n ngOnChanges() {\n if (this.mode == 'EDIT') {\n this.setWidgetsVisibilityToFalse();\n this.riskWidgetsDisplayCount = 0;\n this.complianceWidgetsDisplayCount = 0;\n const finalData = [...new Set(this.displayedWidgets)];\n finalData.forEach((element: any, index: any) => {\n // this.widgetsList.COMPLIANCE.forEach((ele: any) => {\n // if (ele.id == element.widget_code) {\n // ele.visibility = true;\n // if (ele.subWidgets.length > 0) {\n // const filterData: any = [];\n // element.sub_widgets.filter((subwidget: any) => {\n // filterData.push(subwidget.widget_code);\n // });\n // ele.subWidgets.forEach((subElement: any, subIndex: number) => {\n // if (filterData.includes(subElement.id)) {\n // ele.subWidgets[subIndex].visibility = true;\n // } else {\n // ele.subWidgets[subIndex].visibility = false;\n // }\n // });\n // }\n // this.complianceWidgetsDisplayCount++;\n // }\n // });\n this.widgetsList.RISK.forEach((ele: any) => {\n if (ele.id == element.widget_code) {\n ele.visibility = true;\n if (ele.subWidgets.length > 0) {\n const filterData: any = [];\n element.sub_widgets.filter((subwidget: any) => {\n filterData.push(subwidget.widget_code);\n });\n ele.subWidgets.forEach((subElement: any, subIndex: number) => {\n if (filterData.includes(subElement.id)) {\n ele.subWidgets[subIndex].visibility = true;\n } else {\n ele.subWidgets[subIndex].visibility = false;\n }\n });\n }\n this.riskWidgetsDisplayCount++;\n }\n });\n });\n }\n const data = [...new Set(this.selectedWidgetsData)];\n data.forEach((element: any, index: any) => {\n // this.widgetsList.COMPLIANCE.forEach((ele: any) => {\n // if (ele.id == element.widget_code && element.state == 'ACTIVE') {\n // ele.value = true;\n // if (ele.subWidgets.length > 0) {\n // const filterData: any = [];\n // element.sub_widgets.filter((subwidget: any) => {\n // if (subwidget.state == 'ACTIVE') {\n // filterData.push(subwidget.widget_code);\n // }\n // });\n // ele.subWidgets.forEach((subElement: any, subIndex: number) => {\n // if (filterData.includes(subElement.id)) {\n // ele.subWidgets[subIndex].value = true;\n // } else {\n // ele.subWidgets[subIndex].value = false;\n // }\n // });\n // }\n // this.selectedWidgets.push(ele);\n // }\n // });\n this.widgetsList.RISK.forEach((ele: any) => {\n if (ele.id == element.widget_code && element.state == 'ACTIVE') {\n ele.value = true;\n if (ele.subWidgets.length > 0) {\n const filterData: any = [];\n element.sub_widgets.filter((subwidget: any) => {\n if (subwidget.state == 'ACTIVE') {\n filterData.push(subwidget.widget_code);\n }\n });\n ele.subWidgets.forEach((subElement: any, subIndex: number) => {\n if (filterData.includes(subElement.id)) {\n ele.subWidgets[subIndex].value = true;\n } else {\n ele.subWidgets[subIndex].value = false;\n }\n });\n }\n this.selectedWidgets.push(ele);\n }\n });\n });\n this.module = this.showCompliance ? 'COMPLIANCE' : 'RISK';\n this.setSelectedWidgets();\n }\n\n ngOnInit(): void {}\n\n widgetsList = {\n // COMPLIANCE: [\n // {\n // title: 'Overview',\n // id: 'overview',\n // description:\n // 'Overview shows the performance of responsibilities and Programs.',\n // widgetImage: ASSETS.overviewWidget,\n // value: false,\n // visibility: true,\n // module: 'COMPLIANCE',\n // subWidgets: [],\n // },\n // {\n // title: 'Responsibility Calendar',\n // id: 'compliance_calendar_flag',\n // description:\n // 'The Responsibility Calendar shows the due dates of responsibilities in a calendar format. The responsibilities are color coded to reflect the status of the responsibilities.',\n // widgetImage: ASSETS.responsibilityCalenderWidget,\n // value: false,\n // visibility: true,\n // module: 'COMPLIANCE',\n // subWidgets: [],\n // },\n // {\n // title: 'Responsibility Center Overview',\n // id: 'responsibility_center_overview_flag',\n // description:\n // 'The Responsibility Center Overview shows the performance of responsibilities and Responsibility Centers.',\n // widgetImage: ASSETS.responsibilityCenterOverviewWidget,\n // value: false,\n // visibility: true,\n // module: 'COMPLIANCE',\n // subWidgets: [],\n // },\n // {\n // title: 'Responsibilities',\n // id: 'my_responsibilities',\n // description:\n // 'This widget shows the performance of the responsibilities that you are required to complete, the responsibilities that you are reviewing and the responsibilities that you are overseeing.',\n // widgetImage: ASSETS.myResponsibilitiesWidget,\n // tabOption: true,\n // value: false,\n // visibility: true,\n // module: 'COMPLIANCE',\n // subWidgets: [\n // {\n // title: 'My Responsibilities',\n // id: 'my_responsibility_flag',\n // value: false,\n // visibility: true,\n // },\n // {\n // title: 'I’m Reviewing',\n // id: 'reviewer_responsibility_flag',\n // value: false,\n // visibility: true,\n // },\n // {\n // title: 'I’m Overseeing',\n // id: 'cc_responsibility_flag',\n // value: false,\n // visibility: true,\n // },\n // ],\n // },\n // {\n // title: 'Key Responsibilities',\n // id: 'key_responsibilities',\n // description:\n // 'This widget shows the performance of key responsibilities that you are required to complete, that you are reviewing, that you are overseeing and that you have assigned to another person.',\n // widgetImage: ASSETS.keyResponsibilitiesWidget,\n // tabOption: true,\n // value: false,\n // visibility: true,\n // module: 'COMPLIANCE',\n // subWidgets: [\n // {\n // title: 'Overview',\n // id: 'key_responsibilities_overview_flag',\n // value: false,\n // visibility: true,\n // },\n // {\n // title: 'My Responsibilities',\n // id: 'key_my_responsibilities_flag',\n // value: false,\n // visibility: true,\n // },\n // {\n // title: 'I’m Reviewing',\n // id: 'key_i_am_reviewing_flag',\n // value: false,\n // visibility: true,\n // },\n // {\n // title: 'I’m Overseeing',\n // id: 'key_i_am_overseeing_flag',\n // value: false,\n // visibility: true,\n // },\n // ],\n // },\n // {\n // title: 'Trend Analysis',\n // id: 'trend_analysis_flag',\n // description:\n // 'The Trend Analysis is a graphical representation of the performance of responsibilities over a period.',\n // widgetImage: ASSETS.trendAnalysisWidget,\n // value: false,\n // visibility: true,\n // module: 'COMPLIANCE',\n // subWidgets: [],\n // },\n // {\n // title: 'Workroom Updates',\n // id: 'workroom_alert_flag',\n // description:\n // 'The Responsibility Workroom shows updates from the Responsibility Workrooms. A Responsibility Workroom exists for all responsibilities.',\n // widgetImage: ASSETS.workroomUpdatesWidget,\n // value: false,\n // visibility: true,\n // module: 'COMPLIANCE',\n // subWidgets: [],\n // },\n // {\n // title: 'Recent Activities',\n // id: 'recent_activity_flag',\n // description:\n // 'This is a chronological view of the recent updates of responsibilities.',\n // widgetImage: ASSETS.recentActivitiesWidget,\n // value: false,\n // visibility: true,\n // module: 'COMPLIANCE',\n // subWidgets: [],\n // },\n // {\n // title: 'Exception Summary',\n // id: 'exception_summary_flag',\n // description:\n // 'Exceptions Summary show the number of responsibilities that are either not accepted, not completed or deleted.',\n // widgetImage: ASSETS.exceptionSummaryWidget,\n // value: false,\n // visibility: true,\n // module: 'COMPLIANCE',\n // subWidgets: [],\n // },\n // ],\n RISK: [\n {\n title: 'Risk Overview',\n id: 'risk_overview',\n description:\n 'This widget shows the number and percentage of risks within each risk response strategy.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-overview.png',\n widgetImage: ASSETS.riskOverviewWidget,\n value: false,\n visibility: true,\n module: 'RISK',\n subWidgets: [],\n },\n {\n title: 'Risk Metrics',\n id: 'risk_metrics',\n description:\n 'This widget shows the number of risks within each risk appetite, the number of risks that exceed the risk appetite, the number of risks that exceed the risk tolerance, the number of risks within each risk rating, and the number of risks that do not have any linked controls.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',\n widgetImage: ASSETS.appetiteToleranceWidget,\n value: false,\n visibility: true,\n module: 'RISK',\n subWidgets: [\n {\n title: 'Risk Appetite & Tolerance',\n id: 'risk_appetite_tolerance',\n value: false,\n visibility: true,\n },\n {\n title: 'Risk Ratings',\n id: 'risk_ratings',\n value: false,\n visibility: true,\n },\n {\n title: 'Risks Without Controls',\n id: 'risks_without_controls',\n value: false,\n visibility: true,\n },\n // {\n // title: 'Exceeds Risk Tolerance',\n // id: 'exceeds_risk_tolerance',\n // value: false,\n // visibility:true,\n // },\n ],\n },\n\n {\n title: 'Inherent Risk Rating by Responsibility Centers ',\n id: 'inherent_risk_rating_by_responsibility_centers',\n description:\n 'This widget shows the number of risks within each inherent risk rating, grouped according to the Responsibility Center exposed to the risk.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-RC.png',\n widgetImage: ASSETS.inherentRCWidget,\n value: false,\n visibility: true,\n module: 'RISK',\n subWidgets: [],\n },\n {\n title: 'Residual Risk Rating by Responsibility Centers ',\n id: 'residual_risk_rating_by_responsibility_centers',\n description:\n 'This widget shows the number of risks within each residual risk rating, grouped according to the Responsibility Center exposed to the risk.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-RC.png',\n widgetImage: ASSETS.residualRCWidget,\n value: false,\n visibility: true,\n module: 'RISK',\n subWidgets: [],\n },\n {\n title: 'Risk Category Overview',\n id: 'risk_category_overview',\n description:\n 'This widgets shows the number of risks within each status, grouped according to the Risk Category the risk is assigned to.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-category-overview.png',\n widgetImage: ASSETS.riskCategoryOverviewWidget,\n value: false,\n visibility: true,\n module: 'RISK',\n subWidgets: [],\n },\n {\n title: 'Risk Heatmap',\n id: 'risk_heatmap',\n description:\n 'The Risk Heatmap displays the risk matrix for any two risk factors.',\n widgetImage: ASSETS.riskHeatmapWidget,\n value: false,\n visibility: true,\n module: 'RISK',\n subWidgets: [],\n },\n {\n title: 'Inherent Risk Rating by Categories',\n id: 'inherent_risk_rating_by_categories',\n description:\n 'This widget shows the number of risks within each inherent risk rating, grouped according to the Risk Category that the risk is assigned to.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-categories.png',\n widgetImage: ASSETS.inherentCategoriesWidget,\n value: false,\n visibility: true,\n module: 'RISK',\n subWidgets: [],\n },\n\n {\n title: 'Residual Risk Rating by Categories',\n id: 'residual_risk_rating_by_categories',\n description:\n 'This widget shows the number of risks within each residual risk rating, grouped according to the Risk Category that the risk is assigned to.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-categories.png',\n widgetImage: ASSETS.residualCategoriesWidget,\n value: false,\n visibility: true,\n module: 'RISK',\n subWidgets: [],\n },\n // {\n // title: 'Inherent Risk Rating Trend by Responsibility Centers',\n // id: 'inherent_risk_rating_trend_by_responsibility_centers',\n // description: 'This widget is a graphical representation of the number of risks within each inherent risk rating, grouped according to the Responsibility Center exposed to the risk.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-trend.png',\n // value: false,\n // visibility:true,\n // module: 'RISK',\n // subWidgets: []\n // },\n // {\n // title: 'Residual Risk Rating Trend by Responsibility Centers',\n // id: 'residual_risk_rating_trend_by_responsibility_centers',\n // description: 'This widget is a graphical representation of the number of risks within each residual risk rating, grouped according to the Responsibility Center exposed to the risk.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-trend.png',\n // value: false,\n // visibility:true,\n // module: 'RISK',\n // subWidgets: []\n // },\n // {\n // title: 'Risk Rating Trend by Categories',\n // id: 'risk_rating_trend_by_categories',\n // description: 'This widgets is a trend chart that shows the inherent and residual risk rating trend across the different Risk Categories.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-trend.png',\n // value: false,\n // visibility:true,\n // module: 'RISK',\n // subWidgets: []\n // },\n {\n title: 'Top 10 Risk Ratings',\n id: 'top_10_residual_risk_ratings',\n description:\n 'This widgets shows ths top five risks with the highest risk rating.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/5-risk-ratings.png',\n widgetImage: ASSETS.tenRiskRatingsWidget,\n value: false,\n visibility: true,\n module: 'RISK',\n subWidgets: [],\n },\n ],\n };\n\n selectWidget(\n event: any,\n //module: 'COMPLIANCE' | 'RISK',\n module: 'RISK',\n widgetId: string,\n subWidgetId?: string\n ) {\n const widgetIndex = this.widgetsList[module].findIndex(\n (ele: any) => ele.id == widgetId\n );\n const isSubWidgetAddable = this.selectedWidgets.findIndex(\n (widget: any) => widget.id === widgetId\n );\n if (event) {\n if (\n this.selectedWidgets.length >= 10 &&\n !(subWidgetId && isSubWidgetAddable >= 0)\n ) {\n this.snackBar.show('You cannot add more than 10 widgets.', 'alert');\n this.showWidgets = false;\n setTimeout(() => {\n this.widgetsList[module][widgetIndex].value = false;\n this.showWidgets = true;\n }, 10);\n return;\n }\n this.widgetsList[module][widgetIndex].value = true;\n if (this.widgetsList[module][widgetIndex].subWidgets.length > 0) {\n if (!subWidgetId) {\n this.widgetsList[module][widgetIndex].subWidgets.forEach(\n (ele) => (ele.value = true)\n );\n } else {\n const subWidgetIndex = this.widgetsList[module][\n widgetIndex\n ].subWidgets.findIndex((ele: any) => ele.id == subWidgetId);\n this.widgetsList[module][widgetIndex].subWidgets[\n subWidgetIndex\n ].value = true;\n }\n }\n } else {\n if (this.widgetsList[module][widgetIndex].subWidgets.length > 0) {\n if (!subWidgetId) {\n this.widgetsList[module][widgetIndex].value = false;\n this.widgetsList[module][widgetIndex].subWidgets.forEach(\n (ele: any) => (ele.value = false)\n );\n } else {\n const subWidgetIndex = this.widgetsList[module][\n widgetIndex\n ].subWidgets.findIndex((ele: any) => ele.id == subWidgetId);\n this.widgetsList[module][widgetIndex].subWidgets[\n subWidgetIndex\n ].value = false;\n\n const isAllWidgetsRemoved = this.widgetsList[module][\n widgetIndex\n ].subWidgets.every((ele: any) => ele.value == false);\n if (isAllWidgetsRemoved) {\n this.widgetsList[module][widgetIndex].value = false;\n }\n }\n } else {\n this.widgetsList[module][widgetIndex].value = false;\n }\n }\n this.setSelectedWidgets();\n }\n setSelectedWidgets() {\n this.selectedWidgets = [];\n // this.widgetsList.COMPLIANCE.forEach((ele: any) => {\n // if (ele.value) {\n // this.selectedWidgets.push(ele);\n // }\n // });\n this.widgetsList.RISK.forEach((ele: any) => {\n if (ele.value) {\n this.selectedWidgets.push(ele);\n }\n });\n }\n\n removeWidget(widget: widgetConfig) {\n const widgetIndex = this.widgetsList[widget.module].findIndex(\n (ele: any) => ele.id == widget.id\n );\n this.widgetsList[widget.module][widgetIndex].value = false;\n if (this.widgetsList[widget.module][widgetIndex].subWidgets.length > 0) {\n this.widgetsList[widget.module][widgetIndex].subWidgets.forEach(\n (ele: any) => (ele.value = false)\n );\n }\n this.setSelectedWidgets();\n }\n\n onNextClick() {\n this.widgetsDataModified.emit(this.selectedWidgets);\n }\n\n closeConfigureDashboard() {\n this.selectedWidgets = [];\n this.dialog.close();\n this.closeConfigureWidgets.emit(false);\n }\n\n setWidgetsVisibilityToFalse() {\n // this.widgetsList.COMPLIANCE.forEach((ele: any) => {\n // ele.visibility = false;\n // if (ele.subWidgets.length > 0) {\n // ele.subWidgets.forEach((subElement: any) => {\n // subElement.visibility = false;\n // });\n // }\n // });\n this.widgetsList.RISK.forEach((ele: any) => {\n ele.visibility = false;\n if (ele.subWidgets.length > 0) {\n ele.subWidgets.forEach((subElement: any) => {\n subElement.visibility = false;\n });\n }\n });\n }\n}\n","<div class=\"configure-widgets vx-d-block\" *ngIf=\"showWidgets\">\n <div\n class=\"configure-widgets-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"configure-widgets-title vx-fs-14 vx-fw-500 vx-label-txt\">\n Configure Widgets\n </div>\n <button\n class=\"configure-widgets-back vx-fs-14 vx-fw-500 vx-label-txt vx-m-0 vx-p-0 vx-d-inline-flex vx-align-center\"\n (click)=\"closeConfigureDashboard()\"\n >\n <i class=\"icons vx-fs-16\">&#xe91d;</i> Back\n </button>\n </div>\n <div class=\"configure-widgets-body\">\n <div class=\"configure-widgets-tab\">\n <ul>\n <li\n [class.active]=\"module === 'COMPLIANCE'\"\n *ngIf=\"showCompliance\"\n (click)=\"module = 'COMPLIANCE'\"\n >\n <!-- <button>\n Compliance<span>{{ complianceWidgetsDisplayCount }}</span>\n </button> -->\n </li>\n <li [class.active]=\"module === 'RISK'\" *ngIf=\"showRisk\">\n <button (click)=\"module = 'RISK'\">\n Risks<span>{{ riskWidgetsDisplayCount }}</span>\n </button>\n </li>\n </ul>\n </div>\n <div class=\"configure-widgets-search vx-mb-2\">\n <i class=\"icons\">&#xe90b;</i>\n <input type=\"text\" placeholder=\"Search widgets\" [(ngModel)]=\"search\" />\n </div>\n <div\n class=\"configure-widgets-list vx-d-flex vx-flex-wrap\"\n *ngIf=\"(widgetsList[module] | search : search).length !== 0\"\n >\n <ng-container\n *ngFor=\"let widget of widgetsList[module] | search : search\"\n >\n <div class=\"configure-widgets-item\" *ngIf=\"widget?.visibility\">\n <label class=\"block\">\n <input\n type=\"checkbox\"\n [checked]=\"widget.value\"\n (change)=\"selectWidget($event.target.checked, module, widget.id)\"\n />\n <div class=\"check-icon\">\n <svg\n class=\"check\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"check-circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"check-circle\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"configure-widgets-item-head\">\n <h4\n class=\"configure-widgets-item-title\"\n [innerHTML]=\"widget?.title\"\n ></h4>\n <p\n class=\"configure-widgets-item-description\"\n [innerHTML]=\"widget?.description\"\n ></p>\n <button\n *ngIf=\"!widget.value\"\n class=\"configure-widgets-item-button add\"\n (click)=\"selectWidget(true, module, widget.id)\"\n >\n + ADD\n </button>\n <button\n *ngIf=\"widget.value\"\n class=\"configure-widgets-item-button remove\"\n (click)=\"selectWidget(false, module, widget.id)\"\n >\n - Remove\n </button>\n </div>\n <div class=\"configure-widgets-item-body\">\n <div class=\"image-wrapper\">\n <img\n [ngSrc]=\"widget?.widgetImage\"\n alt=\"\"\n width=\"790\"\n height=\"613\"\n />\n </div>\n <div\n class=\"floating-option vx-d-flex\"\n *ngIf=\"widget?.subWidgets?.length > 0\"\n >\n <ng-container *ngFor=\"let subWidget of widget.subWidgets\">\n <app-cs-checkbox\n *ngIf=\"subWidget.visibility\"\n (ngValueChange)=\"\n selectWidget($event, module, widget.id, subWidget.id)\n \"\n [ngValue]=\"subWidget.value\"\n >{{ subWidget.title }}\n </app-cs-checkbox>\n </ng-container>\n </div>\n </div>\n </label>\n </div>\n </ng-container>\n\n <!-- No Data Image -->\n </div>\n <app-no-data\n *ngIf=\"(widgetsList[module] | search : search).length === 0\"\n [noDataImage]=\"ASSETS.configure_widget\"\n [noDataText]=\"'No data to display'\"\n >\n </app-no-data>\n\n <floating-bar\n (submitEvent)=\"onNextClick()\"\n (cancelEvent)=\"closeConfigureDashboard()\"\n [selectedData]=\"selectedWidgets\"\n (deleteEvent)=\"removeWidget($event)\"\n ></floating-bar>\n </div>\n</div>\n","import { Component, OnInit, Optional } from '@angular/core';\nimport { Configurations } from '../../../configurations';\n\n@Component({\n selector: 'app-loader-inline',\n templateUrl: './loader-inline.component.html',\n styleUrls: ['./loader-inline.component.less'],\n})\nexport class LoaderInlineComponent implements OnInit {\n vLoader: any;\n \n public env!: any;\n\n constructor(@Optional() config?: Configurations) {\n if (config) {\n this.env = config.envConfig;\n }\n this.vLoader = this.env.vLoader;\n }\n\n ngOnInit(): void {}\n}\n","<div class=\"inline-loader\">\n <img [ngSrc]=\"vLoader\" alt=\"\" width=\"45\" height=\"45\" />\n <div class=\"loader-index\">\n <div class=\"loader-index-circle\"></div>\n </div>\n</div>\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs/internal/Subscription';\nimport { SnackBarService } from '../snack-bar.service';\n\n@Component({\n selector: 'app-snack-bar',\n templateUrl: './snack-bar.component.html',\n styleUrls: ['./snack-bar.component.less'],\n})\nexport class SnackBarComponent implements OnInit {\n show = false;\n message: string = '--';\n icon: string = '&#xe914;';\n type='alert'\n icons:any = {\n success:'&#xe93d;',\n warning:'&#xe914;',\n info:'&#xe932;',\n alert:'&#xe914;',\n error:'&#xeaae;'\n }\n constructor(private snackbarService: SnackBarService) {}\n\n ngOnInit(): void {\n this.snackbarService.snackbarSubject.subscribe((state) => {\n if(state.icon && Object.keys(this.icons).includes(state?.icon)){\n this.icon = this.icons[state.icon];\n this.type = state?.icon;\n }\n this.message = state.message;\n this.show = state.show;\n setTimeout(() => {\n this.show = false;\n }, 3000);\n });\n }\n close() {\n this.show = false;\n }\n ngOnDestroy() {\n }\n}\n","<div class=\"snackbar\" *ngIf=\"show\">\n <div class=\"snackbar-inner\">\n <div class=\"snackbarText\">\n <!-- &#xe914; -->\n <i class=\"icons\" [class]=\"type\" [innerHTML]=\"icon\"></i> \n <span [innerHTML]=\"message\">{{ message }}</span>\n </div>\n <button (click)=\"close()\">[ <span>Close</span> ]</button>\n </div>\n</div>\n","import { AfterViewInit, Directive, ElementRef, Input, OnInit, OnChanges, SimpleChanges } from '@angular/core';\n\n@Directive({\n selector: '[appScrollInView]'\n})\nexport class ScrollInViewDirective implements OnChanges {\n@Input() appScrollInView = false;\n constructor(private el: ElementRef) {\n }\nngOnChanges(change:SimpleChanges){\n if(change?.appScrollInView && change?.appScrollInView?.currentValue === true){\n this.scroll();\n }\n}\n ngAfterViewInit() {\n // Otherwise Angular throws error: Expression has changed after it was checked.\n this.scroll();\n }\n\n scroll(){\n if(this.appScrollInView){\n window.setTimeout(() => {\n this.el.nativeElement.scrollIntoView({behavior: 'smooth', block: 'center'});\n });\n }\n }\n\n}\n","import { Component, Input, OnInit, EventEmitter, Output, HostListener } from '@angular/core';\n\n@Component({\n selector: 'app-smiley-dialog',\n templateUrl: './smiley-dialog.component.html',\n styleUrls: ['./smiley-dialog.component.less'],\n})\nexport class SmileyDialogComponent implements OnInit {\n @Input() message!: string;\n @Input() autoClose!: boolean;\n @Input() actionButtons!: any[];\n @Output() action: EventEmitter<string> = new EventEmitter();\n @Output() closeSmiley: EventEmitter<any> = new EventEmitter();\n\n @HostListener('window:keyup', ['$event']) handleKeyboardEvent(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.smileyCloseEmitter({});\n }\n }\n constructor() {}\n\n ngOnInit(): void {\n if (this.autoClose) {\n setTimeout(() => {\n this.close();\n }, 8000);\n }\n }\n close() {\n this.closeSmiley.emit();\n }\n\n actionEmitter(event: any) {\n this.action.emit(event?.id);\n }\n\n smileyCloseEmitter(event: any) {\n this.closeSmiley.emit();\n }\n}\n","<!-- active -->\n<div class=\"smiley-popup active\">\n <button class=\"close\" (click)=\"smileyCloseEmitter($event)\">\n <i class=\"icons\">&#xe93f;</i>\n </button>\n <div class=\"smiley-container\">\n <div class=\"smiley\">\n <!-- active deactive -->\n <div class=\"smiley-circle active\">\n <div class=\"smiley-circle-inner\">\n <div class=\"eyes\">\n <div class=\"eye\"></div>\n <div class=\"eye\"></div>\n </div>\n <div class=\"mouth\"></div>\n </div>\n </div>\n </div>\n <h3>{{ message }}</h3>\n <div class=\"successSmilyButton\">\n <button *ngFor=\"let button of actionButtons\" (click)=\"actionEmitter(button)\" [class]=\"button?.class\">\n {{ button?.buttonText }}\n </button>\n </div>\n <!-- <div class=\"successSmilyButton\"> -->\n <!-- <button>White Button</button>\n <button class=\"blue-btn\">Blue Button</button> -->\n <!-- </div> -->\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DashboardFooterConfig } from '../dashboard-footer-config';\n\n@Component({\n selector: 'app-dashboard-footer',\n templateUrl: './dashboard-footer.component.html',\n styleUrls: ['./dashboard-footer.component.less']\n})\nexport class DashboardFooterComponent implements OnInit {\n @Output() cancelEvent = new EventEmitter();\n @Output() submitEvent = new EventEmitter();\n @Output() deleteEvent = new EventEmitter();\n @Input() footerDetails:DashboardFooterConfig={\n selectedData : [],\n nonRemovableList:[],\n displayElementKey: '',\n elementId: '',\n singularText: '',\n pluralText:'',\n showFrequency:false,\n frequencyText:'',\n isDisabled :false\n\n };\n\n @Input() userButtonColor = '';\n\n constructor() { }\n\n ngOnInit(): void {\n }\n cancelFloatingBar() {\n this.cancelEvent.emit();\n }\n submitFloatingBar() {\n this.submitEvent.emit(this.footerDetails.selectedData);\n }\n\n deleteSelected(element: any) {\n this.deleteEvent.emit(element);\n }\n\n\n}\n","<div class=\"dashboard-floating-bar-container\">\n <div class=\"dashboard-floating-bar vx-d-flex vx-align-center\" [class.vx-justify-end]=\"!(footerDetails.showFrequency || footerDetails.selectedData.length>0)\" [class.vx-justify-between]=\"footerDetails.showFrequency || footerDetails.selectedData.length>0\">\n <div class=\"left vx-d-flex vx-align-center\" *ngIf=\"footerDetails.showFrequency\">\n <span class=\"value\" [innerHTML]=\"footerDetails.frequencyText\"></span>\n </div>\n\n <div class=\"left vx-d-flex vx-align-center\" *ngIf=\"footerDetails.selectedData.length>0\">\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\">\n <i class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\" *ngIf=\"!footerDetails.nonRemovableList.includes(footerDetails.selectedData[0][footerDetails.elementId])\" (click)=\"deleteSelected(footerDetails.selectedData[0])\">&#xe9ae;</i>\n <span class=\"chipName vx-fs-11 vx-label-txt\" [arTooltip]=\"footerDetails.selectedData[0][footerDetails.displayElementKey]\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{footerDetails.selectedData[0][footerDetails.displayElementKey]}}</span>\n <button *ngIf=\"footerDetails.selectedData.length > 1\" class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\" [ngClass]=\"userButtonColor\" appPopover (click)=\"countPopup.popover()\" placement=\"left\">+{{footerDetails.selectedData.length - 1}}</button>\n </div>\n <ng-container *ngIf=\"footerDetails?.selectedData?.length>1\">\n <span class=\"value vx-ml-2\" *ngIf=\"footerDetails?.selectedData?.slice(1).length === 1\">{{footerDetails.singularText}}</span>\n <span class=\"value vx-ml-2\" *ngIf=\"footerDetails?.selectedData?.slice(1).length > 1\">{{footerDetails.pluralText}}</span>\n </ng-container>\n <app-popover #countPopup [dontCloseonClick]=\"true\">\n <div class=\"dashboard-floating-bar-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let element of footerDetails.selectedData.slice(1); let j = index\">\n <div class=\"avatar-card\">\n <span class=\"value\" [arTooltip]=\"element[footerDetails.displayElementKey]\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">\n <i class=\"icons cross-icon\" *ngIf=\"!footerDetails.nonRemovableList.includes(element[footerDetails.elementId])\" (click)=\"deleteSelected(element)\">&#xe90d;</i> {{element[footerDetails.displayElementKey]}}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n <div class=\"right vx-d-flex vx-align-center\">\n <button class=\"cancel vx-bg-white vx-txt-red vx-fw-500 vx-tt-uppercase\" (click)=\"cancelFloatingBar()\">Cancel</button>\n <!-- <button class=\"vx-bg-blue vx-txt-white vx-fw-500 vx-tt-uppercase\" (click)=\"submitFloatingBar()\">Update</button> -->\n <button [class.disabled]=\"footerDetails.isDisabled\" class=\"vx-bg-blue vx-txt-white vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-center\" (click)=\"submitFloatingBar()\">Next <i class=\"icons vx-ml-1\">&#xe91e;</i></button>\n </div>\n </div>\n</div>","import { Component, OnInit, OnChanges, Input, Output, EventEmitter } from '@angular/core';\nimport { PaginationService } from '../../create-dashboard-container/services/pagination.service';\n\n@Component({\n selector: 'app-pagination',\n templateUrl: './pagination.component.html',\n styleUrls: ['./pagination.component.less']\n})\n/**\n * Adds place holder for Pagination on the lists\n */\nexport class PaginationComponent implements OnInit, OnChanges {\n start = 1;\n totalCount!: number;\n paginationArray: any[] = [];\n currentPage!: number;\n @Input() totalPages = 1;\n @Input() limit = 1;\n @Input() totalList = 1;\n @Output() paginationFilter = new EventEmitter();\n\n constructor(private paginationService: PaginationService) {\n }\n ngOnChanges() {\n this.currentPage = Number(this.paginationService.currentPage);\n this.start = Number(this.paginationService.currentPage);\n this.rebuildPagination(this.currentPage, this.totalPages);\n }\n\n ngOnInit() {\n this.currentPage = Number(this.paginationService.currentPage);\n this.start = Number(this.paginationService.currentPage);\n this.rebuildPagination(this.currentPage, this.totalPages);\n this.paginationService.currentValues.subscribe(event => {\n if (event && (this.paginationService.currentPage !== this.currentPage)) {\n this.currentPage = this.paginationService.currentPage;\n }\n });\n }\n\n /* In this function we will recreate the pagination structure as per current page and\n total number of pages */\n\n rebuildPagination(currentPage: number, totalCount: number) {\n this.paginationArray = [];\n this.totalCount = totalCount;\n this.currentPage = currentPage;\n if (this.paginationService.currentPage !== this.currentPage) {\n this.paginationService.currentPage = this.currentPage;\n this.paginationFilter.emit(true);\n }\n\n // If there are only 6 pages or less in total, just display all pages without \"...\"\n if (totalCount <= 6) {\n for (let i = 1; i <= totalCount; i++) {\n this.paginationArray.push(i);\n }\n }\n // ELSE display with ...\n else {\n\n // Always print first page button\n this.paginationArray.push(1);\n\n // Print \"...\" if currentPage is > 3\n if (currentPage > 3) {\n // this.paginationArray.push(2);\n this.paginationArray.push('...');\n\n }\n // special case where last page is selected...\n // Without this special case, only 2 buttons would be shown after ... if you were on last page\n if (currentPage === totalCount) {\n this.paginationArray.push(currentPage - 2);\n }\n\n // Print previous number button if currentPage > 2\n if (currentPage > 2) {\n this.paginationArray.push(currentPage - 1);\n }\n\n // Print current page number button as long as it not the first or last page\n if (currentPage !== 1 && currentPage !== totalCount) {\n this.paginationArray.push(currentPage);\n\n }\n\n // print next page number button if currentPage < lastPage - 1\n if (currentPage < totalCount - 1) {\n this.paginationArray.push(currentPage + 1);\n\n }\n\n // special case where first page is selected...\n // Without this special case, only 2 buttons would be shown before ... if you were on first page\n if (currentPage === 1) {\n this.paginationArray.push(currentPage + 2);\n\n }\n\n // print \"...\" if currentPage is < lastPage -2\n if (currentPage < totalCount - 2) {\n this.paginationArray.push('...');\n\n // HTML += \"...\";\n }\n\n // Always print last page button if there is more than 1 page\n if (totalCount > 1) {\n this.paginationArray.push(totalCount);\n\n }\n }\n\n }\n/* In this function we will set current page according to the action performed on browser\n ex: prev next buttons clicks or selecting a particular page */\n\n changePage(prev: string, page: number, next: string) {\n if (prev) {\n if (this.start > 1) {\n this.start--;\n // We have changed the start page, total rebuild the pagination\n this.rebuildPagination(this.start, this.totalCount);\n }\n }\n if (next) {\n if (this.start < this.totalCount) {\n this.start++;\n this.rebuildPagination(this.start, this.totalCount);\n }\n }\n if (page) {\n this.start = page;\n this.rebuildPagination(this.start, this.totalCount);\n }\n }\n}\n","<div class=\"pagination-box\">\n <ul>\n <li><button [class.disabled]=\"currentPage==1\" (click)=\"changePage('prev',0,'')\"><i class=\"icons vx-fs-10\">&#xe96b;</i></button></li>\n <li *ngFor=\"let page of paginationArray\">\n <button [disabled]=\"page=='...'\" [class.disable]=\"page=='...'\" [class.active]=\"currentPage==page\" (click)=\"changePage('',page,'')\">\n <i *ngIf=\"page=='...'\" class=\"icons\">&#xe911;</i>{{page!='...'?page : ''}}\n </button>\n </li>\n <li><button [class.disabled]=\"currentPage==totalCount\" (click)=\"changePage('',0,'next')\"><i class=\"icons vx-fs-10\">&#xe970;</i></button></li>\n </ul>\n</div>","import { HttpParams } from '@angular/common/http';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\nimport { CreateDashboardService } from '../services/create-dashboard.service';\nimport { PaginationService } from '../services/pagination.service';\nimport { UserListConfiguration } from './user-list.config';\nimport { ASSETS } from '../constants/assets.constant';\n\n@Component({\n selector: 'app-user-list',\n templateUrl: './user-list.component.html',\n styleUrls: ['./user-list.component.less'],\n})\nexport class UserListComponent implements OnInit {\n @Output() closeUserList = new EventEmitter();\n @Output() saveSelectedUsers = new EventEmitter();\n @Input() selectionType = '';\n @Input() listDetails: UserListConfiguration = {\n displayElementKey: '',\n displayGroupKey: '',\n groupIdkey: '',\n elementIdKey: '',\n tooltipKey: '',\n selectedUsersList: [],\n selectedGroupList: [],\n nonRemovableUsersList: [],\n };\n\n footerDetails: DashboardFooterConfig = {\n selectedData: [],\n nonRemovableList: [],\n displayElementKey: '',\n elementId: '',\n singularText: 'User selected',\n pluralText: 'Users selected',\n showFrequency: false,\n frequencyText: '',\n isDisabled: false,\n };\n vLoader = false;\n vLoaderGroups = false;\n ASSETS = ASSETS;\n\n @Input() totalPages = 1;\n @Input() limit = 1;\n @Input() totalList = 1;\n @Input() feature: any;\n @Input() totalgroupscount: any;\n searchList = [];\n searchValue = '';\n searchFilter = '';\n selectedIds: any[] = [];\n selectedList: any[] = [];\n groupdata: any[] = [];\n\n animation = true;\n totalgroups: any;\n total_group_pages: any;\n selectedGroupIds: any[] = [];\n groupsEnabled: any;\n selectedgroupList: any[] = [];\n currentPage = 1;\n constructor(\n public paginationService: PaginationService,\n private dashboardService: CreateDashboardService\n ) {\n this.paginationService.reset();\n this.getOrganizationUsersCount('');\n }\n\n ngOnChanges() {}\n\n ngOnInit(): void {\n this.groupsEnabled = true;\n this.animation = true;\n setTimeout(() => {\n this.animation = false;\n }, 300);\n if (this.listDetails.selectedUsersList.length > 0) {\n this.selectedList = [...new Set(this.listDetails.selectedUsersList)];\n const selectedData = [...new Set(this.listDetails.selectedUsersList)];\n this.footerDetails.selectedData = selectedData;\n this.footerDetails.nonRemovableList =\n this.listDetails.nonRemovableUsersList;\n this.selectedIds = selectedData.map((ele: any) => {\n if (ele[this.listDetails.elementIdKey]) {\n return ele[this.listDetails.elementIdKey];\n }\n });\n }\n this.getUsersList({\n // p: this.paginationService.currentPage === 1 ? '' : this.paginationService.currentPage,\n p: this.paginationService.currentPage ?? 1,\n type: '',\n });\n this.footerDetails.displayElementKey = this.listDetails.displayElementKey;\n this.footerDetails.elementId = this.listDetails.elementIdKey;\n if (this.groupsEnabled) {\n this.getGroupsList({});\n }\n if (this.listDetails.selectedGroupList.length > 0) {\n this.selectedgroupList = [...new Set(this.listDetails.selectedGroupList)];\n const selectedData = [...new Set(this.listDetails.selectedGroupList)];\n this.footerDetails.selectedData = selectedData;\n this.footerDetails.nonRemovableList =\n this.listDetails.nonRemovableUsersList;\n this.selectedGroupIds = selectedData.map((ele: any) => {\n if (ele[this.listDetails.groupIdkey]) {\n return ele[this.listDetails.groupIdkey];\n }\n });\n }\n }\n\n cancelChanges() {}\n removeElement(event: any) {}\n submitChanges() {}\n selectAll(event: any) {\n if (event) {\n this.searchList.forEach((searchElement) => {\n if (\n !this.selectedIds.includes(\n searchElement[this.listDetails.elementIdKey]\n )\n ) {\n this.selectedList.push(searchElement);\n this.selectedIds.push(searchElement[this.listDetails.elementIdKey]);\n this.footerDetails.selectedData = this.selectedList;\n }\n });\n } else {\n this.searchList.forEach((searchElement) => {\n if (\n !this.listDetails.nonRemovableUsersList.includes(\n searchElement[this.listDetails.elementIdKey]\n )\n ) {\n const index = this.selectedList.findIndex(\n (ele) =>\n ele[this.listDetails.elementIdKey] ===\n searchElement[this.listDetails.elementIdKey]\n );\n this.selectedList.splice(index, 1);\n const filteredList = [...this.selectedList];\n this.footerDetails.selectedData = this.selectedList;\n\n const idIndex = this.selectedIds.findIndex(\n (ele) => ele === searchElement[this.listDetails.elementIdKey]\n );\n this.selectedIds.splice(idIndex, 1);\n }\n });\n }\n }\n\n /**\n * Selects all admins and managers at once by making api call.\n * @param event consists boolean value to select of unselect.\n */\n selectAllUsers(event: any) {\n if (event) {\n this.vLoader = true;\n this.dashboardService.getAllUsers().subscribe((res: any) => {\n if (res.length > 1) {\n res.forEach((searchElement: any) => {\n if (\n !this.selectedIds.includes(\n searchElement[this.listDetails.elementIdKey]\n )\n ) {\n this.selectedList.push(searchElement);\n this.selectedIds.push(\n searchElement[this.listDetails.elementIdKey]\n );\n this.footerDetails.selectedData = this.selectedList;\n }\n });\n }\n this.vLoader = false;\n });\n } else {\n const selectedData = [...new Set(this.selectedList)];\n const index = selectedData.findIndex(\n (ele) =>\n ele[this.listDetails.elementIdKey] ===\n this.listDetails.nonRemovableUsersList[0]\n );\n if (index != -1) {\n const owner = Object.assign(selectedData[index]);\n\n this.selectedList = [];\n this.selectedIds = [];\n this.footerDetails.selectedData = [];\n\n this.selectedList.push(owner);\n this.selectedIds.push(owner.member_id);\n this.footerDetails.selectedData = this.selectedList;\n } else {\n this.selectedList = [];\n this.selectedIds = [];\n this.footerDetails.selectedData = [];\n }\n }\n }\n\n selectAllGroups(event: any) {\n let params = new HttpParams();\n params = params.append('fetch_all', 1);\n if (event) {\n this.vLoaderGroups = true;\n this.dashboardService.getAllGroups(params).subscribe((res: any) => {\n if (res.data.length > 1) {\n res.data.forEach((searchElement: any) => {\n if (\n !this.selectedGroupIds.includes(\n searchElement[this.listDetails.groupIdkey]\n )\n ) {\n this.selectedgroupList.push(searchElement);\n this.selectedGroupIds.push(\n searchElement[this.listDetails.groupIdkey]\n );\n this.footerDetails.selectedData = this.selectedgroupList;\n }\n });\n }\n this.vLoaderGroups = false;\n });\n } else {\n this.selectedgroupList = [];\n this.selectedGroupIds = [];\n this.footerDetails.selectedData = [];\n }\n }\n\n selectAllsearchgroups(event: any) {\n if (event) {\n this.groupdata.forEach((searchElement) => {\n if (\n !this.selectedGroupIds.includes(\n searchElement[this.listDetails.groupIdkey]\n )\n ) {\n this.selectedgroupList.push(searchElement);\n this.selectedGroupIds.push(\n searchElement[this.listDetails.groupIdkey]\n );\n this.footerDetails.selectedData = this.selectedgroupList;\n }\n });\n } else {\n this.selectedgroupList = [];\n this.selectedGroupIds = [];\n this.footerDetails.selectedData = [];\n }\n }\n\n /**\n * Selects checked item from the list.\n * In case of user's list calculates number of admins/manages to set visibility(either to all admins/ admins and managers)\n * @param data is the selected element\n */\n selectElement(data: any) {\n if (this.selectedIds.includes(data[this.listDetails.elementIdKey])) {\n if (\n !this.listDetails.nonRemovableUsersList.includes(\n data[this.listDetails.elementIdKey]\n )\n ) {\n const index = this.selectedList.findIndex(\n (ele) =>\n ele[this.listDetails.elementIdKey] ===\n data[this.listDetails.elementIdKey]\n );\n this.selectedList.splice(index, 1);\n this.footerDetails.selectedData = this.selectedList;\n\n const idIndex = this.selectedIds.findIndex(\n (ele) => ele === data[this.listDetails.elementIdKey]\n );\n\n this.selectedIds.splice(idIndex, 1);\n }\n } else {\n this.selectedList.push(data);\n this.selectedIds.push(data[this.listDetails.elementIdKey]);\n this.footerDetails.selectedData = this.selectedList;\n }\n }\n\n selectGroupElement(data: any) {\n if (this.selectedGroupIds.includes(data[this.listDetails.groupIdkey])) {\n const index = this.selectedgroupList.findIndex(\n (ele: { [x: string]: any }) =>\n ele[this.listDetails.groupIdkey] === data[this.listDetails.groupIdkey]\n );\n this.selectedgroupList.splice(index, 1);\n this.footerDetails.selectedData = this.selectedgroupList;\n const idIndex = this.selectedGroupIds.findIndex(\n (ele) => ele === data[this.listDetails.groupIdkey]\n );\n this.selectedGroupIds.splice(idIndex, 1);\n } else {\n this.selectedgroupList.push(data);\n this.selectedGroupIds.push(data[this.listDetails.groupIdkey]);\n this.footerDetails.selectedData = this.selectedgroupList;\n }\n }\n /**\n * It is used to set and search value incase of backend driven list to differentiate search list and original list\n */\n setSearchValue() {\n if (this.paginationService.searchValue !== this.searchValue) {\n this.paginationService.currentPage = 1;\n this.paginationService.searchValue = this.searchValue;\n this.paginationFilter(true);\n }\n }\n\n /**\n * it is used check select all condition incase of backend driven search\n */\n checkSelectAll() {\n if (this.searchList.length > 0) {\n const data: boolean = this.searchList.every((ele) =>\n this.selectedIds.includes(ele[this.listDetails.elementIdKey])\n );\n return data;\n } else {\n return false;\n }\n }\n\n /**\n * it is used check select all groups condition incase of backend driven search\n */\n checkSelectAllGroups() {\n if (this.groupdata.length > 0) {\n const data: boolean = this.groupdata.every((ele) =>\n this.selectedGroupIds.includes(ele[this.listDetails.groupIdkey])\n );\n return data;\n } else {\n return false;\n }\n }\n\n /**\n * Filter list user's list based on pagination by making api call\n * @param event specifies a boolean value to call api\n */\n paginationFilter(event: any) {\n if (!event) return;\n if (this.groupsEnabled) {\n this.vLoader = true;\n if (this.currentTab == 'USER') {\n this.getUsersList({\n // p: this.paginationService.currentPage === 1 ? '' : this.paginationService.currentPage,\n p: this.paginationService.currentPage ?? 1,\n type: '',\n q: !this.paginationService.searchValue\n ? ''\n : this.paginationService.searchValue,\n });\n this.getOrganizationUsersCount({\n p: this.paginationService.currentPage ?? 1,\n type: '',\n q: !this.paginationService.searchValue\n ? ''\n : this.paginationService.searchValue,\n });\n } else {\n this.getGroupsList({\n page:\n this.paginationService.currentPage === 1\n ? ''\n : this.paginationService.currentPage,\n groupName: !this.paginationService.searchValue\n ? ''\n : this.paginationService.searchValue,\n });\n }\n } else {\n this.vLoader = true;\n this.getUsersList({\n // p: this.paginationService.currentPage === 1 ? '' : this.paginationService.currentPage,\n p: this.paginationService.currentPage ?? 1,\n type: '',\n q: !this.paginationService.searchValue\n ? ''\n : this.paginationService.searchValue,\n });\n this.getOrganizationUsersCount({\n p: this.paginationService.currentPage ?? 1,\n type: '',\n q: !this.paginationService.searchValue\n ? ''\n : this.paginationService.searchValue,\n });\n }\n }\n /**\n * Gets user's list by making api call\n * @param url contains userlist filter details\n */\n getUsersList(url: any) {\n this.vLoader = true;\n\n this.dashboardService\n .getOrganizationUsers(url ? url : '')\n .subscribe((res) => {\n this.searchList = res;\n this.vLoader = false;\n });\n }\n getGroupsList(event: any) {\n this.vLoaderGroups = true;\n let params = new HttpParams();\n if (event.hasOwnProperty('groupName')) {\n params = params.append('groupName', event['groupName']);\n }\n if (event.hasOwnProperty('page') && !this.searchValue) {\n params = params.append('page', event['page']);\n }\n if (this.totalgroupscount > 30 && !this.searchValue) {\n params = params.append('limit', 30);\n }\n this.dashboardService.getAllGroups(params).subscribe((res: any) => {\n this.groupdata = res?.data;\n this.vLoaderGroups = false;\n this.totalgroups = res.total_items;\n this.total_group_pages = res.total_pages;\n });\n }\n\n /**\n * on click on next button from the list, it emits the selected list of elements to parent component.\n */\n onSubmit() {\n // const data = [...new Set(this.selectedList)];\n // data.push(this.selectedgroupList)\n this.saveSelectedUsers.emit({\n users: this.selectedList,\n groups: this.selectedgroupList,\n });\n this.paginationService.reset();\n }\n currentTab = 'USER';\n switchTab(tab: string) {\n this.paginationService.reset();\n this.getOrganizationUsersCount('');\n this.currentTab = tab;\n if (this.currentTab == 'USER') {\n this.searchValue = '';\n this.getUsersList({ p: this.paginationService.currentPage });\n } else {\n this.searchValue = '';\n this.getGroupsList({});\n }\n }\n\n getOrganizationUsersCount(Url: any) {\n this.dashboardService.getOrganizationUsersCount(Url).subscribe((res) => {\n this.totalList = res.total_members;\n if (res.total_members && res.limit_per_page > 1) {\n this.totalPages = res.create_page;\n } else {\n this.totalPages = 1;\n }\n });\n }\n}\n","<div class=\"user-list\" [class.animate-slideInRight]=\"animation\">\n <div\n class=\"user-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\n Who can view this dashboard?\n </div>\n </div>\n <div class=\"user-list-body\">\n <div\n class=\"user-list-tab vx-d-flex vx-align-center vx-mb-2\"\n *ngIf=\"groupsEnabled\"\n >\n <button\n (click)=\"switchTab('USER')\"\n class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\n [class.active]=\"currentTab === 'USER'\"\n >\n USERS\n <span\n class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\"\n >{{ totalList }}</span\n >\n </button>\n <button\n id=\"switchtab\"\n (click)=\"switchTab('GROUP')\"\n class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\n [class.active]=\"currentTab === 'GROUP'\"\n >\n USER GROUPS\n <span\n id=\"groupscount\"\n class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\"\n >{{ totalgroups }}</span\n >\n </button>\n </div>\n\n <div class=\"user-list-search vx-mb-2\">\n <i class=\"icons\">&#xe90b;</i>\n <input\n type=\"text\"\n [(ngModel)]=\"searchValue\"\n placeholder=\"{{\n currentTab === 'USER' ? 'Search User(s)' : 'Search User Group(s)'\n }} who can view this dashboard\"\n (keyup.enter)=\"setSearchValue()\"\n (focusout)=\"setSearchValue()\"\n />\n </div>\n\n <ng-container *ngIf=\"currentTab === 'USER'\">\n <div\n class=\"vx-d-flex vx-align-center vx-justify-end\"\n *ngIf=\"totalPages > 1\"\n >\n <div\n class=\"pagination-box\"\n *ngIf=\"totalPages > 1 && searchList.length > 1\"\n >\n <app-pagination\n (paginationFilter)=\"paginationFilter($event)\"\n [limit]=\"limit\"\n [totalPages]=\"totalPages\"\n [totalList]=\"totalList\"\n ></app-pagination>\n </div>\n </div>\n <div class=\"user-list-body-top\" *ngIf=\"searchList.length !== 0\">\n <app-cs-checkbox\n *ngIf=\"!searchValue && searchList.length > 1\"\n [ngValue]=\"selectedList.length == totalList\"\n (ngValueChange)=\"selectAllUsers($event)\"\n >\n <strong>{{\n selectedList.length == totalList ? \"Deselect All\" : \"Select All\"\n }}</strong>\n </app-cs-checkbox>\n <app-cs-checkbox\n *ngIf=\"searchValue && searchList.length > 1\"\n [ngValue]=\"checkSelectAll()\"\n (ngValueChange)=\"selectAll($event)\"\n >\n <strong>{{\n selectedList.length == totalList ? \"Deselect All\" : \"Select All\"\n }}</strong>\n </app-cs-checkbox>\n </div>\n <div class=\"list-of-user\">\n <div\n class=\"selection-list vx-mb-4\"\n [class.with-group]=\"groupsEnabled\"\n [class.with-noData]=\"searchList.length == 0\"\n [class.with-pagination]=\"totalPages > 1 && searchList.length > 1\"\n >\n <ul *ngIf=\"searchList.length !== 0\">\n <li *ngFor=\"let data of searchList; let i = index\">\n <app-cs-checkbox\n [disabled]=\"\n listDetails.nonRemovableUsersList.includes(\n data[listDetails.elementIdKey]\n )\n \"\n [ngValue]=\"\n selectedList.length > 0 &&\n selectedIds.includes(data[listDetails.elementIdKey])\n \"\n (ngValueChange)=\"selectElement(data)\"\n [arTooltip]=\"data[listDetails.tooltipKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >{{ data[listDetails.displayElementKey] }}</app-cs-checkbox\n >\n </li>\n </ul>\n\n <app-no-data\n *ngIf=\"!vLoader && searchList.length == 0\"\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"'No data to display'\"\n ></app-no-data>\n </div>\n\n <app-loader-inline *ngIf=\"vLoader\"></app-loader-inline>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"currentTab === 'GROUP' && groupsEnabled\">\n <ng-container *ngIf=\"groupdata as groups\">\n <div class=\"vx-d-flex vx-align-center vx-justify-end\" *ngIf=\"true\">\n <div class=\"pagination-box\" *ngIf=\"total_group_pages > 1\">\n <app-pagination\n (paginationFilter)=\"paginationFilter($event)\"\n [limit]=\"limit\"\n [totalPages]=\"total_group_pages\"\n [totalList]=\"totalgroups\"\n ></app-pagination>\n </div>\n </div>\n <ng-container *ngIf=\"true\">\n <div\n class=\"user-list-mid vx-mb-4\"\n [class.with-pagination]=\"total_group_pages > 1\"\n >\n <ng-container *ngIf=\"groups?.length > 0\">\n <div class=\"user-list-select vx-mb-4\">\n <app-cs-checkbox\n [disabled]=\"false\"\n *ngIf=\"!searchValue && groups.length > 1\"\n [ngValue]=\"selectedgroupList.length == totalgroups\"\n (ngValueChange)=\"selectAllGroups($event)\"\n >\n <div\n class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\"\n >\n {{\n selectedgroupList.length == totalgroups\n ? \"Deselect All\"\n : \"Select All\"\n }}\n </div>\n </app-cs-checkbox>\n <app-cs-checkbox\n [disabled]=\"false\"\n *ngIf=\"searchValue && groups.length > 1\"\n [ngValue]=\"checkSelectAllGroups()\"\n (ngValueChange)=\"selectAllsearchgroups($event)\"\n >\n <div\n class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\"\n >\n {{\n selectedgroupList.length == totalgroups\n ? \"Deselect All\"\n : \"Select All\"\n }}\n </div>\n </app-cs-checkbox>\n </div>\n <div class=\"user-list-item\">\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\n <li\n class=\"vx-mb-4\"\n *ngFor=\"let data of groups; let i = index\"\n >\n <app-cs-checkbox\n (ngValueChange)=\"selectGroupElement(data)\"\n [disabled]=\"false\"\n [ngValue]=\"\n selectedgroupList.length > 0 &&\n selectedGroupIds.includes(data[listDetails.groupIdkey])\n \"\n >\n <div class=\"user-name vx-d-flex vx-align-center\">\n <div\n class=\"group-name\"\n [arTooltip]=\"data[listDetails.displayGroupKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n {{ data[listDetails.displayGroupKey] }}\n </div>\n <span\n id=\"usersofgroup\"\n class=\"counter vx-fs-9 vx-fw-600 vx-pl-1 vx-pr-1 vx-lh-3 vx-tt-uppercase vx-ml-2\"\n >{{ data[\"associatedUsers\"].length }}\n {{\n data[\"associatedUsers\"].length > 1\n ? \"USERS\"\n : \"USER\"\n }}</span\n >\n </div>\n </app-cs-checkbox>\n </li>\n </ul>\n </div>\n </ng-container>\n <ng-container *ngIf=\"groups?.length == 0 && !vLoaderGroups\">\n <app-no-data\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"\n searchKey?.length > 0\n ? 'No match found.'\n : 'No data to display.'\n \"\n ></app-no-data>\n </ng-container>\n <app-loader-inline *ngIf=\"vLoaderGroups\"></app-loader-inline>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <div class=\"user-floating-bar\" *ngIf=\"groupsEnabled\">\n <div\n class=\"user-floating-bar-container vx-d-flex vx-align-center vx-justify-between\"\n >\n <div class=\"left vx-d-flex vx-align-center\">\n <button\n class=\"counter vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 vx-m-0 vx-pl-1 vx-pr-1\"\n *ngIf=\"selectedList?.length\"\n appPopover\n (click)=\"userCount.popover()\"\n placement=\"left\"\n >\n {{ selectedList?.length }}\n </button>\n <div class=\"name vx-fs-12 vx-paragraph-txt vx-ml-2\">\n <span *ngIf=\"selectedList?.length === 1\"\n >User\n {{ selectedgroupList?.length > 0 ? \" & \" : \"selected\" }}</span\n >\n <span *ngIf=\"selectedList?.length > 1\"\n >Users\n {{ selectedgroupList?.length > 0 ? \" & \" : \"are selected\" }}</span\n >\n </div>\n <button\n class=\"counter group vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 vx-ml-2 vx-pl-1 vx-pr-1\"\n *ngIf=\"selectedgroupList?.length\"\n appPopover\n (click)=\"groupCount.popover()\"\n placement=\"left\"\n >\n {{ selectedgroupList?.length }}\n </button>\n <div class=\"name vx-fs-12 vx-paragraph-txt vx-ml-2\">\n <span *ngIf=\"selectedgroupList?.length === 1\"\n >User Group selected</span\n >\n <span *ngIf=\"selectedgroupList?.length > 1\"\n >User Groups selected</span\n >\n </div>\n\n <app-popover #userCount [dontCloseonClick]=\"true\">\n <div class=\"action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let element of selectedList\">\n <div class=\"avatar-card\">\n <span\n class=\"value\"\n [arTooltip]=\"element.member_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n <i\n class=\"icons cross-icon\"\n (click)=\"selectElement(element)\"\n *ngIf=\"\n !listDetails.nonRemovableUsersList.includes(\n element?.member_id\n )\n \"\n >&#xe90d;</i\n >\n {{ element.member_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n\n <app-popover #groupCount [dontCloseonClick]=\"true\">\n <div class=\"action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let element of selectedgroupList\">\n <div class=\"avatar-card\">\n <span\n class=\"value\"\n [arTooltip]=\"element?.group_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n <i\n class=\"icons cross-icon\"\n (click)=\"selectGroupElement(element)\"\n >&#xe90d;</i\n >\n {{ element?.group_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n\n <div class=\"right vx-d-flex vx-align-center\">\n <button class=\"cancel\" (click)=\"closeUserList.emit()\">Cancel</button>\n <button [disabled]=\"false\" (click)=\"onSubmit()\">\n Next <i class=\"icons\">&#xe91e;</i>\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"user-list-footer\" *ngIf=\"!groupsEnabled\">\n <app-dashboard-footer\n [footerDetails]=\"footerDetails\"\n (cancelEvent)=\"closeUserList.emit(); paginationService.reset()\"\n (deleteEvent)=\"selectElement($event)\"\n (submitEvent)=\"onSubmit()\"\n [userButtonColor]=\"'greenBg'\"\n ></app-dashboard-footer>\n </div>\n </div>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'filter'\n})\nexport class FilterPipe implements PipeTransform {\n\n transform(items: any[], searchText: string): any[] {\n if (!items) {\n return [];\n }\n if (!searchText) {\n return items;\n }\n searchText = searchText.toLowerCase();\n if(items?.length){\n return items.filter((it: any) => {\n return JSON.stringify(it).toLowerCase().includes(searchText);\n });\n }else{\n return [];\n }\n }\n\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n} from '@angular/core';\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\nimport { ASSETS } from '../constants/assets.constant';\n\n@Component({\n selector: 'app-responsibility-center',\n templateUrl: './responsibility-center.component.html',\n styleUrls: ['./responsibility-center.component.less'],\n})\nexport class ResponsibilityCenterComponent implements OnInit, OnChanges {\n @Output() saveSelectedList = new EventEmitter();\n @Output() closeRcList = new EventEmitter();\n @Input() responsibilityCentersList = [];\n @Input() selectedResponsibilityCenters = [];\n @Input() rcIdKey = '';\n @Input() radioSelection = false;\n ASSETS = ASSETS;\n\n selectedIds: any[] = [];\n animation = false;\n search = '';\n footerDetails: DashboardFooterConfig = {\n selectedData: [],\n nonRemovableList: [],\n displayElementKey: 'item_name',\n elementId: 'item_id',\n singularText: 'Responsibility Center selected',\n pluralText: 'Responsibility Centers selected',\n showFrequency: false,\n frequencyText: '',\n isDisabled: false,\n };\n constructor() {}\n\n ngOnChanges(): void {\n this.footerDetails.selectedData = this.selectedResponsibilityCenters;\n this.selectedIds = this.selectedResponsibilityCenters.map((ele: any) => {\n if (ele[this.rcIdKey]) {\n return ele[this.rcIdKey];\n }\n });\n }\n\n ngOnInit(): void {\n this.animation = true;\n setTimeout(() => {\n this.animation = false;\n }, 300);\n }\n\n selectRc(rc: any, mode: any) {\n if (this.radioSelection) {\n if (mode) {\n this.selectedIds = [];\n this.selectedIds.push(rc);\n }\n this.setList();\n } else {\n if (mode) {\n this.selectedIds.push(rc);\n const rcElement = this.responsibilityCentersList.findIndex(\n (ele: any) => ele.item_id == rc\n );\n if (rcElement !== -1) {\n const parentRc: any = this.responsibilityCentersList[rcElement];\n if (parentRc?.item_child_ids?.length > 0) {\n parentRc.item_child_ids.forEach((childElement: any) => {\n if (!this.selectedIds.includes(childElement)) {\n this.selectedIds.push(childElement);\n }\n });\n }\n }\n } else {\n const index = this.selectedIds.findIndex(\n (element: any) => element == rc\n );\n this.selectedIds.splice(index, 1);\n const rcElement = this.responsibilityCentersList.findIndex(\n (ele: any) => ele.item_id == rc\n );\n if (rcElement !== -1) {\n const parentRc: any = this.responsibilityCentersList[rcElement];\n if (parentRc?.item_child_ids?.length > 0) {\n parentRc.item_child_ids.forEach((childElement: any) => {\n const removeIndex = this.selectedIds.findIndex(\n (removeElement: any) => removeElement == childElement\n );\n this.selectedIds.splice(removeIndex, 1);\n });\n }\n }\n }\n this.setList();\n }\n }\n deleteEvent(event: any) {\n const index = this.selectedIds.findIndex(\n (element: any) => element == event[this.rcIdKey]\n );\n this.selectedIds.splice(index, 1);\n this.setList();\n }\n\n selectAll(mode: any) {\n if (mode) {\n const list = [...this.responsibilityCentersList];\n this.selectedIds = [];\n list.forEach((element) => {\n this.selectedIds.push(element[this.rcIdKey]);\n });\n } else {\n this.selectedIds = [];\n }\n this.setList();\n }\n\n setList() {\n const data: any = [];\n const rcList = [...new Set(this.responsibilityCentersList)];\n // cloneDeep(this.responsibilityCentersList);\n const selectedIds = [...new Set(this.selectedIds)];\n // cloneDeep(this.selectedIds);\n rcList.forEach((element: any) => {\n if (selectedIds.includes(element[this.rcIdKey])) {\n data.push(element);\n }\n });\n this.selectedResponsibilityCenters = data;\n this.footerDetails.selectedData = this.selectedResponsibilityCenters;\n }\n\n checkSelectAll() {\n const data = this.responsibilityCentersList.every((rc: any) =>\n this.selectedIds.includes(rc[this.rcIdKey])\n );\n return data;\n }\n\n save() {\n this.saveSelectedList.emit(this.selectedIds);\n }\n\n closeResponsibilityCenterList() {\n this.closeRcList.emit();\n }\n}\n","<div class=\"responsibility-center\" [class.animate-slideInRight]=\"animation\">\n <div\n class=\"responsibility-center-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\n Select Responsibility Center(s)\n </div>\n </div>\n <div class=\"responsibility-center-body\">\n <div class=\"responsibility-center-search vx-mb-2\">\n <i class=\"icons\">&#xe90b;</i>\n <input\n type=\"text\"\n [(ngModel)]=\"search\"\n placeholder=\"Search Responsibility Center\"\n />\n </div>\n\n <ng-container\n *ngIf=\"responsibilityCentersList | filter : search as searchList\"\n >\n <div class=\"select-all\" *ngIf=\"searchList.length > 1\">\n <app-cs-checkbox\n [ngValue]=\"checkSelectAll()\"\n (ngValueChange)=\"selectAll($event)\"\n >\n <strong>{{\n checkSelectAll() ? \"Deselect All\" : \"Select All\"\n }}</strong>\n </app-cs-checkbox>\n </div>\n <ul class=\"responsibility-center-list\" *ngIf=\"searchList.length > 0\">\n <li *ngFor=\"let rc of searchList; let i = index\">\n <app-cs-checkbox\n [ngValue]=\"selectedIds.includes(rc.item_id)\"\n (ngValueChange)=\"selectRc(rc.item_id, $event)\"\n >\n <ul class=\"responsibility-center-list-name\">\n <li\n *ngFor=\"let entity of rc.rc_name; let j = index\"\n [arTooltip]=\"entity\"\n placement=\"bottom-left\"\n delay=\"0\"\n >\n <i class=\"icons\" *ngIf=\"j !== 0\">&#xe910;</i>\n {{ entity }}\n <!-- <span class=\"name\">{{entity}}</span> -->\n </li>\n </ul>\n </app-cs-checkbox>\n </li>\n </ul>\n <app-no-data\n *ngIf=\"searchList.length == 0\"\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"'No data to display'\"\n >\n </app-no-data>\n </ng-container>\n\n <div class=\"responsibility-center-footer\">\n <app-dashboard-footer\n [footerDetails]=\"footerDetails\"\n (cancelEvent)=\"closeRcList.emit()\"\n (deleteEvent)=\"selectRc($event.item_id, false)\"\n (submitEvent)=\"save()\"\n ></app-dashboard-footer>\n </div>\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\nimport { CategoriesConfig } from './categories-config';\nimport { ASSETS } from '../constants/assets.constant';\n\n@Component({\n selector: 'app-categories',\n templateUrl: './categories.component.html',\n styleUrls: ['./categories.component.less'],\n})\nexport class CategoriesComponent implements OnInit {\n ASSETS = ASSETS;\n\n @Input() categoryList: CategoriesConfig = {\n regulations: {\n list: [],\n selectedList: [],\n },\n standards: {\n list: [],\n selectedList: [],\n },\n internalControls: {\n list: [],\n selectedList: [],\n },\n others: {\n list: [],\n selectedList: [],\n },\n };\n @Input() allCategories: any[] = [];\n\n @Input() categoryIdKey: any;\n @Input() selectedCategories: any[] = [];\n\n search = '';\n activeTab: 'standards' | 'regulations' | 'internalControls' | 'others' =\n 'regulations';\n selectedIds: any[] = [];\n animation = false;\n blockWidth: any;\n footerDetails: DashboardFooterConfig = {\n selectedData: [],\n nonRemovableList: [],\n displayElementKey: 'item_name',\n elementId: 'item_id',\n singularText: 'Program selected',\n pluralText: 'Programs selected',\n showFrequency: false,\n frequencyText: '',\n isDisabled: false,\n };\n\n @Output() saveSelectedCategory = new EventEmitter();\n @Output() closeList = new EventEmitter();\n @Output() closeCategoriesList = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {\n this.animation = true;\n setTimeout(() => {\n this.animation = false;\n }, 300);\n this.selectedIds = [];\n if (this.selectedCategories) {\n this.selectedCategories.forEach((element) => {\n this.selectedIds.push(element[this.categoryIdKey]);\n });\n }\n this.setList();\n }\n\n selectCategory(mode: any, activeTab: any, category: any) {\n if (mode) {\n this.selectedIds.push(category[this.categoryIdKey]);\n const rcElement = this.allCategories.findIndex(\n (ele: any) => ele.category_id == category[this.categoryIdKey]\n );\n if (rcElement !== -1) {\n const parentRc: any = this.allCategories[rcElement];\n if (parentRc?.child_cat_ids?.length > 0) {\n parentRc.child_cat_ids.forEach((childElement: any) => {\n if (!this.selectedIds.includes(childElement)) {\n this.selectedIds.push(childElement);\n }\n });\n }\n }\n } else {\n const index = this.selectedIds.findIndex(\n (element: any) => element == category[this.categoryIdKey]\n );\n this.selectedIds.splice(index, 1);\n const rcElement = this.allCategories.findIndex(\n (ele: any) => ele.category_id == category[this.categoryIdKey]\n );\n if (rcElement !== -1) {\n const parentRc: any = this.allCategories[rcElement];\n if (parentRc?.child_cat_ids?.length > 0) {\n parentRc.child_cat_ids.forEach((childElement: any) => {\n const removeIndex = this.selectedIds.findIndex(\n (removeElement: any) => removeElement == childElement\n );\n this.selectedIds.splice(removeIndex, 1);\n });\n }\n }\n }\n this.setList();\n }\n\n deleteEvent(event: any) {\n const index = this.selectedIds.findIndex(\n (element: any) => element == event[this.categoryIdKey]\n );\n this.selectedIds.splice(index, 1);\n this.setList();\n }\n\n selectAll(\n mode: any,\n activeTab: 'standards' | 'regulations' | 'internalControls' | 'others'\n ) {\n if (mode) {\n const list = [...this.categoryList[activeTab].list];\n list.forEach((element) => {\n if (!this.selectedIds.includes(element[this.categoryIdKey])) {\n this.selectedIds.push(element[this.categoryIdKey]);\n }\n });\n } else {\n const list = [...this.categoryList[activeTab].list];\n list.forEach((element) => {\n if (this.selectedIds.includes(element[this.categoryIdKey])) {\n let idIndex = this.selectedIds.findIndex(\n (id: any) => id == element[this.categoryIdKey]\n );\n this.selectedIds.splice(idIndex, 1);\n }\n });\n }\n this.setList();\n }\n\n setList() {\n const data: any = [];\n const categoryList = [...new Set(this.allCategories)];\n // cloneDeep(this.allCategories)\n const selectedIds = [...new Set(this.selectedIds)];\n // cloneDeep(this.selectedIds);\n this.categoryList.regulations.selectedList = [];\n this.categoryList.standards.selectedList = [];\n this.categoryList.internalControls.selectedList = [];\n this.categoryList.others.selectedList = [];\n\n categoryList.forEach((element: any) => {\n if (selectedIds.includes(element[this.categoryIdKey])) {\n data.push(element);\n }\n });\n this.selectedCategories = data;\n this.footerDetails.selectedData = data;\n\n this.categoryList.regulations.list.forEach((category: any) => {\n if (selectedIds.includes(category[this.categoryIdKey])) {\n this.categoryList.regulations.selectedList.push(category);\n }\n });\n this.categoryList.standards.list.forEach((category: any) => {\n if (selectedIds.includes(category[this.categoryIdKey])) {\n this.categoryList.standards.selectedList.push(category);\n }\n });\n this.categoryList.internalControls.list.forEach((category: any) => {\n if (selectedIds.includes(category[this.categoryIdKey])) {\n this.categoryList.internalControls.selectedList.push(category);\n }\n });\n this.categoryList.others.list.forEach((category: any) => {\n if (selectedIds.includes(category[this.categoryIdKey])) {\n this.categoryList.others.selectedList.push(category);\n }\n });\n if (!this.activeTab) {\n this.setActiveTab();\n }\n }\n setActiveTab() {\n if (this.categoryList.regulations.selectedList.length > 0) {\n this.activeTab = 'regulations';\n } else if (this.categoryList.standards.selectedList.length > 0) {\n this.activeTab = 'standards';\n } else if (this.categoryList.internalControls.selectedList.length > 0) {\n this.activeTab = 'internalControls';\n } else if (this.categoryList.others.selectedList.length > 0) {\n this.activeTab = 'others';\n } else {\n this.activeTab = 'regulations';\n }\n }\n\n checkSelectAll(\n activeTab: 'standards' | 'regulations' | 'internalControls' | 'others'\n ) {\n const data = this.categoryList[activeTab].list.every((user: any) =>\n this.selectedIds.includes(user[this.categoryIdKey])\n );\n return data;\n }\n\n save() {\n this.saveSelectedCategory.emit(this.selectedCategories);\n }\n\n close() {\n this.closeCategoriesList.emit();\n }\n}\n","<div class=\"category-list\" [class.animate-slideInRight]=\"animation\">\n <div\n class=\"category-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <span class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Program(s)</span>\n </div>\n <div class=\"category-list-mid\">\n <div class=\"vx-d-flex vx-mb-2\">\n <div\n class=\"category-list-card\"\n [class.active]=\"activeTab == 'regulations'\"\n (click)=\"activeTab = 'regulations'\"\n >\n <div class=\"left\">\n <label>REGULATIONS</label>\n <p *ngIf=\"categoryList?.regulations?.selectedList?.length != 0\">\n {{ categoryList?.regulations?.selectedList?.length }}\n {{\n categoryList?.regulations?.selectedList?.length == 1\n ? \"Program\"\n : \"Programs\"\n }}\n selected\n </p>\n </div>\n <span class=\"counter\">{{\n categoryList?.regulations?.list?.length\n }}</span>\n </div>\n <div\n class=\"category-list-card\"\n [class.active]=\"activeTab == 'standards'\"\n (click)=\"activeTab = 'standards'\"\n >\n <div class=\"left\">\n <label>STANDARDS</label>\n <p *ngIf=\"categoryList?.standards?.selectedList?.length != 0\">\n {{ categoryList?.standards?.selectedList?.length }}\n {{\n categoryList?.standards?.selectedList?.length == 1\n ? \"Program\"\n : \"Programs\"\n }}\n selected\n </p>\n </div>\n <span class=\"counter\">{{ categoryList?.standards?.list?.length }}</span>\n </div>\n <div\n class=\"category-list-card\"\n [class.active]=\"activeTab == 'internalControls'\"\n (click)=\"activeTab = 'internalControls'\"\n >\n <div class=\"left\">\n <label>INTERNAL CONTROLS</label>\n <p *ngIf=\"categoryList?.internalControls?.selectedList?.length != 0\">\n {{ categoryList?.internalControls?.selectedList?.length }}\n {{\n categoryList?.internalControls?.selectedList?.length == 1\n ? \"Program\"\n : \"programs\"\n }}\n selected\n </p>\n </div>\n <span class=\"counter\">{{\n categoryList?.internalControls?.list?.length\n }}</span>\n </div>\n <div\n class=\"category-list-card\"\n [class.active]=\"activeTab == 'others'\"\n (click)=\"activeTab = 'others'\"\n >\n <div class=\"left\">\n <label>OTHERS</label>\n <p *ngIf=\"categoryList?.others?.selectedList?.length != 0\">\n {{ categoryList?.others?.selectedList?.length }}\n {{\n categoryList?.others?.selectedList?.length == 1\n ? \"Program\"\n : \"Programs\"\n }}\n selected\n </p>\n </div>\n <span class=\"counter\">{{ categoryList?.others?.list?.length }}</span>\n </div>\n </div>\n\n <div class=\"category-list-search vx-mb-2\">\n <i class=\"icons\">&#xe90b;</i>\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search Program\" />\n </div>\n\n <ng-container\n *ngIf=\"categoryList[activeTab].list | filter : search as searchList\"\n >\n <div class=\"select-all\" *ngIf=\"searchList.length > 1\">\n <app-cs-checkbox\n [ngValue]=\"checkSelectAll(activeTab)\"\n (ngValueChange)=\"selectAll($event, activeTab)\"\n >\n <strong>{{\n checkSelectAll(activeTab) ? \"Deselect All\" : \"Select All\"\n }}</strong>\n </app-cs-checkbox>\n </div>\n <div\n class=\"category-list-item vx-mb-4\"\n [class.with-selectAll]=\"searchList.length > 1\"\n *ngIf=\"searchList.length > 0\"\n >\n <ul class=\"category-list-item-ul vx-m-0 vx-p-0\">\n <li class=\"vx-mb-4\" *ngFor=\"let category of searchList\">\n <app-cs-checkbox\n [ngValue]=\"selectedIds.includes(category[categoryIdKey])\"\n (ngValueChange)=\"selectCategory($event, activeTab, category)\"\n >\n <ul class=\"categories\">\n <li\n *ngFor=\"let entity of category.category_name; let j = index\"\n [arTooltip]=\"entity\"\n placement=\"bottom-left\"\n delay=\"0\"\n >\n {{ entity }}\n </li>\n </ul>\n </app-cs-checkbox>\n </li>\n </ul>\n </div>\n\n <app-no-data\n *ngIf=\"searchList.length == 0\"\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"'No data to display'\"\n >\n </app-no-data>\n </ng-container>\n\n <app-dashboard-footer\n [footerDetails]=\"footerDetails\"\n (cancelEvent)=\"close()\"\n (deleteEvent)=\"deleteEvent($event)\"\n (submitEvent)=\"save()\"\n ></app-dashboard-footer>\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\nimport { RiskCategoriesConfig } from './risk-categories-config';\nimport { ASSETS } from '../constants/assets.constant';\n\n@Component({\n selector: 'app-risk-categories',\n templateUrl: './risk-categories.component.html',\n styleUrls: ['./risk-categories.component.less'],\n})\nexport class RiskCategoriesComponent implements OnInit {\n ASSETS = ASSETS;\n\n @Input() categoryList: RiskCategoriesConfig = {\n strategic: {\n list: [],\n selectedList: [],\n },\n operational: {\n list: [],\n selectedList: [],\n },\n compliance: {\n list: [],\n selectedList: [],\n },\n others: {\n list: [],\n selectedList: [],\n },\n };\n @Input() allCategories: any[] = [];\n\n @Input() categoryIdKey: any;\n @Input() selectedCategories: any[] = [];\n\n search = '';\n activeTab: 'strategic' | 'operational' | 'compliance' | 'others' =\n 'strategic';\n selectedIds: any[] = [];\n animation = false;\n blockWidth: any;\n footerDetails: DashboardFooterConfig = {\n selectedData: [],\n nonRemovableList: [],\n displayElementKey: 'category_name',\n elementId: 'category_id',\n singularText: 'Risk Category selected',\n pluralText: 'Risk Categories selected',\n showFrequency: false,\n frequencyText: '',\n isDisabled: false,\n };\n\n @Output() saveSelectedCategory = new EventEmitter();\n @Output() closeList = new EventEmitter();\n @Output() closeCategoriesList = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {\n this.animation = true;\n setTimeout(() => {\n this.animation = false;\n }, 300);\n this.selectedIds = [];\n if (this.selectedCategories) {\n this.selectedCategories.forEach((element) => {\n this.selectedIds.push(element[this.categoryIdKey]);\n });\n }\n this.setList();\n }\n\n selectCategory(mode: any, activeTab: any, category: any) {\n if (mode) {\n this.selectedIds.push(category[this.categoryIdKey]);\n } else {\n const index = this.selectedIds.findIndex(\n (element: any) => element == category[this.categoryIdKey]\n );\n this.selectedIds.splice(index, 1);\n }\n this.setList();\n }\n\n deleteEvent(event: any) {\n const index = this.selectedIds.findIndex(\n (element: any) => element == event[this.categoryIdKey]\n );\n this.selectedIds.splice(index, 1);\n this.setList();\n }\n\n selectAll(mode: any, activeTab: string) {\n if (mode) {\n if (\n activeTab === 'strategic' ||\n activeTab === 'operational' ||\n activeTab === 'compliance' ||\n activeTab === 'others'\n ) {\n const list = this.categoryList[activeTab].list;\n list.forEach((element) => {\n if (!this.selectedIds.includes(element[this.categoryIdKey])) {\n this.selectedIds.push(element[this.categoryIdKey]);\n }\n });\n }\n } else {\n if (\n activeTab === 'strategic' ||\n activeTab === 'operational' ||\n activeTab === 'compliance' ||\n activeTab === 'others'\n ) {\n const list = [...this.categoryList[activeTab].list];\n list.forEach((element) => {\n if (this.selectedIds.includes(element[this.categoryIdKey])) {\n let idIndex = this.selectedIds.findIndex(\n (id: any) => id == element[this.categoryIdKey]\n );\n this.selectedIds.splice(idIndex, 1);\n }\n });\n }\n }\n this.setList();\n }\n\n setList() {\n const data: any = [];\n const categoryList = [...new Set(this.allCategories)];\n // cloneDeep(this.allCategories)\n const selectedIds = [...new Set(this.selectedIds)];\n // cloneDeep(this.selectedIds);\n this.categoryList.strategic.selectedList = [];\n this.categoryList.operational.selectedList = [];\n this.categoryList.compliance.selectedList = [];\n this.categoryList.others.selectedList = [];\n\n categoryList.forEach((element: any) => {\n if (selectedIds.includes(element[this.categoryIdKey])) {\n data.push(element);\n }\n });\n this.selectedCategories = data;\n this.footerDetails.selectedData = data;\n\n this.categoryList.strategic.list.forEach((category: any) => {\n if (selectedIds.includes(category[this.categoryIdKey])) {\n this.categoryList.strategic.selectedList.push(category);\n }\n });\n this.categoryList.operational.list.forEach((category: any) => {\n if (selectedIds.includes(category[this.categoryIdKey])) {\n this.categoryList.operational.selectedList.push(category);\n }\n });\n this.categoryList.compliance.list.forEach((category: any) => {\n if (selectedIds.includes(category[this.categoryIdKey])) {\n this.categoryList.compliance.selectedList.push(category);\n }\n });\n this.categoryList.others.list.forEach((category: any) => {\n if (selectedIds.includes(category[this.categoryIdKey])) {\n this.categoryList.others.selectedList.push(category);\n }\n });\n if (!this.activeTab) {\n this.setActiveTab();\n }\n }\n setActiveTab() {\n if (this.categoryList.strategic.selectedList.length > 0) {\n this.activeTab = 'strategic';\n } else if (this.categoryList.operational.selectedList.length > 0) {\n this.activeTab = 'operational';\n } else if (this.categoryList.compliance.selectedList.length > 0) {\n this.activeTab = 'compliance';\n } else if (this.categoryList.others.selectedList.length > 0) {\n this.activeTab = 'others';\n } else {\n this.activeTab = 'strategic';\n }\n }\n\n checkSelectAll(activeTab: string) {\n if (\n activeTab === 'strategic' ||\n activeTab === 'operational' ||\n activeTab === 'compliance' ||\n activeTab === 'others'\n ) {\n const data = this.categoryList[activeTab].list.every((user: any) =>\n this.selectedIds.includes(user[this.categoryIdKey])\n );\n return data;\n }\n }\n\n save() {\n this.saveSelectedCategory.emit(this.selectedCategories);\n }\n\n close() {\n this.closeCategoriesList.emit();\n }\n}\n","<div class=\"risk-category-list\" [class.animate-slideInRight]=\"animation\">\n <div\n class=\"risk-category-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <span class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Risk Category(s)</span>\n </div>\n <div class=\"risk-category-list-mid\">\n <div class=\"vx-d-flex vx-mb-2\">\n <div\n class=\"risk-category-list-card\"\n [class.active]=\"activeTab == 'strategic'\"\n (click)=\"activeTab = 'strategic'\"\n >\n <div class=\"left\">\n <label>strategic</label>\n <p *ngIf=\"categoryList?.strategic?.selectedList?.length != 0\">\n {{ categoryList?.strategic?.selectedList?.length }}\n {{\n categoryList?.strategic?.selectedList?.length == 1\n ? \"Category\"\n : \"Categories\"\n }}\n selected\n </p>\n </div>\n <span class=\"counter\">{{ categoryList?.strategic?.list?.length }}</span>\n </div>\n <div\n class=\"risk-category-list-card\"\n [class.active]=\"activeTab == 'operational'\"\n (click)=\"activeTab = 'operational'\"\n >\n <div class=\"left\">\n <label>operational</label>\n <p *ngIf=\"categoryList?.operational?.selectedList?.length != 0\">\n {{ categoryList?.operational?.selectedList?.length }}\n {{\n categoryList?.operational?.selectedList?.length == 1\n ? \"Category\"\n : \"Categories\"\n }}\n selected\n </p>\n </div>\n <span class=\"counter\">{{\n categoryList?.operational?.list?.length\n }}</span>\n </div>\n <div\n class=\"risk-category-list-card\"\n [class.active]=\"activeTab == 'compliance'\"\n (click)=\"activeTab = 'compliance'\"\n >\n <div class=\"left\">\n <label>compliance</label>\n <p *ngIf=\"categoryList?.compliance?.selectedList?.length != 0\">\n {{ categoryList?.compliance?.selectedList?.length }}\n {{\n categoryList?.compliance?.selectedList?.length == 1\n ? \"Category\"\n : \"Categories\"\n }}\n selected\n </p>\n </div>\n <span class=\"counter\">{{\n categoryList?.compliance?.list?.length\n }}</span>\n </div>\n <div\n class=\"risk-category-list-card\"\n [class.active]=\"activeTab == 'others'\"\n (click)=\"activeTab = 'others'\"\n >\n <div class=\"left\">\n <label>OTHERS</label>\n <p *ngIf=\"categoryList?.others?.selectedList?.length != 0\">\n {{ categoryList?.others?.selectedList?.length }}\n {{\n categoryList?.others?.selectedList?.length == 1\n ? \"Category\"\n : \"Categories\"\n }}\n selected\n </p>\n </div>\n <span class=\"counter\">{{ categoryList?.others?.list?.length }}</span>\n </div>\n </div>\n\n <div class=\"risk-category-list-search vx-mb-2\">\n <i class=\"icons\">&#xe90b;</i>\n <input\n type=\"text\"\n [(ngModel)]=\"search\"\n placeholder=\"Search Risk Category\"\n />\n </div>\n\n <ng-container\n *ngIf=\"categoryList[activeTab]?.list | filter : search as searchList\"\n >\n <div class=\"select-all\" *ngIf=\"searchList.length > 1\">\n <app-cs-checkbox\n [ngValue]=\"checkSelectAll(activeTab)\"\n (ngValueChange)=\"selectAll($event, activeTab)\"\n >\n <strong>{{\n checkSelectAll(activeTab) ? \"Deselect All\" : \"Select All\"\n }}</strong>\n </app-cs-checkbox>\n </div>\n <div\n class=\"risk-category-list-item vx-mb-4\"\n [class.with-selectAll]=\"searchList.length > 1\"\n *ngIf=\"searchList.length > 0\"\n >\n <ul class=\"risk-category-list-item-ul vx-m-0 vx-p-0\">\n <li class=\"vx-mb-4\" *ngFor=\"let category of searchList\">\n <app-cs-checkbox\n [ngValue]=\"selectedIds.includes(category[categoryIdKey])\"\n (ngValueChange)=\"selectCategory($event, activeTab, category)\"\n >\n <ul class=\"categories\">\n <li\n [arTooltip]=\"category.category_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n >\n {{ category.category_name }}\n </li>\n </ul>\n </app-cs-checkbox>\n </li>\n </ul>\n </div>\n <app-no-data\n *ngIf=\"searchList.length == 0\"\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"'No data to display'\"\n >\n </app-no-data>\n </ng-container>\n\n <app-dashboard-footer\n [footerDetails]=\"footerDetails\"\n (cancelEvent)=\"close()\"\n (deleteEvent)=\"deleteEvent($event)\"\n (submitEvent)=\"save()\"\n ></app-dashboard-footer>\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\nimport { SnackBarService } from '../../ui-kit/snack-bar/snack-bar.service';\n\n\n@Component({\n selector: 'app-frequency',\n templateUrl: './frequency.component.html',\n styleUrls: ['./frequency.component.less']\n})\nexport class FrequencyComponent implements OnInit,OnChanges {\n animation = true;\n @Input() savedFrequencyTab: string | undefined;\n monthlyDate = 1;\n quarterlyDate = 1;\n @Input() savedFrequencies: any;\n @Input() selectedDate: any;\n frequencyTab = 'weekly';\n showFrequency = true;\n dayNames = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\n monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n quarters = ['January, April, July, October', 'February, May, August, November', 'March, June, September, December'];\n selectedDays: any[] = [0];\n selectedMonths: any[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n selectedQuarter = 0;\n @Output() closeFrequencyPopup = new EventEmitter<string>();\n @Output() saveFrequency = new EventEmitter<any>();\n footerDetails: DashboardFooterConfig = {\n selectedData: [],\n nonRemovableList:[],\n displayElementKey: '',\n elementId: '',\n singularText: '',\n pluralText: '',\n showFrequency: true,\n frequencyText: 'You have selected a <strong>' + this.frequencyTab + '</strong> frequency.',\n isDisabled: false\n\n };\n showRadio = true;\n constructor(private snackBar:SnackBarService) { }\n ngOnChanges(){\n this.savedFrequencies = [...new Set(this.savedFrequencies)]\n }\n\n ngOnInit(): void {\n this.animation = true;\n setTimeout(() => {\n this.animation = false;\n }, 300);\n if (this.savedFrequencyTab) {\n this.changeTab(this.savedFrequencyTab);\n }\n if (this.selectedDate) {\n switch (this.savedFrequencyTab) {\n case 'weekly':\n this.selectedDays = [...new Set(this.savedFrequencies)]\n break;\n case 'monthly':\n this.monthlyDate = this.selectedDate;\n this.selectedMonths = [...new Set(this.savedFrequencies)]\n\n break;\n case 'quarterly':\n this.showRadio = false;\n setTimeout(() => {\n this.showRadio = true\n }, 100);\n this.quarterlyDate = this.selectedDate\n this.selectedQuarter = this.savedFrequencies;\n\n break;\n\n }\n }\n\n }\n closeFrequency() {\n this.closeFrequencyPopup.emit();\n }\n daySelectionChange(event: any, index: any) {\n if (event) { //checkbox was selected\n this.selectedDays.push(index);\n } else {\n let unselectedElementIndex = this.selectedDays.indexOf(index);\n this.selectedDays.splice(unselectedElementIndex, 1);\n }\n this.checkFrequencyValidity();\n }\n monthSelectionChange(event: any, index: any) {\n if (event) {\n this.selectedMonths.push(index);\n } else {\n let unselectedElementIndex = this.selectedMonths.indexOf(index);\n this.selectedMonths.splice(unselectedElementIndex, 1);\n }\n this.checkDateValidity(this.monthlyDate,'monthly')\n this.checkFrequencyValidity();\n }\n\n quarterSelectionChange(event: any, index: any) {\n this.selectedQuarter = index;\n this.checkDateValidity(this.quarterlyDate,'quarterly');\n this.checkFrequencyValidity();\n }\n\n changeTab(tabValue: string) {\n this.frequencyTab = tabValue;\n this.footerDetails.frequencyText = 'You have selected a <strong>' + this.frequencyTab + '</strong> frequency.';\n this.footerDetails.isDisabled = false;\n this.setToDefaultValues()\n if (this.frequencyTab === this.savedFrequencyTab) {\n switch (this.frequencyTab) {\n case 'weekly': {\n this.selectedDays = [...this.savedFrequencies];\n this.monthlyDate = 1;\n this.quarterlyDate = 1;\n break;\n }\n case 'monthly': {\n this.selectedMonths = [...this.savedFrequencies];\n this.monthlyDate = this.selectedDate;\n this.quarterlyDate = 1;\n this.checkDateValidity(this.monthlyDate,'monthly')\n break;\n }\n case 'quarterly': {\n this.selectedQuarter = this.savedFrequencies;\n this.quarterlyDate = this.selectedDate;\n this.monthlyDate = 1;\n this.checkDateValidity(this.quarterlyDate,'quarterly')\n break;\n }\n }\n }\n }\n\n setToDefaultValues() {\n this.selectedDays = [0];\n this.selectedMonths = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n this.selectedQuarter = 0;\n }\n\n submitFrequency() {\n let stringVal = \"Every \";\n let frequencies;\n let selectedDate = 1;\n switch (this.frequencyTab) {\n case 'weekly': {\n if (this.selectedDays.length > 0) {\n this.selectedDays.sort();\n frequencies = this.selectedDays;\n this.selectedDays.forEach((dayIndex, index) => {\n stringVal += index === 0 ? this.dayNames[dayIndex] : ', ' + this.dayNames[dayIndex];\n })\n } else {\n // nothing was selected\n this.closeFrequency();\n }\n break;\n }\n case 'monthly': {\n stringVal = \" of every \";\n if (this.selectedMonths.length > 0) {\n frequencies = this.selectedMonths;\n this.monthNames.forEach((monthNames: string, monthIndex: number) => {\n if (this.selectedMonths.includes(monthIndex)) {\n stringVal += monthIndex === 0 ? monthNames : ', ' + monthNames;\n\n }\n })\n let monthDateName;\n if (this.monthlyDate == 1) {\n monthDateName = '1st'\n }\n else if (this.monthlyDate == 2) {\n monthDateName = '2nd'\n }\n else if (this.monthlyDate == 3) {\n monthDateName = '3rd'\n }\n else {\n monthDateName = this.monthlyDate + 'th'\n }\n stringVal = monthDateName + stringVal;\n selectedDate = this.monthlyDate;\n } else {\n // nothing was selected\n this.closeFrequency();\n }\n break;\n }\n case 'quarterly': {\n stringVal = \" of every \";\n\n if (this.selectedQuarter >= 0) {\n frequencies = this.selectedQuarter;\n stringVal += this.quarters[this.selectedQuarter];\n selectedDate = this.quarterlyDate;\n let monthDateName;\n if (this.quarterlyDate == 1) {\n monthDateName = '1st'\n }\n else if (this.quarterlyDate == 2) {\n monthDateName = '2nd'\n }\n else if (this.quarterlyDate == 3) {\n monthDateName = '3rd'\n }\n else {\n monthDateName = this.quarterlyDate + 'th'\n }\n stringVal = monthDateName + stringVal;\n selectedDate = this.quarterlyDate;\n } else {\n // nothing was selected\n this.closeFrequency();\n }\n break;\n }\n }\n this.saveFrequency.emit({\n frequencyString: stringVal,\n frequencyType: this.frequencyTab,\n frequencies: frequencies,\n selectedDate\n })\n }\n \n checkDateValidity(date:number, type:string){\n if(date>31 || date<1){\n this.snackBar.show('Select valid date.','alert');\n this.footerDetails.isDisabled = true;\n return\n }else{\n this.footerDetails.isDisabled = false;\n }\n const monthList=[{name:'January',maxDays:31,value:0},{name:'February',maxDays:28,value:1},{name:'March',maxDays:31,value:2},\n {name:'April',maxDays:30,value:3},{name:'May',maxDays:31,value:4},{name:'June',maxDays:30,value:5},\n {name:'July',maxDays:31,value:6},{name:'August',maxDays:31,value:7},{name:'September',maxDays:30,value:8},\n {name:'October',maxDays:31,value:9},{name:'November',maxDays:30,value:10},{name:'December',maxDays:31,value:11}]\n switch (type) {\n case 'monthly':\n if(this.selectedMonths.length==1){\n const index = monthList.findIndex((ele:any)=>ele.value==this.selectedMonths[0]);\n if(date<=monthList[index].maxDays){\n this.footerDetails.isDisabled = false;\n \n }else{\n this.snackBar.show('Select valid date.','alert');\n this.footerDetails.isDisabled = true; \n }\n }else if(this.selectedMonths.length==0){\n this.footerDetails.isDisabled = true; \n }else{\n this.footerDetails.isDisabled = false;\n }\n\n break;\n default:\n this.footerDetails.isDisabled = false;\n return true;\n break;\n\n }\n\n}\n\ncheckFrequencyValidity(){\n switch (this.frequencyTab) {\n case 'weekly': {\n if (this.selectedDays.length > 0) {\n this.footerDetails.isDisabled = false;\n\n } else {\n this.footerDetails.isDisabled = true;\n }\n break;\n }\n case 'monthly': {\n \n if (this.selectedMonths.length > 0) {\n this.footerDetails.isDisabled = false;\n \n } else {\n this.footerDetails.isDisabled = true;\n }\n break;\n }\n case 'quarterly': {\n\n if (this.selectedQuarter >= 0){\n this.footerDetails.isDisabled = false;\n \n } else {\n this.footerDetails.isDisabled = true;\n }\n break;\n }\n } \n}\n\n}\n","<div class=\"create-frequency\" [class.animate-slideInRight]=\"animation\">\n <div class=\"create-frequency-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4 vx-mb-4\">\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Frequency</div>\n </div>\n <div class=\"create-frequency-body vx-pl-4 vx-pr-4\">\n <div class=\"create-frequency-body-inner\">\n <div class=\"create-frequency-tab\" [ngSwitch]=\"frequencyTab\">\n <div class=\"create-frequency-tab-head\">\n <ul class=\"navigation\">\n <li><button [class.active]=\"frequencyTab == 'weekly'\" (click)=\"changeTab('weekly')\">Weekly</button></li>\n <li><button [class.active]=\"frequencyTab == 'monthly'\" (click)=\"changeTab('monthly')\">Monthly</button></li>\n <li><button [class.active]=\"frequencyTab == 'quarterly'\" (click)=\"changeTab('quarterly')\">Quarterly</button></li>\n </ul>\n </div>\n <div class=\"create-frequency-tab-body vx-pl-4 vx-pr-4\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">Email Reminder Frequency:</div>\n <div class=\"checkbox-list\" *ngSwitchCase=\"'weekly'\">\n <div class=\"frequency-checkbox vx-d-flex vx-align-center\">\n <div class=\"frequency-checkbox-item vx-p-3 vx-pr-4 vx-d-flex vx-align-center\" *ngFor=\"let day of dayNames; let dayIndex = index\">\n <app-cs-checkbox (ngValueChange)=\"daySelectionChange($event, dayIndex)\" [ngValue]=\"selectedDays.includes(dayIndex)\">{{day}}</app-cs-checkbox>\n </div>\n </div>\n </div>\n <div class=\"checkbox-list month\" *ngSwitchCase=\"'monthly'\">\n <div class=\"frequency-top vx-d-flex vx-align-center\">\n <div class=\"vx-fs-13 vx-paragraph-txt\">Day</div>\n <input type=\"number\" (focusout)=\"checkDateValidity(monthlyDate,'monthly')\" [(ngModel)]=\"monthlyDate\" class=\"countNum\" onkeydown=\"return event.keyCode !== 190\" min=\"1\" oninput=\"this.value = Math.abs(this.value)\">\n <div class=\"vx-fs-13 vx-paragraph-txt\">of</div>\n </div>\n <div class=\"frequency-checkbox vx-d-flex vx-align-center vx-flex-wrap\">\n <div class=\"frequency-checkbox-item vx-p-3 vx-pr-4 vx-d-flex vx-align-center\" *ngFor=\"let month of monthNames; let monthIndex = index\">\n <app-cs-checkbox (ngValueChange)=\"monthSelectionChange($event, monthIndex)\" [ngValue]=\"selectedMonths.includes(monthIndex)\">{{month}}</app-cs-checkbox>\n </div>\n </div>\n </div>\n <div class=\"checkbox-list\" *ngSwitchCase=\"'quarterly'\">\n <ng-container *ngIf=\"showRadio\">\n <div class=\"frequency-top vx-d-flex vx-align-center\">\n <div class=\"vx-fs-13 vx-paragraph-txt\">Day</div>\n <input type=\"number\" (focusout)=\"checkDateValidity(quarterlyDate,'quarterly')\" [(ngModel)]=\"quarterlyDate\" class=\"countNum\" onkeydown=\"return event.keyCode !== 190\" min=\"1\" oninput=\"this.value = Math.abs(this.value)\">\n <div class=\"vx-fs-13 vx-paragraph-txt\">of</div>\n </div>\n <div class=\"frequency-checkbox vx-d-flex vx-align-center\">\n <div class=\"frequency-checkbox-item vx-p-3 vx-pr-4 vx-d-flex vx-align-center vx-w-100\" *ngFor=\"let quarter of quarters, let quarterIndex = index\">\n <app-cs-radio (checkedEvent)=\"quarterSelectionChange($event, quarterIndex)\" [checked]=\"selectedQuarter === quarterIndex\">{{quarter}}</app-cs-radio>\n </div>\n </div>\n </ng-container> \n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"create-frequency-footer\">\n <app-dashboard-footer \n [footerDetails]=\"footerDetails\"\n (cancelEvent)=\"closeFrequencyPopup.emit()\"\n (submitEvent)=\"submitFrequency()\"\n ></app-dashboard-footer>\n </div>\n</div>","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { EditorConfig } from '@vcomply/editor';\nimport { DatePickerComponent, IDatePickerConfig } from 'ng2-date-picker';\nimport { CreateDashboardService } from './services/create-dashboard.service';\nimport { PaginationService } from './services/pagination.service';\nimport { UserListConfiguration } from './user-list/user-list.config';\nimport { CreateDashboardForm } from './create-dashboard-config';\nimport { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';\nimport { ConfigureWidgetsService } from './services/configure-widgets.service';\n\nimport dayjs from 'dayjs';\nimport { PopoverService } from '../ui-kit/popover/popover.service';\nimport { TextCountPipe } from './pipes/text-count.pipe';\nimport * as LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport { ASSETS } from './constants/assets.constant';\ndayjs.extend(LocalizedFormat);\n\n@Component({\n selector: 'app-create-dashboard',\n templateUrl: './create-dashboard.component.html',\n styleUrls: ['./create-dashboard.component.less'],\n providers: [TextCountPipe],\n})\nexport class CreateDashboardComponent implements OnInit, OnChanges {\n @Input() feature: any;\n activeSelector = '';\n disabled = false;\n @Input() mode = 'CREATE';\n @Input() dashboardId = '';\n @Output() close = new EventEmitter();\n @Input() createdBy = 0;\n @ViewChild('fromDatePicker') fromDatePicker!: DatePickerComponent;\n @ViewChild('toDatePicker') toDatePicker!: DatePickerComponent;\n animation = true;\n @Input() configureWidget = false;\n ASSETS: any = ASSETS;\n\n totalPages = 1;\n totalList = 1;\n usersList: any[] = [];\n vLoader = true;\n userListLoaded = false;\n rcListLoaded = false;\n complianceCategoriesListLoaded = false;\n riskCategoryListLoaded = false;\n hideToDate = false;\n listDetails: UserListConfiguration = {\n selectedUsersList: [],\n selectedGroupList: [],\n nonRemovableUsersList: [],\n displayElementKey: 'member_name',\n displayGroupKey: 'group_name',\n groupIdkey: 'group_id',\n elementIdKey: 'member_id',\n tooltipKey: 'member_email',\n };\n dashboardDescription: EditorConfig = {\n placeholder: 'Description (Max limit: 250 characters)',\n mode: 'prime',\n id: 'description',\n };\n responsibilityCategoriesTree: any = {\n regulations: {\n list: [],\n selectedList: [],\n },\n standards: {\n list: [],\n selectedList: [],\n },\n internalControls: {\n list: [],\n selectedList: [],\n },\n others: {\n list: [],\n selectedList: [],\n },\n };\n allComplianceCategories: any[] = [];\n allRiskCategories: any[] = [];\n showRiskCategory = false;\n showCriteria = true;\n\n dashboardForm: CreateDashboardForm = {\n dashboardName: '',\n dashboardDescriptionText: '',\n selectedViewers: [],\n selectedGroup: [],\n selectedFromDate: undefined,\n selectedToDate: undefined,\n selectedResponsibilityCenters: [],\n selectedResponsibilityCategories: [],\n selectedRiskCategories: [],\n displayCriteria: 'or',\n configureWidget: [],\n frequencyDetails: '',\n selectedFrequencyType: '',\n selectedFrequencies: [0],\n frequencyMessage: '',\n frequencyDate: 1,\n };\n\n openConfigureWidgets = false;\n selectedWidgets: any = [];\n displayedWidgets: any = [];\n\n responsibilityCentersList = [];\n datePickerOverlay = false;\n dayNames = [\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n 'Sunday',\n ];\n monthNames = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ];\n quarters = [\n 'January, April, July, October',\n 'February, May, August, November',\n 'March, June, September, December',\n ];\n\n categoryListLoaded = false;\n showRiskWidgets = false;\n showComplianceWidgets = false;\n isManageRisk: boolean = false;\n\n riskCategoryList = {\n strategic: {\n list: [],\n selectedList: [],\n },\n operational: {\n list: [],\n selectedList: [],\n },\n compliance: {\n list: [],\n selectedList: [],\n },\n others: {\n list: [],\n selectedList: [],\n },\n };\n\n fromDatePickerConfig: IDatePickerConfig = {\n min: this.getCurrentDate(),\n };\n\n toDatePickerConfig: IDatePickerConfig = {};\n\n isSmiley!: boolean;\n smileyMessage: string = '';\n groupList: any;\n groupsEnabled: boolean = false;\n totalgroups: any;\n @ViewChild('fromDatePicker', { read: ElementRef, static: false })\n fromDatePickerPopup!: ElementRef;\n @ViewChild('toDatePicker', { read: ElementRef, static: false })\n toDatePickerPopup!: ElementRef;\n openedDatePicker: string = '';\n\n constructor(\n private createDashboardService: CreateDashboardService,\n private paginationService: PaginationService,\n private cdr: ChangeDetectorRef,\n private snackBar: SnackBarService,\n public popoverService: PopoverService,\n private configureWidgetsService: ConfigureWidgetsService,\n private textCount: TextCountPipe,\n ) {}\n\n ngOnChanges() {\n if (this.createdBy) {\n this.listDetails.nonRemovableUsersList.push(this.createdBy);\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(\n event: KeyboardEvent\n ) {\n this.close.emit({ mode: 'discard' });\n this.isSmiley = false;\n }\n\n ngOnInit(): void {\n this.groupsEnabled = true;\n this.animation = true;\n setTimeout(() => {\n this.animation = false;\n }, 300);\n // this.getOrganizationUsersCount('');\n this.getCategoryList();\n this.getRCList();\n this.getComplianceCategoryList();\n this.setFrequency('2~1~0~0', 'import');\n this.checkWhetherAllListsLoaded();\n this.getUsersList('');\n this.getGroupList();\n this.createDashboardService.getUserInformation().subscribe(\n (res: any) => {\n this.setPermission(res?.roleActions);\n const quickLink = res.quick_link;\n if (quickLink.risk) {\n this.showRiskCategory = true;\n } else {\n this.showRiskCategory = false;\n }\n },\n (error) => {\n console.error(error);\n }\n );\n }\n\n /**\n * Displays the listing pages the left side of policy form to set and edit the dropdown fields values\n * @param type holds name of particular list is to be displayed\n * @param event contains boolean value to display the list or not\n */\n activateSelector(type: any, event: boolean) {\n if (type == 'frequency' || this.activeSelector == 'frequency') {\n this.showCriteria = false;\n setTimeout(() => {\n this.showCriteria = true;\n }, 1);\n }\n this.activeSelector = event ? type : '';\n }\n\n openFromDatePicker() {\n this.openedDatePicker = 'FROM_DATE';\n\n this.fromDatePicker?.api?.open();\n this.datePickerOverlay = true;\n }\n\n openToDatePicker() {\n this.openedDatePicker = 'TO_DATE';\n\n this.toDatePicker?.api?.open();\n\n this.datePickerOverlay = true;\n }\n closeFromDatePicker() {\n this.fromDatePicker?.api?.close();\n if (!this.dashboardForm.selectedFromDate) {\n this.dashboardForm.selectedToDate = undefined;\n this.hideToDate = true;\n setTimeout(() => {\n this.hideToDate = false;\n }, 20);\n this.fromDatePicker.api.close();\n this.datePickerOverlay = false;\n return;\n }\n let minToDate = this.setToDate(this.dashboardForm.selectedFromDate);\n this.toDatePickerConfig = { min: minToDate };\n\n const fromDate = new Date(minToDate.split('-').reverse().join('-'));\n const toDate = new Date(this.dashboardForm.selectedToDate);\n const inValidDate = fromDate >= toDate ? true : false;\n if (inValidDate) {\n this.dashboardForm.selectedToDate = undefined;\n this.hideToDate = true;\n setTimeout(() => {\n this.hideToDate = false;\n }, 20);\n }\n\n this.datePickerOverlay = false;\n }\n\n closeToDatePicker() {\n this.toDatePicker?.api?.close();\n this.datePickerOverlay = false;\n }\n\n animateImage() {\n const circleImage = document.getElementsByClassName('image');\n }\n\n saveFrequency(eventValues: any) {\n this.dashboardForm.selectedFrequencyType = eventValues.frequencyType;\n this.dashboardForm.selectedFrequencies = eventValues.frequencies;\n this.dashboardForm.frequencyMessage = eventValues.frequencyString;\n this.dashboardForm.frequencyDate = eventValues.selectedDate;\n this.activateSelector('', false);\n }\n\n getCurrentDate() {\n let today = new Date();\n return dayjs(today).format('DD-MM-YYYY');\n }\n setToDate(data: string) {\n let today = new Date(data);\n return dayjs(today).format('DD-MM-YYYY');\n }\n getFromDate(data: string) {\n let today = new Date(data);\n return (\n today.getDate() + '-' + (today.getMonth() + 1) + '-' + today.getFullYear()\n );\n }\n\n /**\n * It takes a string, converts it to a date, then returns a string in the format of YYYY-MM-DD.\n * @param {string} data - the date you want to format\n * @returns A string in the format of YYYY-MM-DD\n */\n getDateFormate(data: string) {\n let today = new Date(data);\n return (\n today.getFullYear() +\n '-' +\n String(today.getMonth() + 1).padStart(2, '0') +\n '-' +\n String(today.getDate()).padStart(2, '0')\n );\n }\n\n configureDashboard() {\n let fieldsStatus = this.validateDashboard();\n if (fieldsStatus) {\n if (this.mode == 'CREATE') {\n this.vLoader = true;\n const payload = {\n dashboard_name: this.dashboardForm.dashboardName,\n dashboard_id: '',\n };\n this.createDashboardService\n .checkDuplicateDashboardName(payload)\n .subscribe(\n (res) => {\n if (!res) {\n this.vLoader = false;\n this.showRiskWidgets =\n this.isManageRisk &&\n this.showRiskCategory &&\n (this.dashboardForm.selectedRiskCategories.length > 0 ||\n this.dashboardForm.selectedResponsibilityCenters.length > 0)\n ? true\n : false;\n this.showComplianceWidgets =\n this.dashboardForm.selectedResponsibilityCategories.length >\n 0 ||\n this.dashboardForm.selectedResponsibilityCenters.length > 0\n ? true\n : false;\n this.openConfigureWidgets = true;\n } else {\n this.vLoader = false;\n this.snackBar.show(\n 'A dashboard with this name already exists. Specify a different name for the dashboard.',\n 'alert'\n );\n return;\n }\n },\n (error) => {\n console.error(error);\n this.vLoader = false;\n }\n );\n } else if (this.mode == 'EDIT') {\n this.vLoader = true;\n const payload = {\n dashboard_name: this.dashboardForm.dashboardName,\n dashboard_id: this.dashboardId,\n };\n this.createDashboardService\n .checkDuplicateDashboardName(payload)\n .subscribe(\n (res) => {\n if (!res) {\n this.vLoader = false;\n this.showRiskWidgets =\n this.isManageRisk &&\n this.showRiskCategory &&\n (this.dashboardForm.selectedRiskCategories.length > 0 ||\n this.dashboardForm.selectedResponsibilityCenters.length > 0)\n ? true\n : false;\n this.showComplianceWidgets =\n this.dashboardForm.selectedResponsibilityCategories.length >\n 0 ||\n this.dashboardForm.selectedResponsibilityCenters.length > 0\n ? true\n : false;\n this.openConfigureWidgets = true;\n } else {\n this.vLoader = false;\n this.snackBar.show(\n 'A dashboard with this name already exists. Specify a different name for the dashboard.',\n 'alert'\n );\n return;\n }\n },\n (error) => {\n this.vLoader = false;\n console.error(error);\n }\n );\n }\n }\n }\n\n /**\n * Fetches organization users count api to get total number of pages\n * @param Url contains prams\n */\n getOrganizationUsersCount(Url: any) {\n this.createDashboardService\n .getOrganizationUsersCount(Url)\n .subscribe((res) => {\n this.totalList = res.total_members;\n if (res.total_members && res.limit_per_page > 1) {\n this.totalPages = res.create_page;\n } else {\n this.totalPages = 1;\n }\n });\n }\n\n /**\n * Get users list by making api call and pre selects all admins by adding to viewers\n * @param url contains query params for organization users api\n */\n getUsersList(url: any) {\n this.createDashboardService.getAllUsers().subscribe((res: any) => {\n this.usersList = res;\n this.userListLoaded = true;\n\n if (this.mode === 'EDIT') {\n this.vLoader = true;\n } else {\n this.dashboardForm.selectedViewers = this.setList(\n this.usersList,\n [this.createdBy],\n 'member_id'\n );\n this.listDetails.selectedUsersList = this.dashboardForm.selectedViewers;\n this.vLoader = false;\n }\n });\n }\n\n getGroupList() {\n this.createDashboardService.getAllGroups().subscribe((res: any) => {\n this.totalgroups = res.total_items;\n this.groupList = res.data;\n this.userListLoaded = true;\n if (this.mode === 'EDIT') {\n this.vLoader = true;\n } else {\n this.dashboardForm.selectedGroup = this.setList(\n this.groupList,\n [this.createdBy],\n 'group_id'\n );\n this.listDetails.selectedGroupList = this.dashboardForm.selectedGroup;\n this.vLoader = false;\n }\n });\n }\n\n getComplianceCategoryList() {\n this.createDashboardService\n .getComplianceCategoriesListFromGlobal()\n .subscribe(\n (res: any) => {\n const data = res;\n this.allComplianceCategories = Object.assign(res);\n // cloneDeep(res);\n data.forEach((element: any) => {\n if (element && element.compliance_type == 0) {\n this.responsibilityCategoriesTree.others.list.push(element);\n }\n if (element && element.compliance_type == 1) {\n this.responsibilityCategoriesTree.regulations.list.push(element);\n }\n if (element && element.compliance_type == 2) {\n this.responsibilityCategoriesTree.standards.list.push(element);\n }\n if (element && element.compliance_type == 3) {\n this.responsibilityCategoriesTree.internalControls.list.push(\n element\n );\n }\n });\n this.complianceCategoriesListLoaded = true;\n },\n (err: any) => {\n console.error(err);\n this.complianceCategoriesListLoaded = true;\n }\n );\n }\n\n getCategoryList() {\n this.createDashboardService.getCategoryList().subscribe(\n (res: any) => {\n this.riskCategoryList.strategic.list = res.strategic_arr;\n this.riskCategoryList.operational.list = res.operational_arr;\n this.riskCategoryList.compliance.list = res.compliance_arr;\n this.riskCategoryList.others.list = res.others_arr;\n this.riskCategoryListLoaded = true;\n this.allRiskCategories = [\n ...new Set(\n this.allRiskCategories.concat(\n res.strategic_arr,\n res.operational_arr,\n res.compliance_arr,\n res.others_arr\n )\n ),\n ];\n },\n (err) => {\n console.error(err);\n this.riskCategoryListLoaded = true;\n }\n );\n }\n\n /**\n * It is to ensure whether all required lists on Policy from is loaded from the api call or not\n */\n checkWhetherAllListsLoaded() {\n if (\n this.rcListLoaded &&\n this.complianceCategoriesListLoaded &&\n this.riskCategoryListLoaded &&\n this.userListLoaded\n ) {\n if (this.mode === 'EDIT') {\n this.editDashboard();\n } else {\n this.vLoader = false;\n }\n } else {\n setTimeout(() => {\n this.checkWhetherAllListsLoaded();\n }, 300);\n }\n }\n\n setSelectedWidgets(data: any) {\n if (this.mode === 'CREATE') {\n const widgetsArray: any = [];\n data.forEach((element: any) => {\n let obj: any = {};\n obj.module_name = element.module;\n obj._id = '';\n obj.widget_name = element.title;\n obj.widget_code = element.id;\n obj.sub_widgets = [];\n obj.state = 'ACTIVE';\n if (element.subWidgets.length > 0) {\n element.subWidgets.forEach((subWidget: any) => {\n let subWidgetObject: any = {};\n subWidgetObject._id = '';\n subWidgetObject.widget_name = subWidget.title;\n subWidgetObject.widget_code = subWidget.id;\n subWidgetObject.state = subWidget.value ? 'ACTIVE' : 'INACTIVE';\n obj.sub_widgets.push(Object.assign(subWidgetObject));\n });\n }\n widgetsArray.push(obj);\n });\n\n this.dashboardForm.configureWidget = widgetsArray;\n } else if (this.mode === 'EDIT') {\n const widgetsArray: any = [];\n\n data.forEach((element: any) => {\n if (\n !JSON.stringify(this.dashboardForm.configureWidget).includes(\n element.id\n )\n ) {\n let obj: any = {};\n obj.module_name = element.module;\n obj._id = '';\n obj.widget_name = element.title;\n obj.widget_code = element.id;\n obj.sub_widgets = [];\n obj.state = 'ACTIVE';\n if (element.subWidgets.length > 0) {\n element.subWidgets.forEach((subWidget: any) => {\n let subWidgetObject: any = {};\n subWidgetObject._id = '';\n subWidgetObject.widget_name = subWidget.title;\n subWidgetObject.widget_code = subWidget.id;\n subWidgetObject.state = subWidget.value ? 'ACTIVE' : 'INACTIVE';\n obj.sub_widgets.push(subWidgetObject);\n });\n }\n this.dashboardForm.configureWidget.push(obj);\n } else {\n const index = this.selectedWidgets.findIndex(\n (ele: any) => ele.widget_code == element.id\n );\n if (index != -1) {\n this.selectedWidgets[index].state = 'ACTIVE';\n if (this.selectedWidgets[index].sub_widgets.length > 0) {\n this.selectedWidgets[index].sub_widgets.forEach(\n (subWidgetData: any) => {\n const elementIndex = element.subWidgets.findIndex(\n (ele: any) => ele.id == subWidgetData.widget_code\n );\n if (elementIndex != -1) {\n subWidgetData.state = element.subWidgets[elementIndex].value\n ? 'ACTIVE'\n : 'INACTIVE';\n }\n }\n );\n }\n }\n }\n });\n this.dashboardForm.configureWidget.forEach((savedWidget: any) => {\n const index = data.findIndex(\n (dataElement: any) => dataElement.id == savedWidget.widget_code\n );\n if (index == -1) {\n savedWidget.state = 'INACTIVE';\n if (savedWidget.sub_widgets.length > 0) {\n savedWidget.sub_widgets.forEach((saveSubWidget: any) => {\n saveSubWidget.state = 'INACTIVE';\n });\n }\n }\n });\n }\n this.selectedWidgets = data;\n this.openConfigureWidgets = false;\n this.submitDashboard();\n }\n\n closeConfigureWidgets(event: boolean) {\n this.openConfigureWidgets = event;\n }\n\n /**\n * Filter list user's list based on pagination by making api call\n * @param event specifies a boolean value to call api\n */\n paginationFilter(event: any) {\n if (event) {\n this.getUsersList({\n p:\n this.paginationService.currentPage === 1\n ? ''\n : this.paginationService.currentPage,\n type: 'all_except_executive',\n q: !this.paginationService.searchValue\n ? ''\n : this.paginationService.searchValue,\n });\n }\n }\n\n getRCList() {\n this.createDashboardService.getResponsibilityCenterList().subscribe(\n (res: any) => {\n this.responsibilityCentersList = res;\n this.rcListLoaded = true;\n },\n (err: any) => {\n console.error(err);\n this.rcListLoaded = true;\n }\n );\n }\n /**\n * #### Description\n *\n * Returns the unique array of object based on unique key\n * @param array\n * @param key\n * @returns\n */\n uniqueByProp(array: any, key: string) {\n return Array.from(\n array\n .reduce(\n (acc: any, item: any) => (\n item && item[key] && acc.set(item[key], item), acc\n ),\n new Map()\n )\n .values()\n );\n }\n\n saveSelectedList(type: string, selectedItems: any) {\n switch (type) {\n case 'rc':\n this.dashboardForm.selectedResponsibilityCenters = this.setList(\n this.responsibilityCentersList,\n selectedItems,\n 'item_id'\n );\n if (this.dashboardForm.selectedResponsibilityCenters.length == 0) {\n if (this.dashboardForm.selectedResponsibilityCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'COMPLIANCE'\n );\n } else if (this.dashboardForm.selectedRiskCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'RISK'\n );\n }\n }\n break;\n case 'whoCanView':\n this.dashboardForm.selectedViewers = this.uniqueByProp(\n selectedItems?.users,\n 'member_id'\n );\n this.listDetails.selectedUsersList = this.dashboardForm.selectedViewers;\n this.dashboardForm.selectedGroup = this.uniqueByProp(\n selectedItems?.groups,\n 'group_id'\n );\n this.listDetails.selectedGroupList = this.dashboardForm.selectedGroup;\n break;\n case 'responsibilityCategories':\n this.dashboardForm.selectedResponsibilityCategories = selectedItems;\n if (this.dashboardForm.selectedResponsibilityCenters.length == 0) {\n if (this.dashboardForm.selectedResponsibilityCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'COMPLIANCE'\n );\n } else if (this.dashboardForm.selectedRiskCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'RISK'\n );\n }\n }\n break;\n case 'riskCategory':\n this.dashboardForm.selectedRiskCategories = selectedItems;\n if (this.dashboardForm.selectedResponsibilityCenters.length == 0) {\n if (this.dashboardForm.selectedResponsibilityCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'COMPLIANCE'\n );\n } else if (this.dashboardForm.selectedRiskCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'RISK'\n );\n }\n }\n break;\n }\n this.activateSelector('', false);\n }\n\n remove(type: any, event: any, removeIndex?: any) {\n switch (type) {\n case 'rc':\n const rcIndex =\n this.dashboardForm.selectedResponsibilityCenters.findIndex(\n (rc: any) => rc.rc_id == event.rc_id\n );\n if (rcIndex !== -1) {\n const parentRc: any =\n this.dashboardForm.selectedResponsibilityCenters[rcIndex];\n this.dashboardForm.selectedResponsibilityCenters.splice(rcIndex, 1);\n\n if (parentRc?.item_child_ids?.length > 0) {\n parentRc.item_child_ids.forEach((childElement: any) => {\n const removeIndex =\n this.dashboardForm.selectedResponsibilityCenters.findIndex(\n (removeElement: any) => removeElement.rc_id == childElement\n );\n this.dashboardForm.selectedResponsibilityCenters.splice(\n removeIndex,\n 1\n );\n });\n }\n }\n if (this.dashboardForm.selectedResponsibilityCenters.length == 0) {\n if (this.dashboardForm.selectedResponsibilityCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'COMPLIANCE'\n );\n } else if (this.dashboardForm.selectedRiskCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'RISK'\n );\n }\n }\n break;\n\n case 'whoCanView':\n const reviewerIndex = this.dashboardForm.selectedViewers.findIndex(\n (viewer: any) => viewer.member_id == event.member_id\n );\n this.dashboardForm.selectedViewers.splice(reviewerIndex, 1);\n break;\n case 'whoCanViewGroup':\n const groups = this.dashboardForm.selectedGroup.findIndex(\n (ele: any) => ele?.group_id == event?.group_id\n );\n this.dashboardForm.selectedGroup.splice(groups, 1);\n break;\n case 'responsibilityCategories':\n const CCcategoryIndex =\n this.dashboardForm.selectedResponsibilityCategories.findIndex(\n (CCcategory: any) => CCcategory.category_id == event.category_id\n );\n this.dashboardForm.selectedResponsibilityCategories.splice(\n CCcategoryIndex,\n 1\n );\n if (this.dashboardForm.selectedResponsibilityCenters.length == 0) {\n if (this.dashboardForm.selectedResponsibilityCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'COMPLIANCE'\n );\n } else if (this.dashboardForm.selectedRiskCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'RISK'\n );\n }\n }\n break;\n\n case 'riskCategory':\n const riskCategoryIndex =\n this.dashboardForm.selectedRiskCategories.findIndex(\n (riskCategory: any) => riskCategory.category_id == event.category_id\n );\n if (riskCategoryIndex !== -1) {\n const parent: any =\n this.dashboardForm.selectedRiskCategories[riskCategoryIndex];\n this.dashboardForm.selectedRiskCategories.splice(\n riskCategoryIndex,\n 1\n );\n if (parent?.child_cat_ids?.length > 0) {\n parent.child_cat_ids.forEach((childElement: any) => {\n const removeIndex =\n this.dashboardForm.selectedRiskCategories.findIndex(\n (removeElement: any) =>\n removeElement.category_id == childElement\n );\n this.dashboardForm.selectedRiskCategories.splice(removeIndex, 1);\n });\n }\n }\n this.dashboardForm.selectedRiskCategories.splice(riskCategoryIndex, 1);\n if (this.dashboardForm.selectedResponsibilityCenters.length == 0) {\n if (this.dashboardForm.selectedResponsibilityCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'COMPLIANCE'\n );\n } else if (this.dashboardForm.selectedRiskCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'RISK'\n );\n }\n }\n break;\n }\n }\n\n setList(list: any[], ids: any[], key: string) {\n const data: any = [];\n\n ids.forEach((element: any) => {\n const index = list.findIndex(\n (listElement: any) => listElement[key] == element\n );\n if (index !== -1) {\n data.push(list[index]);\n }\n });\n return data;\n }\n submitted = false;\n\n /**\n * Returns id's from a particular list elements\n * @param list actual selected list\n * @param key contains key to extract id from the list\n */\n returnIds(list: any[], key: string) {\n return list?.map((ele) => {\n if (ele[key]) {\n return ele[key];\n }\n });\n }\n\n /**\n * Validates the data submitted on create dashboard form\n */\n validateDashboard() {\n setTimeout(() => {\n this.submitted = true;\n }, 100);\n const event = this.dashboardForm.dashboardName;\n const re = /&nbsp;|<br>/g;\n this.dashboardForm.dashboardName = event.replace(re, '').trim();\n const description = this.dashboardForm.dashboardDescriptionText;\n this.dashboardForm.dashboardDescriptionText = description\n .replace(re, '')\n .trim();\n if (\n !this.dashboardForm.dashboardName ||\n this.dashboardForm.dashboardName.trim() == '' ||\n this.dashboardForm.dashboardName.length > 30 ||\n this.textCount.transform(this.dashboardForm?.dashboardDescriptionText) >\n 250 ||\n (this.dashboardForm?.selectedFromDate &&\n !this.dashboardForm?.selectedToDate) ||\n (this.dashboardForm.selectedResponsibilityCenters.length == 0 &&\n this.dashboardForm.selectedResponsibilityCategories.length == 0 &&\n this.dashboardForm.selectedRiskCategories.length == 0)\n ) {\n return false;\n } else {\n return true;\n }\n }\n\n /**\n * Makes an api call to create a policy\n * @param dashboard contains dashboardForm data\n */\n submitDashboard() {\n this.submitted = false;\n const valid = this.validateDashboard();\n if (!valid) {\n return false;\n }\n this.vLoader = true;\n const dashboard = this.dashboardForm;\n const payload: any = {\n dashboard_name: dashboard.dashboardName,\n description: [\n {\n content: dashboard.dashboardDescriptionText,\n attachments: [],\n },\n ],\n visible_to_users: this.returnIds(dashboard.selectedViewers, 'member_id'),\n visible_to_groups: this.returnIds(dashboard.selectedGroup, 'group_id'),\n responsibility_center: this.returnIds(\n dashboard.selectedResponsibilityCenters,\n 'item_id'\n ),\n responsibility_category: this.returnIds(\n dashboard.selectedResponsibilityCategories,\n 'category_id'\n ),\n risk_category: this.returnIds(\n dashboard.selectedRiskCategories,\n 'category_id'\n ),\n display_criteria:\n dashboard.displayCriteria === 'and'\n ? 'BOTH_RC_AND_CATEGORY'\n : 'RC_OR_CATEGORY',\n timeframe: {\n start_date: dashboard.selectedFromDate\n ? this.getDateFormate(dashboard?.selectedFromDate)\n : '',\n end_date: dashboard.selectedToDate\n ? this.getDateFormate(dashboard?.selectedToDate)\n : '',\n },\n email_summary: this.setFrequency('', 'export'), //setFormat\n widget_details: dashboard.configureWidget,\n };\n if (this.mode == 'CREATE') {\n this.createDashboardService.submitDashboard(payload).subscribe(\n (res: any) => {\n this.vLoader = false;\n // this.snackBar.show('The dashboard has been created.','info');\n this.isSmiley = true;\n this.smileyMessage = 'The dashboard has been created.';\n setTimeout(() => {\n this.isSmiley = false;\n this.close.emit({ mode: 'created', id: res._id });\n }, 3000);\n },\n (err) => {\n if (err.status === 409) {\n this.snackBar.show(\n 'A dashboard with this name already exists. Specify a different name for the dashboard.',\n 'alert'\n );\n this.vLoader = false;\n } else {\n console.error(err);\n this.vLoader = false;\n this.snackBar.show(\n 'OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?',\n 'alert'\n );\n }\n }\n );\n }\n if (this.mode === 'EDIT') {\n payload.widget_update_flag = true;\n this.createDashboardService\n .updateDashboard(this.dashboardId, payload)\n .subscribe({\n next: (res: any) => {\n this.vLoader = false;\n // this.snackBar.show('The dashboard has been updated','info');\n this.isSmiley = true;\n this.smileyMessage = 'The dashboard has been updated';\n setTimeout(() => {\n this.isSmiley = false;\n this.close.emit({ mode: 'updated' });\n }, 3000);\n },\n error: (error: any) => {\n console.error(error);\n this.vLoader = false;\n this.snackBar.show(\n 'OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?',\n 'alert'\n );\n },\n });\n }\n }\n\n editDashboard() {\n if (this.dashboardId) {\n this.createDashboardService.fetchDashboard(this.dashboardId).subscribe(\n (res: any) => {\n const data = res;\n this.listDetails.nonRemovableUsersList = [res.created_by];\n data.visible_to_groups =\n data?.visible_to_groups && data.visible_to_groups.length\n ? data.visible_to_groups\n : [];\n this.populateDashboardForm(data);\n },\n (error) => {\n console.error(error);\n }\n );\n }\n }\n\n populateDashboardForm(data: any) {\n try {\n (this.dashboardForm.dashboardName = data?.dashboard_name),\n (this.dashboardForm.dashboardDescriptionText =\n data?.description[0]?.content ?? ''),\n (this.dashboardForm.selectedViewers = this.setList(\n this.usersList,\n data?.visible_to_users,\n 'member_id'\n ));\n this.listDetails.selectedUsersList = this.dashboardForm.selectedViewers;\n data.visible_to_groups =\n data?.visible_to_groups && data?.visible_to_groups.length\n ? data?.visible_to_groups\n : [];\n this.dashboardForm.selectedGroup = this.setList(\n this.groupList,\n data?.visible_to_groups ?? [],\n 'group_id'\n );\n this.listDetails.selectedGroupList = this.dashboardForm.selectedGroup;\n this.dashboardForm.selectedResponsibilityCenters = this.setList(\n this.responsibilityCentersList,\n data?.responsibility_center,\n 'item_id'\n );\n this.dashboardForm.selectedResponsibilityCategories = this.setList(\n this.allComplianceCategories,\n data?.responsibility_category,\n 'category_id'\n );\n this.dashboardForm.selectedRiskCategories = this.setList(\n this.allRiskCategories,\n data?.risk_category,\n 'category_id'\n );\n this.dashboardForm.displayCriteria =\n data?.display_criteria === 'BOTH_RC_AND_CATEGORY' ? 'and' : 'or';\n this.dashboardForm.selectedFromDate = data?.timeframe?.start_date\n ? new Date(data?.timeframe?.start_date)\n : undefined;\n this.dashboardForm.selectedToDate = data?.timeframe?.end_date\n ? new Date(data?.timeframe?.end_date)\n : undefined;\n this.vLoader = false;\n this.dashboardForm.configureWidget = data.widget_details;\n this.selectedWidgets =\n data.widget_details.length > 0 ? [...new Set(data.widget_details)] : [];\n this.displayedWidgets =\n data.all_widgets.length > 0 ? [...new Set(data.all_widgets)] : [];\n this.setFrequency(data?.email_summary, 'import');\n let minToDate = this.setToDate(data?.timeframe?.start_date);\n this.toDatePickerConfig = { min: minToDate };\n this.hideToDate = true;\n setTimeout(() => {\n this.hideToDate = false;\n }, 20);\n } catch (error) {\n console.error('populate dashboard error =>', error);\n }\n }\n\n setFrequency(event: any, mode: any) {\n if (mode === 'export') {\n switch (this.dashboardForm.selectedFrequencyType) {\n case 'weekly':\n const weeklyValueData = this.dashboardForm?.selectedFrequencies?.map(\n (ele: any) => Number(ele) + 1\n );\n const weeklyValue = weeklyValueData?.join();\n return '2~' + weeklyValue + '~0~0';\n case 'monthly':\n const monthlyValueData = this.dashboardForm?.selectedFrequencies?.map(\n (ele: any) => Number(ele) + 1\n );\n const monthlyValue = monthlyValueData?.join();\n return (\n '3~' + this.dashboardForm?.frequencyDate + '~' + monthlyValue + '~0'\n );\n case 'quarterly':\n const quarterlyValueData =\n Number(this.dashboardForm.selectedFrequencies) + 1;\n return (\n '7~' +\n this.dashboardForm.frequencyDate +\n '~' +\n quarterlyValueData +\n '~0'\n );\n }\n }\n if (mode === 'import') {\n const val = event.split('~');\n switch (val[0]) {\n case '2':\n {\n let stringVal = 'Every ';\n this.dashboardForm.selectedFrequencyType = 'weekly';\n this.dashboardForm.selectedFrequencies = val[1]\n ?.split(',')\n ?.map((element: any) => Number(element) - 1);\n this.dashboardForm.selectedFrequencies?.forEach(\n (dayIndex: any, index: any) => {\n stringVal +=\n index === 0\n ? this.dayNames[dayIndex]\n : ', ' + this.dayNames[dayIndex];\n }\n );\n this.dashboardForm.frequencyMessage = stringVal;\n }\n\n break;\n case '3':\n {\n let stringVal = 'every ';\n this.dashboardForm.selectedFrequencyType = 'monthly';\n this.dashboardForm.frequencyDate = val[1];\n this.dashboardForm.selectedFrequencies = val[2]\n ?.split(',')\n ?.map((element: any) => Number(element) - 1);\n this.dashboardForm.selectedFrequencies.forEach(\n (monthIndex: any, index: any) => {\n stringVal +=\n index === 0\n ? this.monthNames[monthIndex]\n : ', ' + this.monthNames[monthIndex];\n }\n );\n let monthDateName;\n if (this.dashboardForm.frequencyDate == '1') {\n monthDateName = '1st';\n } else if (this.dashboardForm.frequencyDate == '2') {\n monthDateName = '2nd';\n } else if (this.dashboardForm.frequencyDate == '3') {\n monthDateName = '3rd';\n } else {\n monthDateName = this.dashboardForm.frequencyDate + 'th';\n }\n this.dashboardForm.frequencyMessage =\n monthDateName + ' of ' + stringVal;\n }\n break;\n case '7':\n {\n let stringVal = 'every ';\n this.dashboardForm.selectedFrequencyType = 'quarterly';\n this.dashboardForm.frequencyDate = val[1];\n this.dashboardForm.selectedFrequencies =\n Number(val[2].split(',')[0]) - 1;\n stringVal += this.quarters[this.dashboardForm.selectedFrequencies];\n let monthDateName;\n if (this.dashboardForm.frequencyDate == '1') {\n monthDateName = '1st';\n } else if (this.dashboardForm.frequencyDate == '2') {\n monthDateName = '2nd';\n } else if (this.dashboardForm.frequencyDate == '3') {\n monthDateName = '3rd';\n } else {\n monthDateName = this.dashboardForm.frequencyDate + 'th';\n }\n this.dashboardForm.frequencyMessage =\n monthDateName + ' of ' + stringVal;\n }\n break;\n }\n }\n }\n\n ngAfterViewChecked() {\n //your code to update the model\n this.cdr.detectChanges();\n }\n\n setPermission(roleActions: any) {\n let ifExistRisk = roleActions?.find((el: any) => el.moduleName == 'risk');\n ifExistRisk?.subModule?.forEach((module: any) => {\n module?.permissions?.forEach((permission: any) => {\n switch (permission?.code) {\n case 'RRMR': {\n if (permission?.defaultPermission == 1 || permission?.enable == 1) {\n this.isManageRisk = true;\n }\n break;\n }\n }\n });\n });\n }\n @HostListener('document:click', ['$event'])\n documentClick(event: any): void {\n const targetElement = event?.target as Element;\n const fromDateInputElement =\n document.getElementById(this.openedDatePicker.toLowerCase()) || null;\n const datePickerCalendarContainer = document.getElementsByClassName(\n 'dp-day-calendar-container'\n )[0];\n const monthYearElement = document.querySelector(\n '.dp-month-calendar-container'\n );\n const isNotMonthYearElement = !monthYearElement?.contains(targetElement);\n\n const openedElement =\n this.openedDatePicker === 'FROM_DATE'\n ? this.fromDatePickerPopup\n : this.toDatePickerPopup;\n const isOutsideFromDateInput =\n !openedElement?.nativeElement?.contains(targetElement);\n const isNotFromDateElement = event?.target !== fromDateInputElement;\n const isNotInsideCalendar =\n !datePickerCalendarContainer?.contains(targetElement);\n const selectedDatePicker =\n this.openedDatePicker === 'FROM_DATE'\n ? this.fromDatePicker\n : this.toDatePicker;\n\n const isNotCalendarMonth =\n !targetElement.className.includes('dp-calendar-month');\n\n if (\n isOutsideFromDateInput &&\n isNotFromDateElement &&\n isNotInsideCalendar &&\n isNotCalendarMonth &&\n isNotMonthYearElement &&\n datePickerCalendarContainer\n ) {\n this.documentClickListener(\n event.target,\n openedElement,\n selectedDatePicker\n );\n }\n }\n\n documentClickListener(\n target: any,\n openedElements: ElementRef,\n selectedDatePicker: any\n ): void {\n if (\n !openedElements?.nativeElement?.contains(target) &&\n selectedDatePicker?.areCalendarsShown\n ) {\n selectedDatePicker?.api?.close();\n this.datePickerOverlay = false;\n }\n }\n}\n","<app-snack-bar></app-snack-bar>\n<div class=\"create-dashboard\" *ngIf=\"!openConfigureWidgets\">\n <div\n class=\"create-dashboard-container vx-d-flex vx-justify-end\"\n [class.animate-slideInRight]=\"animation\"\n >\n <div\n class=\"more-option\"\n *ngIf=\"activeSelector && activeSelector !== 'name'\"\n >\n <app-user-list\n *ngIf=\"activeSelector === 'whoCanView'\"\n (saveSelectedUsers)=\"saveSelectedList('whoCanView', $event)\"\n (closeUserList)=\"activateSelector('', false)\"\n [totalPages]=\"totalPages\"\n [totalList]=\"totalList\"\n [listDetails]=\"listDetails\"\n [totalgroupscount]=\"totalgroups\"\n [feature]=\"feature\"\n ></app-user-list>\n <app-responsibility-center\n *ngIf=\"activeSelector === 'rcList'\"\n [responsibilityCentersList]=\"responsibilityCentersList\"\n [radioSelection]=\"false\"\n [selectedResponsibilityCenters]=\"\n dashboardForm.selectedResponsibilityCenters\n \"\n [rcIdKey]=\"'item_id'\"\n (saveSelectedList)=\"saveSelectedList('rc', $event)\"\n (closeRcList)=\"activateSelector('', false)\"\n >\n </app-responsibility-center>\n <app-categories\n *ngIf=\"activeSelector === 'responsibilityCategories'\"\n [categoryList]=\"responsibilityCategoriesTree\"\n [allCategories]=\"allComplianceCategories\"\n [categoryIdKey]=\"'category_id'\"\n [selectedCategories]=\"dashboardForm.selectedResponsibilityCategories\"\n (saveSelectedCategory)=\"\n saveSelectedList('responsibilityCategories', $event)\n \"\n (closeCategoriesList)=\"activateSelector('', false)\"\n ></app-categories>\n <app-risk-categories\n *ngIf=\"activeSelector === 'riskCategories'\"\n [categoryList]=\"riskCategoryList\"\n [allCategories]=\"allRiskCategories\"\n [categoryIdKey]=\"'category_id'\"\n [selectedCategories]=\"dashboardForm.selectedRiskCategories\"\n (saveSelectedCategory)=\"saveSelectedList('riskCategory', $event)\"\n (closeCategoriesList)=\"activateSelector('', false)\"\n ></app-risk-categories>\n\n <app-frequency\n *ngIf=\"activeSelector === 'frequency'\"\n (closeFrequencyPopup)=\"activateSelector('', false)\"\n (saveFrequency)=\"saveFrequency($event)\"\n [savedFrequencyTab]=\"dashboardForm.selectedFrequencyType\"\n [selectedDate]=\"dashboardForm.frequencyDate\"\n [savedFrequencies]=\"dashboardForm.selectedFrequencies\"\n >\n </app-frequency>\n </div>\n <div\n class=\"vx-dialog-container side-dialog\"\n [class.tablet-width]=\"activeSelector && activeSelector !== 'name'\"\n >\n <app-loader-inline *ngIf=\"vLoader\"></app-loader-inline>\n\n <div class=\"form-group\" [class.disabled]=\"disabled\">\n <div\n class=\"vx-dialog-body-container\"\n (scroll)=\"animateImage()\"\n [class.hidden-scroll]=\"popoverService.stopScroll\"\n >\n <!-- Dashboard Name -->\n <div\n class=\"form-group-row\"\n [class.disabled]=\"activeSelector && activeSelector !== 'name'\"\n >\n <div class=\"image\">\n <img\n [ngSrc]=\"ASSETS.dashBoardIcon\"\n *ngIf=\"\n !dashboardForm.dashboardName || activeSelector === 'name'\n \"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n <svg\n class=\"checkIcon\"\n *ngIf=\"dashboardForm.dashboardName && activeSelector !== 'name'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group vx-d-block vx-mb-4\">\n <label\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-d-block vx-tt-uppercase vx-mb-2 vx-w-100 vx-lh-4\"\n >Dashboard Name\n <span class=\"require vx-txt-red vx-fs-16 vx-fw-400\"\n >*</span\n ></label\n >\n <div class=\"vx-input-group\">\n <input\n class=\"textField\"\n placeholder=\"Add dashboard name (Max limit: 30 characters).\"\n [(ngModel)]=\"dashboardForm.dashboardName\"\n (keydown)=\"activeSelector = 'name'\"\n (focusin)=\"activateSelector('name', true)\"\n (focusout)=\"activateSelector('name', false)\"\n />\n\n <span\n class=\"counter\"\n *ngIf=\"dashboardForm?.dashboardName?.length > 0\"\n >{{ 30 - dashboardForm.dashboardName.length }}</span\n >\n </div>\n\n <p\n class=\"vx-txt-error\"\n [appScrollInView]=\"true\"\n *ngIf=\"\n submitted &&\n (dashboardForm?.dashboardName?.length > 30 ||\n !dashboardForm?.dashboardName)\n \"\n >\n {{\n dashboardForm.dashboardName.length > 30\n ? \"You have exceeded the maximum character limit of 30 characters.\"\n : \"Please enter a name for this Dashboard.\"\n }}\n </p>\n\n <div class=\"vx-input-group vx-mt-2\">\n <vcomply-editor\n [editorConfig]=\"dashboardDescription\"\n [(ngModel)]=\"dashboardForm.dashboardDescriptionText\"\n ></vcomply-editor>\n <span\n class=\"counter\"\n *ngIf=\"dashboardForm?.dashboardDescriptionText?.length > 0\"\n >{{\n 250 -\n (dashboardForm?.dashboardDescriptionText | textCount)\n }}</span\n >\n </div>\n\n <p\n class=\"vx-txt-error\"\n [appScrollInView]=\"true\"\n *ngIf=\"\n submitted &&\n (dashboardForm?.dashboardDescriptionText | textCount) > 250\n \"\n >\n You have exceeded the maximum character limit of 250\n characters.\n </p>\n </div>\n </div>\n </div>\n\n <!-- Who -->\n <div\n class=\"form-group-row\"\n [class.active]=\"activeSelector === 'whoCanView'\"\n [class.disabled]=\"\n activeSelector &&\n activeSelector !== 'whoCanView' &&\n activeSelector !== 'name'\n \"\n >\n <div class=\"image\">\n <img\n [ngSrc]=\"ASSETS.dashBoardUsersIcon\"\n *ngIf=\"\n dashboardForm?.selectedViewers?.length == 0 ||\n activeSelector === 'whoCanView'\n \"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n <svg\n class=\"checkIcon\"\n *ngIf=\"\n dashboardForm?.selectedViewers?.length > 0 &&\n activeSelector !== 'whoCanView'\n \"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group vx-d-block vx-mb-4\">\n <label\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-d-block vx-tt-uppercase vx-mb-2 vx-w-100 vx-lh-4\"\n >Who can view this dashboard?<span\n class=\"require vx-txt-red vx-fs-16 vx-fw-400\"\n >*</span\n ></label\n >\n <div\n *ngIf=\"dashboardForm?.selectedViewers?.length == 0\"\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('whoCanView', true)\"\n >\n <div\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\n >\n Who can view this dashboard?\n </div>\n </div>\n\n <div\n *ngIf=\"dashboardForm?.selectedViewers?.length > 0\"\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\n >\n <ng-container *ngIf=\"!groupsEnabled\" id=\"onlyuserslist\">\n <div\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\n *ngFor=\"\n let user of dashboardForm?.selectedViewers?.slice(0, 1)\n \"\n >\n <i\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\n *ngIf=\"\n !listDetails.nonRemovableUsersList.includes(\n user.member_id\n )\n \"\n (click)=\"remove('whoCanView', user)\"\n >&#xe9ae;</i\n >\n <span\n class=\"chipName vx-fs-11 vx-label-txt\"\n [arTooltip]=\"user.member_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >{{ user.member_name }}</span\n >\n <button\n *ngIf=\"\n dashboardForm?.selectedViewers?.length > 1 &&\n !groupsEnabled\n \"\n class=\"countBtn greenBg vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"userList.popover()\"\n placement=\"left\"\n >\n +{{ dashboardForm?.selectedViewers?.slice(1).length }}\n </button>\n </div>\n <app-popover #userList [dontCloseonClick]=\"true\">\n <div class=\"action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let user of dashboardForm?.selectedViewers\n | slice : 1;\n let j = index\n \"\n >\n <div class=\"avatar-card\">\n <span\n class=\"value\"\n [arTooltip]=\"user?.member_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n <i\n class=\"icons cross-icon\"\n *ngIf=\"\n !listDetails.nonRemovableUsersList.includes(\n user.member_id\n ) && !groupsEnabled\n \"\n (click)=\"remove('whoCanView', user)\"\n >&#xe90d;</i\n >\n {{ user?.member_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </ng-container>\n\n <div *ngIf=\"groupsEnabled\" class=\"vx-d-flex vx-align-center\">\n <div\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\n >\n <span class=\"chipName vx-fs-11 vx-label-txt\"\n >USER(S)</span\n >\n <button\n class=\"countBtn greenBg vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"userCount.popover()\"\n placement=\"left\"\n >\n {{ dashboardForm?.selectedViewers?.length }}\n </button>\n </div>\n <span\n class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\"\n *ngIf=\"\n dashboardForm?.selectedGroup?.length &&\n dashboardForm?.selectedViewers?.length\n \"\n >&</span\n >\n <div\n *ngIf=\"dashboardForm?.selectedGroup?.length\"\n id=\"usersandgroups\"\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\n >\n <span class=\"chipName vx-fs-11 vx-label-txt\"\n >USER GROUP(S)</span\n >\n <button\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"groupCount.popover()\"\n placement=\"right\"\n >\n {{ dashboardForm?.selectedGroup?.length }}\n </button>\n </div>\n\n <app-popover #userCount [dontCloseonClick]=\"true\">\n <div class=\"action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"let data of dashboardForm?.selectedViewers\"\n >\n <div class=\"avatar-card\">\n <span\n class=\"value\"\n [arTooltip]=\"data.member_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n <i\n class=\"icons cross-icon\"\n *ngIf=\"\n !listDetails.nonRemovableUsersList.includes(\n data.member_id\n )\n \"\n (click)=\"remove('whoCanView', data)\"\n >&#xe90d;</i\n >\n {{ data.member_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n\n <app-popover #groupCount [dontCloseonClick]=\"true\">\n <div class=\"action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let data of dashboardForm?.selectedGroup\">\n <div class=\"avatar-card\">\n <span\n class=\"value\"\n [arTooltip]=\"data.group_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n <i\n class=\"icons cross-icon\"\n (click)=\"remove('whoCanViewGroup', data)\"\n >&#xe90d;</i\n >\n {{ data.group_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n\n <button\n *ngIf=\"activeSelector !== 'whoCanView'\"\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('whoCanView', true)\"\n >\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Responsibility Center -->\n <div\n class=\"form-group-row\"\n [class.active]=\"activeSelector === 'rcList'\"\n [class.disabled]=\"\n activeSelector &&\n activeSelector !== 'rcList' &&\n activeSelector !== 'name'\n \"\n >\n <div class=\"image\">\n <img\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCenters?.length == 0 ||\n activeSelector === 'rcList'\n \"\n [ngSrc]=\"ASSETS.dashBoardRcIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n <svg\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCenters?.length > 0 &&\n activeSelector !== 'rcList'\n \"\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group vx-d-block vx-mb-4\">\n <label\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-d-block vx-tt-uppercase vx-mb-2 vx-w-100 vx-lh-4\"\n >RESPONSIBILITY CENTER(S)</label\n >\n <div\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCenters?.length == 0\n \"\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('rcList', true)\"\n [class.error]=\"\n submitted &&\n dashboardForm?.selectedResponsibilityCenters?.length == 0 &&\n dashboardForm?.selectedResponsibilityCategories?.length ==\n 0 &&\n dashboardForm?.selectedRiskCategories?.length == 0\n \"\n >\n <div\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\n >\n Select the Responsibility Center(s) that you would like<br />displayed\n in the Dashboard, if any.\n </div>\n </div>\n\n <div\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCenters?.length > 0\n \"\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\n >\n <div\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\n *ngFor=\"\n let rc of dashboardForm?.selectedResponsibilityCenters?.slice(\n 0,\n 1\n )\n \"\n >\n <i\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\n (click)=\"remove('rc', rc)\"\n >&#xe9ae;</i\n >\n <span\n class=\"chipName vx-fs-11 vx-label-txt\"\n [arTooltip]=\"rc.item_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >{{ rc.item_name }}</span\n >\n <button\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCenters?.length > 1\n \"\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"rcList.popover()\"\n placement=\"left\"\n >\n +{{\n dashboardForm?.selectedResponsibilityCenters?.slice(1)\n .length\n }}\n </button>\n\n <app-popover #rcList [dontCloseonClick]=\"true\">\n <div class=\"action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let rc of dashboardForm?.selectedResponsibilityCenters\n | slice : 1;\n let j = index\n \"\n >\n <div class=\"avatar-card\">\n <span\n class=\"value\"\n [arTooltip]=\"rc?.item_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n <i\n class=\"icons cross-icon\"\n (click)=\"remove('rc', rc)\"\n >&#xe90d;</i\n >\n {{ rc?.item_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n\n <button\n *ngIf=\"activeSelector !== 'rcList'\"\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('rcList', true)\"\n >\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Program -->\n <!-- <div\n class=\"form-group-row\"\n [class.active]=\"activeSelector === 'responsibilityCategories'\"\n [class.disabled]=\"\n activeSelector &&\n activeSelector !== 'responsibilityCategories' &&\n activeSelector !== 'name'\n \"\n >\n <div class=\"image\">\n <img\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCategories?.length ==\n 0 || activeSelector === 'responsibilityCategories'\n \"\n [ngSrc]=\"ASSETS.dashBoardProgramIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n <svg\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCategories?.length > 0 &&\n activeSelector !== 'responsibilityCategories'\n \"\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group vx-d-block vx-mb-4\">\n <label\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-d-block vx-tt-uppercase vx-mb-2 vx-w-100 vx-lh-4\"\n >PROGRAM</label\n >\n <div\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCategories?.length == 0\n \"\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('responsibilityCategories', true)\"\n [class.error]=\"\n submitted &&\n dashboardForm?.selectedResponsibilityCenters?.length == 0 &&\n dashboardForm?.selectedResponsibilityCategories?.length ==\n 0 &&\n dashboardForm?.selectedRiskCategories?.length == 0\n \"\n >\n <div\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\n >\n Select the Program(s) that you would like displayed in\n the<br />Dashboard, if any.\n </div>\n </div>\n\n <div\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCategories?.length > 0\n \"\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\n >\n <div\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\n *ngFor=\"\n let rCategory of dashboardForm?.selectedResponsibilityCategories?.slice(\n 0,\n 1\n )\n \"\n >\n <i\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\n (click)=\"remove('responsibilityCategories', rCategory)\"\n >&#xe9ae;</i\n >\n <span\n class=\"chipName vx-fs-11 vx-label-txt\"\n [arTooltip]=\"rCategory.item_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >{{ rCategory.item_name }}</span\n >\n <button\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCategories\n ?.length > 1\n \"\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"rCategoryList.popover()\"\n placement=\"left\"\n >\n +{{\n dashboardForm?.selectedResponsibilityCategories?.slice(\n 1\n ).length\n }}\n </button>\n\n <app-popover #rCategoryList [dontCloseonClick]=\"true\">\n <div class=\"action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let rCategory of dashboardForm?.selectedResponsibilityCategories\n | slice : 1;\n let j = index\n \"\n >\n <div class=\"avatar-card\">\n <span\n class=\"value\"\n [arTooltip]=\"rCategory?.item_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n <i\n class=\"icons cross-icon\"\n (click)=\"\n remove(\n 'responsibilityCategories',\n rCategory\n )\n \"\n >&#xe90d;</i\n >\n {{ rCategory?.item_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n\n <button\n *ngIf=\"activeSelector !== 'responsibilityCategories'\"\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('responsibilityCategories', true)\"\n >\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\n </button>\n </div>\n </div>\n </div>\n </div> -->\n\n <!-- Risk Category -->\n <div\n class=\"form-group-row\"\n [class.active]=\"activeSelector === 'riskCategories'\"\n *ngIf=\"showRiskCategory && isManageRisk\"\n [class.disabled]=\"\n activeSelector &&\n activeSelector !== 'riskCategories' &&\n activeSelector !== 'name'\n \"\n >\n <div class=\"image\">\n <img\n *ngIf=\"\n dashboardForm?.selectedRiskCategories?.length == 0 ||\n activeSelector === 'riskCategories'\n \"\n [ngSrc]=\"ASSETS.dashBoardRiskIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n <svg\n *ngIf=\"\n dashboardForm?.selectedRiskCategories?.length > 0 &&\n activeSelector !== 'riskCategories'\n \"\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"form\" *ngIf=\"isManageRisk\">\n <div class=\"vx-form-group vx-d-block vx-mb-4\">\n <label\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-d-block vx-tt-uppercase vx-mb-2 vx-w-100 vx-lh-4\"\n >RISK CATEGORIES</label\n >\n <div\n *ngIf=\"dashboardForm?.selectedRiskCategories?.length == 0\"\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('riskCategories', true)\"\n [class.error]=\"\n submitted &&\n dashboardForm?.selectedResponsibilityCenters?.length == 0 &&\n dashboardForm?.selectedResponsibilityCategories?.length ==\n 0 &&\n dashboardForm?.selectedRiskCategories?.length == 0\n \"\n >\n <div\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\n >\n Select the Risk Categories that you would like displayed<br />in\n the Dashboard, if any.\n </div>\n </div>\n\n <div\n *ngIf=\"dashboardForm?.selectedRiskCategories?.length > 0\"\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\n >\n <div\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\n *ngFor=\"\n let riskCategory of dashboardForm?.selectedRiskCategories?.slice(\n 0,\n 1\n )\n \"\n >\n <i\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\n (click)=\"remove('riskCategory', riskCategory)\"\n >&#xe9ae;</i\n >\n <span\n class=\"chipName vx-fs-11 vx-label-txt\"\n [arTooltip]=\"riskCategory.category_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >{{ riskCategory.category_name }}</span\n >\n <button\n *ngIf=\"dashboardForm?.selectedRiskCategories?.length > 1\"\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"riskList.popover()\"\n placement=\"left\"\n >\n +{{\n dashboardForm?.selectedRiskCategories?.slice(1).length\n }}\n </button>\n\n <app-popover #riskList [dontCloseonClick]=\"true\">\n <div class=\"action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let riskCategory of dashboardForm?.selectedRiskCategories\n | slice : 1;\n let j = index\n \"\n >\n <div class=\"avatar-card\">\n <span\n class=\"value\"\n [arTooltip]=\"riskCategory?.category_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n <i\n class=\"icons cross-icon\"\n (click)=\"remove('riskCategory', riskCategory)\"\n >&#xe90d;</i\n >\n {{ riskCategory?.category_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n\n <button\n *ngIf=\"activeSelector !== 'riskCategories'\"\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('riskCategories', true)\"\n >\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Display Criteria -->\n <div\n class=\"form-group-row\"\n [class.disabled]=\"activeSelector && activeSelector !== 'name'\"\n >\n <div class=\"image\">\n <img\n *ngIf=\"dashboardForm?.displayCriteria?.length == 0\"\n [ngSrc]=\"ASSETS.dashBoardUsersIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n <svg\n *ngIf=\"dashboardForm?.displayCriteria?.length > 0\"\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group vx-d-block vx-mb-4\">\n <label\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-d-block vx-tt-uppercase vx-mb-2 vx-w-100 vx-lh-4\"\n >DISPLAY CRITERIA</label\n >\n <div class=\"radio-group\" *ngIf=\"showCriteria\">\n <app-cs-radio\n [checked]=\"dashboardForm.displayCriteria == 'or'\"\n (checkedEvent)=\"dashboardForm.displayCriteria = 'or'\"\n >\n Those Items that have been assigned to either the selected\n Responsibility Center(s) or the selected\n Categories.</app-cs-radio\n >\n\n <app-cs-radio\n [checked]=\"dashboardForm.displayCriteria == 'and'\"\n (checkedEvent)=\"dashboardForm.displayCriteria = 'and'\"\n >\n Those Items that have been assigned to both the selected\n Responsibility Center(s) and the selected\n Categories.</app-cs-radio\n >\n </div>\n </div>\n </div>\n </div>\n\n <!-- Timeframe -->\n <div\n class=\"form-group-row\"\n [class.disabled]=\"activeSelector && activeSelector !== 'name'\"\n >\n <div class=\"image\">\n <img\n *ngIf=\"\n !dashboardForm?.selectedFromDate ||\n !dashboardForm?.selectedToDate\n \"\n [ngSrc]=\"ASSETS.dashBoardTimeFrameIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n <svg\n *ngIf=\"\n dashboardForm?.selectedFromDate &&\n dashboardForm?.selectedToDate\n \"\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group vx-d-block vx-mb-4\">\n <label\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-d-block vx-tt-uppercase vx-mb-2 vx-w-100 vx-lh-4\"\n >TIMEFRAME</label\n >\n <label class=\"vx-control-panel-sub-label\"\n >Select how long you would like the information selected to be\n displayed for. If no timeframe is selected, the information\n will be displayed permanently.</label\n >\n <div class=\"input-group vx-d-flex vx-justify-between\">\n <div class=\"date-select\">\n <i class=\"icons\">&#xe92d;</i>\n <input\n type=\"text\"\n id=\"from_date\"\n [value]=\"\n dashboardForm?.selectedFromDate | date : 'dd MMM yyyy'\n \"\n [placeholder]=\"'From'\"\n (click)=\"openFromDatePicker()\"\n readonly\n />\n <dp-date-picker\n #fromDatePicker\n [(ngModel)]=\"dashboardForm.selectedFromDate\"\n placeholder=\"Select Date\"\n (onSelect)=\"\n closeFromDatePicker(); datePickerOverlay = false\n \"\n [config]=\"fromDatePickerConfig\"\n ></dp-date-picker>\n <div\n class=\"overlay\"\n (click)=\"closeFromDatePicker()\"\n *ngIf=\"datePickerOverlay\"\n ></div>\n </div>\n <div\n class=\"date-select\"\n *ngIf=\"!hideToDate\"\n [class.disabled]=\"!dashboardForm?.selectedFromDate\"\n >\n <i class=\"icons\">&#xe92d;</i>\n <input\n type=\"text\"\n id=\"to_date\"\n [value]=\"\n dashboardForm?.selectedToDate | date : 'dd MMM yyyy'\n \"\n [placeholder]=\"'To'\"\n (click)=\"openToDatePicker()\"\n readonly\n />\n <dp-date-picker\n #toDatePicker\n [(ngModel)]=\"dashboardForm.selectedToDate\"\n placeholder=\"Select Date\"\n (onSelect)=\"\n closeToDatePicker(); datePickerOverlay = false\n \"\n [config]=\"toDatePickerConfig\"\n ></dp-date-picker>\n <div\n class=\"overlay\"\n (click)=\"closeToDatePicker()\"\n *ngIf=\"datePickerOverlay\"\n ></div>\n </div>\n </div>\n <p\n class=\"vx-txt-error\"\n [appScrollInView]=\"true\"\n *ngIf=\"\n submitted &&\n dashboardForm.selectedFromDate &&\n !dashboardForm.selectedToDate\n \"\n >\n Select a time-frame.\n </p>\n </div>\n </div>\n </div>\n\n <!-- Email Summary -->\n <div\n class=\"form-group-row\"\n [class.active]=\"activeSelector === 'frequency'\"\n [class.disabled]=\"\n activeSelector &&\n activeSelector !== 'frequency' &&\n activeSelector !== 'name'\n \"\n >\n <div class=\"image\">\n <img\n *ngIf=\"!dashboardForm.frequencyMessage\"\n [ngSrc]=\"ASSETS.dashBoardEmailSummariesIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n <svg\n *ngIf=\"dashboardForm.frequencyMessage\"\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group vx-d-block\">\n <label\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-d-block vx-tt-uppercase vx-mb-2 vx-w-100 vx-lh-4\"\n >Email Summaries</label\n >\n <label class=\"vx-control-panel-sub-label\"\n >If you would like to send a summary of this Dashboard, please\n select a frequency(By default VComply sends a weekly\n Summary).</label\n >\n <div\n *ngIf=\"!dashboardForm.frequencyMessage\"\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('frequency', true)\"\n >\n <div\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\n >\n Email Summaries\n </div>\n </div>\n\n <div\n *ngIf=\"dashboardForm.frequencyMessage\"\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\n >\n <div\n class=\"selectBoxText vx-fs-13 vx-paragraph-txt\"\n [arTooltip]=\"dashboardForm.frequencyMessage\"\n placement=\"bottom-left\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n [innerHTML]=\"dashboardForm.frequencyMessage\"\n ></div>\n\n <button\n *ngIf=\"\n dashboardForm.frequencyMessage &&\n activeSelector !== 'frequency'\n \"\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('frequency', true)\"\n >\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"button-block\">\n <button\n class=\"vx-btn block primary\"\n [disabled]=\"activeSelector && activeSelector !== 'name'\"\n (click)=\"configureDashboard()\"\n >\n Next: Configure Widgets\n </button>\n </div>\n </div>\n\n <button\n class=\"close-dialog\"\n type=\"button\"\n [disabled]=\"activeSelector && activeSelector !== 'name'\"\n (click)=\"close.emit({ mode: 'discard' })\"\n [arTooltip]=\"'[Esc] to close'\"\n placement=\"left\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n [class.hide]=\"activeSelector && activeSelector !== 'name'\"\n >\n <i class=\"icons\">&#xe93f;</i>\n </button>\n <div\n class=\"global-confirmation-alert\"\n *ngIf=\"\n submitted &&\n dashboardForm?.selectedResponsibilityCenters?.length == 0 &&\n dashboardForm?.selectedRiskCategories?.length == 0\n \"\n >\n <div class=\"global-confirmation-alert-top\">\n <span class=\"icon-block\">\n <i class=\"icons\">&#xe930;</i>\n </span>\n <p class=\"text\" *ngIf=\"showRiskCategory\">\n Select a Responsibility Center or Risk Category.\n </p>\n <p class=\"text\" *ngIf=\"!showRiskCategory\">\n Select a Responsibility Center.\n </p>\n </div>\n <div class=\"global-confirmation-alert-bottom\">\n <p class=\"message\"></p>\n <div class=\"button-group\">\n <button class=\"fill\" type=\"button\" (click)=\"submitted = false\">\n OKAY\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<app-smiley-dialog\n *ngIf=\"isSmiley\"\n [message]=\"smileyMessage\"\n></app-smiley-dialog>\n\n<app-configure-widgets\n *ngIf=\"openConfigureWidgets\"\n [mode]=\"mode\"\n [displayedWidgets]=\"displayedWidgets\"\n [showRisk]=\"showRiskWidgets\"\n [showCompliance]=\"!showComplianceWidgets\"\n [selectedWidgetsData]=\"selectedWidgets\"\n (widgetsDataModified)=\"setSelectedWidgets($event)\"\n (closeConfigureWidgets)=\"closeConfigureWidgets($event)\"\n></app-configure-widgets>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeHtml'\n})\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer:DomSanitizer){}\n transform(html: any) {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n\n}\n","import { Component, ElementRef, forwardRef, Input, OnInit, ViewChild, QueryList, ContentChildren } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { nanoid } from 'nanoid';\n// import { CsOptionComponent } from '../cs-option/cs-option.component';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'cs-select',\n templateUrl: './cs-select.component.html',\n styleUrls: ['./cs-select.component.less'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CsSelectComponent),\n multi: true,\n },\n ],\n})\nexport class CsSelectComponent implements OnInit {\n @Input() dropdownLabel!: string;\n @Input() dropdownSubLabel!: string;\n @Input() isRequired!: string;\n @Input() placeholder!: string;\n\n // @ContentChildren(CsOptionComponent) op !: QueryList<CsOptionComponent>;\n\n dropdownToggle!: boolean;\n positionReset!: boolean;\n getLeft!: number;\n getTop!: number;\n getWidth!: number;\n maxWidth!: number;\n\n valuePlaceholder!: string;\n private optionList!: ElementRef;\n\n @ViewChild('optionList') set content(content: ElementRef) {\n if (content) {\n // initially setter gets called with undefined\n this.optionList = content;\n }\n }\n name!: string;\n val!: string;\n showOptions!: boolean;\n constructor() {\n this.name = nanoid();\n this.valuePlaceholder = '';\n }\n\n ngOnInit(): void {}\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n set RadioVal(val: any) {\n if (val !== undefined && val !== null && this.val !== val) {\n this.val = val;\n console.log('VALUE', this.val);\n this.onChange(val);\n this.onTouch(val);\n }\n }\n\n writeValue(value: any): void {\n if(value) {\n this.RadioVal = value;\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n openDropdown(event: any): void {\n this.dropdownToggle = true;\n setTimeout(() => {\n const dropdown = event.target.getBoundingClientRect();\n const selectOption = this.optionList.nativeElement.offsetHeight;\n if (dropdown.top + selectOption * 2 > window.innerHeight) {\n this.getTop = dropdown.top - selectOption;\n } else {\n this.getTop = dropdown.top + dropdown.height;\n }\n this.getLeft = dropdown.left;\n this.getWidth = dropdown.width;\n this.maxWidth = dropdown.width * 1.25;\n this.showOptions = true;\n }, 10);\n }\n closeDropdown(): void {\n this.dropdownToggle = false;\n }\n}\n","<div class=\"selection-wrap\">\n <label class=\"label\" *ngIf=\"dropdownLabel != undefined\">\n {{ dropdownLabel }}\n <span class=\"sub-label\">{{ dropdownSubLabel }}</span>\n <span class=\"required\" *ngIf=\"isRequired\">*</span>\n </label>\n <div class=\"input-group\">\n <span class=\"value\" (click)=\"openDropdown($event)\" (keyup.enter)=\"openDropdown($event)\" tabindex=\"0\" [attr.aria-placeholder]=\"placeholder\" [innerHTML]=\"valuePlaceholder | safeHtml\"></span>\n </div>\n <div class=\"overlay\" *ngIf=\"dropdownToggle === true\" (click)=\"closeDropdown()\"></div>\n <div class=\"select-options\" *ngIf=\"dropdownToggle === true\" #optionList (keyup.Escape)=\"closeDropdown()\"\n (keyup.enter)=\"closeDropdown()\" (click)=\"closeDropdown()\" [style.top.px]=\"getTop\" [style.left.px]=\"getLeft\"\n [style.width.px]=\"getWidth\" [class.active]=\"showOptions\">\n <ng-content select=\"cs-option\"></ng-content>\n </div>\n</div>","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CsSelectService {\n color: any;\n constructor() {\n }\n}\n","import { Component, ElementRef, Input, OnInit, ViewChild, ChangeDetectionStrategy } from '@angular/core';\nimport { CsSelectService } from '../../services/cs-select.service';\nimport { CsSelectComponent } from '../cs-select/cs-select.component';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'cs-option',\n templateUrl: './cs-option.component.html',\n styleUrls: ['./cs-option.component.less'],\n})\nexport class CsOptionComponent implements OnInit {\n @Input() value!: string;\n @ViewChild('options') option!: ElementRef;\n @Input() color!: any;\n constructor(public csSelect: CsSelectComponent, public colorSelector: CsSelectService) {\n this.value = '';\n }\n\n ngOnInit(): void { }\n\n change(event: any): void {\n if (this.option) {\n setTimeout(() => {\n this.csSelect.valuePlaceholder = this.option.nativeElement.innerHTML;\n this.colorSelector.color = this.color;\n console.log(this.color);\n }, 1);\n }\n this.csSelect.writeValue(this.value);\n }\n}\n","<div class=\"list\">\n <label>\n <input type=\"radio\" tabindex=\"0\" [value]=\"value\" [name]=\"csSelect.name\" (click)=\"change($event)\" [checked]=\"csSelect.val === this.value\" />\n <span class=\"value\" #options>\n <ng-content></ng-content>\n </span>\n </label>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CsSelectComponent } from './cs-select/cs-select.component';\nimport { CsOptionComponent } from './cs-option/cs-option.component';\nimport { FormsModule } from '@angular/forms';\nimport { SafeHtmlPipe } from './safe-html.pipe';\n\n@NgModule({\n declarations: [CsSelectComponent, CsOptionComponent, SafeHtmlPipe],\n imports: [FormsModule, CommonModule],\n exports: [CsSelectComponent, CsOptionComponent],\n})\nexport class SelectModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PaginationComponent } from './pagination.component';\n\n@NgModule({\n declarations: [PaginationComponent],\n imports: [CommonModule],\n exports: [PaginationComponent],\n})\nexport class PaginationModule {}","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-cs-switch',\n templateUrl: './cs-switch.component.html',\n styleUrls: ['./cs-switch.component.less'],\n})\nexport class CsSwitchComponent implements OnInit {\n @Input() disabled!: boolean;\n @Input() ngValue: any;\n @Input() value: any;\n @Output() ngValueChange = new EventEmitter<any>();\n @Input() tooltipMessage: any;\n @Input() position: any;\n constructor() {}\n\n ngOnInit(): void {\n // console.log(this.value);\n }\n valueChanged() {\n this.ngValueChange.emit(this.ngValue);\n }\n}\n","<label class=\"cs-switch\" [class.top]=\"position == 'top'\">\n <!-- [class.large]=\"large\" -->\n <span class=\"value\">\n <span [innerHTML]=\"value\" *ngIf=\"value != undefined\"></span>\n <!-- <span class=\"notification\" *ngIf=\"!tooltipMessage\" [arTooltip]=\"tooltipMessage\" placement=\"bottom-right\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n <i class=\"vc-icons\">&#xe9f3;</i>\n </span> -->\n </span>\n <!-- [class.last]=\"last\" -->\n <span class=\"switch\" *ngIf=\"tooltipMessage === '' || tooltipMessage === undefined\">\n <input type=\"checkbox\" [(ngModel)]=\"ngValue\" (ngModelChange)=\"valueChanged()\" [disabled]=\"disabled\" />\n <span class=\"switch-box\">\n <span class=\"switch-ball\"></span>\n </span>\n </span>\n <span\n class=\"switch\"\n *ngIf=\"tooltipMessage !== '' && tooltipMessage !== undefined\"\n [arTooltip]=\"tooltipMessage\"\n placement=\"bottom-right\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n <input type=\"checkbox\" [(ngModel)]=\"ngValue\" (ngModelChange)=\"valueChanged()\" [disabled]=\"disabled\" />\n <span class=\"switch-box\">\n <span class=\"switch-ball\"></span>\n </span>\n </span>\n</label>\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-cs-radio-group',\n templateUrl: './cs-radio-group.component.html',\n styleUrls: ['./cs-radio-group.component.less'],\n})\nexport class CsRadioGroupComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<app-cs-radio>fefre</app-cs-radio>\n<app-cs-radio>fefre</app-cs-radio>\n<app-cs-radio>fefre</app-cs-radio>\n<app-cs-radio>fefre</app-cs-radio>\n","import { Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Directive({\n selector: '[clickOutside]',\n})\nexport class ClickOutsideDirective {\n constructor(private elementRef: ElementRef) {}\n @Output('clickOutside') clickOutside: EventEmitter<any> = new EventEmitter();\n\n @HostListener('document:click', ['$event.target']) onMouseEnter(targetElement: any) {\n const clickedInside = this.elementRef.nativeElement.contains(targetElement);\n if (!clickedInside) {\n this.clickOutside.emit(null);\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'pascal',\n})\nexport class PascalPipe implements PipeTransform {\n transform(value: string, ...args: unknown[]): unknown {\n if (typeof value !== 'string') {\n return value;\n }\n return value.charAt(0).toUpperCase() + value.slice(1);\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'app-cs-select',\n templateUrl: './cs-select.component.html',\n styleUrls: ['./cs-select.component.less'],\n})\nexport class CsFormSelectComponent implements OnChanges {\n @Input() dataList!: any[];\n @Input() dropdownLabel!: string;\n @Input() displayProperty!: string;\n @Input() selectedValue!: string;\n @Input() isRequired!: boolean;\n @Input() dropdownSubLabel!: string;\n @Input() disabled!: boolean;\n @ViewChild('option') option!: ElementRef;\n\n @Output() selectedData = new EventEmitter();\n @Output() selectedValueChange = new EventEmitter();\n @Input() placeholder: any;\n @Input() stylex: any;\n @Input() valueKey: any;\n @Input() multipleSelect: any;\n @Input() colorProperty!: string;\n\n @Input() colorSelected!: string;\n colorCode!: string;\n\n dropdownOption = false;\n positionReset!: boolean;\n getLeft!: number;\n getTop!: number;\n getWidth!: number;\n maxWidth!: number;\n activeDoropdown = false;\n\n private optionList!: ElementRef;\n\n @ViewChild('optionList') set content(content: ElementRef) {\n if (content) {\n // initially setter gets called with undefined\n this.optionList = content;\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.selectedValue) {\n this.selectedValue = this.selectedValue || '--';\n }\n }\n\n openDropdown(event: any): void {\n this.dropdownOption = true;\n setTimeout(() => {\n const dropdown = event.target.getBoundingClientRect();\n const selectOption = this.optionList.nativeElement.offsetHeight;\n if (dropdown.top + selectOption * 2 > window.innerHeight) {\n this.getTop = dropdown.top - selectOption;\n } else {\n this.getTop = dropdown.top + dropdown.height;\n }\n this.getLeft = dropdown.left;\n this.getWidth = dropdown.width;\n this.maxWidth = dropdown.width * 1.25;\n }, 10);\n setTimeout(() => {\n this.activeDoropdown = true;\n }, 100);\n }\n selectOption(selectedData: any) {\n if (typeof selectedData === 'object') {\n this.selectedValue = selectedData[this.displayProperty];\n this.colorSelected = selectedData[this.colorProperty];\n } else {\n this.selectedValue = selectedData;\n }\n this.selectedData.emit(selectedData);\n this.dropdownOption = false;\n }\n closeDropdown() {\n this.dropdownOption = false;\n }\n}\n","<div class=\"input-group\" (clickOutside)=\"dropdownOption = false\">\n <label *ngIf=\"dropdownLabel != undefined\">\n {{ dropdownLabel }} <span class=\"sub-label\">{{ dropdownSubLabel }}</span> <span class=\"required\" *ngIf=\"isRequired\">*</span></label\n >\n <div class=\"custom-select-box\" [class.disabled]=\"disabled\">\n <input\n type=\"text\"\n [class.line]=\"stylex\"\n [placeholder]=\"placeholder\"\n [value]=\"selectedValue | pascal\"\n readonly\n (click)=\"openDropdown($event)\"\n (keyup.enter)=\"openDropdown($event)\"\n (keyup.arrowup)=\"openDropdown($event)\"\n (keyup.arrowdown)=\"openDropdown($event)\"\n *ngIf=\"!colorProperty\"\n />\n <span class=\"show-label\" *ngIf=\"colorProperty\" (click)=\"openDropdown($event)\">\n <span class=\"label\" [innerHTML]=\"selectedValue\" [style.backgroundColor]=\"colorSelected + '1A'\" [style.color]=\"colorSelected\"></span>\n </span>\n <span class=\"arrow\" [class.line]=\"stylex\">\n <i class=\"risk-icons\">&#xe919;</i>\n </span>\n <div class=\"overlay active\" *ngIf=\"dropdownOption === true\" (click)=\"closeDropdown()\"></div>\n <ul\n class=\"list-of-option\"\n *ngIf=\"dropdownOption === true && !colorProperty\"\n #optionList\n (keyup.Escape)=\"closeDropdown()\"\n [style.top.px]=\"getTop\"\n [style.left.px]=\"getLeft\"\n [style.min-width.px]=\"getWidth\"\n [style.max-width.px]=\"maxWidth\"\n [class.active]=\"activeDoropdown\"\n >\n <li *ngFor=\"let data of dataList\">\n <label>\n <input type=\"radio\" [value]=\"data[valueKey]\" name=\"sliceLabel\" (change)=\"selectOption(data)\" #option (keyup.enter)=\"closeDropdown()\" class=\"pointer-none\" />\n <span (click)=\"closeDropdown(); selectOption(data)\" *ngIf=\"displayProperty && displayProperty !== ''\" class=\"value\">{{ data[displayProperty] }}</span>\n <span (click)=\"closeDropdown(); selectOption(data)\" *ngIf=\"!displayProperty || displayProperty === ''\" class=\"value\">{{ data }}</span>\n </label>\n </li>\n </ul>\n <ul\n class=\"list-of-option\"\n *ngIf=\"dropdownOption === true && colorProperty\"\n #optionList\n (keyup.Escape)=\"closeDropdown()\"\n [style.top.px]=\"getTop\"\n [style.left.px]=\"getLeft\"\n [style.min-width.px]=\"getWidth\"\n [style.max-width.px]=\"maxWidth\"\n [class.active]=\"activeDoropdown\"\n >\n <li *ngFor=\"let data of dataList\">\n <label class=\"colors\">\n <input type=\"radio\" [value]=\"data[valueKey]\" name=\"sliceLabel\" (click)=\"selectOption(data)\" #option (keyup.enter)=\"closeDropdown()\" class=\"pointer-none\" />\n <span\n (click)=\"selectOption(data)\"\n *ngIf=\"displayProperty && displayProperty !== ''\"\n class=\"value\"\n [ngStyle]=\"{ color: data.segment_color }\"\n [style.backgroundColor]=\"data.segment_color + '1A'\"\n >{{ data[displayProperty] }}</span\n >\n <span\n (click)=\"selectOption(data)\"\n *ngIf=\"!displayProperty || displayProperty === ''\"\n class=\"value\"\n [ngStyle]=\"{ color: data.segment_color }\"\n [style.backgroundColor]=\"data.segment_color + '1A'\"\n >{{ data }}</span\n >\n </label>\n </li>\n </ul>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToolTipDirective } from './tooltip.directive';\n\n@NgModule({\n declarations: [ToolTipDirective],\n imports: [CommonModule],\n exports: [ToolTipDirective],\n})\nexport class TooltipModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'searchMultiSelect',\n})\nexport class SearchMultiSelectPipe implements PipeTransform {\n transform(value: any[], key: string, searchKey: string): any[] {\n if (searchKey && searchKey.length > 0) {\n searchKey = searchKey.toLowerCase();\n return value.filter((item) => {\n if (item[key].toLowerCase().includes(searchKey)) {\n return item;\n }\n });\n }\n return value;\n }\n}\n","import { FormsModule } from '@angular/forms';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CsCheckboxComponent } from './cs-checkbox/cs-checkbox.component';\nimport { CsRadioComponent } from './cs-radio/cs-radio.component';\nimport { CsSwitchComponent } from './cs-switch/cs-switch.component';\nimport { CsRadioGroupComponent } from './cs-radio-group/cs-radio-group.component';\nimport { CsFormSelectComponent } from './cs-select/cs-select.component';\nimport { TooltipModule } from '../tooltip/tooltip.module';\nimport { PascalPipe } from './pipes/pascal.pipe';\nimport { SearchMultiSelectPipe } from './pipes/searchMultiSelect.pipe';\nimport { ClickOutsideDirective } from './click-outside.directive';\n\n@NgModule({\n declarations: [\n CsCheckboxComponent,\n CsRadioComponent,\n CsSwitchComponent,\n CsRadioGroupComponent,\n CsFormSelectComponent,\n PascalPipe,\n SearchMultiSelectPipe,\n ClickOutsideDirective,\n ],\n imports: [CommonModule, FormsModule, TooltipModule],\n exports: [\n CsCheckboxComponent,\n CsRadioComponent,\n CsSwitchComponent,\n CsRadioGroupComponent,\n CsFormSelectComponent,\n SearchMultiSelectPipe,\n ],\n})\nexport class FormgroupModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PopoverComponent } from './popover.component';\nimport { PopoverDirective } from './popover.directive';\nimport { PopoverService } from './popover.service';\n\n@NgModule({\n declarations: [PopoverComponent, PopoverDirective],\n imports: [CommonModule],\n exports: [PopoverComponent, PopoverDirective],\n providers: [PopoverService],\n})\nexport class PopoverModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DashboardFooterComponent } from './dashboard-footer/dashboard-footer.component';\nimport { PopoverModule } from '../popover/popover.module';\nimport { TooltipModule } from '../tooltip/tooltip.module'\n\n\n\n@NgModule({\n declarations: [\n DashboardFooterComponent\n ],\n imports: [\n CommonModule,\n PopoverModule,\n TooltipModule\n ],\n exports:[\n DashboardFooterComponent\n ]\n})\nexport class DashboardFooterModule { }\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[appInsertion]',\n})\nexport class InsertionDirective {\n constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","export class DialogConfig<D = any> {\n data?: D;\n position?: any;\n background?: any;\n pointer?: any;\n}\n","import {\n Component,\n Type,\n ComponentFactoryResolver,\n ViewChild,\n OnDestroy,\n ComponentRef,\n AfterViewInit,\n ChangeDetectorRef,\n OnInit,\n Inject,\n} from '@angular/core';\nimport { InsertionDirective } from './insertion.directive';\nimport { Subject } from 'rxjs';\nimport { DialogRef } from './dialog-ref';\nimport { DialogConfig } from './dialog-config';\nimport {\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Router,\n ROUTER_CONFIGURATION,\n} from '@angular/router';\n\n@Component({\n selector: 'app-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.css'],\n})\nexport class DialogComponent implements AfterViewInit, OnDestroy, OnInit {\n componentRef!: ComponentRef<any>;\n position: any;\n background: any;\n pointer: any;\n @ViewChild(InsertionDirective, { static: true })\n insertionPoint!: InsertionDirective;\n animation = true;\n\n private readonly onDialogClose = new Subject<any>();\n public onClose = this.onDialogClose.asObservable();\n\n childComponentType!: Type<any>;\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private cd: ChangeDetectorRef,\n private dialogRef: DialogRef,\n public config: DialogConfig,\n @Inject('router') private router: Router\n ) {\n // this.componentRef = this.componentRef;\n // this.animate = this.animate;\n // this.insertionPoint = this.insertionPoint;\n // this.childComponentType = this.childComponentType;\n }\n ngOnInit() {\n this.position = this.config.position;\n this.background = this.config.background;\n document.body.style.overflow = 'hidden';\n setTimeout(() => {\n this.animation = false;\n }, 200);\n this.routeAction();\n }\n\n routeAction() {\n this.router.events.subscribe((event: any) => {\n if (event instanceof NavigationStart) {\n // Show loading indicator\n }\n if (event instanceof NavigationEnd) {\n // Hide loading indicator\n this.dialogRef.close();\n }\n if (event instanceof NavigationError) {\n // Hide loading indicator\n // Present error to user\n }\n });\n }\n ngAfterViewInit() {\n this.loadChildComponent(this.childComponentType);\n this.cd.detectChanges();\n }\n\n onOverlayClicked(evt: MouseEvent) {\n // this.dialogRef.close();\n }\n\n onDialogClicked(evt: MouseEvent) {\n evt.stopPropagation();\n }\n\n loadChildComponent(componentType: Type<any>) {\n const componentFactory =\n this.componentFactoryResolver.resolveComponentFactory(componentType);\n\n const viewContainerRef = this.insertionPoint.viewContainerRef;\n viewContainerRef.clear();\n\n this.componentRef = viewContainerRef.createComponent(componentFactory);\n }\n\n ngOnDestroy() {\n if (this.componentRef) {\n this.componentRef.destroy();\n }\n }\n\n close(data?: any) {\n this.onDialogClose.next(data);\n document.body.style.overflow = 'auto';\n }\n}\n","<div\n class=\"overlay\"\n (click)=\"onOverlayClicked($event)\"\n [ngClass]=\"{\n top: position === 'TOP',\n right: position === 'RIGHT',\n bottom: position === 'BOTTOM',\n left: position === 'LEFT',\n center: position === 'CENTER',\n black: background === 'black'\n }\" [class.pointer-none]=\"pointer === 'none'\"\n>\n <div\n class=\"dialog\"\n [class.animate]=\"animation\"\n (click)=\"onDialogClicked($event)\"\n [ngClass]=\"{\n top: position === 'TOP',\n right: position === 'RIGHT',\n bottom: position === 'BOTTOM',\n left: position === 'LEFT',\n center: position === 'CENTER'\n }\"\n >\n <ng-template appInsertion></ng-template>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DialogComponent } from './dialog.component';\nimport { InsertionDirective } from './insertion.directive';\nimport { DialogRef } from './dialog-ref';\n@NgModule({\n imports: [CommonModule],\n declarations: [DialogComponent, InsertionDirective],\n providers: [DialogRef]\n})\nexport class DialogModule {}\n","import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\n\nexport class DialogInjector implements Injector {\n constructor(\n private parentDialogInjector: Injector,\n private dialogAdditionalTokens: WeakMap<any, any>\n ) {}\n\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T;\n // get(token: any, notFoundValue?: any){return; }\n get(token: any, notFoundValue?: any) {\n const value = this.dialogAdditionalTokens.get(token);\n if (value) {\n return value;\n }\n return this.parentDialogInjector.get<any>(token, notFoundValue);\n }\n}\n","import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector, Type, EmbeddedViewRef, ComponentRef } from '@angular/core';\nimport { DialogModule } from './dialog.module';\nimport { DialogComponent } from './dialog.component';\nimport { DialogInjector } from './dialog-injector';\nimport { DialogConfig } from './dialog-config';\nimport { DialogRef } from './dialog-ref';\n\n@Injectable({\n providedIn: DialogModule,\n})\nexport class DialogService {\n dialogComponentRef!: ComponentRef<DialogComponent>;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private appRef: ApplicationRef, private injector: Injector) {}\n\n public open(componentType: Type<any>, config: DialogConfig) {\n const dialogRef = this.appendDialogComponentToBody(config);\n\n this.dialogComponentRef.instance.childComponentType = componentType;\n\n return dialogRef;\n }\n\n private appendDialogComponentToBody(config: DialogConfig) {\n const map = new WeakMap();\n map.set(DialogConfig, config);\n\n const dialogRef = new DialogRef();\n map.set(DialogRef, dialogRef);\n\n const sub = dialogRef.afterClosed.subscribe(() => {\n this.removeDialogComponentFromBody();\n sub.unsubscribe();\n });\n\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DialogComponent);\n const componentRef = componentFactory.create(new DialogInjector(this.injector, map));\n\n this.appRef.attachView(componentRef.hostView);\n\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n\n this.dialogComponentRef = componentRef;\n\n this.dialogComponentRef.instance.onClose.subscribe(() => {\n this.removeDialogComponentFromBody();\n });\n\n return dialogRef;\n }\n\n private removeDialogComponentFromBody() {\n this.appRef.detachView(this.dialogComponentRef.hostView);\n this.dialogComponentRef.destroy();\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { DatePickerComponent, IDatePickerConfig } from 'ng2-date-picker';\nimport { DialogService } from '../../ui-kit/dialog/dialog.service';\nimport { EditorConfig } from '@vcomply/editor';\nimport { ASSETS } from '../constants/assets.constant';\n\n@Component({\n selector: 'app-form-group',\n templateUrl: './form-group.component.html',\n styleUrls: ['./form-group.component.less'],\n})\nexport class FormGroupComponent implements OnInit {\n @Output() openCategoryList = new EventEmitter<string>();\n @Output() openResponsibilityCenterList = new EventEmitter<string>();\n @Output() openWhoCanViewThis = new EventEmitter<string>();\n @Output() closeCreateDashboard = new EventEmitter<string>();\n @Output() openFrequency = new EventEmitter<string>();\n @Input() disabled!: boolean;\n\n @ViewChild('fromDatePicker') fromDatePicker!: DatePickerComponent;\n @ViewChild('toDatePicker') toDatePicker!: DatePickerComponent;\n datePickerOverlay = false;\n selectedFromDate!: any;\n selectedToDate!: any;\n dashboardName!: any;\n dashboardDescriptionText!: any;\n fieldEmptyErrorMessage: string = 'Enter a value for this input box.';\n fieldLimitExceededErrorMessage: string =\n 'You have exceeded the maximum character limit of XYZ characters.';\n dashboardNameNotUniqueErrorMessage: string =\n 'A dashboard with this name already exists. Specify a different name for the dashboard.';\n dashboardNameError!: string;\n dashboardDescriptionError!: string;\n displayCriteria!: string;\n ASSETS: any = ASSETS;\n\n constructor(private dialog: DialogService) {}\n\n dashboardDescription: EditorConfig = {\n placeholder: 'Description (Max limit: 250 characters)',\n mode: 'prime',\n id: 'description',\n };\n\n fromDatePickerConfig: IDatePickerConfig = {\n min: this.getCurrentDate(),\n };\n\n toDatePickerConfig: IDatePickerConfig = {};\n\n ngOnInit(): void {}\n\n openFromDatePicker() {\n this.fromDatePicker.api.open();\n this.datePickerOverlay = true;\n }\n\n openToDatePicker() {\n this.toDatePicker.api.open();\n this.datePickerOverlay = true;\n }\n\n closeFromDatePicker() {\n let minToDate = this.selectedFromDate?.clone()?.add(1, 'days');\n this.toDatePickerConfig = { min: minToDate, minTime: minToDate };\n\n if (this.selectedToDate && minToDate.diff(this.selectedToDate) > 0) {\n this.selectedToDate = undefined;\n }\n\n this.fromDatePicker.api.close();\n this.datePickerOverlay = false;\n }\n\n closeToDatePicker() {\n this.toDatePicker.api.close();\n this.datePickerOverlay = false;\n }\n\n animateImage() {\n const circleImage = document.getElementsByClassName('image');\n console.log(circleImage);\n }\n\n selectWhoCanViewThis() {\n this.openWhoCanViewThis.emit();\n }\n\n selectResponsibilityCenter() {\n this.openResponsibilityCenterList.emit();\n }\n\n selectCategories() {\n this.openCategoryList.emit();\n }\n\n selectFrequency() {\n this.openFrequency.emit();\n }\n\n configureDashboard() {\n let fieldsStatus = this.verifyFields();\n // if(fieldsStatus) {\n // this.closeCreateDashboard.emit();\n // const ref = this.dialog.open(ConfigureWidgetsComponent, {\n // data: {},\n // position: 'CENTER',\n // pointer: 'none'\n // });\n // }\n }\n\n verifyFields() {\n let allFieldsValid = true;\n this.dashboardNameError = '';\n this.dashboardDescriptionError = '';\n\n if (\n this.dashboardName === null ||\n this.dashboardName === undefined ||\n this.dashboardName === ''\n ) {\n this.dashboardNameError = this.fieldEmptyErrorMessage;\n allFieldsValid = false;\n } else if (this.dashboardName.length > 30) {\n this.dashboardNameError = this.fieldLimitExceededErrorMessage.replace(\n 'XYZ',\n '30'\n );\n allFieldsValid = false;\n } else if (\n this.dashboardDescriptionText === null ||\n this.dashboardDescriptionText === undefined ||\n this.dashboardDescriptionText === ''\n ) {\n this.dashboardDescriptionError = this.fieldEmptyErrorMessage;\n allFieldsValid = false;\n } else if (this.dashboardDescriptionText.length > 250) {\n this.dashboardDescriptionError =\n this.fieldLimitExceededErrorMessage.replace('XYZ', '250');\n allFieldsValid = false;\n }\n return allFieldsValid;\n }\n\n getCurrentDate() {\n let today = new Date();\n return (\n today.getDate() + '-' + (today.getMonth() + 1) + '-' + today.getFullYear()\n );\n }\n\n displayCriteriaSelected(event: boolean, selection: string) {\n this.displayCriteria = selection;\n }\n}\n","<!-- <p>form-group works!</p> -->\n<div class=\"form-group\" [class.disabled]=\"disabled\">\n <div class=\"vx-dialog-body-container\" (scroll)=\"animateImage()\">\n <div class=\"form-group-row\">\n <div class=\"image\">\n <img [ngSrc]=\"ASSETS.dashBoardIcon\" alt=\"\" width=\"36\" height=\"36\" />\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\"\n >Dashboard Name<span class=\"required\">*</span></label\n >\n <div class=\"vx-input-group\">\n <input\n type=\"text\"\n placeholder=\"Add dashboard name (Max limit: 30 characters).\"\n [(ngModel)]=\"dashboardName\"\n />\n <span class=\"counter\" *ngIf=\"dashboardName?.length > 0\">{{\n 30 - dashboardName?.length\n }}</span>\n </div>\n <p class=\"vx-txt-error\">{{ dashboardNameError }}</p>\n <div class=\"vx-input-group\">\n <vcomply-editor\n [editorConfig]=\"dashboardDescription\"\n [(ngModel)]=\"dashboardDescriptionText\"\n ></vcomply-editor>\n <span\n class=\"counter\"\n *ngIf=\"dashboardDescriptionText?.length > 0\"\n >{{ 250 - dashboardDescriptionText?.length }}</span\n >\n </div>\n <p class=\"vx-txt-error\">{{ dashboardDescriptionError }}</p>\n </div>\n </div>\n </div>\n <div class=\"form-group-row\">\n <div class=\"image\">\n <img\n [ngSrc]=\"ASSETS.dashBoardUsersIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\"\n >Who can view this dashboard?<span class=\"required\">*</span></label\n >\n <div class=\"selectbox\">\n <input\n type=\"text\"\n placeholder=\"Who can view this dashboard?\"\n readonly\n (click)=\"selectWhoCanViewThis()\"\n />\n </div>\n <div class=\"selected\">\n <div class=\"left\">\n <div class=\"chip-container\">\n <span class=\"chip\">\n <span class=\"value\">Samantha Jones</span>\n </span>\n <span class=\"chip\">\n <i class=\"icons\">&#xe90d;</i>\n <span class=\"value\">Angel Kleven</span>\n </span>\n </div>\n <button class=\"count\">+10</button>\n </div>\n <button class=\"edit\"><i class=\"icons\">&#xe9ba;</i> Edit</button>\n </div>\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\n </div>\n </div>\n </div>\n <div class=\"form-group-row\">\n <div class=\"image\">\n <img [ngSrc]=\"ASSETS.dashBoardRcIcon\" alt=\"\" width=\"36\" height=\"36\" />\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">RESPONSIBILITY CENTER(S)</label>\n <div class=\"selectbox\">\n <div\n class=\"custom-input\"\n aria-placeholder=\"Select the Responsibility Center(s) that you would like displayed in the Dashboard, if any.\"\n (click)=\"selectResponsibilityCenter()\"\n ></div>\n </div>\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\n </div>\n </div>\n </div>\n <div class=\"form-group-row\">\n <div class=\"image\">\n <img\n [ngSrc]=\"ASSETS.dashBoardProgramIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">PROGRAM</label>\n <div class=\"selectbox\">\n <div\n class=\"custom-input\"\n aria-placeholder=\"Select the Program that this responsibility relates to.\"\n (click)=\"selectCategories()\"\n ></div>\n </div>\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\n </div>\n </div>\n </div>\n <div class=\"form-group-row\">\n <div class=\"image\">\n <img [ngSrc]=\"ASSETS.dashBoardRiskIcon\" alt=\"\" width=\"36\" height=\"36\" />\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">RISK CATEGORIES</label>\n <div class=\"selectbox\">\n <div\n class=\"custom-input\"\n aria-placeholder=\"Select the Risk Categories that you would like displayed in the Dashboard, if any.\"\n (click)=\"selectCategories()\"\n ></div>\n </div>\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\n </div>\n </div>\n </div>\n <div class=\"form-group-row\">\n <div class=\"image\">\n <img\n [ngSrc]=\"ASSETS.dashBoardUsersIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">DISPLAY CRITERIA</label>\n <div class=\"radio-group\">\n <app-cs-radio\n (checkedEvent)=\"\n displayCriteriaSelected($event, 'BOTH_RC_AND_CATEGORY')\n \"\n >Those responsibilities that have been assigned to both the\n selected Responsibility Center(s) and the selected\n Categories.</app-cs-radio\n >\n <app-cs-radio\n (checkedEvent)=\"displayCriteriaSelected($event, 'RC_OR_CATEGORY')\"\n >Those responsibilities that have been assigned to either the\n selected Responsibility Center(s) or the selected\n Categories.</app-cs-radio\n >\n </div>\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\n </div>\n </div>\n </div>\n <div class=\"form-group-row\">\n <div class=\"image\">\n <img\n [ngSrc]=\"ASSETS.dashBoardTimeFrameIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">TIMEFRAME</label>\n <label class=\"vx-control-panel-sub-label\"\n >Select how long you would like the information selected to be\n displayed for. If no timeframe is selected, the information will be\n displayed permanently.</label\n >\n <div class=\"input-group vx-d-flex vx-justify-between\">\n <div class=\"date-select\">\n <i class=\"icons\">&#xe92d;</i>\n <input\n type=\"text\"\n [value]=\"selectedFromDate | date : 'dd MMM yyyy'\"\n [placeholder]=\"'From'\"\n (click)=\"openFromDatePicker()\"\n readonly\n />\n <dp-date-picker\n #fromDatePicker\n [(ngModel)]=\"selectedFromDate\"\n placeholder=\"Select Date\"\n (onSelect)=\"closeFromDatePicker(); datePickerOverlay = false\"\n [config]=\"fromDatePickerConfig\"\n ></dp-date-picker>\n <div\n class=\"overlay\"\n (click)=\"closeFromDatePicker()\"\n *ngIf=\"datePickerOverlay\"\n ></div>\n </div>\n <div class=\"date-select\">\n <i class=\"icons\">&#xe92d;</i>\n <input\n type=\"text\"\n [value]=\"selectedToDate | date : 'dd MMM yyyy'\"\n [placeholder]=\"'To'\"\n (click)=\"openToDatePicker()\"\n readonly\n />\n <dp-date-picker\n #toDatePicker\n [(ngModel)]=\"selectedToDate\"\n placeholder=\"Select Date\"\n (onSelect)=\"closeToDatePicker(); datePickerOverlay = false\"\n [config]=\"toDatePickerConfig\"\n ></dp-date-picker>\n <div\n class=\"overlay\"\n (click)=\"closeToDatePicker()\"\n *ngIf=\"datePickerOverlay\"\n ></div>\n </div>\n </div>\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\n </div>\n </div>\n </div>\n <div class=\"form-group-row\">\n <!--active class will appear on open list-->\n <div class=\"image\">\n <img\n [ngSrc]=\"ASSETS.dashBoardEmailSummariesIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">\n Email Summaries\n <i\n class=\"icons\"\n [arTooltip]=\"'This is a test tooltip'\"\n placement=\"bottom-left\"\n type=\"white\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >&#xe91f;</i\n ></label\n >\n <label class=\"vx-control-panel-sub-label\">\n If you would like to send a summary of this Dashboard, please select\n a frequency(By default VComply sends a weekly Summary).\n </label>\n <div class=\"selectbox\">\n <input\n type=\"text\"\n placeholder=\"Email Summaries\"\n readonly\n (click)=\"selectFrequency()\"\n />\n </div>\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\n </div>\n </div>\n </div>\n </div>\n <div class=\"button-block\">\n <button\n class=\"vx-btn block primary\"\n [disabled]=\"disabled\"\n (click)=\"configureDashboard()\"\n >\n Next: Configure Widgets\n </button>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FloatingBarComponent } from './floating-bar.component';\nimport { PopoverModule } from '../popover/popover.module';\nimport { TooltipModule } from '../tooltip/tooltip.module';\n\n\n\n@NgModule({\n declarations: [\n FloatingBarComponent\n ],\n imports: [\n CommonModule,\n PopoverModule,\n TooltipModule\n ],\n exports: [\n FloatingBarComponent\n ]\n})\nexport class FloatingBarModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ScrollInViewDirective } from './scroll-in-view.directive';\n\n\n\n@NgModule({\n declarations: [\n ScrollInViewDirective\n ],\n imports: [\n CommonModule\n ],\n exports:[\n ScrollInViewDirective\n ]\n})\nexport class DirectivesModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NoDataComponent } from './no-data.component';\n\n@NgModule({\n declarations: [NoDataComponent],\n imports: [CommonModule],\n exports: [NoDataComponent],\n})\nexport class NoDataModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule, NgOptimizedImage } from '@angular/common';\nimport { FloatingBarModule } from '../../ui-kit//floating-bar/floating-bar.module';\nimport { FormgroupModule } from '../../ui-kit/formgroup/formgroup.module';\nimport { FormsModule } from '@angular/forms';\nimport { SearchPipe } from '../pipes/search.pipe';\nimport { ConfigureWidgetsComponent } from './configure-widgets/configure-widgets.component';\nimport { DirectivesModule } from '../directives/directives.module';\nimport { NoDataModule } from '../../ui-kit/no-data/no-data.module';\n\n\n\n@NgModule({\n declarations: [\n ConfigureWidgetsComponent, SearchPipe\n ],\n imports: [\n CommonModule,\n FloatingBarModule,\n FormgroupModule,\n FormsModule,\n DirectivesModule,\n NoDataModule,\n NgOptimizedImage\n ],\n exports: [\n ConfigureWidgetsComponent\n ]\n})\nexport class ConfigureWidgetsModule { }\n","import { Component, OnInit, Optional } from '@angular/core';\nimport { Configurations } from '../../../configurations';\n\n@Component({\n selector: 'app-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.less'],\n})\nexport class LoaderComponent implements OnInit {\n vLoader: any;\n \n public env!: any;\n\n constructor(@Optional() config?: Configurations) {\n if (config) {\n this.env = config.envConfig;\n }\n this.vLoader = this.env.vLoader;\n }\n\n ngOnInit(): void {}\n}\n","<div class=\"main-loader\">\n <img [ngSrc]=\"vLoader\" alt=\"\" width=\"45\" height=\"45\" />\n <div class=\"loader-index\">\n <div class=\"loader-index-circle\"></div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule, NgOptimizedImage } from '@angular/common';\nimport { LoaderComponent } from './loader/loader.component';\nimport { LoaderInlineComponent } from './loader-inline/loader-inline.component';\n\n@NgModule({\n declarations: [LoaderComponent, LoaderInlineComponent],\n imports: [CommonModule,NgOptimizedImage],\n exports: [LoaderComponent, LoaderInlineComponent],\n})\nexport class VLoaderModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SnackBarComponent } from './snack-bar/snack-bar.component';\n\n@NgModule({\n declarations: [SnackBarComponent],\n imports: [CommonModule],\n exports: [SnackBarComponent],\n})\nexport class SnackBarModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SmileyDialogComponent } from './smiley-dialog.component';\n\n@NgModule({\n declarations: [SmileyDialogComponent],\n imports: [CommonModule],\n\n exports: [SmileyDialogComponent],\n})\nexport class SmileyDialogModule {}\n","import { Injectable, Optional } from '@angular/core';\nimport { Configurations } from '../../configurations';\nimport { ASSETS } from '../constants/assets.constant';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigureBaseUrlService {\n ASSETS: any = ASSETS;\n public env!: any;\n constructor(@Optional() config?: Configurations) {\n if (config) {\n this.env = config?.envConfig;\n }\n }\n updateBaseUrl() {\n Object.keys(this.ASSETS).forEach((key) => {\n this.ASSETS[key] = `${this.env?.cdnUrl}${this.ASSETS[key]}`;\n });\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule, NgOptimizedImage } from '@angular/common';\nimport { VcomplyEditorModule } from '@vcomply/editor';\nimport { DpDatePickerModule } from 'ng2-date-picker';\nimport { FormsModule } from '@angular/forms';\nimport { CreateDashboardComponent } from './create-dashboard.component';\nimport { SelectModule } from '../ui-kit/select/select.module';\nimport { UserListComponent } from './user-list/user-list.component';\nimport { ResponsibilityCenterComponent } from './responsibility-center/responsibility-center.component';\nimport { CategoriesComponent } from './categories/categories.component';\nimport { FrequencyComponent } from './frequency/frequency.component';\nimport { PaginationModule } from '../ui-kit/pagination/pagination.module';\nimport { FormgroupModule } from '../ui-kit/formgroup/formgroup.module';\nimport { DashboardFooterModule } from '../ui-kit/dashboard-footer/dashboard-footer.module';\nimport { FormGroupComponent } from './form-group/form-group.component';\nimport { TooltipModule } from '../ui-kit/tooltip/tooltip.module';\nimport { FloatingBarModule } from '../ui-kit/floating-bar/floating-bar.module';\nimport { DialogModule } from '../ui-kit/dialog/dialog.module';\nimport { Configurations } from '../configurations';\nimport { FilterPipe } from './pipes/filter.pipe';\nimport { RiskCategoriesComponent } from './risk-categories/risk-categories.component';\nimport { ConfigureWidgetsModule } from './configure-widgets/configure-widgets.module';\nimport { PopoverModule } from '../ui-kit/popover/popover.module';\nimport { VLoaderModule } from '../ui-kit/v-loader/v-loader.module';\nimport { SnackBarModule } from '../ui-kit/snack-bar/snack-bar.module';\nimport { NoDataModule } from '../ui-kit/no-data/no-data.module';\nimport { DirectivesModule } from './directives/directives.module';\nimport { SmileyDialogModule } from '../ui-kit/smiley-dialog/smiley-dialog.module';\nimport { TextCountPipe } from './pipes/text-count.pipe';\nimport { ConfigureBaseUrlService } from './services/urlConfig.service';\n@NgModule({\n declarations: [\n CreateDashboardComponent,\n UserListComponent,\n FormGroupComponent,\n ResponsibilityCenterComponent,\n CategoriesComponent,\n RiskCategoriesComponent,\n FrequencyComponent,\n FilterPipe,\n TextCountPipe,\n ],\n imports: [\n CommonModule,\n VcomplyEditorModule,\n FormgroupModule,\n FormsModule,\n TooltipModule,\n SelectModule,\n DashboardFooterModule,\n PaginationModule,\n FloatingBarModule,\n DialogModule,\n ConfigureWidgetsModule,\n PopoverModule,\n VLoaderModule,\n SnackBarModule,\n NoDataModule,\n DirectivesModule,\n SmileyDialogModule,\n DpDatePickerModule,\n NgOptimizedImage,\n ],\n exports: [CreateDashboardComponent],\n})\nexport class CreateDashboardModule {\n constructor(private configureBaseUrlService: ConfigureBaseUrlService) {\n this.setBaseUrl();\n }\n public static forRoot(\n environmentConfig: Configurations\n ): ModuleWithProviders<CreateDashboardModule> {\n return {\n ngModule: CreateDashboardModule,\n providers: [{ provide: Configurations, useValue: environmentConfig }],\n };\n }\n setBaseUrl() {\n this.configureBaseUrlService.updateBaseUrl();\n }\n}\n","/*\n * Public API Surface of create-dashboard\n */\n\n// export * from './lib/create-dashboard.service';\n// export * from './lib/create-dashboard.component';\n// export * from './lib/create-dashboard.module';\n\nexport * from './lib/create-dashboard.service';\nexport * from './lib/create-dashboard-container/create-dashboard.component';\nexport * from './lib/create-dashboard-container/create-dashboard.module';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["CreateDashboardService","i2.Configurations","i2.AuthService","i3.Configurations","i1.PopoverService","i2","i1.SnackBarService","i3.PopoverComponent","i4.PopoverDirective","i5.ToolTipDirective","i1","i1.DialogRef","i2.ConfigureWidgetsService","i3.SnackBarService","i4","i5.FloatingBarComponent","i6.CsCheckboxComponent","i7","i8.NoDataComponent","i9.SearchPipe","i1.Configurations","i2.PopoverComponent","i3.PopoverDirective","i4.ToolTipDirective","i1.PaginationService","i2.CreateDashboardService","i3","i4.CsCheckboxComponent","i6.ToolTipDirective","i7.DashboardFooterComponent","i8.PaginationComponent","i9.PopoverComponent","i10.PopoverDirective","i11.LoaderInlineComponent","i12.NoDataComponent","i2.CsCheckboxComponent","i5.DashboardFooterComponent","i6.NoDataComponent","i7.FilterPipe","i3.CsCheckboxComponent","i4.CsRadioComponent","i6.DashboardFooterComponent","i1.CreateDashboardService","i2.PaginationService","i4.PopoverService","i5.ConfigureWidgetsService","i6.TextCountPipe","i9.CsRadioComponent","i10","i11.ToolTipDirective","i12.ConfigureWidgetsComponent","i13.PopoverComponent","i14.PopoverDirective","i15.LoaderInlineComponent","i16.SnackBarComponent","i17.ScrollInViewDirective","i18.SmileyDialogComponent","i20.UserListComponent","i21.ResponsibilityCenterComponent","i22.CategoriesComponent","i23.RiskCategoriesComponent","i24.FrequencyComponent","i2.SafeHtmlPipe","i1.CsSelectComponent","i2.CsSelectService","i3.ToolTipDirective","i1.CsRadioComponent","i2.ClickOutsideDirective","i3.PascalPipe","i4.InsertionDirective","i1.DialogService","i1.ConfigureBaseUrlService"],"mappings":"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"}
1
+ {"version":3,"file":"vc-create-dashboard.mjs","sources":["../../../projects/create-dashboard/src/lib/create-dashboard.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/pipes/text-count.pipe.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/constants/assets.constant.ts","../../../projects/create-dashboard/src/lib/configurations.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/services/auth.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/services/create-dashboard.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/services/pagination.service.ts","../../../projects/create-dashboard/src/lib/ui-kit/snack-bar/snack-bar.service.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/services/configure-widgets.service.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-radio/cs-radio.component.html","../../../projects/create-dashboard/src/lib/ui-kit/tooltip/tooltip.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog-ref.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.component.html","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/floating-bar/floating-bar.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/floating-bar/floating-bar.component.html","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.html","../../../projects/create-dashboard/src/lib/ui-kit/no-data/no-data.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/no-data/no-data.component.html","../../../projects/create-dashboard/src/lib/create-dashboard-container/pipes/search.pipe.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.html","../../../projects/create-dashboard/src/lib/ui-kit/v-loader/loader-inline/loader-inline.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/v-loader/loader-inline/loader-inline.component.html","../../../projects/create-dashboard/src/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.html","../../../projects/create-dashboard/src/lib/create-dashboard-container/directives/scroll-in-view.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/smiley-dialog/smiley-dialog.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/smiley-dialog/smiley-dialog.component.html","../../../projects/create-dashboard/src/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.html","../../../projects/create-dashboard/src/lib/ui-kit/pagination/pagination.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/pagination/pagination.component.html","../../../projects/create-dashboard/src/lib/create-dashboard-container/user-list/user-list.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/user-list/user-list.component.html","../../../projects/create-dashboard/src/lib/create-dashboard-container/pipes/filter.pipe.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/responsibility-center/responsibility-center.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/responsibility-center/responsibility-center.component.html","../../../projects/create-dashboard/src/lib/create-dashboard-container/categories/categories.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/categories/categories.component.html","../../../projects/create-dashboard/src/lib/create-dashboard-container/risk-categories/risk-categories.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/risk-categories/risk-categories.component.html","../../../projects/create-dashboard/src/lib/create-dashboard-container/frequency/frequency.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/frequency/frequency.component.html","../../../projects/create-dashboard/src/lib/create-dashboard-container/create-dashboard.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/create-dashboard.component.html","../../../projects/create-dashboard/src/lib/ui-kit/select/safe-html.pipe.ts","../../../projects/create-dashboard/src/lib/ui-kit/select/cs-select/cs-select.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/select/cs-select/cs-select.component.html","../../../projects/create-dashboard/src/lib/ui-kit/services/cs-select.service.ts","../../../projects/create-dashboard/src/lib/ui-kit/select/cs-option/cs-option.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/select/cs-option/cs-option.component.html","../../../projects/create-dashboard/src/lib/ui-kit/select/select.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/pagination/pagination.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-switch/cs-switch.component.html","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.html","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/click-outside.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/pipes/pascal.pipe.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-select/cs-select.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-select/cs-select.component.html","../../../projects/create-dashboard/src/lib/ui-kit/tooltip/tooltip.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/formgroup.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/dashboard-footer/dashboard-footer.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/insertion.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog-config.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog.component.html","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog-injector.ts","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/form-group/form-group.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/form-group/form-group.component.html","../../../projects/create-dashboard/src/lib/ui-kit/floating-bar/floating-bar.module.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/directives/directives.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/no-data/no-data.module.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/configure-widgets/configure-widgets.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/v-loader/loader/loader.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/v-loader/loader/loader.component.html","../../../projects/create-dashboard/src/lib/ui-kit/v-loader/v-loader.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/snack-bar/snack-bar.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/smiley-dialog/smiley-dialog.module.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/create-dashboard.module.ts","../../../projects/create-dashboard/src/public-api.ts","../../../projects/create-dashboard/src/vc-create-dashboard.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CreateDashboardService {\n constructor() {}\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'textCount'\n})\nexport class TextCountPipe implements PipeTransform {\n\n transform(value: any, ...args: any[]): any {\n const span = document.createElement('span');\n span.innerHTML = value;\n console.log('span.innerHTML ==>',span.innerHTML,span.innerText.length)\n return span.textContent?.length || span.innerText.length;\n }\n\n}\n","const BASE_URL = 'https://cdn.v-comply.com';\n\nexport const ASSETS = {\n dashBoardIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/what.svg`,\n dashBoardUsersIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/who.svg`,\n dashBoardRcIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/responsibility-center.svg`,\n dashBoardProgramIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/category.svg`,\n dashBoardRiskIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/category.svg`,\n dashBoardTimeFrameIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/when.svg`,\n dashBoardEmailSummariesIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/send-resolution.svg`,\n configure_widget: `${BASE_URL}/libraries/configure-widget/assets/images/configure-widget.svg`,\n overviewWidget: `${BASE_URL}/libraries/configure-widget/assets/images/overview.png`,\n responsibilityCalenderWidget: `${BASE_URL}/libraries/configure-widget/assets/images/responsibility-calender.png`,\n responsibilityCenterOverviewWidget: `${BASE_URL}/libraries/configure-widget/assets/images/responsibility-center-overview.png`,\n myResponsibilitiesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/my-responsibilities.png`,\n keyResponsibilitiesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/key-responsibilities.png`,\n trendAnalysisWidget: `${BASE_URL}/libraries/configure-widget/assets/images/trend-analysis.png`,\n workroomUpdatesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/workroom-updates.png`,\n recentActivitiesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/recent-activities.png`,\n exceptionSummaryWidget: `${BASE_URL}/libraries/configure-widget/assets/images/exception-summary.png`,\n riskOverviewWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/risk-overview.png`,\n appetiteToleranceWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/appetite-tolerance.png`,\n inherentRCWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/inherent-RC.png`,\n residualRCWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/residual-RC.png`,\n riskCategoryOverviewWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/risk-category-overview.png`,\n riskHeatmapWidget: `${BASE_URL}/libraries/configure-widget/assets/images/risk-heatmap.png`,\n inherentCategoriesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/inherent-categories.png`,\n residualCategoriesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/residual-categories.png`,\n tenRiskRatingsWidget: `${BASE_URL}/libraries/configure-widget/assets/images/10-risk-ratings.png`,\n search_data: `${BASE_URL}/libraries/workflow-engine/assets/workflow/search-data.svg`,\n appetite_tolerance: `${BASE_URL}/libraries/configure-widget/assets/images/appetite-tolerance.png`,\n inherent_trend: `${BASE_URL}/libraries/configure-widget/assets/images/inherent-trend.png`,\n residual_trend: `${BASE_URL}/libraries/configure-widget/assets/images/residual-trend.png`,\n risk_trend: `${BASE_URL}/libraries/configure-widget/assets/images/risk-trend.png`,\n policyApproverView: `${BASE_URL}/policy/images/policy-approver-view.svg`,\n};\n","export class Configurations {\n public envConfig: any;\n\n constructor() {\n this.envConfig = {};\n }\n\n}\n","import { Injectable, Optional } from '@angular/core';\nimport { JwtHelperService } from '@auth0/angular-jwt';\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { of, BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { map, shareReplay, catchError, delay} from 'rxjs/operators';\nimport { Configurations } from '../../configurations';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n public env !: any;\n\n constructor(private http: HttpClient, @Optional() config?: Configurations) { \n if (config) {\n this.env = config.envConfig;\n }\n }\n getAuthorizationToken() {\n if (localStorage.getItem('currentUser')) {\n const currentUser = JSON.parse(localStorage.getItem('currentUser') || '{}');\n return currentUser.token;\n }\n }\n\n \n}\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable, Optional } from '@angular/core';\nimport { JwtHelperService } from '@auth0/angular-jwt';\nimport { of } from 'rxjs';\nimport { catchError, map, retry } from 'rxjs/operators';\nimport { Configurations } from '../../configurations';\nimport { AuthService } from './auth.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CreateDashboardService {\n public env!: any;\n\n httpOptions: any;\n constructor(\n private http: HttpClient,\n private authService: AuthService,\n @Optional() config?: Configurations\n ) {\n if (config) {\n this.env = config.envConfig;\n }\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n token: this.authService.getAuthorizationToken(),\n }),\n };\n }\n\n /*\n * Fetches the Organization Users List by making an API call\n */\n getOrganizationUsers(url?: any) {\n return this.http\n .get(\n this.env?.organizationGet +\n 'organisationUsersList&paginationType=small' +\n (url.p ? '&p=' + url.p : '') +\n (url.type ? '&type=' + url.type : '') +\n (url.q ? '&q=' + url.q : ''),\n this.httpOptions\n )\n .pipe(\n map((res: any) => {\n return res;\n }),\n retry(2),\n catchError((err) => of(err))\n );\n }\n\n /**\n * Fetches the OrganizationUsers details of users List to set pagination details including number of\n * pages and records limit per page,\n * @param url contains info about type & search query\n */\n getOrganizationUsersCount(url?: any) {\n return this.http\n .get(\n this.env?.organizationGet +\n 'organisationUsersCount&paginationType=small' +\n (url.type ? '&type=' + url.type : '') +\n (url.q ? '&q=' + url.q : ''),\n this.httpOptions\n )\n .pipe(\n map((res) => {\n return res;\n }),\n catchError((err) => of(err))\n );\n }\n\n getCategoryList() {\n const headers = new HttpHeaders().set(\n 'token',\n this.authService.getAuthorizationToken()\n );\n return this.http\n .get<any[]>(this.env?.riskGet + 'category/list', { headers })\n .pipe(retry(2));\n }\n\n /**\n * Fetches all users by making an API call\n */\n getAllUsers() {\n return this.http\n .get(\n this.env?.organizationGet + 'selectAllUsers&type=all',\n this.httpOptions\n )\n .pipe(retry(2));\n }\n\n /**\n * Fetches all groups by making an API call\n * */\n getAllGroups(params?: HttpParams) {\n const headers = new HttpHeaders().set(\n 'token',\n this.authService.getAuthorizationToken()\n );\n return this.http\n .get(\n this.env?.organizationGet +\n 'groupsList&permType=dashboard&memberExists=1',\n { params, headers }\n )\n .pipe(retry(2));\n }\n\n /**\n * Fetches responsibilityCentersList by making an API call\n */\n getResponsibilityCenterList() {\n const headers = new HttpHeaders().set(\n 'token',\n this.authService.getAuthorizationToken()\n );\n return this.http\n .get<any[]>(this.env?.complianceGet + 'responsibilityCenterTree', {\n headers,\n })\n .pipe(retry(2));\n }\n\n getComplianceCategoriesList() {\n const headers = new HttpHeaders().set(\n 'token',\n this.authService.getAuthorizationToken()\n );\n return this.http\n .get<any[]>(\n this.env.complianceGet + 'complianceCategory/CategoryListTree',\n {\n headers,\n }\n )\n .pipe(retry(2));\n }\n\n getComplianceCategoriesListFromGlobal() {\n const headers = new HttpHeaders().set(\n 'token',\n this.authService.getAuthorizationToken()\n );\n return this.http\n .get<any[]>(\n this.env?.complianceGet +\n 'complianceCategory/CategoryListTree&program=1&isDashboard=true',\n {\n headers,\n }\n )\n .pipe(retry(2));\n }\n\n submitDashboard(payload: any) {\n const headers = new HttpHeaders().set(\n 'token',\n this.authService.getAuthorizationToken()\n );\n return this.http\n .post(this.env.dashboard + 'CreateDashboard', payload, { headers })\n .pipe(retry(2));\n }\n\n /**\n * Fetches the Dashboard details for data population to Edit the dashboard\n * @param id\n */\n fetchDashboard(id: any) {\n return this.http\n .get(this.env.dashboard + id + '?mode=edit', this.httpOptions)\n .pipe(retry(2));\n }\n\n updateDashboard(id: any, payload: any) {\n return this.http\n .put(\n this.env.dashboard + 'UpdateDashboard/' + id,\n payload,\n this.httpOptions\n )\n .pipe(retry(2));\n }\n\n getUserInformation() {\n return this.http\n .get(\n this.env?.organizationGet + 'users&id=' + this?._ID(),\n this.httpOptions\n )\n .pipe(retry(2));\n }\n _ID() {\n const helper = new JwtHelperService();\n const myRawToken = localStorage.getItem('currentUser') || '{}';\n const isExpired = helper?.isTokenExpired(myRawToken);\n if (isExpired === false) {\n const tokenInfo = helper?.decodeToken(myRawToken);\n return tokenInfo._id;\n }\n return '';\n }\n\n checkDuplicateDashboardName(payload: any) {\n return this.http\n .post(\n this.env.dashboard + 'DuplicateDashboard',\n payload,\n this.httpOptions\n )\n .pipe(retry(2));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\n\n/**\n * Service to implement pagination for users while creating an app\n */\nexport class PaginationService {\n currentPage = 1;\n searchValue = '';\n currentValues = new BehaviorSubject({});\n\n constructor() { }\n\n setCurrentState() {\n this.currentValues.next(true);\n }\n reset(){\n this.currentPage = 1;\n this.searchValue = '';\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SnackBarService {\n snackbarSubject = new Subject<any>();\n constructor() {}\n\n show(message: string, icon?: string) {\n this.snackbarSubject.next({\n show: true,\n message,\n icon,\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PopoverService {\n stopScroll = false;\n positionX!: number;\n positionY!: number;\n popoverHeight: any;\n popoverWidth: any;\n elementPosition: any;\n elementDirection: any;\n constructor() {\n console.log(this.popoverHeight);\n }\n}\n","import { Injectable, Optional } from '@angular/core';\nimport { widgetDataModel } from '../interfaces/widget-data-model';\nimport {\n HttpClient,\n HttpHeaders,\n JsonpClientBackend,\n} from '@angular/common/http';\nimport { catchError, map, retry } from 'rxjs/operators';\nimport { JwtHelperService } from '@auth0/angular-jwt';\nimport { of } from 'rxjs';\nimport { AuthService } from './auth.service';\nimport { Configurations } from '../../configurations';\nimport { ASSETS } from '../constants/assets.constant';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigureWidgetsService {\n public env!: any;\n\n constructor(\n private http: HttpClient,\n private authService: AuthService,\n @Optional() config?: Configurations\n ) {\n if (config) {\n this.env = config.envConfig;\n }\n }\n\n // complianceWidgetsData = [\n // {\n // title: 'Overview',\n // id: 'overview_flag',\n // description:\n // 'Displays all responsibilities that have been assigned to you.',\n // widgetImage: ASSETS.overviewWidget,\n // value: 0,\n // },\n // {\n // title: 'Responsibility Calendar',\n // id: 'compliance_calendar_flag',\n // description:\n // 'Displays all responsibilities that are due on a particular day.',\n // widgetImage: ASSETS.responsibilityCalenderWidget,\n // value: 0,\n // },\n // {\n // title: 'Responsibility Center Overview',\n // id: 'responsibility_center_overview_flag',\n // description:\n // 'Displays all responsibilities that have been assigned to you.',\n // widgetImage: ASSETS.overviewWidget,\n // value: 0,\n // },\n // {\n // title: 'My Responsibilities',\n // id: 'my_responsibilities',\n // description:\n // 'Displays all responsibilities that have been assigned to you.',\n // widgetImage: ASSETS.myResponsibilitiesWidget,\n // tabOption: true,\n // value: 0,\n // },\n // {\n // title: 'Key Responsibilities',\n // id: 'key_responsibilities',\n // description:\n // 'Displays all responsibilities that are due on a particular day.',\n // widgetImage: ASSETS.keyResponsibilitiesWidget,\n // tabOption: true,\n // value: 0,\n // },\n // {\n // title: 'Trend Analysis',\n // id: 'trend_analysis_flag',\n // description:\n // 'Displays all responsibilities that have been assigned to you.',\n // widgetImage: ASSETS.trendAnalysisWidget,\n // value: 0,\n // },\n // {\n // title: 'Workroom Updates',\n // id: 'workroom_alert_flag',\n // description:\n // 'Displays all responsibilities that have been assigned to you.',\n // widgetImage: ASSETS.workroomUpdatesWidget,\n // value: 0,\n // },\n // {\n // title: 'Recent Activities',\n // id: 'recent_activity_flag',\n // description:\n // 'Displays all responsibilities that have been assigned to you.',\n // widgetImage: ASSETS.recentActivitiesWidget,\n // value: 0,\n // },\n // {\n // title: 'Exception Summary',\n // id: 'exception_summary_flag',\n // description:\n // 'Displays all responsibilities that have been assigned to you.',\n // widgetImage: ASSETS.exceptionSummaryWidget,\n // value: 0,\n // },\n // ];\n\n riskWidgetsData = [\n {\n title: 'Risk Overview',\n id: 'risk_overview',\n description: 'description',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-overview.png',\n widgetImage: ASSETS.riskOverviewWidget,\n value: 0,\n },\n {\n title: 'Risk Appetite & Tolerance',\n id: 'risk_appetite_tolerance',\n description: 'description',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',\n widgetImage: ASSETS.appetiteToleranceWidget,\n value: 0,\n },\n {\n title: 'Risk Ratings',\n id: 'risk_ratings',\n description: 'Description.',\n widgetImage: ASSETS.appetite_tolerance,\n value: 0,\n },\n {\n title: 'Risks Without Controls',\n id: 'risks_without_controls',\n description: 'Description',\n widgetImage: ASSETS.appetite_tolerance,\n value: 0,\n },\n {\n title: 'Risks Exceeding Risk Tolerance',\n id: 'exceeds_risk_tolerance',\n description: 'description',\n widgetImage: ASSETS.appetite_tolerance,\n value: 0,\n },\n {\n title: 'Inherent Risk Rating by Responsibility Centers ',\n id: 'inherent_risk_rating_by_responsibility_centers',\n description: 'Description.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-RC.png',\n widgetImage: ASSETS.inherentRCWidget,\n value: 0,\n },\n {\n title: 'Residual Risk Rating by Responsibility Centers ',\n id: 'residual_risk_rating_by_responsibility_centers',\n description: 'Description.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-RC.png',\n widgetImage: ASSETS.residualRCWidget,\n value: 0,\n },\n {\n title: 'Risk Category Overview',\n id: 'risk_category_overview',\n description: 'description',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-category-overview.png',\n widgetImage: ASSETS.riskCategoryOverviewWidget,\n value: 0,\n },\n {\n title: 'Risk Heatmap',\n id: 'risk_heatmap',\n description: 'Description.',\n widgetImage: ASSETS.riskHeatmapWidget,\n value: 0,\n },\n {\n title: 'Inherent Risk Rating by Categories',\n id: 'inherent_risk_rating_by_categories',\n description: 'Description.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-categories.png',\n widgetImage: ASSETS.inherentCategoriesWidget,\n value: 0,\n },\n\n {\n title: 'Residual Risk Rating by Categories',\n id: 'residual_risk_rating_by_categories',\n description: 'description',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-categories.png',\n widgetImage: ASSETS.residualCategoriesWidget,\n value: 0,\n },\n {\n title: 'Inherent Risk Rating Trend by Responsibility Centers',\n id: 'inherent_risk_rating_trend_by_responsibility_centers',\n description: 'Description.',\n widgetImage: ASSETS.inherent_trend,\n value: 0,\n },\n {\n title: 'Residual Risk Rating Trend by Responsibility Centers',\n id: 'residual_risk_rating_trend_by_responsibility_centers',\n description: 'Description.',\n widgetImage: ASSETS.residual_trend,\n value: 0,\n },\n {\n title: 'Risk Rating Trend by Categories',\n id: 'risk_rating_trend_by_categories',\n description: 'Description.',\n widgetImage: ASSETS.risk_trend,\n value: 0,\n },\n {\n title: 'Top 5 Risk Ratings',\n id: 'top_5_residual_risk_ratings',\n description: 'Description.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/5-risk-ratings.png',\n widgetImage: ASSETS.tenRiskRatingsWidget,\n value: 0,\n },\n ];\n auditWidgetsData = [];\n policyWidgetsData = [];\n\n // For dashboard view\n dashBoardWidgetUpdate(widGetJson: any) {\n const headers = new HttpHeaders().set(\n 'token',\n this.authService.getAuthorizationToken()\n );\n return this.http\n .put(this.env.OrganizationPut + 'dashboardWidgets', widGetJson)\n .pipe(retry(2));\n }\n\n moduleType(identifier: string) {\n if (JSON.stringify(this.riskWidgetsData).includes(identifier)) {\n return 'RISK';\n // } else if (JSON.stringify(this.complianceWidgetsData).includes(identifier)) {\n // return 'COMPLIANCE';\n }\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-cs-radio',\n templateUrl: './cs-radio.component.html',\n styleUrls: ['./cs-radio.component.less'],\n})\nexport class CsRadioComponent implements OnInit {\n @Input() disabled!: boolean;\n @Input() readonly!: boolean;\n @Input() name!: string;\n @Input() checked!: boolean;\n @Input() value: any;\n @Output() checkedEvent = new EventEmitter();\n constructor() {}\n\n ngOnInit(): void {}\n changeState(evt: any) {\n this.checkedEvent.emit(evt);\n }\n}\n","<label class=\"radio-item\" [class.readonly]=\"readonly\">\n <input type=\"radio\" [disabled]=\"disabled\" [name]=\"name\" [value]=\"value\" [checked]=\"checked\" (change)=\"changeState($event)\" />\n <span class=\"radio\">\n <span class=\"inner\"></span>\n </span>\n <svg class=\"radiomark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\n <circle class=\"radiomark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <circle class=\"radiomark__check\" cx=\"26\" cy=\"26\" r=\"5\" fill=\"none\" />\n </svg>\n <span class=\"value\"><ng-content></ng-content></span>\n</label>\n","import {\n Directive,\n Input,\n ElementRef,\n HostListener,\n Renderer2,\n OnInit,\n AfterViewInit,\n ViewChild,\n OnDestroy,\n} from '@angular/core';\n\n@Directive({\n selector: '[arTooltip]',\n})\nexport class ToolTipDirective implements OnInit, OnDestroy {\n @Input('arTooltip') tooltipTitle!: string;\n @Input() placement!: string;\n @Input() type: any;\n @Input() tooltipMandatory!: boolean;\n @Input() showTooltip = true;\n @Input() animate!: boolean;\n tooltip!: HTMLElement;\n offset = 8;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n ngOnInit() {}\n @HostListener('mouseenter') onMouseEnter() {\n this.hide();\n this.show();\n }\n @HostListener('mouseover') onMouseOver() {\n this.hide();\n this.show();\n }\n\n @HostListener('mouseleave') onMouseLeave() {\n this.hide();\n }\n @HostListener('mouseout') onMouseOut() {\n this.hide();\n }\n @HostListener('click') onClick() {\n this.hide();\n }\n ngOnDestroy() {\n this.hide();\n }\n show() {\n if (!this.showTooltip) {\n return;\n }\n this.create();\n const element = this.el.nativeElement;\n if (this.tooltipMandatory === true) {\n this.setPosition();\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\n } else {\n if (\n element.scrollWidth * element.scrollHeight >\n element.offsetWidth * element.offsetHeight\n ) {\n this.setPosition();\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\n }\n }\n }\n\n hide() {\n if (document.body.contains(this.tooltip)) {\n if (this.renderer) {\n this.renderer.removeChild(\n document.body,\n document.getElementById('tooltip')\n );\n }\n }\n }\n\n create() {\n this.tooltip = this.renderer.createElement('span');\n this.tooltip.setAttribute('id', 'tooltip');\n this.tooltip.innerHTML = this.tooltipTitle;\n this.renderer.appendChild(document.body, this.tooltip);\n this.renderer.addClass(this.tooltip, 'ng-tooltip');\n this.renderer.addClass(this.tooltip, `ng-tooltip-${this.placement}`);\n this.renderer.addClass(this.tooltip, `${this.type}`);\n if (this.animate) {\n this.renderer.addClass(this.tooltip, `animate-${this.placement}`);\n }\n }\n\n setPosition() {\n const hostPos = this.el.nativeElement.getBoundingClientRect();\n const tooltipPos = this.tooltip.getBoundingClientRect();\n const scrollPos =\n window.pageYOffset ||\n document.documentElement.scrollTop ||\n document.body.scrollTop ||\n 0;\n const w = window.innerWidth;\n const h = window.innerHeight;\n let top;\n let left;\n if (this.placement === 'top') {\n top = hostPos.top - tooltipPos.height - this.offset;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n }\n\n if (this.placement === 'bottom') {\n if (hostPos.top + tooltipPos.height > h) {\n top = hostPos.top - tooltipPos.height;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n this.renderer.removeClass(this.tooltip, `ng-tooltip-bottom`);\n this.renderer.addClass(this.tooltip, `ng-tooltip-top`);\n } else {\n top = hostPos.bottom + this.offset;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n }\n }\n\n if (this.placement === 'left') {\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\n left = hostPos.left - tooltipPos.width - this.offset;\n }\n\n if (this.placement === 'right') {\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\n left = hostPos.right + this.offset;\n }\n if (this.placement === 'bottom-right') {\n top = hostPos.bottom + this.offset;\n left = hostPos.left - (tooltipPos.width - 28);\n }\n if (this.placement === 'bottom-left') {\n if (hostPos.top + tooltipPos.height > h - 30) {\n top = hostPos.top - tooltipPos.height;\n console.log('bottom left', hostPos.top - tooltipPos.height);\n left = hostPos.left;\n this.renderer.removeClass(this.tooltip, `ng-tooltip-bottom-left`);\n this.renderer.addClass(this.tooltip, `ng-tooltip-top-left`);\n } else {\n top = hostPos.bottom + this.offset;\n left = hostPos.left;\n }\n }\n this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`);\n }\n}\n","import { Observable, Subject } from 'rxjs';\n\nexport class DialogRef {\n private readonly afterDialogClosed = new Subject<any>();\n afterClosed: Observable<any> = this.afterDialogClosed.asObservable();\n constructor() {}\n\n close(result?: any) {\n this.afterDialogClosed.next(result);\n document.body.style.overflow = 'auto';\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { PopoverService } from './popover.service';\n\n@Component({\n selector: 'app-popover',\n templateUrl: './popover.component.html',\n styleUrls: ['./popover.component.less'],\n})\nexport class PopoverComponent implements OnInit {\n @Input() dontCloseonClick = false;\n popoverContainer = false;\n @ViewChild('popoverRatio') popoverRatio!: ElementRef;\n @ViewChild('popoverContent') popoverContent!: ElementRef;\n @Output() closedOnOverlay = new EventEmitter();\n constructor(public popoverService: PopoverService) { }\n showPopover = false;\n leftValue: any;\n topValue: any;\n popoverHeight: any;\n popoverWidth: any;\n positionX!: number;\n positionY!: number;\n ngOnInit(): void { }\n popover() {\n this.popoverContainer = false;\n this.popoverContainer = true;\n setTimeout(() => {\n this.getPosition();\n this.showPopover = true;\n this.popoverService.stopScroll = true;\n // document.body.style.overflow = 'hidden';\n }, 10);\n return false;\n }\n popoverEvent() {\n this.popoverContainer = false;\n this.popoverContainer = true;\n setTimeout(() => {\n // this.getPosition();\n this.positionX = this.popoverService.positionX;\n this.positionY = this.popoverService.positionY;\n this.showPopover = true;\n this.popoverService.stopScroll = true;\n\n }, 10);\n return false;\n }\n closePopover(top?: string) {\n if (!this.dontCloseonClick || top === 'top') {\n this.popoverContainer = false;\n this.showPopover = false;\n this.popoverService.stopScroll = false;\n // document.body.style.overflow = 'auto';\n }\n }\n\n close() {\n this.popoverContainer = false;\n this.showPopover = false;\n this.popoverService.stopScroll = false;\n }\n\n clickedPopover() {\n this.getPosition();\n }\n getPosition() {\n const elementPosition = this.popoverService?.elementPosition;\n const direction = this.popoverService?.elementDirection;\n\n if (!this.popoverRatio?.nativeElement) {\n return;\n }\n\n this.popoverHeight = this.popoverRatio.nativeElement.offsetHeight;\n this.popoverWidth = this.popoverRatio.nativeElement.offsetWidth;\n\n const overflowsBottom = elementPosition.top + elementPosition.height + this.popoverHeight > window.outerHeight - 200;\n\n switch (direction) {\n case 'left':\n this.leftValue = elementPosition.left;\n this.topValue = overflowsBottom\n ? elementPosition.top - this.popoverHeight\n : elementPosition.top + elementPosition.height;\n break;\n\n case 'right':\n this.leftValue = elementPosition.left + elementPosition.width - this.popoverWidth;\n this.topValue = overflowsBottom\n ? elementPosition.top - this.popoverHeight\n : elementPosition.top + elementPosition.height;\n break;\n\n case 'top':\n this.leftValue = elementPosition.left + elementPosition.width;\n this.topValue = elementPosition.top - this.popoverHeight;\n break;\n\n case 'bottom':\n this.leftValue = elementPosition.left + elementPosition.width;\n this.topValue = overflowsBottom\n ? elementPosition.top - this.popoverHeight\n : elementPosition.top + elementPosition.height;\n break;\n\n case 'self-position':\n this.leftValue = elementPosition.left + elementPosition.width / 2 - this.popoverWidth / 2;\n this.topValue = elementPosition.top - 15;\n break;\n\n case 'top-center':\n this.leftValue = elementPosition.left + elementPosition.width / 2 - this.popoverWidth / 2;\n this.topValue = (elementPosition.top + elementPosition.height + this.popoverHeight > window.outerHeight)\n ? elementPosition.top + elementPosition.height\n : elementPosition.top - this.popoverHeight;\n break;\n\n case 'center':\n this.leftValue = elementPosition.left + elementPosition.width / 2 - this.popoverWidth / 2;\n this.topValue = elementPosition.top + elementPosition.height;\n break;\n }\n\n this.positionX = this.leftValue;\n this.positionY = this.topValue;\n }\n}\n","<div class=\"popover-overlay\" *ngIf=\"popoverContainer\" (click)=\"closePopover('top');this.closedOnOverlay.emit();\"></div>\n<div class=\"action\" [class.active]=\"showPopover\" *ngIf=\"popoverContainer\" [style.top.px]=\"positionY\" [style.left.px]=\"positionX\" #popoverRatio id=\"popoverRatio\">\n <div (click)=\"closePopover(); clickedPopover()\" #popoverContent>\n <ng-content></ng-content>\n </div>\n</div>\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\nimport { PopoverService } from './popover.service';\n\n@Directive({\n selector: '[appPopover]',\n})\nexport class PopoverDirective {\n dynamicComponent: any;\n @Input() refrence: any;\n @Input() placement!: string;\n leftValue: any;\n topValue: any;\n constructor(private elRef: ElementRef, private popoverService: PopoverService) {}\n @HostListener('click') click() {\n this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\n this.popoverService.elementDirection = this.placement;\n // this.getPosition();\n }\n\n getPosition() {\n setTimeout(() => {\n // this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\n const elementPositionn = this.elRef.nativeElement.getBoundingClientRect();\n if (this.placement === 'left') {\n this.leftValue = elementPositionn.left;\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\n } else {\n this.topValue = elementPositionn.top + elementPositionn.height;\n }\n }\n if (this.placement === 'right') {\n this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverService.popoverWidth;\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\n } else {\n this.topValue = elementPositionn.top + elementPositionn.height;\n }\n }\n if (this.placement === 'top') {\n this.leftValue = elementPositionn.left + elementPositionn.width;\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\n } else {\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\n }\n }\n if (this.placement === 'bottom') {\n this.leftValue = elementPositionn.left + elementPositionn.width;\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\n } else {\n this.topValue = elementPositionn.top + elementPositionn.height;\n }\n }\n if (this.placement === 'self-position') {\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\n this.topValue = elementPositionn.top - 15;\n }\n if (this.placement === 'top-center') {\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\n }\n if (this.placement === 'bottom-center') {\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\n this.topValue = elementPositionn.top + this.popoverService.popoverHeight;\n }\n this.popoverService.positionX = this.leftValue;\n this.popoverService.positionY = this.topValue;\n }, 10);\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { SnackBarService } from '../snack-bar/snack-bar.service';\n\n@Component({\n selector: 'floating-bar',\n templateUrl: './floating-bar.component.html',\n styleUrls: ['./floating-bar.component.less']\n})\nexport class FloatingBarComponent implements OnInit {\n @Output() cancelEvent = new EventEmitter<string>();\n @Output() submitEvent = new EventEmitter<string>();\n @Output() deleteEvent: EventEmitter<number> = new EventEmitter();\n @Input() text!: boolean;\n @Input() frequencyMessage: any;\n @Input() singleCategory: any;\n @Input() selectedData: any;\n\n constructor(private snackBar: SnackBarService\n ) {\n this.selectedData = [];\n }\n\n ngOnInit(): void {\n }\n cancelFloatingBar() {\n this.cancelEvent.emit();\n }\n submitFloatingBar() {\n if (this.selectedData.length < 1) {\n this.snackBar.show('Select a widget.','alert');\n return\n }\n this.submitEvent.emit(this.selectedData);\n }\n\n deleteSelected(index: number) {\n this.deleteEvent.emit(index);\n }\n\n}\n","<div class=\"lib-floating-bar-container\">\n <div class=\"lib-floating-bar vx-d-flex vx-align-center vx-justify-between vx-p-3\">\n <div class=\"left vx-d-flex vx-align-center\" *ngIf=\"text && !frequencyMessage && !singleCategory\">\n <span class=\"value\">This audit plan needs to be <strong>reviewed</strong> within 2 days after it has been completed.</span>\n </div>\n <div class=\"left vx-d-flex vx-align-center\" *ngIf=\"frequencyMessage && !text\">\n <span class=\"value\" [innerHTML]=\"frequencyMessage\"></span>\n </div>\n <div class=\"left vx-d-flex vx-align-center\" *ngIf=\"singleCategory && !frequencyMessage && !text\">\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2 vx-mr-2\">\n <span class=\"chipName vx-fs-11 vx-label-txt\" [arTooltip]=\"singleCategory\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{singleCategory}}</span>\n </div>\n </div>\n <div class=\"left vx-d-flex vx-align-center\" *ngIf=\"!singleCategory && !text && !frequencyMessage\">\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2 vx-mr-2\" *ngIf=\"selectedData.length\">\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\" (click)=\"deleteSelected(selectedData[0])\">&#xe9ae;</i>\n <span class=\"chipName vx-fs-11 vx-label-txt\" [arTooltip]=\"selectedData[0]?.title\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{selectedData[0]?.title}}</span>\n <button class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\" appPopover (click)=\"countPopup.popover()\" placement=\"left\" *ngIf=\"selectedData?.length > 1\">+{{selectedData?.length - 1}}</button>\n </div>\n \n <span class=\"vx-fs-12 vx-paragraph-txt\" *ngIf=\"(selectedData?.length - 1) === 1\">Widget Selected</span>\n <span class=\"vx-fs-12 vx-paragraph-txt\" *ngIf=\"(selectedData?.length - 1) > 1\">Widgets Selected</span>\n\n <app-popover #countPopup [dontCloseonClick]=\"true\">\n <div class=\"lib-floating-bar-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let data of selectedData | slice: 1; let j = index\">\n <div class=\"avatar-card\">\n <span class=\"value\" [arTooltip]=\"data?.title\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\"><i class=\"icons cross-icon vx-mr-2\" (click)=\"deleteSelected(data)\">&#xe90d;</i>{{data?.title}}</span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n <div class=\"right vx-d-flex vx-align-center\">\n <button class=\"cancel-btn\" (click)=\"cancelFloatingBar()\">Cancel</button>\n <!-- <button class=\"vx-bg-blue vx-txt-white vx-fw-500 vx-tt-uppercase\" (click)=\"submitFloatingBar()\">Update</button> -->\n <button class=\"save-btn\" (click)=\"submitFloatingBar()\">Save</button>\n </div>\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-cs-checkbox',\n templateUrl: './cs-checkbox.component.html',\n styleUrls: ['./cs-checkbox.component.less'],\n})\nexport class CsCheckboxComponent implements OnInit {\n @Input() disabled!: boolean;\n @Input() ngValue: any;\n @Input() value: any;\n @Output() ngValueChange = new EventEmitter<any>();\n constructor() {}\n\n ngOnInit(): void {}\n valueChanged() {\n this.ngValueChange.emit(this.ngValue);\n }\n}\n","<label class=\"checkbox-item\" [class.disabled]=\"disabled\">\n <input type=\"checkbox\" [name]=\"value\" [disabled]=\"disabled\" [(ngModel)]=\"ngValue\" (ngModelChange)=\"valueChanged()\" />\n <span class=\"checkbox\">\n <span class=\"inner\"></span>\n </span>\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\n <circle class=\"checkmark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path class=\"checkmark__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\n </svg>\n <span class=\"value\"><ng-content></ng-content></span>\n</label>\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-no-data',\n templateUrl: './no-data.component.html',\n styleUrls: ['./no-data.component.less'],\n})\nexport class NoDataComponent implements OnInit {\n @Input() action!: any;\n @Input() noDataImage!: string;\n @Input() noDataText = '';\n @Input() noDataButton!: string | boolean;\n @Input() noDataSecButton!: string | boolean;\n @Input() altText!: string;\n @Output() buttonAction = new EventEmitter<object>();\n @Input() smallButton!: boolean;\n @Input() buttonIcon!: any;\n @Input() iconClass!: any;\n constructor() { }\n\n ngOnInit(): void { }\n\n actionEmitter(button: object) {\n this.buttonAction.emit(button);\n }\n}\n","<div class=\"no-data-wrapper\">\n <div class=\"no-data-container\">\n <img [src]=\"noDataImage\" [alt]=\"altText\" class=\"image\" />\n <p class=\"text\" [innerHTML]=\"noDataText\" *ngIf=\"noDataText\"></p>\n <div class=\"button-row\" *ngFor=\"let button of action\">\n <button *ngIf=\"!button?.buttonIcon\" (click)=\"actionEmitter(button)\" [innerHTML]=\"button?.buttonText\"\n [class.small]=\"smallButton\"></button>\n <button *ngIf=\"button?.buttonIcon\" (click)=\"actionEmitter(button)\" [class.small]=\"smallButton\">\n <i class=\"icons\" [innerHTML]=\"button?.buttonIcon\"></i> <span\n [innerHTML]=\"button?.buttonText\"></span>\n </button>\n </div>\n </div>\n</div>","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'search'\n})\nexport class SearchPipe implements PipeTransform {\n\n transform(value: any, args?: any): any {\n if (!value) {\n return null;\n }\n if (!args) {\n return value;\n }\n\n args = args.toLowerCase();\n\n return value.filter((item: any) => {\n return JSON.stringify(item).toLowerCase().includes(args);\n });\n }\n\n}\n","import { ConfigureWidgetsService } from '../../services/configure-widgets.service';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n} from '@angular/core';\nimport { retry } from 'rxjs/operators';\nimport { widgetDataModel } from '../../interfaces/widget-data-model';\nimport { DialogRef } from '../../../ui-kit/dialog/dialog-ref';\nimport { widgetConfig } from './widget.interface';\nimport { SnackBarService } from '../../../ui-kit/snack-bar/snack-bar.service';\nimport { ASSETS } from '../../constants/assets.constant';\n\n@Component({\n selector: 'app-configure-widgets',\n templateUrl: './configure-widgets.component.html',\n styleUrls: ['./configure-widgets.component.less'],\n})\nexport class ConfigureWidgetsComponent implements OnInit, OnChanges {\n @Output() widgetsDataModified: EventEmitter<any> = new EventEmitter();\n @Output() closeConfigureWidgets: EventEmitter<any> = new EventEmitter();\n checkboxStatus!: any;\n search: string = '';\n checkedArray: Array<{ index: number; status: number }> = [];\n selectedWidgets: Array<widgetDataModel> = [];\n ASSETS = ASSETS;\n module: 'COMPLIANCE' | 'RISK' = 'COMPLIANCE';\n @Input() selectedWidgetsData: any = [];\n @Input() displayedWidgets: any = [];\n @Input() showRisk = false;\n @Input() showCompliance = false;\n @Input() mode = 'CREATE';\n noDataText =\n 'You have not configured any widgets. Click on the <strong>Configure Widgets</strong> button to begin.';\n\n selectedWidgetIds: any = [];\n subResponsibilitiesSelected: boolean = false;\n subKeyResponsibilitiesSelected: boolean = false;\n showWidgets = true;\n complianceWidgetsDisplayCount = 9;\n riskWidgetsDisplayCount = 9;\n\n constructor(\n private dialog: DialogRef,\n public configureWidgetsService: ConfigureWidgetsService,\n private snackBar: SnackBarService\n ) {}\n\n ngOnChanges() {\n if (this.mode == 'EDIT') {\n this.setWidgetsVisibilityToFalse();\n this.riskWidgetsDisplayCount = 0;\n this.complianceWidgetsDisplayCount = 0;\n const finalData = [...new Set(this.displayedWidgets)];\n finalData.forEach((element: any, index: any) => {\n // this.widgetsList.COMPLIANCE.forEach((ele: any) => {\n // if (ele.id == element.widget_code) {\n // ele.visibility = true;\n // if (ele.subWidgets.length > 0) {\n // const filterData: any = [];\n // element.sub_widgets.filter((subwidget: any) => {\n // filterData.push(subwidget.widget_code);\n // });\n // ele.subWidgets.forEach((subElement: any, subIndex: number) => {\n // if (filterData.includes(subElement.id)) {\n // ele.subWidgets[subIndex].visibility = true;\n // } else {\n // ele.subWidgets[subIndex].visibility = false;\n // }\n // });\n // }\n // this.complianceWidgetsDisplayCount++;\n // }\n // });\n this.widgetsList.RISK.forEach((ele: any) => {\n if (ele.id == element.widget_code) {\n ele.visibility = true;\n if (ele.subWidgets.length > 0) {\n const filterData: any = [];\n element.sub_widgets.filter((subwidget: any) => {\n filterData.push(subwidget.widget_code);\n });\n ele.subWidgets.forEach((subElement: any, subIndex: number) => {\n if (filterData.includes(subElement.id)) {\n ele.subWidgets[subIndex].visibility = true;\n } else {\n ele.subWidgets[subIndex].visibility = false;\n }\n });\n }\n this.riskWidgetsDisplayCount++;\n }\n });\n });\n }\n const data = [...new Set(this.selectedWidgetsData)];\n data.forEach((element: any, index: any) => {\n // this.widgetsList.COMPLIANCE.forEach((ele: any) => {\n // if (ele.id == element.widget_code && element.state == 'ACTIVE') {\n // ele.value = true;\n // if (ele.subWidgets.length > 0) {\n // const filterData: any = [];\n // element.sub_widgets.filter((subwidget: any) => {\n // if (subwidget.state == 'ACTIVE') {\n // filterData.push(subwidget.widget_code);\n // }\n // });\n // ele.subWidgets.forEach((subElement: any, subIndex: number) => {\n // if (filterData.includes(subElement.id)) {\n // ele.subWidgets[subIndex].value = true;\n // } else {\n // ele.subWidgets[subIndex].value = false;\n // }\n // });\n // }\n // this.selectedWidgets.push(ele);\n // }\n // });\n this.widgetsList.RISK.forEach((ele: any) => {\n if (ele.id == element.widget_code && element.state == 'ACTIVE') {\n ele.value = true;\n if (ele.subWidgets.length > 0) {\n const filterData: any = [];\n element.sub_widgets.filter((subwidget: any) => {\n if (subwidget.state == 'ACTIVE') {\n filterData.push(subwidget.widget_code);\n }\n });\n ele.subWidgets.forEach((subElement: any, subIndex: number) => {\n if (filterData.includes(subElement.id)) {\n ele.subWidgets[subIndex].value = true;\n } else {\n ele.subWidgets[subIndex].value = false;\n }\n });\n }\n this.selectedWidgets.push(ele);\n }\n });\n });\n this.module = this.showCompliance ? 'COMPLIANCE' : 'RISK';\n this.setSelectedWidgets();\n }\n\n ngOnInit(): void {}\n\n widgetsList = {\n // COMPLIANCE: [\n // {\n // title: 'Overview',\n // id: 'overview',\n // description:\n // 'Overview shows the performance of responsibilities and Programs.',\n // widgetImage: ASSETS.overviewWidget,\n // value: false,\n // visibility: true,\n // module: 'COMPLIANCE',\n // subWidgets: [],\n // },\n // {\n // title: 'Responsibility Calendar',\n // id: 'compliance_calendar_flag',\n // description:\n // 'The Responsibility Calendar shows the due dates of responsibilities in a calendar format. The responsibilities are color coded to reflect the status of the responsibilities.',\n // widgetImage: ASSETS.responsibilityCalenderWidget,\n // value: false,\n // visibility: true,\n // module: 'COMPLIANCE',\n // subWidgets: [],\n // },\n // {\n // title: 'Responsibility Center Overview',\n // id: 'responsibility_center_overview_flag',\n // description:\n // 'The Responsibility Center Overview shows the performance of responsibilities and Responsibility Centers.',\n // widgetImage: ASSETS.responsibilityCenterOverviewWidget,\n // value: false,\n // visibility: true,\n // module: 'COMPLIANCE',\n // subWidgets: [],\n // },\n // {\n // title: 'Responsibilities',\n // id: 'my_responsibilities',\n // description:\n // 'This widget shows the performance of the responsibilities that you are required to complete, the responsibilities that you are reviewing and the responsibilities that you are overseeing.',\n // widgetImage: ASSETS.myResponsibilitiesWidget,\n // tabOption: true,\n // value: false,\n // visibility: true,\n // module: 'COMPLIANCE',\n // subWidgets: [\n // {\n // title: 'My Responsibilities',\n // id: 'my_responsibility_flag',\n // value: false,\n // visibility: true,\n // },\n // {\n // title: 'I’m Reviewing',\n // id: 'reviewer_responsibility_flag',\n // value: false,\n // visibility: true,\n // },\n // {\n // title: 'I’m Overseeing',\n // id: 'cc_responsibility_flag',\n // value: false,\n // visibility: true,\n // },\n // ],\n // },\n // {\n // title: 'Key Responsibilities',\n // id: 'key_responsibilities',\n // description:\n // 'This widget shows the performance of key responsibilities that you are required to complete, that you are reviewing, that you are overseeing and that you have assigned to another person.',\n // widgetImage: ASSETS.keyResponsibilitiesWidget,\n // tabOption: true,\n // value: false,\n // visibility: true,\n // module: 'COMPLIANCE',\n // subWidgets: [\n // {\n // title: 'Overview',\n // id: 'key_responsibilities_overview_flag',\n // value: false,\n // visibility: true,\n // },\n // {\n // title: 'My Responsibilities',\n // id: 'key_my_responsibilities_flag',\n // value: false,\n // visibility: true,\n // },\n // {\n // title: 'I’m Reviewing',\n // id: 'key_i_am_reviewing_flag',\n // value: false,\n // visibility: true,\n // },\n // {\n // title: 'I’m Overseeing',\n // id: 'key_i_am_overseeing_flag',\n // value: false,\n // visibility: true,\n // },\n // ],\n // },\n // {\n // title: 'Trend Analysis',\n // id: 'trend_analysis_flag',\n // description:\n // 'The Trend Analysis is a graphical representation of the performance of responsibilities over a period.',\n // widgetImage: ASSETS.trendAnalysisWidget,\n // value: false,\n // visibility: true,\n // module: 'COMPLIANCE',\n // subWidgets: [],\n // },\n // {\n // title: 'Workroom Updates',\n // id: 'workroom_alert_flag',\n // description:\n // 'The Responsibility Workroom shows updates from the Responsibility Workrooms. A Responsibility Workroom exists for all responsibilities.',\n // widgetImage: ASSETS.workroomUpdatesWidget,\n // value: false,\n // visibility: true,\n // module: 'COMPLIANCE',\n // subWidgets: [],\n // },\n // {\n // title: 'Recent Activities',\n // id: 'recent_activity_flag',\n // description:\n // 'This is a chronological view of the recent updates of responsibilities.',\n // widgetImage: ASSETS.recentActivitiesWidget,\n // value: false,\n // visibility: true,\n // module: 'COMPLIANCE',\n // subWidgets: [],\n // },\n // {\n // title: 'Exception Summary',\n // id: 'exception_summary_flag',\n // description:\n // 'Exceptions Summary show the number of responsibilities that are either not accepted, not completed or deleted.',\n // widgetImage: ASSETS.exceptionSummaryWidget,\n // value: false,\n // visibility: true,\n // module: 'COMPLIANCE',\n // subWidgets: [],\n // },\n // ],\n RISK: [\n {\n title: 'Risk Overview',\n id: 'risk_overview',\n description:\n 'This widget shows the number and percentage of risks within each risk response strategy.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-overview.png',\n widgetImage: ASSETS.riskOverviewWidget,\n value: false,\n visibility: true,\n module: 'RISK',\n subWidgets: [],\n },\n {\n title: 'Risk Metrics',\n id: 'risk_metrics',\n description:\n 'This widget shows the number of risks within each risk appetite, the number of risks that exceed the risk appetite, the number of risks that exceed the risk tolerance, the number of risks within each risk rating, and the number of risks that do not have any linked controls.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/appetite-tolerance.png',\n widgetImage: ASSETS.appetiteToleranceWidget,\n value: false,\n visibility: true,\n module: 'RISK',\n subWidgets: [\n {\n title: 'Risk Appetite & Tolerance',\n id: 'risk_appetite_tolerance',\n value: false,\n visibility: true,\n },\n {\n title: 'Risk Ratings',\n id: 'risk_ratings',\n value: false,\n visibility: true,\n },\n {\n title: 'Risks Without Controls',\n id: 'risks_without_controls',\n value: false,\n visibility: true,\n },\n // {\n // title: 'Exceeds Risk Tolerance',\n // id: 'exceeds_risk_tolerance',\n // value: false,\n // visibility:true,\n // },\n ],\n },\n\n {\n title: 'Inherent Risk Rating by Responsibility Centers ',\n id: 'inherent_risk_rating_by_responsibility_centers',\n description:\n 'This widget shows the number of risks within each inherent risk rating, grouped according to the Responsibility Center exposed to the risk.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-RC.png',\n widgetImage: ASSETS.inherentRCWidget,\n value: false,\n visibility: true,\n module: 'RISK',\n subWidgets: [],\n },\n {\n title: 'Residual Risk Rating by Responsibility Centers ',\n id: 'residual_risk_rating_by_responsibility_centers',\n description:\n 'This widget shows the number of risks within each residual risk rating, grouped according to the Responsibility Center exposed to the risk.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-RC.png',\n widgetImage: ASSETS.residualRCWidget,\n value: false,\n visibility: true,\n module: 'RISK',\n subWidgets: [],\n },\n {\n title: 'Risk Category Overview',\n id: 'risk_category_overview',\n description:\n 'This widgets shows the number of risks within each status, grouped according to the Risk Category the risk is assigned to.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-category-overview.png',\n widgetImage: ASSETS.riskCategoryOverviewWidget,\n value: false,\n visibility: true,\n module: 'RISK',\n subWidgets: [],\n },\n {\n title: 'Risk Heatmap',\n id: 'risk_heatmap',\n description:\n 'The Risk Heatmap displays the risk matrix for any two risk factors.',\n widgetImage: ASSETS.riskHeatmapWidget,\n value: false,\n visibility: true,\n module: 'RISK',\n subWidgets: [],\n },\n {\n title: 'Inherent Risk Rating by Categories',\n id: 'inherent_risk_rating_by_categories',\n description:\n 'This widget shows the number of risks within each inherent risk rating, grouped according to the Risk Category that the risk is assigned to.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-categories.png',\n widgetImage: ASSETS.inherentCategoriesWidget,\n value: false,\n visibility: true,\n module: 'RISK',\n subWidgets: [],\n },\n\n {\n title: 'Residual Risk Rating by Categories',\n id: 'residual_risk_rating_by_categories',\n description:\n 'This widget shows the number of risks within each residual risk rating, grouped according to the Risk Category that the risk is assigned to.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-categories.png',\n widgetImage: ASSETS.residualCategoriesWidget,\n value: false,\n visibility: true,\n module: 'RISK',\n subWidgets: [],\n },\n // {\n // title: 'Inherent Risk Rating Trend by Responsibility Centers',\n // id: 'inherent_risk_rating_trend_by_responsibility_centers',\n // description: 'This widget is a graphical representation of the number of risks within each inherent risk rating, grouped according to the Responsibility Center exposed to the risk.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/inherent-trend.png',\n // value: false,\n // visibility:true,\n // module: 'RISK',\n // subWidgets: []\n // },\n // {\n // title: 'Residual Risk Rating Trend by Responsibility Centers',\n // id: 'residual_risk_rating_trend_by_responsibility_centers',\n // description: 'This widget is a graphical representation of the number of risks within each residual risk rating, grouped according to the Responsibility Center exposed to the risk.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/residual-trend.png',\n // value: false,\n // visibility:true,\n // module: 'RISK',\n // subWidgets: []\n // },\n // {\n // title: 'Risk Rating Trend by Categories',\n // id: 'risk_rating_trend_by_categories',\n // description: 'This widgets is a trend chart that shows the inherent and residual risk rating trend across the different Risk Categories.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/risk-trend.png',\n // value: false,\n // visibility:true,\n // module: 'RISK',\n // subWidgets: []\n // },\n {\n title: 'Top 10 Risk Ratings',\n id: 'top_10_residual_risk_ratings',\n description:\n 'This widgets shows ths top five risks with the highest risk rating.',\n // widgetImage: 'https://cdn.v-comply.com/libraries/configure-widget/assets/images/5-risk-ratings.png',\n widgetImage: ASSETS.tenRiskRatingsWidget,\n value: false,\n visibility: true,\n module: 'RISK',\n subWidgets: [],\n },\n ],\n };\n\n selectWidget(\n event: any,\n //module: 'COMPLIANCE' | 'RISK',\n module: 'RISK',\n widgetId: string,\n subWidgetId?: string\n ) {\n const widgetIndex = this.widgetsList[module].findIndex(\n (ele: any) => ele.id == widgetId\n );\n const isSubWidgetAddable = this.selectedWidgets.findIndex(\n (widget: any) => widget.id === widgetId\n );\n if (event) {\n if (\n this.selectedWidgets.length >= 10 &&\n !(subWidgetId && isSubWidgetAddable >= 0)\n ) {\n this.snackBar.show('You cannot add more than 10 widgets.', 'alert');\n this.showWidgets = false;\n setTimeout(() => {\n this.widgetsList[module][widgetIndex].value = false;\n this.showWidgets = true;\n }, 10);\n return;\n }\n this.widgetsList[module][widgetIndex].value = true;\n if (this.widgetsList[module][widgetIndex].subWidgets.length > 0) {\n if (!subWidgetId) {\n this.widgetsList[module][widgetIndex].subWidgets.forEach(\n (ele) => (ele.value = true)\n );\n } else {\n const subWidgetIndex = this.widgetsList[module][\n widgetIndex\n ].subWidgets.findIndex((ele: any) => ele.id == subWidgetId);\n this.widgetsList[module][widgetIndex].subWidgets[\n subWidgetIndex\n ].value = true;\n }\n }\n } else {\n if (this.widgetsList[module][widgetIndex].subWidgets.length > 0) {\n if (!subWidgetId) {\n this.widgetsList[module][widgetIndex].value = false;\n this.widgetsList[module][widgetIndex].subWidgets.forEach(\n (ele: any) => (ele.value = false)\n );\n } else {\n const subWidgetIndex = this.widgetsList[module][\n widgetIndex\n ].subWidgets.findIndex((ele: any) => ele.id == subWidgetId);\n this.widgetsList[module][widgetIndex].subWidgets[\n subWidgetIndex\n ].value = false;\n\n const isAllWidgetsRemoved = this.widgetsList[module][\n widgetIndex\n ].subWidgets.every((ele: any) => ele.value == false);\n if (isAllWidgetsRemoved) {\n this.widgetsList[module][widgetIndex].value = false;\n }\n }\n } else {\n this.widgetsList[module][widgetIndex].value = false;\n }\n }\n this.setSelectedWidgets();\n }\n setSelectedWidgets() {\n this.selectedWidgets = [];\n // this.widgetsList.COMPLIANCE.forEach((ele: any) => {\n // if (ele.value) {\n // this.selectedWidgets.push(ele);\n // }\n // });\n this.widgetsList.RISK.forEach((ele: any) => {\n if (ele.value) {\n this.selectedWidgets.push(ele);\n }\n });\n }\n\n removeWidget(widget: widgetConfig) {\n const widgetIndex = this.widgetsList[widget.module].findIndex(\n (ele: any) => ele.id == widget.id\n );\n this.widgetsList[widget.module][widgetIndex].value = false;\n if (this.widgetsList[widget.module][widgetIndex].subWidgets.length > 0) {\n this.widgetsList[widget.module][widgetIndex].subWidgets.forEach(\n (ele: any) => (ele.value = false)\n );\n }\n this.setSelectedWidgets();\n }\n\n onNextClick() {\n this.widgetsDataModified.emit(this.selectedWidgets);\n }\n\n closeConfigureDashboard() {\n this.selectedWidgets = [];\n this.dialog.close();\n this.closeConfigureWidgets.emit(false);\n }\n\n setWidgetsVisibilityToFalse() {\n // this.widgetsList.COMPLIANCE.forEach((ele: any) => {\n // ele.visibility = false;\n // if (ele.subWidgets.length > 0) {\n // ele.subWidgets.forEach((subElement: any) => {\n // subElement.visibility = false;\n // });\n // }\n // });\n this.widgetsList.RISK.forEach((ele: any) => {\n ele.visibility = false;\n if (ele.subWidgets.length > 0) {\n ele.subWidgets.forEach((subElement: any) => {\n subElement.visibility = false;\n });\n }\n });\n }\n}\n","<div class=\"configure-widgets vx-d-block\" *ngIf=\"showWidgets\">\n <div\n class=\"configure-widgets-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"configure-widgets-title vx-fs-14 vx-fw-500 vx-label-txt\">\n Configure Widgets\n </div>\n <button\n class=\"configure-widgets-back vx-fs-14 vx-fw-500 vx-label-txt vx-m-0 vx-p-0 vx-d-inline-flex vx-align-center\"\n (click)=\"closeConfigureDashboard()\"\n >\n <i class=\"icons vx-fs-16\">&#xe91d;</i> Back\n </button>\n </div>\n <div class=\"configure-widgets-body\">\n <div class=\"configure-widgets-tab\">\n <ul>\n <li\n [class.active]=\"module === 'COMPLIANCE'\"\n *ngIf=\"showCompliance\"\n (click)=\"module = 'COMPLIANCE'\"\n >\n <!-- <button>\n Compliance<span>{{ complianceWidgetsDisplayCount }}</span>\n </button> -->\n </li>\n <li [class.active]=\"module === 'RISK'\" *ngIf=\"showRisk\">\n <button (click)=\"module = 'RISK'\">\n Risks<span>{{ riskWidgetsDisplayCount }}</span>\n </button>\n </li>\n </ul>\n </div>\n <div class=\"configure-widgets-search vx-mb-2\">\n <i class=\"icons\">&#xe90b;</i>\n <input type=\"text\" placeholder=\"Search widgets\" [(ngModel)]=\"search\" />\n </div>\n <div\n class=\"configure-widgets-list vx-d-flex vx-flex-wrap\"\n *ngIf=\"(widgetsList[module] | search : search).length !== 0\"\n >\n <ng-container\n *ngFor=\"let widget of widgetsList[module] | search : search\"\n >\n <div class=\"configure-widgets-item\" *ngIf=\"widget?.visibility\">\n <label class=\"block\">\n <input\n type=\"checkbox\"\n [checked]=\"widget.value\"\n (change)=\"selectWidget($event.target.checked, module, widget.id)\"\n />\n <div class=\"check-icon\">\n <svg\n class=\"check\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"check-circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"check-circle\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"configure-widgets-item-head\">\n <h4\n class=\"configure-widgets-item-title\"\n [innerHTML]=\"widget?.title\"\n ></h4>\n <p\n class=\"configure-widgets-item-description\"\n [innerHTML]=\"widget?.description\"\n ></p>\n <button\n *ngIf=\"!widget.value\"\n class=\"configure-widgets-item-button add\"\n (click)=\"selectWidget(true, module, widget.id)\"\n >\n + ADD\n </button>\n <button\n *ngIf=\"widget.value\"\n class=\"configure-widgets-item-button remove\"\n (click)=\"selectWidget(false, module, widget.id)\"\n >\n - Remove\n </button>\n </div>\n <div class=\"configure-widgets-item-body\">\n <div class=\"image-wrapper\">\n <img\n [ngSrc]=\"widget?.widgetImage\"\n alt=\"\"\n width=\"790\"\n height=\"613\"\n />\n </div>\n <div\n class=\"floating-option vx-d-flex\"\n *ngIf=\"widget?.subWidgets?.length > 0\"\n >\n <ng-container *ngFor=\"let subWidget of widget.subWidgets\">\n <app-cs-checkbox\n *ngIf=\"subWidget.visibility\"\n (ngValueChange)=\"\n selectWidget($event, module, widget.id, subWidget.id)\n \"\n [ngValue]=\"subWidget.value\"\n >{{ subWidget.title }}\n </app-cs-checkbox>\n </ng-container>\n </div>\n </div>\n </label>\n </div>\n </ng-container>\n\n <!-- No Data Image -->\n </div>\n <app-no-data\n *ngIf=\"(widgetsList[module] | search : search).length === 0\"\n [noDataImage]=\"ASSETS.configure_widget\"\n [noDataText]=\"'No data to display'\"\n >\n </app-no-data>\n\n <floating-bar\n (submitEvent)=\"onNextClick()\"\n (cancelEvent)=\"closeConfigureDashboard()\"\n [selectedData]=\"selectedWidgets\"\n (deleteEvent)=\"removeWidget($event)\"\n ></floating-bar>\n </div>\n</div>\n","import { Component, OnInit, Optional } from '@angular/core';\nimport { Configurations } from '../../../configurations';\n\n@Component({\n selector: 'app-loader-inline',\n templateUrl: './loader-inline.component.html',\n styleUrls: ['./loader-inline.component.less'],\n})\nexport class LoaderInlineComponent implements OnInit {\n vLoader: any;\n \n public env!: any;\n\n constructor(@Optional() config?: Configurations) {\n if (config) {\n this.env = config.envConfig;\n }\n this.vLoader = this.env.vLoader;\n }\n\n ngOnInit(): void {}\n}\n","<div class=\"inline-loader\">\n <img [ngSrc]=\"vLoader\" alt=\"\" width=\"45\" height=\"45\" />\n <div class=\"loader-index\">\n <div class=\"loader-index-circle\"></div>\n </div>\n</div>\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs/internal/Subscription';\nimport { SnackBarService } from '../snack-bar.service';\n\n@Component({\n selector: 'app-snack-bar',\n templateUrl: './snack-bar.component.html',\n styleUrls: ['./snack-bar.component.less'],\n})\nexport class SnackBarComponent implements OnInit {\n show = false;\n message: string = '--';\n icon: string = '&#xe914;';\n type='alert'\n icons:any = {\n success:'&#xe93d;',\n warning:'&#xe914;',\n info:'&#xe932;',\n alert:'&#xe914;',\n error:'&#xeaae;'\n }\n constructor(private snackbarService: SnackBarService) {}\n\n ngOnInit(): void {\n this.snackbarService.snackbarSubject.subscribe((state) => {\n if(state.icon && Object.keys(this.icons).includes(state?.icon)){\n this.icon = this.icons[state.icon];\n this.type = state?.icon;\n }\n this.message = state.message;\n this.show = state.show;\n setTimeout(() => {\n this.show = false;\n }, 3000);\n });\n }\n close() {\n this.show = false;\n }\n ngOnDestroy() {\n }\n}\n","<div class=\"snackbar\" *ngIf=\"show\">\n <div class=\"snackbar-inner\">\n <div class=\"snackbarText\">\n <!-- &#xe914; -->\n <i class=\"icons\" [class]=\"type\" [innerHTML]=\"icon\"></i> \n <span [innerHTML]=\"message\">{{ message }}</span>\n </div>\n <button (click)=\"close()\">[ <span>Close</span> ]</button>\n </div>\n</div>\n","import { AfterViewInit, Directive, ElementRef, Input, OnInit, OnChanges, SimpleChanges } from '@angular/core';\n\n@Directive({\n selector: '[appScrollInView]'\n})\nexport class ScrollInViewDirective implements OnChanges {\n@Input() appScrollInView = false;\n constructor(private el: ElementRef) {\n }\nngOnChanges(change:SimpleChanges){\n if(change?.appScrollInView && change?.appScrollInView?.currentValue === true){\n this.scroll();\n }\n}\n ngAfterViewInit() {\n // Otherwise Angular throws error: Expression has changed after it was checked.\n this.scroll();\n }\n\n scroll(){\n if(this.appScrollInView){\n window.setTimeout(() => {\n this.el.nativeElement.scrollIntoView({behavior: 'smooth', block: 'center'});\n });\n }\n }\n\n}\n","import { Component, Input, OnInit, EventEmitter, Output, HostListener } from '@angular/core';\n\n@Component({\n selector: 'app-smiley-dialog',\n templateUrl: './smiley-dialog.component.html',\n styleUrls: ['./smiley-dialog.component.less'],\n})\nexport class SmileyDialogComponent implements OnInit {\n @Input() message!: string;\n @Input() autoClose!: boolean;\n @Input() actionButtons!: any[];\n @Output() action: EventEmitter<string> = new EventEmitter();\n @Output() closeSmiley: EventEmitter<any> = new EventEmitter();\n\n @HostListener('window:keyup', ['$event']) handleKeyboardEvent(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.smileyCloseEmitter({});\n }\n }\n constructor() {}\n\n ngOnInit(): void {\n if (this.autoClose) {\n setTimeout(() => {\n this.close();\n }, 8000);\n }\n }\n close() {\n this.closeSmiley.emit();\n }\n\n actionEmitter(event: any) {\n this.action.emit(event?.id);\n }\n\n smileyCloseEmitter(event: any) {\n this.closeSmiley.emit();\n }\n}\n","<!-- active -->\n<div class=\"smiley-popup active\">\n <button class=\"close\" (click)=\"smileyCloseEmitter($event)\">\n <i class=\"icons\">&#xe93f;</i>\n </button>\n <div class=\"smiley-container\">\n <div class=\"smiley\">\n <!-- active deactive -->\n <div class=\"smiley-circle active\">\n <div class=\"smiley-circle-inner\">\n <div class=\"eyes\">\n <div class=\"eye\"></div>\n <div class=\"eye\"></div>\n </div>\n <div class=\"mouth\"></div>\n </div>\n </div>\n </div>\n <h3>{{ message }}</h3>\n <div class=\"successSmilyButton\">\n <button *ngFor=\"let button of actionButtons\" (click)=\"actionEmitter(button)\" [class]=\"button?.class\">\n {{ button?.buttonText }}\n </button>\n </div>\n <!-- <div class=\"successSmilyButton\"> -->\n <!-- <button>White Button</button>\n <button class=\"blue-btn\">Blue Button</button> -->\n <!-- </div> -->\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DashboardFooterConfig } from '../dashboard-footer-config';\n\n@Component({\n selector: 'app-dashboard-footer',\n templateUrl: './dashboard-footer.component.html',\n styleUrls: ['./dashboard-footer.component.less']\n})\nexport class DashboardFooterComponent implements OnInit {\n @Output() cancelEvent = new EventEmitter();\n @Output() submitEvent = new EventEmitter();\n @Output() deleteEvent = new EventEmitter();\n @Input() footerDetails:DashboardFooterConfig={\n selectedData : [],\n nonRemovableList:[],\n displayElementKey: '',\n elementId: '',\n singularText: '',\n pluralText:'',\n showFrequency:false,\n frequencyText:'',\n isDisabled :false\n\n };\n\n @Input() userButtonColor = '';\n\n constructor() { }\n\n ngOnInit(): void {\n }\n cancelFloatingBar() {\n this.cancelEvent.emit();\n }\n submitFloatingBar() {\n this.submitEvent.emit(this.footerDetails.selectedData);\n }\n\n deleteSelected(element: any) {\n this.deleteEvent.emit(element);\n }\n\n\n}\n","<div class=\"dashboard-floating-bar-container\">\n <div class=\"dashboard-floating-bar vx-d-flex vx-align-center\" [class.vx-justify-end]=\"!(footerDetails.showFrequency || footerDetails.selectedData.length>0)\" [class.vx-justify-between]=\"footerDetails.showFrequency || footerDetails.selectedData.length>0\">\n <div class=\"left vx-d-flex vx-align-center\" *ngIf=\"footerDetails.showFrequency\">\n <span class=\"value\" [innerHTML]=\"footerDetails.frequencyText\"></span>\n </div>\n\n <div class=\"left vx-d-flex vx-align-center\" *ngIf=\"footerDetails.selectedData.length>0\">\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\">\n <i class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\" *ngIf=\"!footerDetails.nonRemovableList.includes(footerDetails.selectedData[0][footerDetails.elementId])\" (click)=\"deleteSelected(footerDetails.selectedData[0])\">&#xe9ae;</i>\n <span class=\"chipName vx-fs-11 vx-label-txt\" [arTooltip]=\"footerDetails.selectedData[0][footerDetails.displayElementKey]\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{footerDetails.selectedData[0][footerDetails.displayElementKey]}}</span>\n <button *ngIf=\"footerDetails.selectedData.length > 1\" class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\" [ngClass]=\"userButtonColor\" appPopover (click)=\"countPopup.popover()\" placement=\"left\">+{{footerDetails.selectedData.length - 1}}</button>\n </div>\n <ng-container *ngIf=\"footerDetails?.selectedData?.length>1\">\n <span class=\"value vx-ml-2\" *ngIf=\"footerDetails?.selectedData?.slice(1).length === 1\">{{footerDetails.singularText}}</span>\n <span class=\"value vx-ml-2\" *ngIf=\"footerDetails?.selectedData?.slice(1).length > 1\">{{footerDetails.pluralText}}</span>\n </ng-container>\n <app-popover #countPopup [dontCloseonClick]=\"true\">\n <div class=\"dashboard-floating-bar-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let element of footerDetails.selectedData.slice(1); let j = index\">\n <div class=\"avatar-card\">\n <span class=\"value\" [arTooltip]=\"element[footerDetails.displayElementKey]\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">\n <i class=\"icons cross-icon\" *ngIf=\"!footerDetails.nonRemovableList.includes(element[footerDetails.elementId])\" (click)=\"deleteSelected(element)\">&#xe90d;</i> {{element[footerDetails.displayElementKey]}}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n <div class=\"right vx-d-flex vx-align-center\">\n <button class=\"cancel vx-bg-white vx-txt-red vx-fw-500 vx-tt-uppercase\" (click)=\"cancelFloatingBar()\">Cancel</button>\n <!-- <button class=\"vx-bg-blue vx-txt-white vx-fw-500 vx-tt-uppercase\" (click)=\"submitFloatingBar()\">Update</button> -->\n <button [class.disabled]=\"footerDetails.isDisabled\" class=\"vx-bg-blue vx-txt-white vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-center\" (click)=\"submitFloatingBar()\">Next <i class=\"icons vx-ml-1\">&#xe91e;</i></button>\n </div>\n </div>\n</div>","import { Component, OnInit, OnChanges, Input, Output, EventEmitter } from '@angular/core';\nimport { PaginationService } from '../../create-dashboard-container/services/pagination.service';\n\n@Component({\n selector: 'app-pagination',\n templateUrl: './pagination.component.html',\n styleUrls: ['./pagination.component.less']\n})\n/**\n * Adds place holder for Pagination on the lists\n */\nexport class PaginationComponent implements OnInit, OnChanges {\n start = 1;\n totalCount!: number;\n paginationArray: any[] = [];\n currentPage!: number;\n @Input() totalPages = 1;\n @Input() limit = 1;\n @Input() totalList = 1;\n @Output() paginationFilter = new EventEmitter();\n\n constructor(private paginationService: PaginationService) {\n }\n ngOnChanges() {\n this.currentPage = Number(this.paginationService.currentPage);\n this.start = Number(this.paginationService.currentPage);\n this.rebuildPagination(this.currentPage, this.totalPages);\n }\n\n ngOnInit() {\n this.currentPage = Number(this.paginationService.currentPage);\n this.start = Number(this.paginationService.currentPage);\n this.rebuildPagination(this.currentPage, this.totalPages);\n this.paginationService.currentValues.subscribe(event => {\n if (event && (this.paginationService.currentPage !== this.currentPage)) {\n this.currentPage = this.paginationService.currentPage;\n }\n });\n }\n\n /* In this function we will recreate the pagination structure as per current page and\n total number of pages */\n\n rebuildPagination(currentPage: number, totalCount: number) {\n this.paginationArray = [];\n this.totalCount = totalCount;\n this.currentPage = currentPage;\n if (this.paginationService.currentPage !== this.currentPage) {\n this.paginationService.currentPage = this.currentPage;\n this.paginationFilter.emit(true);\n }\n\n // If there are only 6 pages or less in total, just display all pages without \"...\"\n if (totalCount <= 6) {\n for (let i = 1; i <= totalCount; i++) {\n this.paginationArray.push(i);\n }\n }\n // ELSE display with ...\n else {\n\n // Always print first page button\n this.paginationArray.push(1);\n\n // Print \"...\" if currentPage is > 3\n if (currentPage > 3) {\n // this.paginationArray.push(2);\n this.paginationArray.push('...');\n\n }\n // special case where last page is selected...\n // Without this special case, only 2 buttons would be shown after ... if you were on last page\n if (currentPage === totalCount) {\n this.paginationArray.push(currentPage - 2);\n }\n\n // Print previous number button if currentPage > 2\n if (currentPage > 2) {\n this.paginationArray.push(currentPage - 1);\n }\n\n // Print current page number button as long as it not the first or last page\n if (currentPage !== 1 && currentPage !== totalCount) {\n this.paginationArray.push(currentPage);\n\n }\n\n // print next page number button if currentPage < lastPage - 1\n if (currentPage < totalCount - 1) {\n this.paginationArray.push(currentPage + 1);\n\n }\n\n // special case where first page is selected...\n // Without this special case, only 2 buttons would be shown before ... if you were on first page\n if (currentPage === 1) {\n this.paginationArray.push(currentPage + 2);\n\n }\n\n // print \"...\" if currentPage is < lastPage -2\n if (currentPage < totalCount - 2) {\n this.paginationArray.push('...');\n\n // HTML += \"...\";\n }\n\n // Always print last page button if there is more than 1 page\n if (totalCount > 1) {\n this.paginationArray.push(totalCount);\n\n }\n }\n\n }\n/* In this function we will set current page according to the action performed on browser\n ex: prev next buttons clicks or selecting a particular page */\n\n changePage(prev: string, page: number, next: string) {\n if (prev) {\n if (this.start > 1) {\n this.start--;\n // We have changed the start page, total rebuild the pagination\n this.rebuildPagination(this.start, this.totalCount);\n }\n }\n if (next) {\n if (this.start < this.totalCount) {\n this.start++;\n this.rebuildPagination(this.start, this.totalCount);\n }\n }\n if (page) {\n this.start = page;\n this.rebuildPagination(this.start, this.totalCount);\n }\n }\n}\n","<div class=\"pagination-box\">\n <ul>\n <li><button [class.disabled]=\"currentPage==1\" (click)=\"changePage('prev',0,'')\"><i class=\"icons vx-fs-10\">&#xe96b;</i></button></li>\n <li *ngFor=\"let page of paginationArray\">\n <button [disabled]=\"page=='...'\" [class.disable]=\"page=='...'\" [class.active]=\"currentPage==page\" (click)=\"changePage('',page,'')\">\n <i *ngIf=\"page=='...'\" class=\"icons\">&#xe911;</i>{{page!='...'?page : ''}}\n </button>\n </li>\n <li><button [class.disabled]=\"currentPage==totalCount\" (click)=\"changePage('',0,'next')\"><i class=\"icons vx-fs-10\">&#xe970;</i></button></li>\n </ul>\n</div>","import { HttpParams } from '@angular/common/http';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\nimport { CreateDashboardService } from '../services/create-dashboard.service';\nimport { PaginationService } from '../services/pagination.service';\nimport { UserListConfiguration } from './user-list.config';\nimport { ASSETS } from '../constants/assets.constant';\n\n@Component({\n selector: 'app-user-list',\n templateUrl: './user-list.component.html',\n styleUrls: ['./user-list.component.less'],\n})\nexport class UserListComponent implements OnInit {\n @Output() closeUserList = new EventEmitter();\n @Output() saveSelectedUsers = new EventEmitter();\n @Input() selectionType = '';\n @Input() listDetails: UserListConfiguration = {\n displayElementKey: '',\n displayGroupKey: '',\n groupIdkey: '',\n elementIdKey: '',\n tooltipKey: '',\n selectedUsersList: [],\n selectedGroupList: [],\n nonRemovableUsersList: [],\n };\n\n footerDetails: DashboardFooterConfig = {\n selectedData: [],\n nonRemovableList: [],\n displayElementKey: '',\n elementId: '',\n singularText: 'User selected',\n pluralText: 'Users selected',\n showFrequency: false,\n frequencyText: '',\n isDisabled: false,\n };\n vLoader = false;\n vLoaderGroups = false;\n ASSETS = ASSETS;\n\n @Input() totalPages = 1;\n @Input() limit = 1;\n @Input() totalList = 1;\n @Input() feature: any;\n @Input() totalgroupscount: any;\n searchList = [];\n searchValue = '';\n searchFilter = '';\n selectedIds: any[] = [];\n selectedList: any[] = [];\n groupdata: any[] = [];\n\n animation = true;\n totalgroups: any;\n total_group_pages: any;\n selectedGroupIds: any[] = [];\n groupsEnabled: any;\n selectedgroupList: any[] = [];\n currentPage = 1;\n constructor(\n public paginationService: PaginationService,\n private dashboardService: CreateDashboardService\n ) {\n this.paginationService.reset();\n this.getOrganizationUsersCount('');\n }\n\n ngOnChanges() {}\n\n ngOnInit(): void {\n this.groupsEnabled = true;\n this.animation = true;\n setTimeout(() => {\n this.animation = false;\n }, 300);\n if (this.listDetails.selectedUsersList.length > 0) {\n this.selectedList = [...new Set(this.listDetails.selectedUsersList)];\n const selectedData = [...new Set(this.listDetails.selectedUsersList)];\n this.footerDetails.selectedData = selectedData;\n this.footerDetails.nonRemovableList =\n this.listDetails.nonRemovableUsersList;\n this.selectedIds = selectedData.map((ele: any) => {\n if (ele[this.listDetails.elementIdKey]) {\n return ele[this.listDetails.elementIdKey];\n }\n });\n }\n this.getUsersList({\n // p: this.paginationService.currentPage === 1 ? '' : this.paginationService.currentPage,\n p: this.paginationService.currentPage ?? 1,\n type: '',\n });\n this.footerDetails.displayElementKey = this.listDetails.displayElementKey;\n this.footerDetails.elementId = this.listDetails.elementIdKey;\n if (this.groupsEnabled) {\n this.getGroupsList({});\n }\n if (this.listDetails.selectedGroupList.length > 0) {\n this.selectedgroupList = [...new Set(this.listDetails.selectedGroupList)];\n const selectedData = [...new Set(this.listDetails.selectedGroupList)];\n this.footerDetails.selectedData = selectedData;\n this.footerDetails.nonRemovableList =\n this.listDetails.nonRemovableUsersList;\n this.selectedGroupIds = selectedData.map((ele: any) => {\n if (ele[this.listDetails.groupIdkey]) {\n return ele[this.listDetails.groupIdkey];\n }\n });\n }\n }\n\n cancelChanges() {}\n removeElement(event: any) {}\n submitChanges() {}\n selectAll(event: any) {\n if (event) {\n this.searchList.forEach((searchElement) => {\n if (\n !this.selectedIds.includes(\n searchElement[this.listDetails.elementIdKey]\n )\n ) {\n this.selectedList.push(searchElement);\n this.selectedIds.push(searchElement[this.listDetails.elementIdKey]);\n this.footerDetails.selectedData = this.selectedList;\n }\n });\n } else {\n this.searchList.forEach((searchElement) => {\n if (\n !this.listDetails.nonRemovableUsersList.includes(\n searchElement[this.listDetails.elementIdKey]\n )\n ) {\n const index = this.selectedList.findIndex(\n (ele) =>\n ele[this.listDetails.elementIdKey] ===\n searchElement[this.listDetails.elementIdKey]\n );\n this.selectedList.splice(index, 1);\n const filteredList = [...this.selectedList];\n this.footerDetails.selectedData = this.selectedList;\n\n const idIndex = this.selectedIds.findIndex(\n (ele) => ele === searchElement[this.listDetails.elementIdKey]\n );\n this.selectedIds.splice(idIndex, 1);\n }\n });\n }\n }\n\n /**\n * Selects all admins and managers at once by making api call.\n * @param event consists boolean value to select of unselect.\n */\n selectAllUsers(event: any) {\n if (event) {\n this.vLoader = true;\n this.dashboardService.getAllUsers().subscribe((res: any) => {\n if (res.length > 1) {\n res.forEach((searchElement: any) => {\n if (\n !this.selectedIds.includes(\n searchElement[this.listDetails.elementIdKey]\n )\n ) {\n this.selectedList.push(searchElement);\n this.selectedIds.push(\n searchElement[this.listDetails.elementIdKey]\n );\n this.footerDetails.selectedData = this.selectedList;\n }\n });\n }\n this.vLoader = false;\n });\n } else {\n const selectedData = [...new Set(this.selectedList)];\n const index = selectedData.findIndex(\n (ele) =>\n ele[this.listDetails.elementIdKey] ===\n this.listDetails.nonRemovableUsersList[0]\n );\n if (index != -1) {\n const owner = Object.assign(selectedData[index]);\n\n this.selectedList = [];\n this.selectedIds = [];\n this.footerDetails.selectedData = [];\n\n this.selectedList.push(owner);\n this.selectedIds.push(owner.member_id);\n this.footerDetails.selectedData = this.selectedList;\n } else {\n this.selectedList = [];\n this.selectedIds = [];\n this.footerDetails.selectedData = [];\n }\n }\n }\n\n selectAllGroups(event: any) {\n let params = new HttpParams();\n params = params.append('fetch_all', 1);\n if (event) {\n this.vLoaderGroups = true;\n this.dashboardService.getAllGroups(params).subscribe((res: any) => {\n if (res.data.length > 1) {\n res.data.forEach((searchElement: any) => {\n if (\n !this.selectedGroupIds.includes(\n searchElement[this.listDetails.groupIdkey]\n )\n ) {\n this.selectedgroupList.push(searchElement);\n this.selectedGroupIds.push(\n searchElement[this.listDetails.groupIdkey]\n );\n this.footerDetails.selectedData = this.selectedgroupList;\n }\n });\n }\n this.vLoaderGroups = false;\n });\n } else {\n this.selectedgroupList = [];\n this.selectedGroupIds = [];\n this.footerDetails.selectedData = [];\n }\n }\n\n selectAllsearchgroups(event: any) {\n if (event) {\n this.groupdata.forEach((searchElement) => {\n if (\n !this.selectedGroupIds.includes(\n searchElement[this.listDetails.groupIdkey]\n )\n ) {\n this.selectedgroupList.push(searchElement);\n this.selectedGroupIds.push(\n searchElement[this.listDetails.groupIdkey]\n );\n this.footerDetails.selectedData = this.selectedgroupList;\n }\n });\n } else {\n this.selectedgroupList = [];\n this.selectedGroupIds = [];\n this.footerDetails.selectedData = [];\n }\n }\n\n /**\n * Selects checked item from the list.\n * In case of user's list calculates number of admins/manages to set visibility(either to all admins/ admins and managers)\n * @param data is the selected element\n */\n selectElement(data: any) {\n if (this.selectedIds.includes(data[this.listDetails.elementIdKey])) {\n if (\n !this.listDetails.nonRemovableUsersList.includes(\n data[this.listDetails.elementIdKey]\n )\n ) {\n const index = this.selectedList.findIndex(\n (ele) =>\n ele[this.listDetails.elementIdKey] ===\n data[this.listDetails.elementIdKey]\n );\n this.selectedList.splice(index, 1);\n this.footerDetails.selectedData = this.selectedList;\n\n const idIndex = this.selectedIds.findIndex(\n (ele) => ele === data[this.listDetails.elementIdKey]\n );\n\n this.selectedIds.splice(idIndex, 1);\n }\n } else {\n this.selectedList.push(data);\n this.selectedIds.push(data[this.listDetails.elementIdKey]);\n this.footerDetails.selectedData = this.selectedList;\n }\n }\n\n selectGroupElement(data: any) {\n if (this.selectedGroupIds.includes(data[this.listDetails.groupIdkey])) {\n const index = this.selectedgroupList.findIndex(\n (ele: { [x: string]: any }) =>\n ele[this.listDetails.groupIdkey] === data[this.listDetails.groupIdkey]\n );\n this.selectedgroupList.splice(index, 1);\n this.footerDetails.selectedData = this.selectedgroupList;\n const idIndex = this.selectedGroupIds.findIndex(\n (ele) => ele === data[this.listDetails.groupIdkey]\n );\n this.selectedGroupIds.splice(idIndex, 1);\n } else {\n this.selectedgroupList.push(data);\n this.selectedGroupIds.push(data[this.listDetails.groupIdkey]);\n this.footerDetails.selectedData = this.selectedgroupList;\n }\n }\n /**\n * It is used to set and search value incase of backend driven list to differentiate search list and original list\n */\n setSearchValue() {\n if (this.paginationService.searchValue !== this.searchValue) {\n this.paginationService.currentPage = 1;\n this.paginationService.searchValue = this.searchValue;\n this.paginationFilter(true);\n }\n }\n\n /**\n * it is used check select all condition incase of backend driven search\n */\n checkSelectAll() {\n if (this.searchList.length > 0) {\n const data: boolean = this.searchList.every((ele) =>\n this.selectedIds.includes(ele[this.listDetails.elementIdKey])\n );\n return data;\n } else {\n return false;\n }\n }\n\n /**\n * it is used check select all groups condition incase of backend driven search\n */\n checkSelectAllGroups() {\n if (this.groupdata.length > 0) {\n const data: boolean = this.groupdata.every((ele) =>\n this.selectedGroupIds.includes(ele[this.listDetails.groupIdkey])\n );\n return data;\n } else {\n return false;\n }\n }\n\n /**\n * Filter list user's list based on pagination by making api call\n * @param event specifies a boolean value to call api\n */\n paginationFilter(event: any) {\n if (!event) return;\n if (this.groupsEnabled) {\n this.vLoader = true;\n if (this.currentTab == 'USER') {\n this.getUsersList({\n // p: this.paginationService.currentPage === 1 ? '' : this.paginationService.currentPage,\n p: this.paginationService.currentPage ?? 1,\n type: '',\n q: !this.paginationService.searchValue\n ? ''\n : this.paginationService.searchValue,\n });\n this.getOrganizationUsersCount({\n p: this.paginationService.currentPage ?? 1,\n type: '',\n q: !this.paginationService.searchValue\n ? ''\n : this.paginationService.searchValue,\n });\n } else {\n this.getGroupsList({\n page:\n this.paginationService.currentPage === 1\n ? ''\n : this.paginationService.currentPage,\n groupName: !this.paginationService.searchValue\n ? ''\n : this.paginationService.searchValue,\n });\n }\n } else {\n this.vLoader = true;\n this.getUsersList({\n // p: this.paginationService.currentPage === 1 ? '' : this.paginationService.currentPage,\n p: this.paginationService.currentPage ?? 1,\n type: '',\n q: !this.paginationService.searchValue\n ? ''\n : this.paginationService.searchValue,\n });\n this.getOrganizationUsersCount({\n p: this.paginationService.currentPage ?? 1,\n type: '',\n q: !this.paginationService.searchValue\n ? ''\n : this.paginationService.searchValue,\n });\n }\n }\n /**\n * Gets user's list by making api call\n * @param url contains userlist filter details\n */\n getUsersList(url: any) {\n this.vLoader = true;\n\n this.dashboardService\n .getOrganizationUsers(url ? url : '')\n .subscribe((res) => {\n this.searchList = res;\n this.vLoader = false;\n });\n }\n getGroupsList(event: any) {\n this.vLoaderGroups = true;\n let params = new HttpParams();\n if (event.hasOwnProperty('groupName')) {\n params = params.append('groupName', event['groupName']);\n }\n if (event.hasOwnProperty('page') && !this.searchValue) {\n params = params.append('page', event['page']);\n }\n if (this.totalgroupscount > 30 && !this.searchValue) {\n params = params.append('limit', 30);\n }\n this.dashboardService.getAllGroups(params).subscribe((res: any) => {\n this.groupdata = res?.data;\n this.vLoaderGroups = false;\n this.totalgroups = res.total_items;\n this.total_group_pages = res.total_pages;\n });\n }\n\n /**\n * on click on next button from the list, it emits the selected list of elements to parent component.\n */\n onSubmit() {\n // const data = [...new Set(this.selectedList)];\n // data.push(this.selectedgroupList)\n this.saveSelectedUsers.emit({\n users: this.selectedList,\n groups: this.selectedgroupList,\n });\n this.paginationService.reset();\n }\n currentTab = 'USER';\n switchTab(tab: string) {\n this.paginationService.reset();\n this.getOrganizationUsersCount('');\n this.currentTab = tab;\n if (this.currentTab == 'USER') {\n this.searchValue = '';\n this.getUsersList({ p: this.paginationService.currentPage });\n } else {\n this.searchValue = '';\n this.getGroupsList({});\n }\n }\n\n getOrganizationUsersCount(Url: any) {\n this.dashboardService.getOrganizationUsersCount(Url).subscribe((res) => {\n this.totalList = res.total_members;\n if (res.total_members && res.limit_per_page > 1) {\n this.totalPages = res.create_page;\n } else {\n this.totalPages = 1;\n }\n });\n }\n}\n","<div class=\"user-list\" [class.animate-slideInRight]=\"animation\">\n <div\n class=\"user-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\n Who can view this dashboard?\n </div>\n </div>\n <div class=\"user-list-body\">\n <div\n class=\"user-list-tab vx-d-flex vx-align-center vx-mb-2\"\n *ngIf=\"groupsEnabled\"\n >\n <button\n (click)=\"switchTab('USER')\"\n class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\n [class.active]=\"currentTab === 'USER'\"\n >\n USERS\n <span\n class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\"\n >{{ totalList }}</span\n >\n </button>\n <button\n id=\"switchtab\"\n (click)=\"switchTab('GROUP')\"\n class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\n [class.active]=\"currentTab === 'GROUP'\"\n >\n USER GROUPS\n <span\n id=\"groupscount\"\n class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\"\n >{{ totalgroups }}</span\n >\n </button>\n </div>\n\n <div class=\"user-list-search vx-mb-2\">\n <i class=\"icons\">&#xe90b;</i>\n <input\n type=\"text\"\n [(ngModel)]=\"searchValue\"\n placeholder=\"{{\n currentTab === 'USER' ? 'Search User(s)' : 'Search User Group(s)'\n }} who can view this dashboard\"\n (keyup.enter)=\"setSearchValue()\"\n (focusout)=\"setSearchValue()\"\n />\n </div>\n\n <ng-container *ngIf=\"currentTab === 'USER'\">\n <div\n class=\"vx-d-flex vx-align-center vx-justify-end\"\n *ngIf=\"totalPages > 1\"\n >\n <div\n class=\"pagination-box\"\n *ngIf=\"totalPages > 1 && searchList.length > 1\"\n >\n <app-pagination\n (paginationFilter)=\"paginationFilter($event)\"\n [limit]=\"limit\"\n [totalPages]=\"totalPages\"\n [totalList]=\"totalList\"\n ></app-pagination>\n </div>\n </div>\n <div class=\"user-list-body-top\" *ngIf=\"searchList.length !== 0\">\n <app-cs-checkbox\n *ngIf=\"!searchValue && searchList.length > 1\"\n [ngValue]=\"selectedList.length == totalList\"\n (ngValueChange)=\"selectAllUsers($event)\"\n >\n <strong>{{\n selectedList.length == totalList ? \"Deselect All\" : \"Select All\"\n }}</strong>\n </app-cs-checkbox>\n <app-cs-checkbox\n *ngIf=\"searchValue && searchList.length > 1\"\n [ngValue]=\"checkSelectAll()\"\n (ngValueChange)=\"selectAll($event)\"\n >\n <strong>{{\n selectedList.length == totalList ? \"Deselect All\" : \"Select All\"\n }}</strong>\n </app-cs-checkbox>\n </div>\n <div class=\"list-of-user\">\n <div\n class=\"selection-list vx-mb-4\"\n [class.with-group]=\"groupsEnabled\"\n [class.with-noData]=\"searchList.length == 0\"\n [class.with-pagination]=\"totalPages > 1 && searchList.length > 1\"\n >\n <ul *ngIf=\"searchList.length !== 0\">\n <li *ngFor=\"let data of searchList; let i = index\">\n <app-cs-checkbox\n [disabled]=\"\n listDetails.nonRemovableUsersList.includes(\n data[listDetails.elementIdKey]\n )\n \"\n [ngValue]=\"\n selectedList.length > 0 &&\n selectedIds.includes(data[listDetails.elementIdKey])\n \"\n (ngValueChange)=\"selectElement(data)\"\n [arTooltip]=\"data[listDetails.tooltipKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >{{ data[listDetails.displayElementKey] }}</app-cs-checkbox\n >\n </li>\n </ul>\n\n <app-no-data\n *ngIf=\"!vLoader && searchList.length == 0\"\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"'No data to display'\"\n ></app-no-data>\n </div>\n\n <app-loader-inline *ngIf=\"vLoader\"></app-loader-inline>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"currentTab === 'GROUP' && groupsEnabled\">\n <ng-container *ngIf=\"groupdata as groups\">\n <div class=\"vx-d-flex vx-align-center vx-justify-end\" *ngIf=\"true\">\n <div class=\"pagination-box\" *ngIf=\"total_group_pages > 1\">\n <app-pagination\n (paginationFilter)=\"paginationFilter($event)\"\n [limit]=\"limit\"\n [totalPages]=\"total_group_pages\"\n [totalList]=\"totalgroups\"\n ></app-pagination>\n </div>\n </div>\n <ng-container *ngIf=\"true\">\n <div\n class=\"user-list-mid vx-mb-4\"\n [class.with-pagination]=\"total_group_pages > 1\"\n >\n <ng-container *ngIf=\"groups?.length > 0\">\n <div class=\"user-list-select vx-mb-4\">\n <app-cs-checkbox\n [disabled]=\"false\"\n *ngIf=\"!searchValue && groups.length > 1\"\n [ngValue]=\"selectedgroupList.length == totalgroups\"\n (ngValueChange)=\"selectAllGroups($event)\"\n >\n <div\n class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\"\n >\n {{\n selectedgroupList.length == totalgroups\n ? \"Deselect All\"\n : \"Select All\"\n }}\n </div>\n </app-cs-checkbox>\n <app-cs-checkbox\n [disabled]=\"false\"\n *ngIf=\"searchValue && groups.length > 1\"\n [ngValue]=\"checkSelectAllGroups()\"\n (ngValueChange)=\"selectAllsearchgroups($event)\"\n >\n <div\n class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\"\n >\n {{\n selectedgroupList.length == totalgroups\n ? \"Deselect All\"\n : \"Select All\"\n }}\n </div>\n </app-cs-checkbox>\n </div>\n <div class=\"user-list-item\">\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\n <li\n class=\"vx-mb-4\"\n *ngFor=\"let data of groups; let i = index\"\n >\n <app-cs-checkbox\n (ngValueChange)=\"selectGroupElement(data)\"\n [disabled]=\"false\"\n [ngValue]=\"\n selectedgroupList.length > 0 &&\n selectedGroupIds.includes(data[listDetails.groupIdkey])\n \"\n >\n <div class=\"user-name vx-d-flex vx-align-center\">\n <div\n class=\"group-name\"\n [arTooltip]=\"data[listDetails.displayGroupKey]\"\n placement=\"bottom-left\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >\n {{ data[listDetails.displayGroupKey] }}\n </div>\n <span\n id=\"usersofgroup\"\n class=\"counter vx-fs-9 vx-fw-600 vx-pl-1 vx-pr-1 vx-lh-3 vx-tt-uppercase vx-ml-2\"\n >{{ data[\"associatedUsers\"].length }}\n {{\n data[\"associatedUsers\"].length > 1\n ? \"USERS\"\n : \"USER\"\n }}</span\n >\n </div>\n </app-cs-checkbox>\n </li>\n </ul>\n </div>\n </ng-container>\n <ng-container *ngIf=\"groups?.length == 0 && !vLoaderGroups\">\n <app-no-data\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"\n (searchValue?.length > 0\n ? 'No match found.'\n : 'No data to display.'\n )\n \"\n ></app-no-data>\n </ng-container>\n <app-loader-inline *ngIf=\"vLoaderGroups\"></app-loader-inline>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <div class=\"user-floating-bar\" *ngIf=\"groupsEnabled\">\n <div\n class=\"user-floating-bar-container vx-d-flex vx-align-center vx-justify-between\"\n >\n <div class=\"left vx-d-flex vx-align-center\">\n <button\n class=\"counter vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 vx-m-0 vx-pl-1 vx-pr-1\"\n *ngIf=\"selectedList?.length\"\n appPopover\n (click)=\"userCount.popover()\"\n placement=\"left\"\n >\n {{ selectedList?.length }}\n </button>\n <div class=\"name vx-fs-12 vx-paragraph-txt vx-ml-2\">\n <span *ngIf=\"selectedList?.length === 1\"\n >User\n {{ selectedgroupList?.length > 0 ? \" & \" : \"selected\" }}</span\n >\n <span *ngIf=\"selectedList?.length > 1\"\n >Users\n {{ selectedgroupList?.length > 0 ? \" & \" : \"are selected\" }}</span\n >\n </div>\n <button\n class=\"counter group vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 vx-ml-2 vx-pl-1 vx-pr-1\"\n *ngIf=\"selectedgroupList?.length\"\n appPopover\n (click)=\"groupCount.popover()\"\n placement=\"left\"\n >\n {{ selectedgroupList?.length }}\n </button>\n <div class=\"name vx-fs-12 vx-paragraph-txt vx-ml-2\">\n <span *ngIf=\"selectedgroupList?.length === 1\"\n >User Group selected</span\n >\n <span *ngIf=\"selectedgroupList?.length > 1\"\n >User Groups selected</span\n >\n </div>\n\n <app-popover #userCount [dontCloseonClick]=\"true\">\n <div class=\"action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let element of selectedList\">\n <div class=\"avatar-card\">\n <span\n class=\"value\"\n [arTooltip]=\"element.member_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n <i\n class=\"icons cross-icon\"\n (click)=\"selectElement(element)\"\n *ngIf=\"\n !listDetails.nonRemovableUsersList.includes(\n element?.member_id\n )\n \"\n >&#xe90d;</i\n >\n {{ element.member_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n\n <app-popover #groupCount [dontCloseonClick]=\"true\">\n <div class=\"action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let element of selectedgroupList\">\n <div class=\"avatar-card\">\n <span\n class=\"value\"\n [arTooltip]=\"element?.group_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n <i\n class=\"icons cross-icon\"\n (click)=\"selectGroupElement(element)\"\n >&#xe90d;</i\n >\n {{ element?.group_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n\n <div class=\"right vx-d-flex vx-align-center\">\n <button class=\"cancel\" (click)=\"closeUserList.emit()\">Cancel</button>\n <button [disabled]=\"false\" (click)=\"onSubmit()\">\n Next <i class=\"icons\">&#xe91e;</i>\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"user-list-footer\" *ngIf=\"!groupsEnabled\">\n <app-dashboard-footer\n [footerDetails]=\"footerDetails\"\n (cancelEvent)=\"closeUserList.emit(); paginationService.reset()\"\n (deleteEvent)=\"selectElement($event)\"\n (submitEvent)=\"onSubmit()\"\n [userButtonColor]=\"'greenBg'\"\n ></app-dashboard-footer>\n </div>\n </div>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'filter'\n})\nexport class FilterPipe implements PipeTransform {\n\n transform(items: any[], searchText: string): any[] {\n if (!items) {\n return [];\n }\n if (!searchText) {\n return items;\n }\n searchText = searchText.toLowerCase();\n if(items?.length){\n return items.filter((it: any) => {\n return JSON.stringify(it).toLowerCase().includes(searchText);\n });\n }else{\n return [];\n }\n }\n\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n} from '@angular/core';\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\nimport { ASSETS } from '../constants/assets.constant';\n\n@Component({\n selector: 'app-responsibility-center',\n templateUrl: './responsibility-center.component.html',\n styleUrls: ['./responsibility-center.component.less'],\n})\nexport class ResponsibilityCenterComponent implements OnInit, OnChanges {\n @Output() saveSelectedList = new EventEmitter();\n @Output() closeRcList = new EventEmitter();\n @Input() responsibilityCentersList = [];\n @Input() selectedResponsibilityCenters = [];\n @Input() rcIdKey = '';\n @Input() radioSelection = false;\n ASSETS = ASSETS;\n\n selectedIds: any[] = [];\n animation = false;\n search = '';\n footerDetails: DashboardFooterConfig = {\n selectedData: [],\n nonRemovableList: [],\n displayElementKey: 'item_name',\n elementId: 'item_id',\n singularText: 'Responsibility Center selected',\n pluralText: 'Responsibility Centers selected',\n showFrequency: false,\n frequencyText: '',\n isDisabled: false,\n };\n constructor() {}\n\n ngOnChanges(): void {\n this.footerDetails.selectedData = this.selectedResponsibilityCenters;\n this.selectedIds = this.selectedResponsibilityCenters.map((ele: any) => {\n if (ele[this.rcIdKey]) {\n return ele[this.rcIdKey];\n }\n });\n }\n\n ngOnInit(): void {\n this.animation = true;\n setTimeout(() => {\n this.animation = false;\n }, 300);\n }\n\n selectRc(rc: any, mode: any) {\n if (this.radioSelection) {\n if (mode) {\n this.selectedIds = [];\n this.selectedIds.push(rc);\n }\n this.setList();\n } else {\n if (mode) {\n this.selectedIds.push(rc);\n const rcElement = this.responsibilityCentersList.findIndex(\n (ele: any) => ele.item_id == rc\n );\n if (rcElement !== -1) {\n const parentRc: any = this.responsibilityCentersList[rcElement];\n if (parentRc?.item_child_ids?.length > 0) {\n parentRc.item_child_ids.forEach((childElement: any) => {\n if (!this.selectedIds.includes(childElement)) {\n this.selectedIds.push(childElement);\n }\n });\n }\n }\n } else {\n const index = this.selectedIds.findIndex(\n (element: any) => element == rc\n );\n this.selectedIds.splice(index, 1);\n const rcElement = this.responsibilityCentersList.findIndex(\n (ele: any) => ele.item_id == rc\n );\n if (rcElement !== -1) {\n const parentRc: any = this.responsibilityCentersList[rcElement];\n if (parentRc?.item_child_ids?.length > 0) {\n parentRc.item_child_ids.forEach((childElement: any) => {\n const removeIndex = this.selectedIds.findIndex(\n (removeElement: any) => removeElement == childElement\n );\n this.selectedIds.splice(removeIndex, 1);\n });\n }\n }\n }\n this.setList();\n }\n }\n deleteEvent(event: any) {\n const index = this.selectedIds.findIndex(\n (element: any) => element == event[this.rcIdKey]\n );\n this.selectedIds.splice(index, 1);\n this.setList();\n }\n\n selectAll(mode: any) {\n if (mode) {\n const list = [...this.responsibilityCentersList];\n this.selectedIds = [];\n list.forEach((element) => {\n this.selectedIds.push(element[this.rcIdKey]);\n });\n } else {\n this.selectedIds = [];\n }\n this.setList();\n }\n\n setList() {\n const data: any = [];\n const rcList = [...new Set(this.responsibilityCentersList)];\n // cloneDeep(this.responsibilityCentersList);\n const selectedIds = [...new Set(this.selectedIds)];\n // cloneDeep(this.selectedIds);\n rcList.forEach((element: any) => {\n if (selectedIds.includes(element[this.rcIdKey])) {\n data.push(element);\n }\n });\n this.selectedResponsibilityCenters = data;\n this.footerDetails.selectedData = this.selectedResponsibilityCenters;\n }\n\n checkSelectAll() {\n const data = this.responsibilityCentersList.every((rc: any) =>\n this.selectedIds.includes(rc[this.rcIdKey])\n );\n return data;\n }\n\n save() {\n this.saveSelectedList.emit(this.selectedIds);\n }\n\n closeResponsibilityCenterList() {\n this.closeRcList.emit();\n }\n}\n","<div class=\"responsibility-center\" [class.animate-slideInRight]=\"animation\">\n <div\n class=\"responsibility-center-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\n Select Responsibility Center(s)\n </div>\n </div>\n <div class=\"responsibility-center-body\">\n <div class=\"responsibility-center-search vx-mb-2\">\n <i class=\"icons\">&#xe90b;</i>\n <input\n type=\"text\"\n [(ngModel)]=\"search\"\n placeholder=\"Search Responsibility Center\"\n />\n </div>\n\n <ng-container\n *ngIf=\"responsibilityCentersList | filter : search as searchList\"\n >\n <div class=\"select-all\" *ngIf=\"searchList.length > 1\">\n <app-cs-checkbox\n [ngValue]=\"checkSelectAll()\"\n (ngValueChange)=\"selectAll($event)\"\n >\n <strong>{{\n checkSelectAll() ? \"Deselect All\" : \"Select All\"\n }}</strong>\n </app-cs-checkbox>\n </div>\n <ul class=\"responsibility-center-list\" *ngIf=\"searchList.length > 0\">\n <li *ngFor=\"let rc of searchList; let i = index\">\n <app-cs-checkbox\n [ngValue]=\"selectedIds.includes(rc.item_id)\"\n (ngValueChange)=\"selectRc(rc.item_id, $event)\"\n >\n <ul class=\"responsibility-center-list-name\">\n <li\n *ngFor=\"let entity of rc.rc_name; let j = index\"\n [arTooltip]=\"entity\"\n placement=\"bottom-left\"\n delay=\"0\"\n >\n <i class=\"icons\" *ngIf=\"j !== 0\">&#xe910;</i>\n {{ entity }}\n <!-- <span class=\"name\">{{entity}}</span> -->\n </li>\n </ul>\n </app-cs-checkbox>\n </li>\n </ul>\n <app-no-data\n *ngIf=\"searchList.length == 0\"\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"'No data to display'\"\n >\n </app-no-data>\n </ng-container>\n\n <div class=\"responsibility-center-footer\">\n <app-dashboard-footer\n [footerDetails]=\"footerDetails\"\n (cancelEvent)=\"closeRcList.emit()\"\n (deleteEvent)=\"selectRc($event.item_id, false)\"\n (submitEvent)=\"save()\"\n ></app-dashboard-footer>\n </div>\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\nimport { CategoriesConfig } from './categories-config';\nimport { ASSETS } from '../constants/assets.constant';\n\n@Component({\n selector: 'app-categories',\n templateUrl: './categories.component.html',\n styleUrls: ['./categories.component.less'],\n})\nexport class CategoriesComponent implements OnInit {\n ASSETS = ASSETS;\n\n @Input() categoryList: CategoriesConfig = {\n regulations: {\n list: [],\n selectedList: [],\n },\n standards: {\n list: [],\n selectedList: [],\n },\n internalControls: {\n list: [],\n selectedList: [],\n },\n others: {\n list: [],\n selectedList: [],\n },\n };\n @Input() allCategories: any[] = [];\n\n @Input() categoryIdKey: any;\n @Input() selectedCategories: any[] = [];\n\n search = '';\n activeTab: 'standards' | 'regulations' | 'internalControls' | 'others' =\n 'regulations';\n selectedIds: any[] = [];\n animation = false;\n blockWidth: any;\n footerDetails: DashboardFooterConfig = {\n selectedData: [],\n nonRemovableList: [],\n displayElementKey: 'item_name',\n elementId: 'item_id',\n singularText: 'Program selected',\n pluralText: 'Programs selected',\n showFrequency: false,\n frequencyText: '',\n isDisabled: false,\n };\n\n @Output() saveSelectedCategory = new EventEmitter();\n @Output() closeList = new EventEmitter();\n @Output() closeCategoriesList = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {\n this.animation = true;\n setTimeout(() => {\n this.animation = false;\n }, 300);\n this.selectedIds = [];\n if (this.selectedCategories) {\n this.selectedCategories.forEach((element) => {\n this.selectedIds.push(element[this.categoryIdKey]);\n });\n }\n this.setList();\n }\n\n selectCategory(mode: any, activeTab: any, category: any) {\n if (mode) {\n this.selectedIds.push(category[this.categoryIdKey]);\n const rcElement = this.allCategories.findIndex(\n (ele: any) => ele.category_id == category[this.categoryIdKey]\n );\n if (rcElement !== -1) {\n const parentRc: any = this.allCategories[rcElement];\n if (parentRc?.child_cat_ids?.length > 0) {\n parentRc.child_cat_ids.forEach((childElement: any) => {\n if (!this.selectedIds.includes(childElement)) {\n this.selectedIds.push(childElement);\n }\n });\n }\n }\n } else {\n const index = this.selectedIds.findIndex(\n (element: any) => element == category[this.categoryIdKey]\n );\n this.selectedIds.splice(index, 1);\n const rcElement = this.allCategories.findIndex(\n (ele: any) => ele.category_id == category[this.categoryIdKey]\n );\n if (rcElement !== -1) {\n const parentRc: any = this.allCategories[rcElement];\n if (parentRc?.child_cat_ids?.length > 0) {\n parentRc.child_cat_ids.forEach((childElement: any) => {\n const removeIndex = this.selectedIds.findIndex(\n (removeElement: any) => removeElement == childElement\n );\n this.selectedIds.splice(removeIndex, 1);\n });\n }\n }\n }\n this.setList();\n }\n\n deleteEvent(event: any) {\n const index = this.selectedIds.findIndex(\n (element: any) => element == event[this.categoryIdKey]\n );\n this.selectedIds.splice(index, 1);\n this.setList();\n }\n\n selectAll(\n mode: any,\n activeTab: 'standards' | 'regulations' | 'internalControls' | 'others'\n ) {\n if (mode) {\n const list = [...this.categoryList[activeTab].list];\n list.forEach((element) => {\n if (!this.selectedIds.includes(element[this.categoryIdKey])) {\n this.selectedIds.push(element[this.categoryIdKey]);\n }\n });\n } else {\n const list = [...this.categoryList[activeTab].list];\n list.forEach((element) => {\n if (this.selectedIds.includes(element[this.categoryIdKey])) {\n let idIndex = this.selectedIds.findIndex(\n (id: any) => id == element[this.categoryIdKey]\n );\n this.selectedIds.splice(idIndex, 1);\n }\n });\n }\n this.setList();\n }\n\n setList() {\n const data: any = [];\n const categoryList = [...new Set(this.allCategories)];\n // cloneDeep(this.allCategories)\n const selectedIds = [...new Set(this.selectedIds)];\n // cloneDeep(this.selectedIds);\n this.categoryList.regulations.selectedList = [];\n this.categoryList.standards.selectedList = [];\n this.categoryList.internalControls.selectedList = [];\n this.categoryList.others.selectedList = [];\n\n categoryList.forEach((element: any) => {\n if (selectedIds.includes(element[this.categoryIdKey])) {\n data.push(element);\n }\n });\n this.selectedCategories = data;\n this.footerDetails.selectedData = data;\n\n this.categoryList.regulations.list.forEach((category: any) => {\n if (selectedIds.includes(category[this.categoryIdKey])) {\n this.categoryList.regulations.selectedList.push(category);\n }\n });\n this.categoryList.standards.list.forEach((category: any) => {\n if (selectedIds.includes(category[this.categoryIdKey])) {\n this.categoryList.standards.selectedList.push(category);\n }\n });\n this.categoryList.internalControls.list.forEach((category: any) => {\n if (selectedIds.includes(category[this.categoryIdKey])) {\n this.categoryList.internalControls.selectedList.push(category);\n }\n });\n this.categoryList.others.list.forEach((category: any) => {\n if (selectedIds.includes(category[this.categoryIdKey])) {\n this.categoryList.others.selectedList.push(category);\n }\n });\n if (!this.activeTab) {\n this.setActiveTab();\n }\n }\n setActiveTab() {\n if (this.categoryList.regulations.selectedList.length > 0) {\n this.activeTab = 'regulations';\n } else if (this.categoryList.standards.selectedList.length > 0) {\n this.activeTab = 'standards';\n } else if (this.categoryList.internalControls.selectedList.length > 0) {\n this.activeTab = 'internalControls';\n } else if (this.categoryList.others.selectedList.length > 0) {\n this.activeTab = 'others';\n } else {\n this.activeTab = 'regulations';\n }\n }\n\n checkSelectAll(\n activeTab: 'standards' | 'regulations' | 'internalControls' | 'others'\n ) {\n const data = this.categoryList[activeTab].list.every((user: any) =>\n this.selectedIds.includes(user[this.categoryIdKey])\n );\n return data;\n }\n\n save() {\n this.saveSelectedCategory.emit(this.selectedCategories);\n }\n\n close() {\n this.closeCategoriesList.emit();\n }\n}\n","<div class=\"category-list\" [class.animate-slideInRight]=\"animation\">\n <div\n class=\"category-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <span class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Program(s)</span>\n </div>\n <div class=\"category-list-mid\">\n <div class=\"vx-d-flex vx-mb-2\">\n <div\n class=\"category-list-card\"\n [class.active]=\"activeTab == 'regulations'\"\n (click)=\"activeTab = 'regulations'\"\n >\n <div class=\"left\">\n <label>REGULATIONS</label>\n <p *ngIf=\"categoryList?.regulations?.selectedList?.length != 0\">\n {{ categoryList?.regulations?.selectedList?.length }}\n {{\n categoryList?.regulations?.selectedList?.length == 1\n ? \"Program\"\n : \"Programs\"\n }}\n selected\n </p>\n </div>\n <span class=\"counter\">{{\n categoryList?.regulations?.list?.length\n }}</span>\n </div>\n <div\n class=\"category-list-card\"\n [class.active]=\"activeTab == 'standards'\"\n (click)=\"activeTab = 'standards'\"\n >\n <div class=\"left\">\n <label>STANDARDS</label>\n <p *ngIf=\"categoryList?.standards?.selectedList?.length != 0\">\n {{ categoryList?.standards?.selectedList?.length }}\n {{\n categoryList?.standards?.selectedList?.length == 1\n ? \"Program\"\n : \"Programs\"\n }}\n selected\n </p>\n </div>\n <span class=\"counter\">{{ categoryList?.standards?.list?.length }}</span>\n </div>\n <div\n class=\"category-list-card\"\n [class.active]=\"activeTab == 'internalControls'\"\n (click)=\"activeTab = 'internalControls'\"\n >\n <div class=\"left\">\n <label>INTERNAL CONTROLS</label>\n <p *ngIf=\"categoryList?.internalControls?.selectedList?.length != 0\">\n {{ categoryList?.internalControls?.selectedList?.length }}\n {{\n categoryList?.internalControls?.selectedList?.length == 1\n ? \"Program\"\n : \"programs\"\n }}\n selected\n </p>\n </div>\n <span class=\"counter\">{{\n categoryList?.internalControls?.list?.length\n }}</span>\n </div>\n <div\n class=\"category-list-card\"\n [class.active]=\"activeTab == 'others'\"\n (click)=\"activeTab = 'others'\"\n >\n <div class=\"left\">\n <label>OTHERS</label>\n <p *ngIf=\"categoryList?.others?.selectedList?.length != 0\">\n {{ categoryList?.others?.selectedList?.length }}\n {{\n categoryList?.others?.selectedList?.length == 1\n ? \"Program\"\n : \"Programs\"\n }}\n selected\n </p>\n </div>\n <span class=\"counter\">{{ categoryList?.others?.list?.length }}</span>\n </div>\n </div>\n\n <div class=\"category-list-search vx-mb-2\">\n <i class=\"icons\">&#xe90b;</i>\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search Program\" />\n </div>\n\n <ng-container\n *ngIf=\"categoryList[activeTab].list | filter : search as searchList\"\n >\n <div class=\"select-all\" *ngIf=\"searchList.length > 1\">\n <app-cs-checkbox\n [ngValue]=\"checkSelectAll(activeTab)\"\n (ngValueChange)=\"selectAll($event, activeTab)\"\n >\n <strong>{{\n checkSelectAll(activeTab) ? \"Deselect All\" : \"Select All\"\n }}</strong>\n </app-cs-checkbox>\n </div>\n <div\n class=\"category-list-item vx-mb-4\"\n [class.with-selectAll]=\"searchList.length > 1\"\n *ngIf=\"searchList.length > 0\"\n >\n <ul class=\"category-list-item-ul vx-m-0 vx-p-0\">\n <li class=\"vx-mb-4\" *ngFor=\"let category of searchList\">\n <app-cs-checkbox\n [ngValue]=\"selectedIds.includes(category[categoryIdKey])\"\n (ngValueChange)=\"selectCategory($event, activeTab, category)\"\n >\n <ul class=\"categories\">\n <li\n *ngFor=\"let entity of category.category_name; let j = index\"\n [arTooltip]=\"entity\"\n placement=\"bottom-left\"\n delay=\"0\"\n >\n {{ entity }}\n </li>\n </ul>\n </app-cs-checkbox>\n </li>\n </ul>\n </div>\n\n <app-no-data\n *ngIf=\"searchList.length == 0\"\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"'No data to display'\"\n >\n </app-no-data>\n </ng-container>\n\n <app-dashboard-footer\n [footerDetails]=\"footerDetails\"\n (cancelEvent)=\"close()\"\n (deleteEvent)=\"deleteEvent($event)\"\n (submitEvent)=\"save()\"\n ></app-dashboard-footer>\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\nimport { RiskCategoriesConfig } from './risk-categories-config';\nimport { ASSETS } from '../constants/assets.constant';\n\n@Component({\n selector: 'app-risk-categories',\n templateUrl: './risk-categories.component.html',\n styleUrls: ['./risk-categories.component.less'],\n})\nexport class RiskCategoriesComponent implements OnInit {\n ASSETS = ASSETS;\n\n @Input() categoryList: RiskCategoriesConfig = {\n strategic: {\n list: [],\n selectedList: [],\n },\n operational: {\n list: [],\n selectedList: [],\n },\n compliance: {\n list: [],\n selectedList: [],\n },\n others: {\n list: [],\n selectedList: [],\n },\n };\n @Input() allCategories: any[] = [];\n\n @Input() categoryIdKey: any;\n @Input() selectedCategories: any[] = [];\n\n search = '';\n activeTab: 'strategic' | 'operational' | 'compliance' | 'others' =\n 'strategic';\n selectedIds: any[] = [];\n animation = false;\n blockWidth: any;\n footerDetails: DashboardFooterConfig = {\n selectedData: [],\n nonRemovableList: [],\n displayElementKey: 'category_name',\n elementId: 'category_id',\n singularText: 'Risk Category selected',\n pluralText: 'Risk Categories selected',\n showFrequency: false,\n frequencyText: '',\n isDisabled: false,\n };\n\n @Output() saveSelectedCategory = new EventEmitter();\n @Output() closeList = new EventEmitter();\n @Output() closeCategoriesList = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {\n this.animation = true;\n setTimeout(() => {\n this.animation = false;\n }, 300);\n this.selectedIds = [];\n if (this.selectedCategories) {\n this.selectedCategories.forEach((element) => {\n this.selectedIds.push(element[this.categoryIdKey]);\n });\n }\n this.setList();\n }\n\n selectCategory(mode: any, activeTab: any, category: any) {\n if (mode) {\n this.selectedIds.push(category[this.categoryIdKey]);\n } else {\n const index = this.selectedIds.findIndex(\n (element: any) => element == category[this.categoryIdKey]\n );\n this.selectedIds.splice(index, 1);\n }\n this.setList();\n }\n\n deleteEvent(event: any) {\n const index = this.selectedIds.findIndex(\n (element: any) => element == event[this.categoryIdKey]\n );\n this.selectedIds.splice(index, 1);\n this.setList();\n }\n\n selectAll(mode: any, activeTab: string) {\n if (mode) {\n if (\n activeTab === 'strategic' ||\n activeTab === 'operational' ||\n activeTab === 'compliance' ||\n activeTab === 'others'\n ) {\n const list = this.categoryList[activeTab].list;\n list.forEach((element) => {\n if (!this.selectedIds.includes(element[this.categoryIdKey])) {\n this.selectedIds.push(element[this.categoryIdKey]);\n }\n });\n }\n } else {\n if (\n activeTab === 'strategic' ||\n activeTab === 'operational' ||\n activeTab === 'compliance' ||\n activeTab === 'others'\n ) {\n const list = [...this.categoryList[activeTab].list];\n list.forEach((element) => {\n if (this.selectedIds.includes(element[this.categoryIdKey])) {\n let idIndex = this.selectedIds.findIndex(\n (id: any) => id == element[this.categoryIdKey]\n );\n this.selectedIds.splice(idIndex, 1);\n }\n });\n }\n }\n this.setList();\n }\n\n setList() {\n const data: any = [];\n const categoryList = [...new Set(this.allCategories)];\n // cloneDeep(this.allCategories)\n const selectedIds = [...new Set(this.selectedIds)];\n // cloneDeep(this.selectedIds);\n this.categoryList.strategic.selectedList = [];\n this.categoryList.operational.selectedList = [];\n this.categoryList.compliance.selectedList = [];\n this.categoryList.others.selectedList = [];\n\n categoryList.forEach((element: any) => {\n if (selectedIds.includes(element[this.categoryIdKey])) {\n data.push(element);\n }\n });\n this.selectedCategories = data;\n this.footerDetails.selectedData = data;\n\n this.categoryList.strategic.list.forEach((category: any) => {\n if (selectedIds.includes(category[this.categoryIdKey])) {\n this.categoryList.strategic.selectedList.push(category);\n }\n });\n this.categoryList.operational.list.forEach((category: any) => {\n if (selectedIds.includes(category[this.categoryIdKey])) {\n this.categoryList.operational.selectedList.push(category);\n }\n });\n this.categoryList.compliance.list.forEach((category: any) => {\n if (selectedIds.includes(category[this.categoryIdKey])) {\n this.categoryList.compliance.selectedList.push(category);\n }\n });\n this.categoryList.others.list.forEach((category: any) => {\n if (selectedIds.includes(category[this.categoryIdKey])) {\n this.categoryList.others.selectedList.push(category);\n }\n });\n if (!this.activeTab) {\n this.setActiveTab();\n }\n }\n setActiveTab() {\n if (this.categoryList.strategic.selectedList.length > 0) {\n this.activeTab = 'strategic';\n } else if (this.categoryList.operational.selectedList.length > 0) {\n this.activeTab = 'operational';\n } else if (this.categoryList.compliance.selectedList.length > 0) {\n this.activeTab = 'compliance';\n } else if (this.categoryList.others.selectedList.length > 0) {\n this.activeTab = 'others';\n } else {\n this.activeTab = 'strategic';\n }\n }\n\n checkSelectAll(activeTab: string) {\n if (\n activeTab === 'strategic' ||\n activeTab === 'operational' ||\n activeTab === 'compliance' ||\n activeTab === 'others'\n ) {\n const data = this.categoryList[activeTab].list.every((user: any) =>\n this.selectedIds.includes(user[this.categoryIdKey])\n );\n return data;\n }\n }\n\n save() {\n this.saveSelectedCategory.emit(this.selectedCategories);\n }\n\n close() {\n this.closeCategoriesList.emit();\n }\n}\n","<div class=\"risk-category-list\" [class.animate-slideInRight]=\"animation\">\n <div\n class=\"risk-category-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <span class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Risk Category(s)</span>\n </div>\n <div class=\"risk-category-list-mid\">\n <div class=\"vx-d-flex vx-mb-2\">\n <div\n class=\"risk-category-list-card\"\n [class.active]=\"activeTab == 'strategic'\"\n (click)=\"activeTab = 'strategic'\"\n >\n <div class=\"left\">\n <label>strategic</label>\n <p *ngIf=\"categoryList?.strategic?.selectedList?.length != 0\">\n {{ categoryList?.strategic?.selectedList?.length }}\n {{\n categoryList?.strategic?.selectedList?.length == 1\n ? \"Category\"\n : \"Categories\"\n }}\n selected\n </p>\n </div>\n <span class=\"counter\">{{ categoryList?.strategic?.list?.length }}</span>\n </div>\n <div\n class=\"risk-category-list-card\"\n [class.active]=\"activeTab == 'operational'\"\n (click)=\"activeTab = 'operational'\"\n >\n <div class=\"left\">\n <label>operational</label>\n <p *ngIf=\"categoryList?.operational?.selectedList?.length != 0\">\n {{ categoryList?.operational?.selectedList?.length }}\n {{\n categoryList?.operational?.selectedList?.length == 1\n ? \"Category\"\n : \"Categories\"\n }}\n selected\n </p>\n </div>\n <span class=\"counter\">{{\n categoryList?.operational?.list?.length\n }}</span>\n </div>\n <div\n class=\"risk-category-list-card\"\n [class.active]=\"activeTab == 'compliance'\"\n (click)=\"activeTab = 'compliance'\"\n >\n <div class=\"left\">\n <label>compliance</label>\n <p *ngIf=\"categoryList?.compliance?.selectedList?.length != 0\">\n {{ categoryList?.compliance?.selectedList?.length }}\n {{\n categoryList?.compliance?.selectedList?.length == 1\n ? \"Category\"\n : \"Categories\"\n }}\n selected\n </p>\n </div>\n <span class=\"counter\">{{\n categoryList?.compliance?.list?.length\n }}</span>\n </div>\n <div\n class=\"risk-category-list-card\"\n [class.active]=\"activeTab == 'others'\"\n (click)=\"activeTab = 'others'\"\n >\n <div class=\"left\">\n <label>OTHERS</label>\n <p *ngIf=\"categoryList?.others?.selectedList?.length != 0\">\n {{ categoryList?.others?.selectedList?.length }}\n {{\n categoryList?.others?.selectedList?.length == 1\n ? \"Category\"\n : \"Categories\"\n }}\n selected\n </p>\n </div>\n <span class=\"counter\">{{ categoryList?.others?.list?.length }}</span>\n </div>\n </div>\n\n <div class=\"risk-category-list-search vx-mb-2\">\n <i class=\"icons\">&#xe90b;</i>\n <input\n type=\"text\"\n [(ngModel)]=\"search\"\n placeholder=\"Search Risk Category\"\n />\n </div>\n\n <ng-container\n *ngIf=\"categoryList[activeTab]?.list | filter : search as searchList\"\n >\n <div class=\"select-all\" *ngIf=\"searchList.length > 1\">\n <app-cs-checkbox\n [ngValue]=\"checkSelectAll(activeTab)\"\n (ngValueChange)=\"selectAll($event, activeTab)\"\n >\n <strong>{{\n checkSelectAll(activeTab) ? \"Deselect All\" : \"Select All\"\n }}</strong>\n </app-cs-checkbox>\n </div>\n <div\n class=\"risk-category-list-item vx-mb-4\"\n [class.with-selectAll]=\"searchList.length > 1\"\n *ngIf=\"searchList.length > 0\"\n >\n <ul class=\"risk-category-list-item-ul vx-m-0 vx-p-0\">\n <li class=\"vx-mb-4\" *ngFor=\"let category of searchList\">\n <app-cs-checkbox\n [ngValue]=\"selectedIds.includes(category[categoryIdKey])\"\n (ngValueChange)=\"selectCategory($event, activeTab, category)\"\n >\n <ul class=\"categories\">\n <li\n [arTooltip]=\"category.category_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n >\n {{ category.category_name }}\n </li>\n </ul>\n </app-cs-checkbox>\n </li>\n </ul>\n </div>\n <app-no-data\n *ngIf=\"searchList.length == 0\"\n [noDataImage]=\"ASSETS.search_data\"\n [noDataText]=\"'No data to display'\"\n >\n </app-no-data>\n </ng-container>\n\n <app-dashboard-footer\n [footerDetails]=\"footerDetails\"\n (cancelEvent)=\"close()\"\n (deleteEvent)=\"deleteEvent($event)\"\n (submitEvent)=\"save()\"\n ></app-dashboard-footer>\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\nimport { SnackBarService } from '../../ui-kit/snack-bar/snack-bar.service';\n\n\n@Component({\n selector: 'app-frequency',\n templateUrl: './frequency.component.html',\n styleUrls: ['./frequency.component.less']\n})\nexport class FrequencyComponent implements OnInit,OnChanges {\n animation = true;\n @Input() savedFrequencyTab: string | undefined;\n monthlyDate = 1;\n quarterlyDate = 1;\n @Input() savedFrequencies: any;\n @Input() selectedDate: any;\n frequencyTab = 'weekly';\n showFrequency = true;\n dayNames = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\n monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n quarters = ['January, April, July, October', 'February, May, August, November', 'March, June, September, December'];\n selectedDays: any[] = [0];\n selectedMonths: any[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n selectedQuarter = 0;\n @Output() closeFrequencyPopup = new EventEmitter<string>();\n @Output() saveFrequency = new EventEmitter<any>();\n footerDetails: DashboardFooterConfig = {\n selectedData: [],\n nonRemovableList:[],\n displayElementKey: '',\n elementId: '',\n singularText: '',\n pluralText: '',\n showFrequency: true,\n frequencyText: 'You have selected a <strong>' + this.frequencyTab + '</strong> frequency.',\n isDisabled: false\n\n };\n showRadio = true;\n constructor(private snackBar:SnackBarService) { }\n ngOnChanges(){\n this.savedFrequencies = [...new Set(this.savedFrequencies)]\n }\n\n ngOnInit(): void {\n this.animation = true;\n setTimeout(() => {\n this.animation = false;\n }, 300);\n if (this.savedFrequencyTab) {\n this.changeTab(this.savedFrequencyTab);\n }\n if (this.selectedDate) {\n switch (this.savedFrequencyTab) {\n case 'weekly':\n this.selectedDays = [...new Set(this.savedFrequencies)]\n break;\n case 'monthly':\n this.monthlyDate = this.selectedDate;\n this.selectedMonths = [...new Set(this.savedFrequencies)]\n\n break;\n case 'quarterly':\n this.showRadio = false;\n setTimeout(() => {\n this.showRadio = true\n }, 100);\n this.quarterlyDate = this.selectedDate\n this.selectedQuarter = this.savedFrequencies;\n\n break;\n\n }\n }\n\n }\n closeFrequency() {\n this.closeFrequencyPopup.emit();\n }\n daySelectionChange(event: any, index: any) {\n if (event) { //checkbox was selected\n this.selectedDays.push(index);\n } else {\n let unselectedElementIndex = this.selectedDays.indexOf(index);\n this.selectedDays.splice(unselectedElementIndex, 1);\n }\n this.checkFrequencyValidity();\n }\n monthSelectionChange(event: any, index: any) {\n if (event) {\n this.selectedMonths.push(index);\n } else {\n let unselectedElementIndex = this.selectedMonths.indexOf(index);\n this.selectedMonths.splice(unselectedElementIndex, 1);\n }\n this.checkDateValidity(this.monthlyDate,'monthly')\n this.checkFrequencyValidity();\n }\n\n quarterSelectionChange(event: any, index: any) {\n this.selectedQuarter = index;\n this.checkDateValidity(this.quarterlyDate,'quarterly');\n this.checkFrequencyValidity();\n }\n\n changeTab(tabValue: string) {\n this.frequencyTab = tabValue;\n this.footerDetails.frequencyText = 'You have selected a <strong>' + this.frequencyTab + '</strong> frequency.';\n this.footerDetails.isDisabled = false;\n this.setToDefaultValues()\n if (this.frequencyTab === this.savedFrequencyTab) {\n switch (this.frequencyTab) {\n case 'weekly': {\n this.selectedDays = [...this.savedFrequencies];\n this.monthlyDate = 1;\n this.quarterlyDate = 1;\n break;\n }\n case 'monthly': {\n this.selectedMonths = [...this.savedFrequencies];\n this.monthlyDate = this.selectedDate;\n this.quarterlyDate = 1;\n this.checkDateValidity(this.monthlyDate,'monthly')\n break;\n }\n case 'quarterly': {\n this.selectedQuarter = this.savedFrequencies;\n this.quarterlyDate = this.selectedDate;\n this.monthlyDate = 1;\n this.checkDateValidity(this.quarterlyDate,'quarterly')\n break;\n }\n }\n }\n }\n\n setToDefaultValues() {\n this.selectedDays = [0];\n this.selectedMonths = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n this.selectedQuarter = 0;\n }\n\n submitFrequency() {\n let stringVal = \"Every \";\n let frequencies;\n let selectedDate = 1;\n switch (this.frequencyTab) {\n case 'weekly': {\n if (this.selectedDays.length > 0) {\n this.selectedDays.sort();\n frequencies = this.selectedDays;\n this.selectedDays.forEach((dayIndex, index) => {\n stringVal += index === 0 ? this.dayNames[dayIndex] : ', ' + this.dayNames[dayIndex];\n })\n } else {\n // nothing was selected\n this.closeFrequency();\n }\n break;\n }\n case 'monthly': {\n stringVal = \" of every \";\n if (this.selectedMonths.length > 0) {\n frequencies = this.selectedMonths;\n this.monthNames.forEach((monthNames: string, monthIndex: number) => {\n if (this.selectedMonths.includes(monthIndex)) {\n stringVal += monthIndex === 0 ? monthNames : ', ' + monthNames;\n\n }\n })\n let monthDateName;\n if (this.monthlyDate == 1) {\n monthDateName = '1st'\n }\n else if (this.monthlyDate == 2) {\n monthDateName = '2nd'\n }\n else if (this.monthlyDate == 3) {\n monthDateName = '3rd'\n }\n else {\n monthDateName = this.monthlyDate + 'th'\n }\n stringVal = monthDateName + stringVal;\n selectedDate = this.monthlyDate;\n } else {\n // nothing was selected\n this.closeFrequency();\n }\n break;\n }\n case 'quarterly': {\n stringVal = \" of every \";\n\n if (this.selectedQuarter >= 0) {\n frequencies = this.selectedQuarter;\n stringVal += this.quarters[this.selectedQuarter];\n selectedDate = this.quarterlyDate;\n let monthDateName;\n if (this.quarterlyDate == 1) {\n monthDateName = '1st'\n }\n else if (this.quarterlyDate == 2) {\n monthDateName = '2nd'\n }\n else if (this.quarterlyDate == 3) {\n monthDateName = '3rd'\n }\n else {\n monthDateName = this.quarterlyDate + 'th'\n }\n stringVal = monthDateName + stringVal;\n selectedDate = this.quarterlyDate;\n } else {\n // nothing was selected\n this.closeFrequency();\n }\n break;\n }\n }\n this.saveFrequency.emit({\n frequencyString: stringVal,\n frequencyType: this.frequencyTab,\n frequencies: frequencies,\n selectedDate\n })\n }\n \n checkDateValidity(date:number, type:string){\n if(date>31 || date<1){\n this.snackBar.show('Select valid date.','alert');\n this.footerDetails.isDisabled = true;\n return\n }else{\n this.footerDetails.isDisabled = false;\n }\n const monthList=[{name:'January',maxDays:31,value:0},{name:'February',maxDays:28,value:1},{name:'March',maxDays:31,value:2},\n {name:'April',maxDays:30,value:3},{name:'May',maxDays:31,value:4},{name:'June',maxDays:30,value:5},\n {name:'July',maxDays:31,value:6},{name:'August',maxDays:31,value:7},{name:'September',maxDays:30,value:8},\n {name:'October',maxDays:31,value:9},{name:'November',maxDays:30,value:10},{name:'December',maxDays:31,value:11}]\n switch (type) {\n case 'monthly':\n if(this.selectedMonths.length==1){\n const index = monthList.findIndex((ele:any)=>ele.value==this.selectedMonths[0]);\n if(date<=monthList[index].maxDays){\n this.footerDetails.isDisabled = false;\n \n }else{\n this.snackBar.show('Select valid date.','alert');\n this.footerDetails.isDisabled = true; \n }\n }else if(this.selectedMonths.length==0){\n this.footerDetails.isDisabled = true; \n }else{\n this.footerDetails.isDisabled = false;\n }\n\n break;\n default:\n this.footerDetails.isDisabled = false;\n return true;\n break;\n\n }\n\n}\n\ncheckFrequencyValidity(){\n switch (this.frequencyTab) {\n case 'weekly': {\n if (this.selectedDays.length > 0) {\n this.footerDetails.isDisabled = false;\n\n } else {\n this.footerDetails.isDisabled = true;\n }\n break;\n }\n case 'monthly': {\n \n if (this.selectedMonths.length > 0) {\n this.footerDetails.isDisabled = false;\n \n } else {\n this.footerDetails.isDisabled = true;\n }\n break;\n }\n case 'quarterly': {\n\n if (this.selectedQuarter >= 0){\n this.footerDetails.isDisabled = false;\n \n } else {\n this.footerDetails.isDisabled = true;\n }\n break;\n }\n } \n}\n\n}\n","<div class=\"create-frequency\" [class.animate-slideInRight]=\"animation\">\n <div class=\"create-frequency-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4 vx-mb-4\">\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Frequency</div>\n </div>\n <div class=\"create-frequency-body vx-pl-4 vx-pr-4\">\n <div class=\"create-frequency-body-inner\">\n <div class=\"create-frequency-tab\" [ngSwitch]=\"frequencyTab\">\n <div class=\"create-frequency-tab-head\">\n <ul class=\"navigation\">\n <li><button [class.active]=\"frequencyTab == 'weekly'\" (click)=\"changeTab('weekly')\">Weekly</button></li>\n <li><button [class.active]=\"frequencyTab == 'monthly'\" (click)=\"changeTab('monthly')\">Monthly</button></li>\n <li><button [class.active]=\"frequencyTab == 'quarterly'\" (click)=\"changeTab('quarterly')\">Quarterly</button></li>\n </ul>\n </div>\n <div class=\"create-frequency-tab-body vx-pl-4 vx-pr-4\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">Email Reminder Frequency:</div>\n <div class=\"checkbox-list\" *ngSwitchCase=\"'weekly'\">\n <div class=\"frequency-checkbox vx-d-flex vx-align-center\">\n <div class=\"frequency-checkbox-item vx-p-3 vx-pr-4 vx-d-flex vx-align-center\" *ngFor=\"let day of dayNames; let dayIndex = index\">\n <app-cs-checkbox (ngValueChange)=\"daySelectionChange($event, dayIndex)\" [ngValue]=\"selectedDays.includes(dayIndex)\">{{day}}</app-cs-checkbox>\n </div>\n </div>\n </div>\n <div class=\"checkbox-list month\" *ngSwitchCase=\"'monthly'\">\n <div class=\"frequency-top vx-d-flex vx-align-center\">\n <div class=\"vx-fs-13 vx-paragraph-txt\">Day</div>\n <input type=\"number\" (focusout)=\"checkDateValidity(monthlyDate,'monthly')\" [(ngModel)]=\"monthlyDate\" class=\"countNum\" onkeydown=\"return event.keyCode !== 190\" min=\"1\" oninput=\"this.value = Math.abs(this.value)\">\n <div class=\"vx-fs-13 vx-paragraph-txt\">of</div>\n </div>\n <div class=\"frequency-checkbox vx-d-flex vx-align-center vx-flex-wrap\">\n <div class=\"frequency-checkbox-item vx-p-3 vx-pr-4 vx-d-flex vx-align-center\" *ngFor=\"let month of monthNames; let monthIndex = index\">\n <app-cs-checkbox (ngValueChange)=\"monthSelectionChange($event, monthIndex)\" [ngValue]=\"selectedMonths.includes(monthIndex)\">{{month}}</app-cs-checkbox>\n </div>\n </div>\n </div>\n <div class=\"checkbox-list\" *ngSwitchCase=\"'quarterly'\">\n <ng-container *ngIf=\"showRadio\">\n <div class=\"frequency-top vx-d-flex vx-align-center\">\n <div class=\"vx-fs-13 vx-paragraph-txt\">Day</div>\n <input type=\"number\" (focusout)=\"checkDateValidity(quarterlyDate,'quarterly')\" [(ngModel)]=\"quarterlyDate\" class=\"countNum\" onkeydown=\"return event.keyCode !== 190\" min=\"1\" oninput=\"this.value = Math.abs(this.value)\">\n <div class=\"vx-fs-13 vx-paragraph-txt\">of</div>\n </div>\n <div class=\"frequency-checkbox vx-d-flex vx-align-center\">\n <div class=\"frequency-checkbox-item vx-p-3 vx-pr-4 vx-d-flex vx-align-center vx-w-100\" *ngFor=\"let quarter of quarters, let quarterIndex = index\">\n <app-cs-radio (checkedEvent)=\"quarterSelectionChange($event, quarterIndex)\" [checked]=\"selectedQuarter === quarterIndex\">{{quarter}}</app-cs-radio>\n </div>\n </div>\n </ng-container> \n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"create-frequency-footer\">\n <app-dashboard-footer \n [footerDetails]=\"footerDetails\"\n (cancelEvent)=\"closeFrequencyPopup.emit()\"\n (submitEvent)=\"submitFrequency()\"\n ></app-dashboard-footer>\n </div>\n</div>","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { EditorConfig } from '@vcomply/editor';\nimport { DatePickerComponent, IDatePickerConfig } from 'ng2-date-picker';\nimport { CreateDashboardService } from './services/create-dashboard.service';\nimport { PaginationService } from './services/pagination.service';\nimport { UserListConfiguration } from './user-list/user-list.config';\nimport { CreateDashboardForm } from './create-dashboard-config';\nimport { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';\nimport { ConfigureWidgetsService } from './services/configure-widgets.service';\n\nimport dayjs from 'dayjs';\nimport { PopoverService } from '../ui-kit/popover/popover.service';\nimport { TextCountPipe } from './pipes/text-count.pipe';\nimport { ASSETS } from './constants/assets.constant';\n\n@Component({\n selector: 'app-create-dashboard',\n templateUrl: './create-dashboard.component.html',\n styleUrls: ['./create-dashboard.component.less'],\n providers: [TextCountPipe],\n})\nexport class CreateDashboardComponent implements OnInit, OnChanges {\n @Input() feature: any;\n activeSelector = '';\n disabled = false;\n @Input() mode = 'CREATE';\n @Input() dashboardId = '';\n @Output() close = new EventEmitter();\n @Input() createdBy = 0;\n @ViewChild('fromDatePicker') fromDatePicker!: DatePickerComponent;\n @ViewChild('toDatePicker') toDatePicker!: DatePickerComponent;\n animation = true;\n @Input() configureWidget = false;\n ASSETS: any = ASSETS;\n\n totalPages = 1;\n totalList = 1;\n usersList: any[] = [];\n vLoader = true;\n userListLoaded = false;\n rcListLoaded = false;\n complianceCategoriesListLoaded = false;\n riskCategoryListLoaded = false;\n hideToDate = false;\n listDetails: UserListConfiguration = {\n selectedUsersList: [],\n selectedGroupList: [],\n nonRemovableUsersList: [],\n displayElementKey: 'member_name',\n displayGroupKey: 'group_name',\n groupIdkey: 'group_id',\n elementIdKey: 'member_id',\n tooltipKey: 'member_email',\n };\n dashboardDescription: EditorConfig = {\n placeholder: 'Description (Max limit: 250 characters)',\n mode: 'prime',\n id: 'description',\n };\n responsibilityCategoriesTree: any = {\n regulations: {\n list: [],\n selectedList: [],\n },\n standards: {\n list: [],\n selectedList: [],\n },\n internalControls: {\n list: [],\n selectedList: [],\n },\n others: {\n list: [],\n selectedList: [],\n },\n };\n allComplianceCategories: any[] = [];\n allRiskCategories: any[] = [];\n showRiskCategory = false;\n showCriteria = true;\n\n dashboardForm: CreateDashboardForm = {\n dashboardName: '',\n dashboardDescriptionText: '',\n selectedViewers: [],\n selectedGroup: [],\n selectedFromDate: undefined,\n selectedToDate: undefined,\n selectedResponsibilityCenters: [],\n selectedResponsibilityCategories: [],\n selectedRiskCategories: [],\n displayCriteria: 'or',\n configureWidget: [],\n frequencyDetails: '',\n selectedFrequencyType: '',\n selectedFrequencies: [0],\n frequencyMessage: '',\n frequencyDate: 1,\n };\n\n openConfigureWidgets = false;\n selectedWidgets: any = [];\n displayedWidgets: any = [];\n\n responsibilityCentersList = [];\n datePickerOverlay = false;\n dayNames = [\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n 'Sunday',\n ];\n monthNames = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ];\n quarters = [\n 'January, April, July, October',\n 'February, May, August, November',\n 'March, June, September, December',\n ];\n\n categoryListLoaded = false;\n showRiskWidgets = false;\n showComplianceWidgets = false;\n isManageRisk: boolean = false;\n\n riskCategoryList = {\n strategic: {\n list: [],\n selectedList: [],\n },\n operational: {\n list: [],\n selectedList: [],\n },\n compliance: {\n list: [],\n selectedList: [],\n },\n others: {\n list: [],\n selectedList: [],\n },\n };\n\n fromDatePickerConfig: IDatePickerConfig = {\n min: this.getCurrentDate(),\n };\n\n toDatePickerConfig: IDatePickerConfig = {};\n\n isSmiley!: boolean;\n smileyMessage: string = '';\n groupList: any;\n groupsEnabled: boolean = false;\n totalgroups: any;\n @ViewChild('fromDatePicker', { read: ElementRef, static: false })\n fromDatePickerPopup!: ElementRef;\n @ViewChild('toDatePicker', { read: ElementRef, static: false })\n toDatePickerPopup!: ElementRef;\n openedDatePicker: string = '';\n\n constructor(\n private createDashboardService: CreateDashboardService,\n private paginationService: PaginationService,\n private cdr: ChangeDetectorRef,\n private snackBar: SnackBarService,\n public popoverService: PopoverService,\n private configureWidgetsService: ConfigureWidgetsService,\n private textCount: TextCountPipe\n ) {}\n\n ngOnChanges() {\n if (this.createdBy) {\n this.listDetails.nonRemovableUsersList.push(this.createdBy);\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(\n event: KeyboardEvent\n ) {\n this.close.emit({ mode: 'discard' });\n this.isSmiley = false;\n }\n\n ngOnInit(): void {\n this.groupsEnabled = true;\n this.animation = true;\n setTimeout(() => {\n this.animation = false;\n }, 300);\n // this.getOrganizationUsersCount('');\n this.getCategoryList();\n this.getRCList();\n this.getComplianceCategoryList();\n this.setFrequency('2~1~0~0', 'import');\n this.checkWhetherAllListsLoaded();\n this.getUsersList('');\n this.getGroupList();\n this.createDashboardService.getUserInformation().subscribe(\n (res: any) => {\n this.setPermission(res?.roleActions);\n const quickLink = res.quick_link;\n if (quickLink.risk) {\n this.showRiskCategory = true;\n } else {\n this.showRiskCategory = false;\n }\n },\n (error) => {\n console.error(error);\n }\n );\n }\n\n /**\n * Displays the listing pages the left side of policy form to set and edit the dropdown fields values\n * @param type holds name of particular list is to be displayed\n * @param event contains boolean value to display the list or not\n */\n activateSelector(type: any, event: boolean) {\n if (type == 'frequency' || this.activeSelector == 'frequency') {\n this.showCriteria = false;\n setTimeout(() => {\n this.showCriteria = true;\n }, 1);\n }\n this.activeSelector = event ? type : '';\n }\n\n openFromDatePicker() {\n this.openedDatePicker = 'FROM_DATE';\n\n this.fromDatePicker?.api?.open();\n this.datePickerOverlay = true;\n }\n\n openToDatePicker() {\n this.openedDatePicker = 'TO_DATE';\n\n this.toDatePicker?.api?.open();\n\n this.datePickerOverlay = true;\n }\n closeFromDatePicker() {\n this.fromDatePicker?.api?.close();\n if (!this.dashboardForm.selectedFromDate) {\n this.dashboardForm.selectedToDate = undefined;\n this.hideToDate = true;\n setTimeout(() => {\n this.hideToDate = false;\n }, 20);\n this.fromDatePicker.api.close();\n this.datePickerOverlay = false;\n return;\n }\n let minToDate = this.setToDate(this.dashboardForm.selectedFromDate);\n this.toDatePickerConfig = { min: minToDate };\n\n const fromDate = new Date(minToDate.split('-').reverse().join('-'));\n const toDate = new Date(this.dashboardForm.selectedToDate);\n const inValidDate = fromDate >= toDate ? true : false;\n if (inValidDate) {\n this.dashboardForm.selectedToDate = undefined;\n this.hideToDate = true;\n setTimeout(() => {\n this.hideToDate = false;\n }, 20);\n }\n\n this.datePickerOverlay = false;\n }\n\n closeToDatePicker() {\n this.toDatePicker?.api?.close();\n this.datePickerOverlay = false;\n }\n\n animateImage() {\n const circleImage = document.getElementsByClassName('image');\n }\n\n saveFrequency(eventValues: any) {\n this.dashboardForm.selectedFrequencyType = eventValues.frequencyType;\n this.dashboardForm.selectedFrequencies = eventValues.frequencies;\n this.dashboardForm.frequencyMessage = eventValues.frequencyString;\n this.dashboardForm.frequencyDate = eventValues.selectedDate;\n this.activateSelector('', false);\n }\n\n getCurrentDate() {\n let today = new Date();\n return dayjs(today).format('DD-MM-YYYY');\n }\n setToDate(data: string) {\n let today = new Date(data);\n return dayjs(today).format('DD-MM-YYYY');\n }\n getFromDate(data: string) {\n let today = new Date(data);\n return (\n today.getDate() + '-' + (today.getMonth() + 1) + '-' + today.getFullYear()\n );\n }\n\n /**\n * It takes a string, converts it to a date, then returns a string in the format of YYYY-MM-DD.\n * @param {string} data - the date you want to format\n * @returns A string in the format of YYYY-MM-DD\n */\n getDateFormate(data: string) {\n let today = new Date(data);\n return (\n today.getFullYear() +\n '-' +\n String(today.getMonth() + 1).padStart(2, '0') +\n '-' +\n String(today.getDate()).padStart(2, '0')\n );\n }\n\n configureDashboard() {\n let fieldsStatus = this.validateDashboard();\n if (fieldsStatus) {\n if (this.mode == 'CREATE') {\n this.vLoader = true;\n const payload = {\n dashboard_name: this.dashboardForm.dashboardName,\n dashboard_id: '',\n };\n this.createDashboardService\n .checkDuplicateDashboardName(payload)\n .subscribe(\n (res) => {\n if (!res) {\n this.vLoader = false;\n this.showRiskWidgets =\n this.isManageRisk &&\n this.showRiskCategory &&\n (this.dashboardForm.selectedRiskCategories.length > 0 ||\n this.dashboardForm.selectedResponsibilityCenters.length > 0)\n ? true\n : false;\n this.showComplianceWidgets =\n this.dashboardForm.selectedResponsibilityCategories.length >\n 0 ||\n this.dashboardForm.selectedResponsibilityCenters.length > 0\n ? true\n : false;\n this.openConfigureWidgets = true;\n } else {\n this.vLoader = false;\n this.snackBar.show(\n 'A dashboard with this name already exists. Specify a different name for the dashboard.',\n 'alert'\n );\n return;\n }\n },\n (error) => {\n console.error(error);\n this.vLoader = false;\n }\n );\n } else if (this.mode == 'EDIT') {\n this.vLoader = true;\n const payload = {\n dashboard_name: this.dashboardForm.dashboardName,\n dashboard_id: this.dashboardId,\n };\n this.createDashboardService\n .checkDuplicateDashboardName(payload)\n .subscribe(\n (res) => {\n if (!res) {\n this.vLoader = false;\n this.showRiskWidgets =\n this.isManageRisk &&\n this.showRiskCategory &&\n (this.dashboardForm.selectedRiskCategories.length > 0 ||\n this.dashboardForm.selectedResponsibilityCenters.length > 0)\n ? true\n : false;\n this.showComplianceWidgets =\n this.dashboardForm.selectedResponsibilityCategories.length >\n 0 ||\n this.dashboardForm.selectedResponsibilityCenters.length > 0\n ? true\n : false;\n this.openConfigureWidgets = true;\n } else {\n this.vLoader = false;\n this.snackBar.show(\n 'A dashboard with this name already exists. Specify a different name for the dashboard.',\n 'alert'\n );\n return;\n }\n },\n (error) => {\n this.vLoader = false;\n console.error(error);\n }\n );\n }\n }\n }\n\n /**\n * Fetches organization users count api to get total number of pages\n * @param Url contains prams\n */\n getOrganizationUsersCount(Url: any) {\n this.createDashboardService\n .getOrganizationUsersCount(Url)\n .subscribe((res) => {\n this.totalList = res.total_members;\n if (res.total_members && res.limit_per_page > 1) {\n this.totalPages = res.create_page;\n } else {\n this.totalPages = 1;\n }\n });\n }\n\n /**\n * Get users list by making api call and pre selects all admins by adding to viewers\n * @param url contains query params for organization users api\n */\n getUsersList(url: any) {\n this.createDashboardService.getAllUsers().subscribe((res: any) => {\n this.usersList = res;\n this.userListLoaded = true;\n\n if (this.mode === 'EDIT') {\n this.vLoader = true;\n } else {\n this.dashboardForm.selectedViewers = this.setList(\n this.usersList,\n [this.createdBy],\n 'member_id'\n );\n this.listDetails.selectedUsersList = this.dashboardForm.selectedViewers;\n this.vLoader = false;\n }\n });\n }\n\n getGroupList() {\n this.createDashboardService.getAllGroups().subscribe((res: any) => {\n this.totalgroups = res.total_items;\n this.groupList = res.data;\n this.userListLoaded = true;\n if (this.mode === 'EDIT') {\n this.vLoader = true;\n } else {\n this.dashboardForm.selectedGroup = this.setList(\n this.groupList,\n [this.createdBy],\n 'group_id'\n );\n this.listDetails.selectedGroupList = this.dashboardForm.selectedGroup;\n this.vLoader = false;\n }\n });\n }\n\n getComplianceCategoryList() {\n this.createDashboardService\n .getComplianceCategoriesListFromGlobal()\n .subscribe(\n (res: any) => {\n const data = res;\n this.allComplianceCategories = Object.assign(res);\n // cloneDeep(res);\n data.forEach((element: any) => {\n if (element && element.compliance_type == 0) {\n this.responsibilityCategoriesTree.others.list.push(element);\n }\n if (element && element.compliance_type == 1) {\n this.responsibilityCategoriesTree.regulations.list.push(element);\n }\n if (element && element.compliance_type == 2) {\n this.responsibilityCategoriesTree.standards.list.push(element);\n }\n if (element && element.compliance_type == 3) {\n this.responsibilityCategoriesTree.internalControls.list.push(\n element\n );\n }\n });\n this.complianceCategoriesListLoaded = true;\n },\n (err: any) => {\n console.error(err);\n this.complianceCategoriesListLoaded = true;\n }\n );\n }\n\n getCategoryList() {\n this.createDashboardService.getCategoryList().subscribe(\n (res: any) => {\n this.riskCategoryList.strategic.list = res.strategic_arr;\n this.riskCategoryList.operational.list = res.operational_arr;\n this.riskCategoryList.compliance.list = res.compliance_arr;\n this.riskCategoryList.others.list = res.others_arr;\n this.riskCategoryListLoaded = true;\n this.allRiskCategories = [\n ...new Set(\n this.allRiskCategories.concat(\n res.strategic_arr,\n res.operational_arr,\n res.compliance_arr,\n res.others_arr\n )\n ),\n ];\n },\n (err) => {\n console.error(err);\n this.riskCategoryListLoaded = true;\n }\n );\n }\n\n /**\n * It is to ensure whether all required lists on Policy from is loaded from the api call or not\n */\n checkWhetherAllListsLoaded() {\n if (\n this.rcListLoaded &&\n this.complianceCategoriesListLoaded &&\n this.riskCategoryListLoaded &&\n this.userListLoaded\n ) {\n if (this.mode === 'EDIT') {\n this.editDashboard();\n } else {\n this.vLoader = false;\n }\n } else {\n setTimeout(() => {\n this.checkWhetherAllListsLoaded();\n }, 300);\n }\n }\n\n setSelectedWidgets(data: any) {\n if (this.mode === 'CREATE') {\n const widgetsArray: any = [];\n data.forEach((element: any) => {\n let obj: any = {};\n obj.module_name = element.module;\n obj._id = '';\n obj.widget_name = element.title;\n obj.widget_code = element.id;\n obj.sub_widgets = [];\n obj.state = 'ACTIVE';\n if (element.subWidgets.length > 0) {\n element.subWidgets.forEach((subWidget: any) => {\n let subWidgetObject: any = {};\n subWidgetObject._id = '';\n subWidgetObject.widget_name = subWidget.title;\n subWidgetObject.widget_code = subWidget.id;\n subWidgetObject.state = subWidget.value ? 'ACTIVE' : 'INACTIVE';\n obj.sub_widgets.push(Object.assign(subWidgetObject));\n });\n }\n widgetsArray.push(obj);\n });\n\n this.dashboardForm.configureWidget = widgetsArray;\n } else if (this.mode === 'EDIT') {\n const widgetsArray: any = [];\n\n data.forEach((element: any) => {\n if (\n !this.extractWidgetCodes(this.dashboardForm.configureWidget).includes(\n element.id\n )\n ) {\n let obj: any = {};\n obj.module_name = element.module;\n obj._id = '';\n obj.widget_name = element.title;\n obj.widget_code = element.id;\n obj.sub_widgets = [];\n obj.state = 'ACTIVE';\n if (element.subWidgets.length > 0) {\n element.subWidgets.forEach((subWidget: any) => {\n let subWidgetObject: any = {};\n subWidgetObject._id = '';\n subWidgetObject.widget_name = subWidget.title;\n subWidgetObject.widget_code = subWidget.id;\n subWidgetObject.state = subWidget.value ? 'ACTIVE' : 'INACTIVE';\n obj.sub_widgets.push(subWidgetObject);\n });\n }\n this.dashboardForm.configureWidget.push(obj);\n } else {\n const index = this.selectedWidgets.findIndex(\n (ele: any) => ele.widget_code == element.id\n );\n if (index != -1) {\n this.selectedWidgets[index].state = 'ACTIVE';\n if (this.selectedWidgets[index].sub_widgets.length > 0) {\n this.selectedWidgets[index].sub_widgets.forEach(\n (subWidgetData: any) => {\n const elementIndex = element.subWidgets.findIndex(\n (ele: any) => ele.id == subWidgetData.widget_code\n );\n if (elementIndex != -1) {\n subWidgetData.state = element.subWidgets[elementIndex].value\n ? 'ACTIVE'\n : 'INACTIVE';\n }\n }\n );\n }\n }\n }\n });\n this.dashboardForm.configureWidget.forEach((savedWidget: any) => {\n const index = data.findIndex(\n (dataElement: any) => dataElement.id == savedWidget.widget_code\n );\n if (index == -1) {\n savedWidget.state = 'INACTIVE';\n if (savedWidget.sub_widgets.length > 0) {\n savedWidget.sub_widgets.forEach((saveSubWidget: any) => {\n saveSubWidget.state = 'INACTIVE';\n });\n }\n }\n });\n }\n this.selectedWidgets = data;\n this.openConfigureWidgets = false;\n this.submitDashboard();\n }\n\n extractWidgetCodes(widgets: any[]) {\n const widgetCodes: any[] = [];\n\n widgets?.forEach((widget: any) => {\n if (widget?.widget_code) {\n widgetCodes.push(widget?.widget_code);\n }\n });\n\n return widgetCodes;\n }\n\n closeConfigureWidgets(event: boolean) {\n this.openConfigureWidgets = event;\n }\n\n /**\n * Filter list user's list based on pagination by making api call\n * @param event specifies a boolean value to call api\n */\n paginationFilter(event: any) {\n if (event) {\n this.getUsersList({\n p:\n this.paginationService.currentPage === 1\n ? ''\n : this.paginationService.currentPage,\n type: 'all_except_executive',\n q: !this.paginationService.searchValue\n ? ''\n : this.paginationService.searchValue,\n });\n }\n }\n\n getRCList() {\n this.createDashboardService.getResponsibilityCenterList().subscribe(\n (res: any) => {\n this.responsibilityCentersList = res;\n this.rcListLoaded = true;\n },\n (err: any) => {\n console.error(err);\n this.rcListLoaded = true;\n }\n );\n }\n /**\n * #### Description\n *\n * Returns the unique array of object based on unique key\n * @param array\n * @param key\n * @returns\n */\n uniqueByProp(array: any, key: string) {\n return Array.from(\n array\n .reduce(\n (acc: any, item: any) => (\n item && item[key] && acc.set(item[key], item), acc\n ),\n new Map()\n )\n .values()\n );\n }\n\n saveSelectedList(type: string, selectedItems: any) {\n switch (type) {\n case 'rc':\n this.dashboardForm.selectedResponsibilityCenters = this.setList(\n this.responsibilityCentersList,\n selectedItems,\n 'item_id'\n );\n if (this.dashboardForm.selectedResponsibilityCenters.length == 0) {\n if (this.dashboardForm.selectedResponsibilityCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'COMPLIANCE'\n );\n } else if (this.dashboardForm.selectedRiskCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'RISK'\n );\n }\n }\n break;\n case 'whoCanView':\n this.dashboardForm.selectedViewers = this.uniqueByProp(\n selectedItems?.users,\n 'member_id'\n );\n this.listDetails.selectedUsersList = this.dashboardForm.selectedViewers;\n this.dashboardForm.selectedGroup = this.uniqueByProp(\n selectedItems?.groups,\n 'group_id'\n );\n this.listDetails.selectedGroupList = this.dashboardForm.selectedGroup;\n break;\n case 'responsibilityCategories':\n this.dashboardForm.selectedResponsibilityCategories = selectedItems;\n if (this.dashboardForm.selectedResponsibilityCenters.length == 0) {\n if (this.dashboardForm.selectedResponsibilityCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'COMPLIANCE'\n );\n } else if (this.dashboardForm.selectedRiskCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'RISK'\n );\n }\n }\n break;\n case 'riskCategory':\n this.dashboardForm.selectedRiskCategories = selectedItems;\n if (this.dashboardForm.selectedResponsibilityCenters.length == 0) {\n if (this.dashboardForm.selectedResponsibilityCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'COMPLIANCE'\n );\n } else if (this.dashboardForm.selectedRiskCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'RISK'\n );\n }\n }\n break;\n }\n this.activateSelector('', false);\n }\n\n remove(type: any, event: any, removeIndex?: any) {\n switch (type) {\n case 'rc':\n const rcIndex =\n this.dashboardForm.selectedResponsibilityCenters.findIndex(\n (rc: any) => rc.rc_id == event.rc_id\n );\n if (rcIndex !== -1) {\n const parentRc: any =\n this.dashboardForm.selectedResponsibilityCenters[rcIndex];\n this.dashboardForm.selectedResponsibilityCenters.splice(rcIndex, 1);\n\n if (parentRc?.item_child_ids?.length > 0) {\n parentRc.item_child_ids.forEach((childElement: any) => {\n const removeIndex =\n this.dashboardForm.selectedResponsibilityCenters.findIndex(\n (removeElement: any) => removeElement.rc_id == childElement\n );\n this.dashboardForm.selectedResponsibilityCenters.splice(\n removeIndex,\n 1\n );\n });\n }\n }\n if (this.dashboardForm.selectedResponsibilityCenters.length == 0) {\n if (this.dashboardForm.selectedResponsibilityCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'COMPLIANCE'\n );\n } else if (this.dashboardForm.selectedRiskCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'RISK'\n );\n }\n }\n break;\n\n case 'whoCanView':\n const reviewerIndex = this.dashboardForm.selectedViewers.findIndex(\n (viewer: any) => viewer.member_id == event.member_id\n );\n this.dashboardForm.selectedViewers.splice(reviewerIndex, 1);\n break;\n case 'whoCanViewGroup':\n const groups = this.dashboardForm.selectedGroup.findIndex(\n (ele: any) => ele?.group_id == event?.group_id\n );\n this.dashboardForm.selectedGroup.splice(groups, 1);\n break;\n case 'responsibilityCategories':\n const CCcategoryIndex =\n this.dashboardForm.selectedResponsibilityCategories.findIndex(\n (CCcategory: any) => CCcategory.category_id == event.category_id\n );\n this.dashboardForm.selectedResponsibilityCategories.splice(\n CCcategoryIndex,\n 1\n );\n if (this.dashboardForm.selectedResponsibilityCenters.length == 0) {\n if (this.dashboardForm.selectedResponsibilityCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'COMPLIANCE'\n );\n } else if (this.dashboardForm.selectedRiskCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'RISK'\n );\n }\n }\n break;\n\n case 'riskCategory':\n const riskCategoryIndex =\n this.dashboardForm.selectedRiskCategories.findIndex(\n (riskCategory: any) => riskCategory.category_id == event.category_id\n );\n if (riskCategoryIndex !== -1) {\n const parent: any =\n this.dashboardForm.selectedRiskCategories[riskCategoryIndex];\n this.dashboardForm.selectedRiskCategories.splice(\n riskCategoryIndex,\n 1\n );\n if (parent?.child_cat_ids?.length > 0) {\n parent.child_cat_ids.forEach((childElement: any) => {\n const removeIndex =\n this.dashboardForm.selectedRiskCategories.findIndex(\n (removeElement: any) =>\n removeElement.category_id == childElement\n );\n this.dashboardForm.selectedRiskCategories.splice(removeIndex, 1);\n });\n }\n }\n this.dashboardForm.selectedRiskCategories.splice(riskCategoryIndex, 1);\n if (this.dashboardForm.selectedResponsibilityCenters.length == 0) {\n if (this.dashboardForm.selectedResponsibilityCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'COMPLIANCE'\n );\n } else if (this.dashboardForm.selectedRiskCategories.length == 0) {\n this.selectedWidgets = this.selectedWidgets.filter(\n (element: any) => element.module_name != 'RISK'\n );\n }\n }\n break;\n }\n }\n\n setList(list: any[], ids: any[], key: string) {\n const data: any = [];\n\n ids.forEach((element: any) => {\n const index = list.findIndex(\n (listElement: any) => listElement[key] == element\n );\n if (index !== -1) {\n data.push(list[index]);\n }\n });\n return data;\n }\n submitted = false;\n\n /**\n * Returns id's from a particular list elements\n * @param list actual selected list\n * @param key contains key to extract id from the list\n */\n returnIds(list: any[], key: string) {\n return list?.map((ele) => {\n if (ele[key]) {\n return ele[key];\n }\n });\n }\n\n /**\n * Validates the data submitted on create dashboard form\n */\n validateDashboard() {\n setTimeout(() => {\n this.submitted = true;\n }, 100);\n const event = this.dashboardForm.dashboardName;\n const re = /&nbsp;|<br>/g;\n this.dashboardForm.dashboardName = event.replace(re, '').trim();\n const description = this.dashboardForm.dashboardDescriptionText;\n this.dashboardForm.dashboardDescriptionText = description\n .replace(re, '')\n .trim();\n if (\n !this.dashboardForm.dashboardName ||\n this.dashboardForm.dashboardName.trim() == '' ||\n this.dashboardForm.dashboardName.length > 30 ||\n this.textCount.transform(this.dashboardForm?.dashboardDescriptionText) >\n 250 ||\n (this.dashboardForm?.selectedFromDate &&\n !this.dashboardForm?.selectedToDate) ||\n (this.dashboardForm.selectedResponsibilityCenters.length == 0 &&\n this.dashboardForm.selectedResponsibilityCategories.length == 0 &&\n this.dashboardForm.selectedRiskCategories.length == 0)\n ) {\n return false;\n } else {\n return true;\n }\n }\n\n /**\n * Makes an api call to create a policy\n * @param dashboard contains dashboardForm data\n */\n submitDashboard() {\n this.submitted = false;\n const valid = this.validateDashboard();\n if (!valid) {\n return false;\n }\n this.vLoader = true;\n const dashboard = this.dashboardForm;\n const payload: any = {\n dashboard_name: dashboard.dashboardName,\n description: [\n {\n content: dashboard.dashboardDescriptionText,\n attachments: [],\n },\n ],\n visible_to_users: this.returnIds(dashboard.selectedViewers, 'member_id'),\n visible_to_groups: this.returnIds(dashboard.selectedGroup, 'group_id'),\n responsibility_center: this.returnIds(\n dashboard.selectedResponsibilityCenters,\n 'item_id'\n ),\n responsibility_category: this.returnIds(\n dashboard.selectedResponsibilityCategories,\n 'category_id'\n ),\n risk_category: this.returnIds(\n dashboard.selectedRiskCategories,\n 'category_id'\n ),\n display_criteria:\n dashboard.displayCriteria === 'and'\n ? 'BOTH_RC_AND_CATEGORY'\n : 'RC_OR_CATEGORY',\n timeframe: {\n start_date: dashboard.selectedFromDate\n ? this.getDateFormate(dashboard?.selectedFromDate)\n : '',\n end_date: dashboard.selectedToDate\n ? this.getDateFormate(dashboard?.selectedToDate)\n : '',\n },\n email_summary: this.setFrequency('', 'export'), //setFormat\n widget_details: dashboard.configureWidget,\n };\n if (this.mode == 'CREATE') {\n this.createDashboardService.submitDashboard(payload).subscribe(\n (res: any) => {\n this.vLoader = false;\n // this.snackBar.show('The dashboard has been created.','info');\n this.isSmiley = true;\n this.smileyMessage = 'The dashboard has been created.';\n setTimeout(() => {\n this.isSmiley = false;\n this.close.emit({ mode: 'created', id: res._id });\n }, 3000);\n },\n (err) => {\n if (err.status === 409) {\n this.snackBar.show(\n 'A dashboard with this name already exists. Specify a different name for the dashboard.',\n 'alert'\n );\n this.vLoader = false;\n } else {\n console.error(err);\n this.vLoader = false;\n this.snackBar.show(\n 'OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?',\n 'alert'\n );\n }\n }\n );\n }\n if (this.mode === 'EDIT') {\n payload.widget_update_flag = true;\n this.createDashboardService\n .updateDashboard(this.dashboardId, payload)\n .subscribe({\n next: (res: any) => {\n this.vLoader = false;\n // this.snackBar.show('The dashboard has been updated','info');\n this.isSmiley = true;\n this.smileyMessage = 'The dashboard has been updated';\n setTimeout(() => {\n this.isSmiley = false;\n this.close.emit({ mode: 'updated' });\n }, 3000);\n },\n error: (error: any) => {\n console.error(error);\n this.vLoader = false;\n this.snackBar.show(\n 'OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?',\n 'alert'\n );\n },\n });\n }\n }\n\n editDashboard() {\n if (this.dashboardId) {\n this.createDashboardService.fetchDashboard(this.dashboardId).subscribe(\n (res: any) => {\n const data = res;\n this.listDetails.nonRemovableUsersList = [res.created_by];\n data.visible_to_groups =\n data?.visible_to_groups && data.visible_to_groups.length\n ? data.visible_to_groups\n : [];\n this.populateDashboardForm(data);\n },\n (error) => {\n console.error(error);\n }\n );\n }\n }\n\n populateDashboardForm(data: any) {\n try {\n (this.dashboardForm.dashboardName = data?.dashboard_name),\n (this.dashboardForm.dashboardDescriptionText =\n data?.description[0]?.content ?? ''),\n (this.dashboardForm.selectedViewers = this.setList(\n this.usersList,\n data?.visible_to_users,\n 'member_id'\n ));\n this.listDetails.selectedUsersList = this.dashboardForm.selectedViewers;\n data.visible_to_groups =\n data?.visible_to_groups && data?.visible_to_groups.length\n ? data?.visible_to_groups\n : [];\n this.dashboardForm.selectedGroup = this.setList(\n this.groupList,\n data?.visible_to_groups ?? [],\n 'group_id'\n );\n this.listDetails.selectedGroupList = this.dashboardForm.selectedGroup;\n this.dashboardForm.selectedResponsibilityCenters = this.setList(\n this.responsibilityCentersList,\n data?.responsibility_center,\n 'item_id'\n );\n this.dashboardForm.selectedResponsibilityCategories = this.setList(\n this.allComplianceCategories,\n data?.responsibility_category,\n 'category_id'\n );\n this.dashboardForm.selectedRiskCategories = this.setList(\n this.allRiskCategories,\n data?.risk_category,\n 'category_id'\n );\n this.dashboardForm.displayCriteria =\n data?.display_criteria === 'BOTH_RC_AND_CATEGORY' ? 'and' : 'or';\n this.dashboardForm.selectedFromDate = data?.timeframe?.start_date\n ? new Date(data?.timeframe?.start_date)\n : undefined;\n this.dashboardForm.selectedToDate = data?.timeframe?.end_date\n ? new Date(data?.timeframe?.end_date)\n : undefined;\n this.vLoader = false;\n this.dashboardForm.configureWidget = data.widget_details;\n this.selectedWidgets =\n data.widget_details.length > 0 ? [...new Set(data.widget_details)] : [];\n this.displayedWidgets =\n data.all_widgets.length > 0 ? [...new Set(data.all_widgets)] : [];\n this.setFrequency(data?.email_summary, 'import');\n let minToDate = this.setToDate(data?.timeframe?.start_date);\n this.toDatePickerConfig = { min: minToDate };\n this.hideToDate = true;\n setTimeout(() => {\n this.hideToDate = false;\n }, 20);\n } catch (error) {\n console.error('populate dashboard error =>', error);\n }\n }\n\n setFrequency(event: any, mode: any) {\n if (mode === 'export') {\n switch (this.dashboardForm.selectedFrequencyType) {\n case 'weekly':\n const weeklyValueData = this.dashboardForm?.selectedFrequencies?.map(\n (ele: any) => Number(ele) + 1\n );\n const weeklyValue = weeklyValueData?.join();\n return '2~' + weeklyValue + '~0~0';\n case 'monthly':\n const monthlyValueData = this.dashboardForm?.selectedFrequencies?.map(\n (ele: any) => Number(ele) + 1\n );\n const monthlyValue = monthlyValueData?.join();\n return (\n '3~' + this.dashboardForm?.frequencyDate + '~' + monthlyValue + '~0'\n );\n case 'quarterly':\n const quarterlyValueData =\n Number(this.dashboardForm.selectedFrequencies) + 1;\n return (\n '7~' +\n this.dashboardForm.frequencyDate +\n '~' +\n quarterlyValueData +\n '~0'\n );\n }\n }\n if (mode === 'import') {\n const val = event.split('~');\n switch (val[0]) {\n case '2':\n {\n let stringVal = 'Every ';\n this.dashboardForm.selectedFrequencyType = 'weekly';\n this.dashboardForm.selectedFrequencies = val[1]\n ?.split(',')\n ?.map((element: any) => Number(element) - 1);\n this.dashboardForm.selectedFrequencies?.forEach(\n (dayIndex: any, index: any) => {\n stringVal +=\n index === 0\n ? this.dayNames[dayIndex]\n : ', ' + this.dayNames[dayIndex];\n }\n );\n this.dashboardForm.frequencyMessage = stringVal;\n }\n\n break;\n case '3':\n {\n let stringVal = 'every ';\n this.dashboardForm.selectedFrequencyType = 'monthly';\n this.dashboardForm.frequencyDate = val[1];\n this.dashboardForm.selectedFrequencies = val[2]\n ?.split(',')\n ?.map((element: any) => Number(element) - 1);\n this.dashboardForm.selectedFrequencies.forEach(\n (monthIndex: any, index: any) => {\n stringVal +=\n index === 0\n ? this.monthNames[monthIndex]\n : ', ' + this.monthNames[monthIndex];\n }\n );\n let monthDateName;\n if (this.dashboardForm.frequencyDate == '1') {\n monthDateName = '1st';\n } else if (this.dashboardForm.frequencyDate == '2') {\n monthDateName = '2nd';\n } else if (this.dashboardForm.frequencyDate == '3') {\n monthDateName = '3rd';\n } else {\n monthDateName = this.dashboardForm.frequencyDate + 'th';\n }\n this.dashboardForm.frequencyMessage =\n monthDateName + ' of ' + stringVal;\n }\n break;\n case '7':\n {\n let stringVal = 'every ';\n this.dashboardForm.selectedFrequencyType = 'quarterly';\n this.dashboardForm.frequencyDate = val[1];\n this.dashboardForm.selectedFrequencies =\n Number(val[2].split(',')[0]) - 1;\n stringVal += this.quarters[this.dashboardForm.selectedFrequencies];\n let monthDateName;\n if (this.dashboardForm.frequencyDate == '1') {\n monthDateName = '1st';\n } else if (this.dashboardForm.frequencyDate == '2') {\n monthDateName = '2nd';\n } else if (this.dashboardForm.frequencyDate == '3') {\n monthDateName = '3rd';\n } else {\n monthDateName = this.dashboardForm.frequencyDate + 'th';\n }\n this.dashboardForm.frequencyMessage =\n monthDateName + ' of ' + stringVal;\n }\n break;\n }\n }\n }\n\n ngAfterViewChecked() {\n //your code to update the model\n this.cdr.detectChanges();\n }\n\n setPermission(roleActions: any) {\n let ifExistRisk = roleActions?.find((el: any) => el.moduleName == 'risk');\n ifExistRisk?.subModule?.forEach((module: any) => {\n module?.permissions?.forEach((permission: any) => {\n switch (permission?.code) {\n case 'RRMR': {\n if (permission?.defaultPermission == 1 || permission?.enable == 1) {\n this.isManageRisk = true;\n }\n break;\n }\n }\n });\n });\n }\n\n getElementClassName(el: any): string {\n if (!el) return '';\n if (typeof el?.className === 'string') return el?.className;\n if (typeof el?.className === 'object' && 'baseVal' in el?.className) {\n return el?.className?.baseVal;\n }\n return '';\n }\n\n @HostListener('document:click', ['$event'])\n documentClick(event: any): void {\n const targetElement = event?.target as Element;\n const fromDateInputElement =\n document.getElementById(this.openedDatePicker.toLowerCase()) || null;\n const datePickerCalendarContainer = document.getElementsByClassName(\n 'dp-day-calendar-container'\n )[0];\n const monthYearElement = document.querySelector(\n '.dp-month-calendar-container'\n );\n const isNotMonthYearElement = !monthYearElement?.contains(targetElement);\n\n const openedElement =\n this.openedDatePicker === 'FROM_DATE'\n ? this.fromDatePickerPopup\n : this.toDatePickerPopup;\n const isOutsideFromDateInput =\n !openedElement?.nativeElement?.contains(targetElement);\n const isNotFromDateElement = event?.target !== fromDateInputElement;\n const isNotInsideCalendar =\n !datePickerCalendarContainer?.contains(targetElement);\n const selectedDatePicker =\n this.openedDatePicker === 'FROM_DATE'\n ? this.fromDatePicker\n : this.toDatePicker;\n\n const className = this.getElementClassName(targetElement);\n const isNotCalendarMonth = !className?.includes('dp-calendar-month');\n\n if (\n isOutsideFromDateInput &&\n isNotFromDateElement &&\n isNotInsideCalendar &&\n isNotCalendarMonth &&\n isNotMonthYearElement &&\n datePickerCalendarContainer\n ) {\n this.documentClickListener(\n event.target,\n openedElement,\n selectedDatePicker\n );\n }\n }\n\n documentClickListener(\n target: any,\n openedElements: ElementRef,\n selectedDatePicker: any\n ): void {\n if (\n !openedElements?.nativeElement?.contains(target) &&\n selectedDatePicker?.areCalendarsShown\n ) {\n selectedDatePicker?.api?.close();\n this.datePickerOverlay = false;\n }\n }\n}\n","<app-snack-bar></app-snack-bar>\n<div class=\"create-dashboard\" *ngIf=\"!openConfigureWidgets\">\n <div\n class=\"create-dashboard-container vx-d-flex vx-justify-end\"\n [class.animate-slideInRight]=\"animation\"\n >\n <div\n class=\"more-option\"\n *ngIf=\"activeSelector && activeSelector !== 'name'\"\n >\n <app-user-list\n *ngIf=\"activeSelector === 'whoCanView'\"\n (saveSelectedUsers)=\"saveSelectedList('whoCanView', $event)\"\n (closeUserList)=\"activateSelector('', false)\"\n [totalPages]=\"totalPages\"\n [totalList]=\"totalList\"\n [listDetails]=\"listDetails\"\n [totalgroupscount]=\"totalgroups\"\n [feature]=\"feature\"\n ></app-user-list>\n <app-responsibility-center\n *ngIf=\"activeSelector === 'rcList'\"\n [responsibilityCentersList]=\"responsibilityCentersList\"\n [radioSelection]=\"false\"\n [selectedResponsibilityCenters]=\"\n dashboardForm.selectedResponsibilityCenters\n \"\n [rcIdKey]=\"'item_id'\"\n (saveSelectedList)=\"saveSelectedList('rc', $event)\"\n (closeRcList)=\"activateSelector('', false)\"\n >\n </app-responsibility-center>\n <app-categories\n *ngIf=\"activeSelector === 'responsibilityCategories'\"\n [categoryList]=\"responsibilityCategoriesTree\"\n [allCategories]=\"allComplianceCategories\"\n [categoryIdKey]=\"'category_id'\"\n [selectedCategories]=\"dashboardForm.selectedResponsibilityCategories\"\n (saveSelectedCategory)=\"\n saveSelectedList('responsibilityCategories', $event)\n \"\n (closeCategoriesList)=\"activateSelector('', false)\"\n ></app-categories>\n <app-risk-categories\n *ngIf=\"activeSelector === 'riskCategories'\"\n [categoryList]=\"riskCategoryList\"\n [allCategories]=\"allRiskCategories\"\n [categoryIdKey]=\"'category_id'\"\n [selectedCategories]=\"dashboardForm.selectedRiskCategories\"\n (saveSelectedCategory)=\"saveSelectedList('riskCategory', $event)\"\n (closeCategoriesList)=\"activateSelector('', false)\"\n ></app-risk-categories>\n\n <app-frequency\n *ngIf=\"activeSelector === 'frequency'\"\n (closeFrequencyPopup)=\"activateSelector('', false)\"\n (saveFrequency)=\"saveFrequency($event)\"\n [savedFrequencyTab]=\"dashboardForm.selectedFrequencyType\"\n [selectedDate]=\"dashboardForm.frequencyDate\"\n [savedFrequencies]=\"dashboardForm.selectedFrequencies\"\n >\n </app-frequency>\n </div>\n <div\n class=\"vx-dialog-container side-dialog\"\n [class.tablet-width]=\"activeSelector && activeSelector !== 'name'\"\n >\n <app-loader-inline *ngIf=\"vLoader\"></app-loader-inline>\n\n <div class=\"form-group\" [class.disabled]=\"disabled\">\n <div\n class=\"vx-dialog-body-container\"\n (scroll)=\"animateImage()\"\n [class.hidden-scroll]=\"popoverService.stopScroll\"\n >\n <!-- Dashboard Name -->\n <div\n class=\"form-group-row\"\n [class.disabled]=\"activeSelector && activeSelector !== 'name'\"\n >\n <div class=\"image\">\n <img\n [ngSrc]=\"ASSETS.dashBoardIcon\"\n *ngIf=\"\n !dashboardForm.dashboardName || activeSelector === 'name'\n \"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n <svg\n class=\"checkIcon\"\n *ngIf=\"dashboardForm.dashboardName && activeSelector !== 'name'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group vx-d-block vx-mb-4\">\n <label\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-d-block vx-tt-uppercase vx-mb-2 vx-w-100 vx-lh-4\"\n >Dashboard Name\n <span class=\"require vx-txt-red vx-fs-16 vx-fw-400\"\n >*</span\n ></label\n >\n <div class=\"vx-input-group\">\n <input\n class=\"textField\"\n placeholder=\"Add dashboard name (Max limit: 30 characters).\"\n [(ngModel)]=\"dashboardForm.dashboardName\"\n (keydown)=\"activeSelector = 'name'\"\n (focusin)=\"activateSelector('name', true)\"\n (focusout)=\"activateSelector('name', false)\"\n />\n\n <span\n class=\"counter\"\n *ngIf=\"dashboardForm?.dashboardName?.length > 0\"\n >{{ 30 - dashboardForm.dashboardName.length }}</span\n >\n </div>\n\n <p\n class=\"vx-txt-error\"\n [appScrollInView]=\"true\"\n *ngIf=\"\n submitted &&\n (dashboardForm?.dashboardName?.length > 30 ||\n !dashboardForm?.dashboardName)\n \"\n >\n {{\n dashboardForm.dashboardName.length > 30\n ? \"You have exceeded the maximum character limit of 30 characters.\"\n : \"Please enter a name for this Dashboard.\"\n }}\n </p>\n\n <div class=\"vx-input-group vx-mt-2\">\n <vcomply-editor\n [editorConfig]=\"dashboardDescription\"\n [(ngModel)]=\"dashboardForm.dashboardDescriptionText\"\n ></vcomply-editor>\n <span\n class=\"counter\"\n *ngIf=\"dashboardForm?.dashboardDescriptionText?.length > 0\"\n >{{\n 250 -\n (dashboardForm?.dashboardDescriptionText | textCount)\n }}</span\n >\n </div>\n\n <p\n class=\"vx-txt-error\"\n [appScrollInView]=\"true\"\n *ngIf=\"\n submitted &&\n (dashboardForm?.dashboardDescriptionText | textCount) > 250\n \"\n >\n You have exceeded the maximum character limit of 250\n characters.\n </p>\n </div>\n </div>\n </div>\n\n <!-- Who -->\n <div\n class=\"form-group-row\"\n [class.active]=\"activeSelector === 'whoCanView'\"\n [class.disabled]=\"\n activeSelector &&\n activeSelector !== 'whoCanView' &&\n activeSelector !== 'name'\n \"\n >\n <div class=\"image\">\n <img\n [ngSrc]=\"ASSETS.dashBoardUsersIcon\"\n *ngIf=\"\n dashboardForm?.selectedViewers?.length == 0 ||\n activeSelector === 'whoCanView'\n \"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n <svg\n class=\"checkIcon\"\n *ngIf=\"\n dashboardForm?.selectedViewers?.length > 0 &&\n activeSelector !== 'whoCanView'\n \"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group vx-d-block vx-mb-4\">\n <label\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-d-block vx-tt-uppercase vx-mb-2 vx-w-100 vx-lh-4\"\n >Who can view this dashboard?<span\n class=\"require vx-txt-red vx-fs-16 vx-fw-400\"\n >*</span\n ></label\n >\n <div\n *ngIf=\"dashboardForm?.selectedViewers?.length == 0\"\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('whoCanView', true)\"\n >\n <div\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\n >\n Who can view this dashboard?\n </div>\n </div>\n\n <div\n *ngIf=\"dashboardForm?.selectedViewers?.length > 0\"\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\n >\n <ng-container *ngIf=\"!groupsEnabled\" id=\"onlyuserslist\">\n <div\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\n *ngFor=\"\n let user of dashboardForm?.selectedViewers?.slice(0, 1)\n \"\n >\n <i\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\n *ngIf=\"\n !listDetails.nonRemovableUsersList.includes(\n user.member_id\n )\n \"\n (click)=\"remove('whoCanView', user)\"\n >&#xe9ae;</i\n >\n <span\n class=\"chipName vx-fs-11 vx-label-txt\"\n [arTooltip]=\"user.member_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >{{ user.member_name }}</span\n >\n <button\n *ngIf=\"\n dashboardForm?.selectedViewers?.length > 1 &&\n !groupsEnabled\n \"\n class=\"countBtn greenBg vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"userList.popover()\"\n placement=\"left\"\n >\n +{{ dashboardForm?.selectedViewers?.slice(1).length }}\n </button>\n </div>\n <app-popover #userList [dontCloseonClick]=\"true\">\n <div class=\"action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let user of dashboardForm?.selectedViewers\n | slice : 1;\n let j = index\n \"\n >\n <div class=\"avatar-card\">\n <span\n class=\"value\"\n [arTooltip]=\"user?.member_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n <i\n class=\"icons cross-icon\"\n *ngIf=\"\n !listDetails.nonRemovableUsersList.includes(\n user.member_id\n ) && !groupsEnabled\n \"\n (click)=\"remove('whoCanView', user)\"\n >&#xe90d;</i\n >\n {{ user?.member_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </ng-container>\n\n <div *ngIf=\"groupsEnabled\" class=\"vx-d-flex vx-align-center\">\n <div\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\n >\n <span class=\"chipName vx-fs-11 vx-label-txt\"\n >USER(S)</span\n >\n <button\n class=\"countBtn greenBg vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"userCount.popover()\"\n placement=\"left\"\n >\n {{ dashboardForm?.selectedViewers?.length }}\n </button>\n </div>\n <span\n class=\"vx-fs-12 vx-paragraph-txt vx-ml-2 vx-mr-2\"\n *ngIf=\"\n dashboardForm?.selectedGroup?.length &&\n dashboardForm?.selectedViewers?.length\n \"\n >&</span\n >\n <div\n *ngIf=\"dashboardForm?.selectedGroup?.length\"\n id=\"usersandgroups\"\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\n >\n <span class=\"chipName vx-fs-11 vx-label-txt\"\n >USER GROUP(S)</span\n >\n <button\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"groupCount.popover()\"\n placement=\"right\"\n >\n {{ dashboardForm?.selectedGroup?.length }}\n </button>\n </div>\n\n <app-popover #userCount [dontCloseonClick]=\"true\">\n <div class=\"action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"let data of dashboardForm?.selectedViewers\"\n >\n <div class=\"avatar-card\">\n <span\n class=\"value\"\n [arTooltip]=\"data.member_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n <i\n class=\"icons cross-icon\"\n *ngIf=\"\n !listDetails.nonRemovableUsersList.includes(\n data.member_id\n )\n \"\n (click)=\"remove('whoCanView', data)\"\n >&#xe90d;</i\n >\n {{ data.member_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n\n <app-popover #groupCount [dontCloseonClick]=\"true\">\n <div class=\"action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let data of dashboardForm?.selectedGroup\">\n <div class=\"avatar-card\">\n <span\n class=\"value\"\n [arTooltip]=\"data.group_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n <i\n class=\"icons cross-icon\"\n (click)=\"remove('whoCanViewGroup', data)\"\n >&#xe90d;</i\n >\n {{ data.group_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n\n <button\n *ngIf=\"activeSelector !== 'whoCanView'\"\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('whoCanView', true)\"\n >\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Responsibility Center -->\n <div\n class=\"form-group-row\"\n [class.active]=\"activeSelector === 'rcList'\"\n [class.disabled]=\"\n activeSelector &&\n activeSelector !== 'rcList' &&\n activeSelector !== 'name'\n \"\n >\n <div class=\"image\">\n <img\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCenters?.length == 0 ||\n activeSelector === 'rcList'\n \"\n [ngSrc]=\"ASSETS.dashBoardRcIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n <svg\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCenters?.length > 0 &&\n activeSelector !== 'rcList'\n \"\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group vx-d-block vx-mb-4\">\n <label\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-d-block vx-tt-uppercase vx-mb-2 vx-w-100 vx-lh-4\"\n >RESPONSIBILITY CENTER(S)</label\n >\n <div\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCenters?.length == 0\n \"\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('rcList', true)\"\n [class.error]=\"\n submitted &&\n dashboardForm?.selectedResponsibilityCenters?.length == 0 &&\n dashboardForm?.selectedResponsibilityCategories?.length ==\n 0 &&\n dashboardForm?.selectedRiskCategories?.length == 0\n \"\n >\n <div\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\n >\n Select the Responsibility Center(s) that you would like<br />displayed\n in the Dashboard, if any.\n </div>\n </div>\n\n <div\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCenters?.length > 0\n \"\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\n >\n <div\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\n *ngFor=\"\n let rc of dashboardForm?.selectedResponsibilityCenters?.slice(\n 0,\n 1\n )\n \"\n >\n <i\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\n (click)=\"remove('rc', rc)\"\n >&#xe9ae;</i\n >\n <span\n class=\"chipName vx-fs-11 vx-label-txt\"\n [arTooltip]=\"rc.item_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >{{ rc.item_name }}</span\n >\n <button\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCenters?.length > 1\n \"\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"rcList.popover()\"\n placement=\"left\"\n >\n +{{\n dashboardForm?.selectedResponsibilityCenters?.slice(1)\n .length\n }}\n </button>\n\n <app-popover #rcList [dontCloseonClick]=\"true\">\n <div class=\"action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let rc of dashboardForm?.selectedResponsibilityCenters\n | slice : 1;\n let j = index\n \"\n >\n <div class=\"avatar-card\">\n <span\n class=\"value\"\n [arTooltip]=\"rc?.item_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n <i\n class=\"icons cross-icon\"\n (click)=\"remove('rc', rc)\"\n >&#xe90d;</i\n >\n {{ rc?.item_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n\n <button\n *ngIf=\"activeSelector !== 'rcList'\"\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('rcList', true)\"\n >\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Program -->\n <!-- <div\n class=\"form-group-row\"\n [class.active]=\"activeSelector === 'responsibilityCategories'\"\n [class.disabled]=\"\n activeSelector &&\n activeSelector !== 'responsibilityCategories' &&\n activeSelector !== 'name'\n \"\n >\n <div class=\"image\">\n <img\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCategories?.length ==\n 0 || activeSelector === 'responsibilityCategories'\n \"\n [ngSrc]=\"ASSETS.dashBoardProgramIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n <svg\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCategories?.length > 0 &&\n activeSelector !== 'responsibilityCategories'\n \"\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group vx-d-block vx-mb-4\">\n <label\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-d-block vx-tt-uppercase vx-mb-2 vx-w-100 vx-lh-4\"\n >PROGRAM</label\n >\n <div\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCategories?.length == 0\n \"\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('responsibilityCategories', true)\"\n [class.error]=\"\n submitted &&\n dashboardForm?.selectedResponsibilityCenters?.length == 0 &&\n dashboardForm?.selectedResponsibilityCategories?.length ==\n 0 &&\n dashboardForm?.selectedRiskCategories?.length == 0\n \"\n >\n <div\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\n >\n Select the Program(s) that you would like displayed in\n the<br />Dashboard, if any.\n </div>\n </div>\n\n <div\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCategories?.length > 0\n \"\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\n >\n <div\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\n *ngFor=\"\n let rCategory of dashboardForm?.selectedResponsibilityCategories?.slice(\n 0,\n 1\n )\n \"\n >\n <i\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\n (click)=\"remove('responsibilityCategories', rCategory)\"\n >&#xe9ae;</i\n >\n <span\n class=\"chipName vx-fs-11 vx-label-txt\"\n [arTooltip]=\"rCategory.item_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >{{ rCategory.item_name }}</span\n >\n <button\n *ngIf=\"\n dashboardForm?.selectedResponsibilityCategories\n ?.length > 1\n \"\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"rCategoryList.popover()\"\n placement=\"left\"\n >\n +{{\n dashboardForm?.selectedResponsibilityCategories?.slice(\n 1\n ).length\n }}\n </button>\n\n <app-popover #rCategoryList [dontCloseonClick]=\"true\">\n <div class=\"action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let rCategory of dashboardForm?.selectedResponsibilityCategories\n | slice : 1;\n let j = index\n \"\n >\n <div class=\"avatar-card\">\n <span\n class=\"value\"\n [arTooltip]=\"rCategory?.item_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n <i\n class=\"icons cross-icon\"\n (click)=\"\n remove(\n 'responsibilityCategories',\n rCategory\n )\n \"\n >&#xe90d;</i\n >\n {{ rCategory?.item_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n\n <button\n *ngIf=\"activeSelector !== 'responsibilityCategories'\"\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('responsibilityCategories', true)\"\n >\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\n </button>\n </div>\n </div>\n </div>\n </div> -->\n\n <!-- Risk Category -->\n <div\n class=\"form-group-row\"\n [class.active]=\"activeSelector === 'riskCategories'\"\n *ngIf=\"showRiskCategory && isManageRisk\"\n [class.disabled]=\"\n activeSelector &&\n activeSelector !== 'riskCategories' &&\n activeSelector !== 'name'\n \"\n >\n <div class=\"image\">\n <img\n *ngIf=\"\n dashboardForm?.selectedRiskCategories?.length == 0 ||\n activeSelector === 'riskCategories'\n \"\n [ngSrc]=\"ASSETS.dashBoardRiskIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n <svg\n *ngIf=\"\n dashboardForm?.selectedRiskCategories?.length > 0 &&\n activeSelector !== 'riskCategories'\n \"\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"form\" *ngIf=\"isManageRisk\">\n <div class=\"vx-form-group vx-d-block vx-mb-4\">\n <label\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-d-block vx-tt-uppercase vx-mb-2 vx-w-100 vx-lh-4\"\n >RISK CATEGORIES</label\n >\n <div\n *ngIf=\"dashboardForm?.selectedRiskCategories?.length == 0\"\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('riskCategories', true)\"\n [class.error]=\"\n submitted &&\n dashboardForm?.selectedResponsibilityCenters?.length == 0 &&\n dashboardForm?.selectedResponsibilityCategories?.length ==\n 0 &&\n dashboardForm?.selectedRiskCategories?.length == 0\n \"\n >\n <div\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\n >\n Select the Risk Categories that you would like displayed<br />in\n the Dashboard, if any.\n </div>\n </div>\n\n <div\n *ngIf=\"dashboardForm?.selectedRiskCategories?.length > 0\"\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\n >\n <div\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\"\n *ngFor=\"\n let riskCategory of dashboardForm?.selectedRiskCategories?.slice(\n 0,\n 1\n )\n \"\n >\n <i\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\n (click)=\"remove('riskCategory', riskCategory)\"\n >&#xe9ae;</i\n >\n <span\n class=\"chipName vx-fs-11 vx-label-txt\"\n [arTooltip]=\"riskCategory.category_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >{{ riskCategory.category_name }}</span\n >\n <button\n *ngIf=\"dashboardForm?.selectedRiskCategories?.length > 1\"\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"riskList.popover()\"\n placement=\"left\"\n >\n +{{\n dashboardForm?.selectedRiskCategories?.slice(1).length\n }}\n </button>\n\n <app-popover #riskList [dontCloseonClick]=\"true\">\n <div class=\"action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let riskCategory of dashboardForm?.selectedRiskCategories\n | slice : 1;\n let j = index\n \"\n >\n <div class=\"avatar-card\">\n <span\n class=\"value\"\n [arTooltip]=\"riskCategory?.category_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n <i\n class=\"icons cross-icon\"\n (click)=\"remove('riskCategory', riskCategory)\"\n >&#xe90d;</i\n >\n {{ riskCategory?.category_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n\n <button\n *ngIf=\"activeSelector !== 'riskCategories'\"\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('riskCategories', true)\"\n >\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Display Criteria -->\n <div\n class=\"form-group-row\"\n [class.disabled]=\"activeSelector && activeSelector !== 'name'\"\n >\n <div class=\"image\">\n <img\n *ngIf=\"dashboardForm?.displayCriteria?.length == 0\"\n [ngSrc]=\"ASSETS.dashBoardUsersIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n <svg\n *ngIf=\"dashboardForm?.displayCriteria?.length > 0\"\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group vx-d-block vx-mb-4\">\n <label\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-d-block vx-tt-uppercase vx-mb-2 vx-w-100 vx-lh-4\"\n >DISPLAY CRITERIA</label\n >\n <div class=\"radio-group\" *ngIf=\"showCriteria\">\n <app-cs-radio\n [checked]=\"dashboardForm.displayCriteria == 'or'\"\n (checkedEvent)=\"dashboardForm.displayCriteria = 'or'\"\n >\n Those Items that have been assigned to either the selected\n Responsibility Center(s) or the selected\n Categories.</app-cs-radio\n >\n\n <app-cs-radio\n [checked]=\"dashboardForm.displayCriteria == 'and'\"\n (checkedEvent)=\"dashboardForm.displayCriteria = 'and'\"\n >\n Those Items that have been assigned to both the selected\n Responsibility Center(s) and the selected\n Categories.</app-cs-radio\n >\n </div>\n </div>\n </div>\n </div>\n\n <!-- Timeframe -->\n <div\n class=\"form-group-row\"\n [class.disabled]=\"activeSelector && activeSelector !== 'name'\"\n >\n <div class=\"image\">\n <img\n *ngIf=\"\n !dashboardForm?.selectedFromDate ||\n !dashboardForm?.selectedToDate\n \"\n [ngSrc]=\"ASSETS.dashBoardTimeFrameIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n <svg\n *ngIf=\"\n dashboardForm?.selectedFromDate &&\n dashboardForm?.selectedToDate\n \"\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group vx-d-block vx-mb-4\">\n <label\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-d-block vx-tt-uppercase vx-mb-2 vx-w-100 vx-lh-4\"\n >TIMEFRAME</label\n >\n <label class=\"vx-control-panel-sub-label\"\n >Select how long you would like the information selected to be\n displayed for. If no timeframe is selected, the information\n will be displayed permanently.</label\n >\n <div class=\"input-group vx-d-flex vx-justify-between\">\n <div class=\"date-select\">\n <i class=\"icons\">&#xe92d;</i>\n <input\n type=\"text\"\n id=\"from_date\"\n [value]=\"\n dashboardForm?.selectedFromDate | date : 'dd MMM yyyy'\n \"\n [placeholder]=\"'From'\"\n (click)=\"openFromDatePicker()\"\n readonly\n />\n <dp-date-picker\n #fromDatePicker\n [(ngModel)]=\"dashboardForm.selectedFromDate\"\n placeholder=\"Select Date\"\n (onSelect)=\"\n closeFromDatePicker(); datePickerOverlay = false\n \"\n [config]=\"fromDatePickerConfig\"\n ></dp-date-picker>\n <div\n class=\"overlay\"\n (click)=\"closeFromDatePicker()\"\n *ngIf=\"datePickerOverlay\"\n ></div>\n </div>\n <div\n class=\"date-select\"\n *ngIf=\"!hideToDate\"\n [class.disabled]=\"!dashboardForm?.selectedFromDate\"\n >\n <i class=\"icons\">&#xe92d;</i>\n <input\n type=\"text\"\n id=\"to_date\"\n [value]=\"\n dashboardForm?.selectedToDate | date : 'dd MMM yyyy'\n \"\n [placeholder]=\"'To'\"\n (click)=\"openToDatePicker()\"\n readonly\n />\n <dp-date-picker\n #toDatePicker\n [(ngModel)]=\"dashboardForm.selectedToDate\"\n placeholder=\"Select Date\"\n (onSelect)=\"\n closeToDatePicker(); datePickerOverlay = false\n \"\n [config]=\"toDatePickerConfig\"\n ></dp-date-picker>\n <div\n class=\"overlay\"\n (click)=\"closeToDatePicker()\"\n *ngIf=\"datePickerOverlay\"\n ></div>\n </div>\n </div>\n <p\n class=\"vx-txt-error\"\n [appScrollInView]=\"true\"\n *ngIf=\"\n submitted &&\n dashboardForm.selectedFromDate &&\n !dashboardForm.selectedToDate\n \"\n >\n Select a time-frame.\n </p>\n </div>\n </div>\n </div>\n\n <!-- Email Summary -->\n <div\n class=\"form-group-row\"\n [class.active]=\"activeSelector === 'frequency'\"\n [class.disabled]=\"\n activeSelector &&\n activeSelector !== 'frequency' &&\n activeSelector !== 'name'\n \"\n >\n <div class=\"image\">\n <img\n *ngIf=\"!dashboardForm.frequencyMessage\"\n [ngSrc]=\"ASSETS.dashBoardEmailSummariesIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n <svg\n *ngIf=\"dashboardForm.frequencyMessage\"\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group vx-d-block\">\n <label\n class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-d-block vx-tt-uppercase vx-mb-2 vx-w-100 vx-lh-4\"\n >Email Summaries</label\n >\n <label class=\"vx-control-panel-sub-label\"\n >If you would like to send a summary of this Dashboard, please\n select a frequency(By default VComply sends a weekly\n Summary).</label\n >\n <div\n *ngIf=\"!dashboardForm.frequencyMessage\"\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('frequency', true)\"\n >\n <div\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\n >\n Email Summaries\n </div>\n </div>\n\n <div\n *ngIf=\"dashboardForm.frequencyMessage\"\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\n >\n <div\n class=\"selectBoxText vx-fs-13 vx-paragraph-txt\"\n [arTooltip]=\"dashboardForm.frequencyMessage\"\n placement=\"bottom-left\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n [innerHTML]=\"dashboardForm.frequencyMessage\"\n ></div>\n\n <button\n *ngIf=\"\n dashboardForm.frequencyMessage &&\n activeSelector !== 'frequency'\n \"\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\n (click)=\"activateSelector('frequency', true)\"\n >\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"button-block\">\n <button\n class=\"vx-btn block primary\"\n [disabled]=\"activeSelector && activeSelector !== 'name'\"\n (click)=\"configureDashboard()\"\n >\n Next: Configure Widgets\n </button>\n </div>\n </div>\n\n <button\n class=\"close-dialog\"\n type=\"button\"\n [disabled]=\"activeSelector && activeSelector !== 'name'\"\n (click)=\"close.emit({ mode: 'discard' })\"\n [arTooltip]=\"'[Esc] to close'\"\n placement=\"left\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n [class.hide]=\"activeSelector && activeSelector !== 'name'\"\n >\n <i class=\"icons\">&#xe93f;</i>\n </button>\n <div\n class=\"global-confirmation-alert\"\n *ngIf=\"\n submitted &&\n dashboardForm?.selectedResponsibilityCenters?.length == 0 &&\n dashboardForm?.selectedRiskCategories?.length == 0\n \"\n >\n <div class=\"global-confirmation-alert-top\">\n <span class=\"icon-block\">\n <i class=\"icons\">&#xe930;</i>\n </span>\n <p class=\"text\" *ngIf=\"showRiskCategory\">\n Select a Responsibility Center or Risk Category.\n </p>\n <p class=\"text\" *ngIf=\"!showRiskCategory\">\n Select a Responsibility Center.\n </p>\n </div>\n <div class=\"global-confirmation-alert-bottom\">\n <p class=\"message\"></p>\n <div class=\"button-group\">\n <button class=\"fill\" type=\"button\" (click)=\"submitted = false\">\n OKAY\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<app-smiley-dialog\n *ngIf=\"isSmiley\"\n [message]=\"smileyMessage\"\n></app-smiley-dialog>\n\n<app-configure-widgets\n *ngIf=\"openConfigureWidgets\"\n [mode]=\"mode\"\n [displayedWidgets]=\"displayedWidgets\"\n [showRisk]=\"showRiskWidgets\"\n [showCompliance]=\"!showComplianceWidgets\"\n [selectedWidgetsData]=\"selectedWidgets\"\n (widgetsDataModified)=\"setSelectedWidgets($event)\"\n (closeConfigureWidgets)=\"closeConfigureWidgets($event)\"\n></app-configure-widgets>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeHtml'\n})\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer:DomSanitizer){}\n transform(html: any) {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n\n}\n","import { Component, ElementRef, forwardRef, Input, OnInit, ViewChild, QueryList, ContentChildren } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { nanoid } from 'nanoid';\n// import { CsOptionComponent } from '../cs-option/cs-option.component';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'cs-select',\n templateUrl: './cs-select.component.html',\n styleUrls: ['./cs-select.component.less'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CsSelectComponent),\n multi: true,\n },\n ],\n})\nexport class CsSelectComponent implements OnInit {\n @Input() dropdownLabel!: string;\n @Input() dropdownSubLabel!: string;\n @Input() isRequired!: string;\n @Input() placeholder!: string;\n\n // @ContentChildren(CsOptionComponent) op !: QueryList<CsOptionComponent>;\n\n dropdownToggle!: boolean;\n positionReset!: boolean;\n getLeft!: number;\n getTop!: number;\n getWidth!: number;\n maxWidth!: number;\n\n valuePlaceholder!: string;\n private optionList!: ElementRef;\n\n @ViewChild('optionList') set content(content: ElementRef) {\n if (content) {\n // initially setter gets called with undefined\n this.optionList = content;\n }\n }\n name!: string;\n val!: string;\n showOptions!: boolean;\n constructor() {\n this.name = nanoid();\n this.valuePlaceholder = '';\n }\n\n ngOnInit(): void {}\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n set RadioVal(val: any) {\n if (val !== undefined && val !== null && this.val !== val) {\n this.val = val;\n console.log('VALUE', this.val);\n this.onChange(val);\n this.onTouch(val);\n }\n }\n\n writeValue(value: any): void {\n if(value) {\n this.RadioVal = value;\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n openDropdown(event: any): void {\n this.dropdownToggle = true;\n setTimeout(() => {\n const dropdown = event.target.getBoundingClientRect();\n const selectOption = this.optionList.nativeElement.offsetHeight;\n if (dropdown.top + selectOption * 2 > window.innerHeight) {\n this.getTop = dropdown.top - selectOption;\n } else {\n this.getTop = dropdown.top + dropdown.height;\n }\n this.getLeft = dropdown.left;\n this.getWidth = dropdown.width;\n this.maxWidth = dropdown.width * 1.25;\n this.showOptions = true;\n }, 10);\n }\n closeDropdown(): void {\n this.dropdownToggle = false;\n }\n}\n","<div class=\"selection-wrap\">\n <label class=\"label\" *ngIf=\"dropdownLabel != undefined\">\n {{ dropdownLabel }}\n <span class=\"sub-label\">{{ dropdownSubLabel }}</span>\n <span class=\"required\" *ngIf=\"isRequired\">*</span>\n </label>\n <div class=\"input-group\">\n <span class=\"value\" (click)=\"openDropdown($event)\" (keyup.enter)=\"openDropdown($event)\" tabindex=\"0\" [attr.aria-placeholder]=\"placeholder\" [innerHTML]=\"valuePlaceholder | safeHtml\"></span>\n </div>\n <div class=\"overlay\" *ngIf=\"dropdownToggle === true\" (click)=\"closeDropdown()\"></div>\n <div class=\"select-options\" *ngIf=\"dropdownToggle === true\" #optionList (keyup.Escape)=\"closeDropdown()\"\n (keyup.enter)=\"closeDropdown()\" (click)=\"closeDropdown()\" [style.top.px]=\"getTop\" [style.left.px]=\"getLeft\"\n [style.width.px]=\"getWidth\" [class.active]=\"showOptions\">\n <ng-content select=\"cs-option\"></ng-content>\n </div>\n</div>","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CsSelectService {\n color: any;\n constructor() {\n }\n}\n","import { Component, ElementRef, Input, OnInit, ViewChild, ChangeDetectionStrategy } from '@angular/core';\nimport { CsSelectService } from '../../services/cs-select.service';\nimport { CsSelectComponent } from '../cs-select/cs-select.component';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'cs-option',\n templateUrl: './cs-option.component.html',\n styleUrls: ['./cs-option.component.less'],\n})\nexport class CsOptionComponent implements OnInit {\n @Input() value!: string;\n @ViewChild('options') option!: ElementRef;\n @Input() color!: any;\n constructor(public csSelect: CsSelectComponent, public colorSelector: CsSelectService) {\n this.value = '';\n }\n\n ngOnInit(): void { }\n\n change(event: any): void {\n if (this.option) {\n setTimeout(() => {\n this.csSelect.valuePlaceholder = this.option.nativeElement.innerHTML;\n this.colorSelector.color = this.color;\n console.log(this.color);\n }, 1);\n }\n this.csSelect.writeValue(this.value);\n }\n}\n","<div class=\"list\">\n <label>\n <input type=\"radio\" tabindex=\"0\" [value]=\"value\" [name]=\"csSelect.name\" (click)=\"change($event)\" [checked]=\"csSelect.val === this.value\" />\n <span class=\"value\" #options>\n <ng-content></ng-content>\n </span>\n </label>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CsSelectComponent } from './cs-select/cs-select.component';\nimport { CsOptionComponent } from './cs-option/cs-option.component';\nimport { FormsModule } from '@angular/forms';\nimport { SafeHtmlPipe } from './safe-html.pipe';\n\n@NgModule({\n declarations: [CsSelectComponent, CsOptionComponent, SafeHtmlPipe],\n imports: [FormsModule, CommonModule],\n exports: [CsSelectComponent, CsOptionComponent],\n})\nexport class SelectModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PaginationComponent } from './pagination.component';\n\n@NgModule({\n declarations: [PaginationComponent],\n imports: [CommonModule],\n exports: [PaginationComponent],\n})\nexport class PaginationModule {}","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-cs-switch',\n templateUrl: './cs-switch.component.html',\n styleUrls: ['./cs-switch.component.less'],\n})\nexport class CsSwitchComponent implements OnInit {\n @Input() disabled!: boolean;\n @Input() ngValue: any;\n @Input() value: any;\n @Output() ngValueChange = new EventEmitter<any>();\n @Input() tooltipMessage: any;\n @Input() position: any;\n constructor() {}\n\n ngOnInit(): void {\n // console.log(this.value);\n }\n valueChanged() {\n this.ngValueChange.emit(this.ngValue);\n }\n}\n","<label class=\"cs-switch\" [class.top]=\"position == 'top'\">\n <!-- [class.large]=\"large\" -->\n <span class=\"value\">\n <span [innerHTML]=\"value\" *ngIf=\"value != undefined\"></span>\n <!-- <span class=\"notification\" *ngIf=\"!tooltipMessage\" [arTooltip]=\"tooltipMessage\" placement=\"bottom-right\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\n <i class=\"vc-icons\">&#xe9f3;</i>\n </span> -->\n </span>\n <!-- [class.last]=\"last\" -->\n <span class=\"switch\" *ngIf=\"tooltipMessage === '' || tooltipMessage === undefined\">\n <input type=\"checkbox\" [(ngModel)]=\"ngValue\" (ngModelChange)=\"valueChanged()\" [disabled]=\"disabled\" />\n <span class=\"switch-box\">\n <span class=\"switch-ball\"></span>\n </span>\n </span>\n <span\n class=\"switch\"\n *ngIf=\"tooltipMessage !== '' && tooltipMessage !== undefined\"\n [arTooltip]=\"tooltipMessage\"\n placement=\"bottom-right\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n <input type=\"checkbox\" [(ngModel)]=\"ngValue\" (ngModelChange)=\"valueChanged()\" [disabled]=\"disabled\" />\n <span class=\"switch-box\">\n <span class=\"switch-ball\"></span>\n </span>\n </span>\n</label>\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-cs-radio-group',\n templateUrl: './cs-radio-group.component.html',\n styleUrls: ['./cs-radio-group.component.less'],\n})\nexport class CsRadioGroupComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<app-cs-radio>fefre</app-cs-radio>\n<app-cs-radio>fefre</app-cs-radio>\n<app-cs-radio>fefre</app-cs-radio>\n<app-cs-radio>fefre</app-cs-radio>\n","import { Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Directive({\n selector: '[clickOutside]',\n})\nexport class ClickOutsideDirective {\n constructor(private elementRef: ElementRef) {}\n @Output('clickOutside') clickOutside: EventEmitter<any> = new EventEmitter();\n\n @HostListener('document:click', ['$event.target']) onMouseEnter(targetElement: any) {\n const clickedInside = this.elementRef.nativeElement.contains(targetElement);\n if (!clickedInside) {\n this.clickOutside.emit(null);\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'pascal',\n})\nexport class PascalPipe implements PipeTransform {\n transform(value: string, ...args: unknown[]): unknown {\n if (typeof value !== 'string') {\n return value;\n }\n return value.charAt(0).toUpperCase() + value.slice(1);\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'app-cs-select',\n templateUrl: './cs-select.component.html',\n styleUrls: ['./cs-select.component.less'],\n})\nexport class CsFormSelectComponent implements OnChanges {\n @Input() dataList!: any[];\n @Input() dropdownLabel!: string;\n @Input() displayProperty!: string;\n @Input() selectedValue!: string;\n @Input() isRequired!: boolean;\n @Input() dropdownSubLabel!: string;\n @Input() disabled!: boolean;\n @ViewChild('option') option!: ElementRef;\n\n @Output() selectedData = new EventEmitter();\n @Output() selectedValueChange = new EventEmitter();\n @Input() placeholder: any;\n @Input() stylex: any;\n @Input() valueKey: any;\n @Input() multipleSelect: any;\n @Input() colorProperty!: string;\n\n @Input() colorSelected!: string;\n colorCode!: string;\n\n dropdownOption = false;\n positionReset!: boolean;\n getLeft!: number;\n getTop!: number;\n getWidth!: number;\n maxWidth!: number;\n activeDoropdown = false;\n\n private optionList!: ElementRef;\n\n @ViewChild('optionList') set content(content: ElementRef) {\n if (content) {\n // initially setter gets called with undefined\n this.optionList = content;\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.selectedValue) {\n this.selectedValue = this.selectedValue || '--';\n }\n }\n\n openDropdown(event: any): void {\n this.dropdownOption = true;\n setTimeout(() => {\n const dropdown = event.target.getBoundingClientRect();\n const selectOption = this.optionList.nativeElement.offsetHeight;\n if (dropdown.top + selectOption * 2 > window.innerHeight) {\n this.getTop = dropdown.top - selectOption;\n } else {\n this.getTop = dropdown.top + dropdown.height;\n }\n this.getLeft = dropdown.left;\n this.getWidth = dropdown.width;\n this.maxWidth = dropdown.width * 1.25;\n }, 10);\n setTimeout(() => {\n this.activeDoropdown = true;\n }, 100);\n }\n selectOption(selectedData: any) {\n if (typeof selectedData === 'object') {\n this.selectedValue = selectedData[this.displayProperty];\n this.colorSelected = selectedData[this.colorProperty];\n } else {\n this.selectedValue = selectedData;\n }\n this.selectedData.emit(selectedData);\n this.dropdownOption = false;\n }\n closeDropdown() {\n this.dropdownOption = false;\n }\n}\n","<div class=\"input-group\" (clickOutside)=\"dropdownOption = false\">\n <label *ngIf=\"dropdownLabel != undefined\">\n {{ dropdownLabel }} <span class=\"sub-label\">{{ dropdownSubLabel }}</span> <span class=\"required\" *ngIf=\"isRequired\">*</span></label\n >\n <div class=\"custom-select-box\" [class.disabled]=\"disabled\">\n <input\n type=\"text\"\n [class.line]=\"stylex\"\n [placeholder]=\"placeholder\"\n [value]=\"selectedValue | pascal\"\n readonly\n (click)=\"openDropdown($event)\"\n (keyup.enter)=\"openDropdown($event)\"\n (keyup.arrowup)=\"openDropdown($event)\"\n (keyup.arrowdown)=\"openDropdown($event)\"\n *ngIf=\"!colorProperty\"\n />\n <span class=\"show-label\" *ngIf=\"colorProperty\" (click)=\"openDropdown($event)\">\n <span class=\"label\" [innerHTML]=\"selectedValue\" [style.backgroundColor]=\"colorSelected + '1A'\" [style.color]=\"colorSelected\"></span>\n </span>\n <span class=\"arrow\" [class.line]=\"stylex\">\n <i class=\"risk-icons\">&#xe919;</i>\n </span>\n <div class=\"overlay active\" *ngIf=\"dropdownOption === true\" (click)=\"closeDropdown()\"></div>\n <ul\n class=\"list-of-option\"\n *ngIf=\"dropdownOption === true && !colorProperty\"\n #optionList\n (keyup.Escape)=\"closeDropdown()\"\n [style.top.px]=\"getTop\"\n [style.left.px]=\"getLeft\"\n [style.min-width.px]=\"getWidth\"\n [style.max-width.px]=\"maxWidth\"\n [class.active]=\"activeDoropdown\"\n >\n <li *ngFor=\"let data of dataList\">\n <label>\n <input type=\"radio\" [value]=\"data[valueKey]\" name=\"sliceLabel\" (change)=\"selectOption(data)\" #option (keyup.enter)=\"closeDropdown()\" class=\"pointer-none\" />\n <span (click)=\"closeDropdown(); selectOption(data)\" *ngIf=\"displayProperty && displayProperty !== ''\" class=\"value\">{{ data[displayProperty] }}</span>\n <span (click)=\"closeDropdown(); selectOption(data)\" *ngIf=\"!displayProperty || displayProperty === ''\" class=\"value\">{{ data }}</span>\n </label>\n </li>\n </ul>\n <ul\n class=\"list-of-option\"\n *ngIf=\"dropdownOption === true && colorProperty\"\n #optionList\n (keyup.Escape)=\"closeDropdown()\"\n [style.top.px]=\"getTop\"\n [style.left.px]=\"getLeft\"\n [style.min-width.px]=\"getWidth\"\n [style.max-width.px]=\"maxWidth\"\n [class.active]=\"activeDoropdown\"\n >\n <li *ngFor=\"let data of dataList\">\n <label class=\"colors\">\n <input type=\"radio\" [value]=\"data[valueKey]\" name=\"sliceLabel\" (click)=\"selectOption(data)\" #option (keyup.enter)=\"closeDropdown()\" class=\"pointer-none\" />\n <span\n (click)=\"selectOption(data)\"\n *ngIf=\"displayProperty && displayProperty !== ''\"\n class=\"value\"\n [ngStyle]=\"{ color: data.segment_color }\"\n [style.backgroundColor]=\"data.segment_color + '1A'\"\n >{{ data[displayProperty] }}</span\n >\n <span\n (click)=\"selectOption(data)\"\n *ngIf=\"!displayProperty || displayProperty === ''\"\n class=\"value\"\n [ngStyle]=\"{ color: data.segment_color }\"\n [style.backgroundColor]=\"data.segment_color + '1A'\"\n >{{ data }}</span\n >\n </label>\n </li>\n </ul>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToolTipDirective } from './tooltip.directive';\n\n@NgModule({\n declarations: [ToolTipDirective],\n imports: [CommonModule],\n exports: [ToolTipDirective],\n})\nexport class TooltipModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'searchMultiSelect',\n})\nexport class SearchMultiSelectPipe implements PipeTransform {\n transform(value: any[], key: string, searchKey: string): any[] {\n if (searchKey && searchKey.length > 0) {\n searchKey = searchKey.toLowerCase();\n return value.filter((item) => {\n if (item[key].toLowerCase().includes(searchKey)) {\n return item;\n }\n });\n }\n return value;\n }\n}\n","import { FormsModule } from '@angular/forms';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CsCheckboxComponent } from './cs-checkbox/cs-checkbox.component';\nimport { CsRadioComponent } from './cs-radio/cs-radio.component';\nimport { CsSwitchComponent } from './cs-switch/cs-switch.component';\nimport { CsRadioGroupComponent } from './cs-radio-group/cs-radio-group.component';\nimport { CsFormSelectComponent } from './cs-select/cs-select.component';\nimport { TooltipModule } from '../tooltip/tooltip.module';\nimport { PascalPipe } from './pipes/pascal.pipe';\nimport { SearchMultiSelectPipe } from './pipes/searchMultiSelect.pipe';\nimport { ClickOutsideDirective } from './click-outside.directive';\n\n@NgModule({\n declarations: [\n CsCheckboxComponent,\n CsRadioComponent,\n CsSwitchComponent,\n CsRadioGroupComponent,\n CsFormSelectComponent,\n PascalPipe,\n SearchMultiSelectPipe,\n ClickOutsideDirective,\n ],\n imports: [CommonModule, FormsModule, TooltipModule],\n exports: [\n CsCheckboxComponent,\n CsRadioComponent,\n CsSwitchComponent,\n CsRadioGroupComponent,\n CsFormSelectComponent,\n SearchMultiSelectPipe,\n ],\n})\nexport class FormgroupModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PopoverComponent } from './popover.component';\nimport { PopoverDirective } from './popover.directive';\nimport { PopoverService } from './popover.service';\n\n@NgModule({\n declarations: [PopoverComponent, PopoverDirective],\n imports: [CommonModule],\n exports: [PopoverComponent, PopoverDirective],\n providers: [PopoverService],\n})\nexport class PopoverModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DashboardFooterComponent } from './dashboard-footer/dashboard-footer.component';\nimport { PopoverModule } from '../popover/popover.module';\nimport { TooltipModule } from '../tooltip/tooltip.module'\n\n\n\n@NgModule({\n declarations: [\n DashboardFooterComponent\n ],\n imports: [\n CommonModule,\n PopoverModule,\n TooltipModule\n ],\n exports:[\n DashboardFooterComponent\n ]\n})\nexport class DashboardFooterModule { }\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[appInsertion]',\n})\nexport class InsertionDirective {\n constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","export class DialogConfig<D = any> {\n data?: D;\n position?: any;\n background?: any;\n pointer?: any;\n}\n","import {\n Component,\n Type,\n ComponentFactoryResolver,\n ViewChild,\n OnDestroy,\n ComponentRef,\n AfterViewInit,\n ChangeDetectorRef,\n OnInit,\n Inject,\n} from '@angular/core';\nimport { InsertionDirective } from './insertion.directive';\nimport { Subject } from 'rxjs';\nimport { DialogRef } from './dialog-ref';\nimport { DialogConfig } from './dialog-config';\nimport {\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Router,\n ROUTER_CONFIGURATION,\n} from '@angular/router';\n\n@Component({\n selector: 'app-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.css'],\n})\nexport class DialogComponent implements AfterViewInit, OnDestroy, OnInit {\n componentRef!: ComponentRef<any>;\n position: any;\n background: any;\n pointer: any;\n @ViewChild(InsertionDirective, { static: true })\n insertionPoint!: InsertionDirective;\n animation = true;\n\n private readonly onDialogClose = new Subject<any>();\n public onClose = this.onDialogClose.asObservable();\n\n childComponentType!: Type<any>;\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private cd: ChangeDetectorRef,\n private dialogRef: DialogRef,\n public config: DialogConfig,\n @Inject('router') private router: Router\n ) {\n // this.componentRef = this.componentRef;\n // this.animate = this.animate;\n // this.insertionPoint = this.insertionPoint;\n // this.childComponentType = this.childComponentType;\n }\n ngOnInit() {\n this.position = this.config.position;\n this.background = this.config.background;\n document.body.style.overflow = 'hidden';\n setTimeout(() => {\n this.animation = false;\n }, 200);\n this.routeAction();\n }\n\n routeAction() {\n this.router.events.subscribe((event: any) => {\n if (event instanceof NavigationStart) {\n // Show loading indicator\n }\n if (event instanceof NavigationEnd) {\n // Hide loading indicator\n this.dialogRef.close();\n }\n if (event instanceof NavigationError) {\n // Hide loading indicator\n // Present error to user\n }\n });\n }\n ngAfterViewInit() {\n this.loadChildComponent(this.childComponentType);\n this.cd.detectChanges();\n }\n\n onOverlayClicked(evt: MouseEvent) {\n // this.dialogRef.close();\n }\n\n onDialogClicked(evt: MouseEvent) {\n evt.stopPropagation();\n }\n\n loadChildComponent(componentType: Type<any>) {\n const componentFactory =\n this.componentFactoryResolver.resolveComponentFactory(componentType);\n\n const viewContainerRef = this.insertionPoint.viewContainerRef;\n viewContainerRef.clear();\n\n this.componentRef = viewContainerRef.createComponent(componentFactory);\n }\n\n ngOnDestroy() {\n if (this.componentRef) {\n this.componentRef.destroy();\n }\n }\n\n close(data?: any) {\n this.onDialogClose.next(data);\n document.body.style.overflow = 'auto';\n }\n}\n","<div\n class=\"overlay\"\n (click)=\"onOverlayClicked($event)\"\n [ngClass]=\"{\n top: position === 'TOP',\n right: position === 'RIGHT',\n bottom: position === 'BOTTOM',\n left: position === 'LEFT',\n center: position === 'CENTER',\n black: background === 'black'\n }\" [class.pointer-none]=\"pointer === 'none'\"\n>\n <div\n class=\"dialog\"\n [class.animate]=\"animation\"\n (click)=\"onDialogClicked($event)\"\n [ngClass]=\"{\n top: position === 'TOP',\n right: position === 'RIGHT',\n bottom: position === 'BOTTOM',\n left: position === 'LEFT',\n center: position === 'CENTER'\n }\"\n >\n <ng-template appInsertion></ng-template>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DialogComponent } from './dialog.component';\nimport { InsertionDirective } from './insertion.directive';\nimport { DialogRef } from './dialog-ref';\n@NgModule({\n imports: [CommonModule],\n declarations: [DialogComponent, InsertionDirective],\n providers: [DialogRef]\n})\nexport class DialogModule {}\n","import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\n\nexport class DialogInjector implements Injector {\n constructor(\n private parentDialogInjector: Injector,\n private dialogAdditionalTokens: WeakMap<any, any>\n ) {}\n\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T;\n // get(token: any, notFoundValue?: any){return; }\n get(token: any, notFoundValue?: any) {\n const value = this.dialogAdditionalTokens.get(token);\n if (value) {\n return value;\n }\n return this.parentDialogInjector.get<any>(token, notFoundValue);\n }\n}\n","import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector, Type, EmbeddedViewRef, ComponentRef } from '@angular/core';\nimport { DialogModule } from './dialog.module';\nimport { DialogComponent } from './dialog.component';\nimport { DialogInjector } from './dialog-injector';\nimport { DialogConfig } from './dialog-config';\nimport { DialogRef } from './dialog-ref';\n\n@Injectable({\n providedIn: DialogModule,\n})\nexport class DialogService {\n dialogComponentRef!: ComponentRef<DialogComponent>;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private appRef: ApplicationRef, private injector: Injector) {}\n\n public open(componentType: Type<any>, config: DialogConfig) {\n const dialogRef = this.appendDialogComponentToBody(config);\n\n this.dialogComponentRef.instance.childComponentType = componentType;\n\n return dialogRef;\n }\n\n private appendDialogComponentToBody(config: DialogConfig) {\n const map = new WeakMap();\n map.set(DialogConfig, config);\n\n const dialogRef = new DialogRef();\n map.set(DialogRef, dialogRef);\n\n const sub = dialogRef.afterClosed.subscribe(() => {\n this.removeDialogComponentFromBody();\n sub.unsubscribe();\n });\n\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DialogComponent);\n const componentRef = componentFactory.create(new DialogInjector(this.injector, map));\n\n this.appRef.attachView(componentRef.hostView);\n\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n\n this.dialogComponentRef = componentRef;\n\n this.dialogComponentRef.instance.onClose.subscribe(() => {\n this.removeDialogComponentFromBody();\n });\n\n return dialogRef;\n }\n\n private removeDialogComponentFromBody() {\n this.appRef.detachView(this.dialogComponentRef.hostView);\n this.dialogComponentRef.destroy();\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { DatePickerComponent, IDatePickerConfig } from 'ng2-date-picker';\nimport { DialogService } from '../../ui-kit/dialog/dialog.service';\nimport { EditorConfig } from '@vcomply/editor';\nimport { ASSETS } from '../constants/assets.constant';\n\n@Component({\n selector: 'app-form-group',\n templateUrl: './form-group.component.html',\n styleUrls: ['./form-group.component.less'],\n})\nexport class FormGroupComponent implements OnInit {\n @Output() openCategoryList = new EventEmitter<string>();\n @Output() openResponsibilityCenterList = new EventEmitter<string>();\n @Output() openWhoCanViewThis = new EventEmitter<string>();\n @Output() closeCreateDashboard = new EventEmitter<string>();\n @Output() openFrequency = new EventEmitter<string>();\n @Input() disabled!: boolean;\n\n @ViewChild('fromDatePicker') fromDatePicker!: DatePickerComponent;\n @ViewChild('toDatePicker') toDatePicker!: DatePickerComponent;\n datePickerOverlay = false;\n selectedFromDate!: any;\n selectedToDate!: any;\n dashboardName!: any;\n dashboardDescriptionText!: any;\n fieldEmptyErrorMessage: string = 'Enter a value for this input box.';\n fieldLimitExceededErrorMessage: string =\n 'You have exceeded the maximum character limit of XYZ characters.';\n dashboardNameNotUniqueErrorMessage: string =\n 'A dashboard with this name already exists. Specify a different name for the dashboard.';\n dashboardNameError!: string;\n dashboardDescriptionError!: string;\n displayCriteria!: string;\n ASSETS: any = ASSETS;\n\n constructor(private dialog: DialogService) {}\n\n dashboardDescription: EditorConfig = {\n placeholder: 'Description (Max limit: 250 characters)',\n mode: 'prime',\n id: 'description',\n };\n\n fromDatePickerConfig: IDatePickerConfig = {\n min: this.getCurrentDate(),\n };\n\n toDatePickerConfig: IDatePickerConfig = {};\n\n ngOnInit(): void {}\n\n openFromDatePicker() {\n this.fromDatePicker.api.open();\n this.datePickerOverlay = true;\n }\n\n openToDatePicker() {\n this.toDatePicker.api.open();\n this.datePickerOverlay = true;\n }\n\n closeFromDatePicker() {\n let minToDate = this.selectedFromDate?.clone()?.add(1, 'days');\n this.toDatePickerConfig = { min: minToDate, minTime: minToDate };\n\n if (this.selectedToDate && minToDate.diff(this.selectedToDate) > 0) {\n this.selectedToDate = undefined;\n }\n\n this.fromDatePicker.api.close();\n this.datePickerOverlay = false;\n }\n\n closeToDatePicker() {\n this.toDatePicker.api.close();\n this.datePickerOverlay = false;\n }\n\n animateImage() {\n const circleImage = document.getElementsByClassName('image');\n console.log(circleImage);\n }\n\n selectWhoCanViewThis() {\n this.openWhoCanViewThis.emit();\n }\n\n selectResponsibilityCenter() {\n this.openResponsibilityCenterList.emit();\n }\n\n selectCategories() {\n this.openCategoryList.emit();\n }\n\n selectFrequency() {\n this.openFrequency.emit();\n }\n\n configureDashboard() {\n let fieldsStatus = this.verifyFields();\n // if(fieldsStatus) {\n // this.closeCreateDashboard.emit();\n // const ref = this.dialog.open(ConfigureWidgetsComponent, {\n // data: {},\n // position: 'CENTER',\n // pointer: 'none'\n // });\n // }\n }\n\n verifyFields() {\n let allFieldsValid = true;\n this.dashboardNameError = '';\n this.dashboardDescriptionError = '';\n\n if (\n this.dashboardName === null ||\n this.dashboardName === undefined ||\n this.dashboardName === ''\n ) {\n this.dashboardNameError = this.fieldEmptyErrorMessage;\n allFieldsValid = false;\n } else if (this.dashboardName.length > 30) {\n this.dashboardNameError = this.fieldLimitExceededErrorMessage.replace(\n 'XYZ',\n '30'\n );\n allFieldsValid = false;\n } else if (\n this.dashboardDescriptionText === null ||\n this.dashboardDescriptionText === undefined ||\n this.dashboardDescriptionText === ''\n ) {\n this.dashboardDescriptionError = this.fieldEmptyErrorMessage;\n allFieldsValid = false;\n } else if (this.dashboardDescriptionText.length > 250) {\n this.dashboardDescriptionError =\n this.fieldLimitExceededErrorMessage.replace('XYZ', '250');\n allFieldsValid = false;\n }\n return allFieldsValid;\n }\n\n getCurrentDate() {\n let today = new Date();\n return (\n today.getDate() + '-' + (today.getMonth() + 1) + '-' + today.getFullYear()\n );\n }\n\n displayCriteriaSelected(event: boolean, selection: string) {\n this.displayCriteria = selection;\n }\n}\n","<!-- <p>form-group works!</p> -->\n<div class=\"form-group\" [class.disabled]=\"disabled\">\n <div class=\"vx-dialog-body-container\" (scroll)=\"animateImage()\">\n <div class=\"form-group-row\">\n <div class=\"image\">\n <img [ngSrc]=\"ASSETS.dashBoardIcon\" alt=\"\" width=\"36\" height=\"36\" />\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\"\n >Dashboard Name<span class=\"required\">*</span></label\n >\n <div class=\"vx-input-group\">\n <input\n type=\"text\"\n placeholder=\"Add dashboard name (Max limit: 30 characters).\"\n [(ngModel)]=\"dashboardName\"\n />\n <span class=\"counter\" *ngIf=\"dashboardName?.length > 0\">{{\n 30 - dashboardName?.length\n }}</span>\n </div>\n <p class=\"vx-txt-error\">{{ dashboardNameError }}</p>\n <div class=\"vx-input-group\">\n <vcomply-editor\n [editorConfig]=\"dashboardDescription\"\n [(ngModel)]=\"dashboardDescriptionText\"\n ></vcomply-editor>\n <span\n class=\"counter\"\n *ngIf=\"dashboardDescriptionText?.length > 0\"\n >{{ 250 - dashboardDescriptionText?.length }}</span\n >\n </div>\n <p class=\"vx-txt-error\">{{ dashboardDescriptionError }}</p>\n </div>\n </div>\n </div>\n <div class=\"form-group-row\">\n <div class=\"image\">\n <img\n [ngSrc]=\"ASSETS.dashBoardUsersIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\"\n >Who can view this dashboard?<span class=\"required\">*</span></label\n >\n <div class=\"selectbox\">\n <input\n type=\"text\"\n placeholder=\"Who can view this dashboard?\"\n readonly\n (click)=\"selectWhoCanViewThis()\"\n />\n </div>\n <div class=\"selected\">\n <div class=\"left\">\n <div class=\"chip-container\">\n <span class=\"chip\">\n <span class=\"value\">Samantha Jones</span>\n </span>\n <span class=\"chip\">\n <i class=\"icons\">&#xe90d;</i>\n <span class=\"value\">Angel Kleven</span>\n </span>\n </div>\n <button class=\"count\">+10</button>\n </div>\n <button class=\"edit\"><i class=\"icons\">&#xe9ba;</i> Edit</button>\n </div>\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\n </div>\n </div>\n </div>\n <div class=\"form-group-row\">\n <div class=\"image\">\n <img [ngSrc]=\"ASSETS.dashBoardRcIcon\" alt=\"\" width=\"36\" height=\"36\" />\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">RESPONSIBILITY CENTER(S)</label>\n <div class=\"selectbox\">\n <div\n class=\"custom-input\"\n aria-placeholder=\"Select the Responsibility Center(s) that you would like displayed in the Dashboard, if any.\"\n (click)=\"selectResponsibilityCenter()\"\n ></div>\n </div>\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\n </div>\n </div>\n </div>\n <div class=\"form-group-row\">\n <div class=\"image\">\n <img\n [ngSrc]=\"ASSETS.dashBoardProgramIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">PROGRAM</label>\n <div class=\"selectbox\">\n <div\n class=\"custom-input\"\n aria-placeholder=\"Select the Program that this responsibility relates to.\"\n (click)=\"selectCategories()\"\n ></div>\n </div>\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\n </div>\n </div>\n </div>\n <div class=\"form-group-row\">\n <div class=\"image\">\n <img [ngSrc]=\"ASSETS.dashBoardRiskIcon\" alt=\"\" width=\"36\" height=\"36\" />\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">RISK CATEGORIES</label>\n <div class=\"selectbox\">\n <div\n class=\"custom-input\"\n aria-placeholder=\"Select the Risk Categories that you would like displayed in the Dashboard, if any.\"\n (click)=\"selectCategories()\"\n ></div>\n </div>\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\n </div>\n </div>\n </div>\n <div class=\"form-group-row\">\n <div class=\"image\">\n <img\n [ngSrc]=\"ASSETS.dashBoardUsersIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">DISPLAY CRITERIA</label>\n <div class=\"radio-group\">\n <app-cs-radio\n (checkedEvent)=\"\n displayCriteriaSelected($event, 'BOTH_RC_AND_CATEGORY')\n \"\n >Those responsibilities that have been assigned to both the\n selected Responsibility Center(s) and the selected\n Categories.</app-cs-radio\n >\n <app-cs-radio\n (checkedEvent)=\"displayCriteriaSelected($event, 'RC_OR_CATEGORY')\"\n >Those responsibilities that have been assigned to either the\n selected Responsibility Center(s) or the selected\n Categories.</app-cs-radio\n >\n </div>\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\n </div>\n </div>\n </div>\n <div class=\"form-group-row\">\n <div class=\"image\">\n <img\n [ngSrc]=\"ASSETS.dashBoardTimeFrameIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">TIMEFRAME</label>\n <label class=\"vx-control-panel-sub-label\"\n >Select how long you would like the information selected to be\n displayed for. If no timeframe is selected, the information will be\n displayed permanently.</label\n >\n <div class=\"input-group vx-d-flex vx-justify-between\">\n <div class=\"date-select\">\n <i class=\"icons\">&#xe92d;</i>\n <input\n type=\"text\"\n [value]=\"selectedFromDate | date : 'dd MMM yyyy'\"\n [placeholder]=\"'From'\"\n (click)=\"openFromDatePicker()\"\n readonly\n />\n <dp-date-picker\n #fromDatePicker\n [(ngModel)]=\"selectedFromDate\"\n placeholder=\"Select Date\"\n (onSelect)=\"closeFromDatePicker(); datePickerOverlay = false\"\n [config]=\"fromDatePickerConfig\"\n ></dp-date-picker>\n <div\n class=\"overlay\"\n (click)=\"closeFromDatePicker()\"\n *ngIf=\"datePickerOverlay\"\n ></div>\n </div>\n <div class=\"date-select\">\n <i class=\"icons\">&#xe92d;</i>\n <input\n type=\"text\"\n [value]=\"selectedToDate | date : 'dd MMM yyyy'\"\n [placeholder]=\"'To'\"\n (click)=\"openToDatePicker()\"\n readonly\n />\n <dp-date-picker\n #toDatePicker\n [(ngModel)]=\"selectedToDate\"\n placeholder=\"Select Date\"\n (onSelect)=\"closeToDatePicker(); datePickerOverlay = false\"\n [config]=\"toDatePickerConfig\"\n ></dp-date-picker>\n <div\n class=\"overlay\"\n (click)=\"closeToDatePicker()\"\n *ngIf=\"datePickerOverlay\"\n ></div>\n </div>\n </div>\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\n </div>\n </div>\n </div>\n <div class=\"form-group-row\">\n <!--active class will appear on open list-->\n <div class=\"image\">\n <img\n [ngSrc]=\"ASSETS.dashBoardEmailSummariesIcon\"\n alt=\"\"\n width=\"36\"\n height=\"36\"\n />\n </div>\n <div class=\"form\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">\n Email Summaries\n <i\n class=\"icons\"\n [arTooltip]=\"'This is a test tooltip'\"\n placement=\"bottom-left\"\n type=\"white\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n >&#xe91f;</i\n ></label\n >\n <label class=\"vx-control-panel-sub-label\">\n If you would like to send a summary of this Dashboard, please select\n a frequency(By default VComply sends a weekly Summary).\n </label>\n <div class=\"selectbox\">\n <input\n type=\"text\"\n placeholder=\"Email Summaries\"\n readonly\n (click)=\"selectFrequency()\"\n />\n </div>\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\n </div>\n </div>\n </div>\n </div>\n <div class=\"button-block\">\n <button\n class=\"vx-btn block primary\"\n [disabled]=\"disabled\"\n (click)=\"configureDashboard()\"\n >\n Next: Configure Widgets\n </button>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FloatingBarComponent } from './floating-bar.component';\nimport { PopoverModule } from '../popover/popover.module';\nimport { TooltipModule } from '../tooltip/tooltip.module';\n\n\n\n@NgModule({\n declarations: [\n FloatingBarComponent\n ],\n imports: [\n CommonModule,\n PopoverModule,\n TooltipModule\n ],\n exports: [\n FloatingBarComponent\n ]\n})\nexport class FloatingBarModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ScrollInViewDirective } from './scroll-in-view.directive';\n\n\n\n@NgModule({\n declarations: [\n ScrollInViewDirective\n ],\n imports: [\n CommonModule\n ],\n exports:[\n ScrollInViewDirective\n ]\n})\nexport class DirectivesModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NoDataComponent } from './no-data.component';\n\n@NgModule({\n declarations: [NoDataComponent],\n imports: [CommonModule],\n exports: [NoDataComponent],\n})\nexport class NoDataModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule, NgOptimizedImage } from '@angular/common';\nimport { FloatingBarModule } from '../../ui-kit//floating-bar/floating-bar.module';\nimport { FormgroupModule } from '../../ui-kit/formgroup/formgroup.module';\nimport { FormsModule } from '@angular/forms';\nimport { SearchPipe } from '../pipes/search.pipe';\nimport { ConfigureWidgetsComponent } from './configure-widgets/configure-widgets.component';\nimport { DirectivesModule } from '../directives/directives.module';\nimport { NoDataModule } from '../../ui-kit/no-data/no-data.module';\n\n\n\n@NgModule({\n declarations: [\n ConfigureWidgetsComponent, SearchPipe\n ],\n imports: [\n CommonModule,\n FloatingBarModule,\n FormgroupModule,\n FormsModule,\n DirectivesModule,\n NoDataModule,\n NgOptimizedImage\n ],\n exports: [\n ConfigureWidgetsComponent\n ]\n})\nexport class ConfigureWidgetsModule { }\n","import { Component, OnInit, Optional } from '@angular/core';\nimport { Configurations } from '../../../configurations';\n\n@Component({\n selector: 'app-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.less'],\n})\nexport class LoaderComponent implements OnInit {\n vLoader: any;\n \n public env!: any;\n\n constructor(@Optional() config?: Configurations) {\n if (config) {\n this.env = config.envConfig;\n }\n this.vLoader = this.env.vLoader;\n }\n\n ngOnInit(): void {}\n}\n","<div class=\"main-loader\">\n <img [ngSrc]=\"vLoader\" alt=\"\" width=\"45\" height=\"45\" />\n <div class=\"loader-index\">\n <div class=\"loader-index-circle\"></div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule, NgOptimizedImage } from '@angular/common';\nimport { LoaderComponent } from './loader/loader.component';\nimport { LoaderInlineComponent } from './loader-inline/loader-inline.component';\n\n@NgModule({\n declarations: [LoaderComponent, LoaderInlineComponent],\n imports: [CommonModule,NgOptimizedImage],\n exports: [LoaderComponent, LoaderInlineComponent],\n})\nexport class VLoaderModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SnackBarComponent } from './snack-bar/snack-bar.component';\n\n@NgModule({\n declarations: [SnackBarComponent],\n imports: [CommonModule],\n exports: [SnackBarComponent],\n})\nexport class SnackBarModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SmileyDialogComponent } from './smiley-dialog.component';\n\n@NgModule({\n declarations: [SmileyDialogComponent],\n imports: [CommonModule],\n\n exports: [SmileyDialogComponent],\n})\nexport class SmileyDialogModule {}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule, NgOptimizedImage } from '@angular/common';\nimport { VcomplyEditorModule } from '@vcomply/editor';\nimport { DpDatePickerModule } from 'ng2-date-picker';\nimport { FormsModule } from '@angular/forms';\nimport { CreateDashboardComponent } from './create-dashboard.component';\nimport { SelectModule } from '../ui-kit/select/select.module';\nimport { UserListComponent } from './user-list/user-list.component';\nimport { ResponsibilityCenterComponent } from './responsibility-center/responsibility-center.component';\nimport { CategoriesComponent } from './categories/categories.component';\nimport { FrequencyComponent } from './frequency/frequency.component';\nimport { PaginationModule } from '../ui-kit/pagination/pagination.module';\nimport { FormgroupModule } from '../ui-kit/formgroup/formgroup.module';\nimport { DashboardFooterModule } from '../ui-kit/dashboard-footer/dashboard-footer.module';\nimport { FormGroupComponent } from './form-group/form-group.component';\nimport { TooltipModule } from '../ui-kit/tooltip/tooltip.module';\nimport { FloatingBarModule } from '../ui-kit/floating-bar/floating-bar.module';\nimport { DialogModule } from '../ui-kit/dialog/dialog.module';\nimport { Configurations } from '../configurations';\nimport { FilterPipe } from './pipes/filter.pipe';\nimport { RiskCategoriesComponent } from './risk-categories/risk-categories.component';\nimport { ConfigureWidgetsModule } from './configure-widgets/configure-widgets.module';\nimport { PopoverModule } from '../ui-kit/popover/popover.module';\nimport { VLoaderModule } from '../ui-kit/v-loader/v-loader.module';\nimport { SnackBarModule } from '../ui-kit/snack-bar/snack-bar.module';\nimport { NoDataModule } from '../ui-kit/no-data/no-data.module';\nimport { DirectivesModule } from './directives/directives.module';\nimport { SmileyDialogModule } from '../ui-kit/smiley-dialog/smiley-dialog.module';\nimport { TextCountPipe } from './pipes/text-count.pipe';\nimport { ConfigureBaseUrlService } from './services/urlConfig.service';\n@NgModule({\n declarations: [\n CreateDashboardComponent,\n UserListComponent,\n FormGroupComponent,\n ResponsibilityCenterComponent,\n CategoriesComponent,\n RiskCategoriesComponent,\n FrequencyComponent,\n FilterPipe,\n TextCountPipe,\n ],\n imports: [\n CommonModule,\n VcomplyEditorModule,\n FormgroupModule,\n FormsModule,\n TooltipModule,\n SelectModule,\n DashboardFooterModule,\n PaginationModule,\n FloatingBarModule,\n DialogModule,\n ConfigureWidgetsModule,\n PopoverModule,\n VLoaderModule,\n SnackBarModule,\n NoDataModule,\n DirectivesModule,\n SmileyDialogModule,\n DpDatePickerModule,\n NgOptimizedImage,\n ],\n exports: [CreateDashboardComponent],\n})\nexport class CreateDashboardModule {\n public static forRoot(\n environmentConfig: Configurations\n ): ModuleWithProviders<CreateDashboardModule> {\n return {\n ngModule: CreateDashboardModule,\n providers: [{ provide: Configurations, useValue: environmentConfig }],\n };\n }\n}\n","/*\n * Public API Surface of create-dashboard\n */\n\n// export * from './lib/create-dashboard.service';\n// export * from './lib/create-dashboard.component';\n// export * from './lib/create-dashboard.module';\n\nexport * from './lib/create-dashboard.service';\nexport * from './lib/create-dashboard-container/create-dashboard.component';\nexport * from './lib/create-dashboard-container/create-dashboard.module';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["CreateDashboardService","i2.Configurations","i2.AuthService","i3.Configurations","i1.PopoverService","i2","i1.SnackBarService","i3.PopoverComponent","i4.PopoverDirective","i5.ToolTipDirective","i1","i1.DialogRef","i2.ConfigureWidgetsService","i3.SnackBarService","i4","i5.FloatingBarComponent","i6.CsCheckboxComponent","i7","i8.NoDataComponent","i9.SearchPipe","i1.Configurations","i2.PopoverComponent","i3.PopoverDirective","i4.ToolTipDirective","i1.PaginationService","i2.CreateDashboardService","i3","i4.CsCheckboxComponent","i6.ToolTipDirective","i7.DashboardFooterComponent","i8.PaginationComponent","i9.PopoverComponent","i10.PopoverDirective","i11.LoaderInlineComponent","i12.NoDataComponent","i2.CsCheckboxComponent","i5.DashboardFooterComponent","i6.NoDataComponent","i7.FilterPipe","i3.CsCheckboxComponent","i4.CsRadioComponent","i6.DashboardFooterComponent","i1.CreateDashboardService","i2.PaginationService","i4.PopoverService","i5.ConfigureWidgetsService","i6.TextCountPipe","i9.CsRadioComponent","i10","i11.ToolTipDirective","i12.ConfigureWidgetsComponent","i13.PopoverComponent","i14.PopoverDirective","i15.LoaderInlineComponent","i16.SnackBarComponent","i17.ScrollInViewDirective","i18.SmileyDialogComponent","i20.UserListComponent","i21.ResponsibilityCenterComponent","i22.CategoriesComponent","i23.RiskCategoriesComponent","i24.FrequencyComponent","i2.SafeHtmlPipe","i1.CsSelectComponent","i2.CsSelectService","i3.ToolTipDirective","i1.CsRadioComponent","i2.ClickOutsideDirective","i3.PascalPipe","i4.InsertionDirective","i1.DialogService"],"mappings":"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"}