vc-layout 3.0.4 → 3.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/esm2022/lib/components/ai-assistant/ai-assistant-container.component.mjs +109 -0
  2. package/esm2022/lib/components/ai-assistant/assistant-state.config.mjs +21 -0
  3. package/esm2022/lib/components/global-alert/global-alert/global-alert.component.mjs +191 -0
  4. package/esm2022/lib/components/global-alert/global-alert.module.mjs +18 -0
  5. package/esm2022/lib/components/header/ai-assistant/ai-assistant.component.mjs +42 -0
  6. package/esm2022/lib/components/header/business-cycle/business-cycle.component.mjs +292 -0
  7. package/esm2022/lib/components/header/create-workflow/create-workflow.component.mjs +21 -0
  8. package/esm2022/lib/components/header/header-container/header-container.component.mjs +133 -0
  9. package/esm2022/lib/components/header/header.module.mjs +77 -0
  10. package/esm2022/lib/components/header/queue/queue.component.mjs +59 -0
  11. package/esm2022/lib/components/header/search/search.component.mjs +138 -0
  12. package/esm2022/lib/components/header/support/support.component.mjs +31 -0
  13. package/esm2022/lib/components/header/user-details/user-details.component.mjs +36 -0
  14. package/esm2022/lib/components/product-list/module-list/module-list.component.mjs +202 -0
  15. package/esm2022/lib/components/product-list/preference-list/preference-list.component.mjs +100 -0
  16. package/esm2022/lib/components/product-list/product-list-container/product-list-container.component.mjs +42 -0
  17. package/esm2022/lib/components/product-list/product-list.module.mjs +31 -0
  18. package/esm2022/lib/components/sub-menu/sub-menu-container/sub-menu-container.component.mjs +106 -0
  19. package/esm2022/lib/components/sub-menu/sub-menu.module.mjs +19 -0
  20. package/esm2022/lib/configurations.mjs +6 -0
  21. package/esm2022/lib/constants/alerts.constant.mjs +7 -0
  22. package/esm2022/lib/constants/api.constant.mjs +7 -0
  23. package/esm2022/lib/constants/app-url.constant.mjs +22 -0
  24. package/esm2022/lib/constants/assets.constants.mjs +36 -0
  25. package/esm2022/lib/constants/assistant.constants.mjs +3 -0
  26. package/esm2022/lib/constants/business-cycle.constant.mjs +42 -0
  27. package/esm2022/lib/constants/product-list.constant.mjs +124 -0
  28. package/esm2022/lib/shared/pipe/check-create-permission.pipe.mjs +22 -0
  29. package/esm2022/lib/shared/pipe/date-format.pipe.mjs +35 -0
  30. package/esm2022/lib/shared/pipe/get-file-url.pipe.mjs +22 -0
  31. package/esm2022/lib/shared/pipe/get-module-icon.pipe.mjs +22 -0
  32. package/esm2022/lib/shared/pipe/pipes.module.mjs +42 -0
  33. package/esm2022/lib/shared/pipe/safe-url.pipe.mjs +23 -0
  34. package/esm2022/lib/shared/services/RBAC.service.mjs +57 -0
  35. package/esm2022/lib/shared/services/api.service.mjs +127 -0
  36. package/esm2022/lib/shared/services/business-cycle.service.mjs +113 -0
  37. package/esm2022/lib/shared/services/layout.service.mjs +41 -0
  38. package/esm2022/lib/shared/services/local-storage.service.mjs +41 -0
  39. package/esm2022/lib/shared/services/product-list.service.mjs +79 -0
  40. package/esm2022/lib/shared/ui-kit/avatar/avatar/avatar.component.mjs +43 -0
  41. package/esm2022/lib/shared/ui-kit/avatar/avatar.module.mjs +19 -0
  42. package/esm2022/lib/shared/ui-kit/formgroup/checkbox/checkbox.component.mjs +39 -0
  43. package/esm2022/lib/shared/ui-kit/formgroup/click-outside.directive.mjs +29 -0
  44. package/esm2022/lib/shared/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +28 -0
  45. package/esm2022/lib/shared/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.mjs +32 -0
  46. package/esm2022/lib/shared/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +30 -0
  47. package/esm2022/lib/shared/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
  48. package/esm2022/lib/shared/ui-kit/formgroup/cs-select/cs-select.component.mjs +102 -0
  49. package/esm2022/lib/shared/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +35 -0
  50. package/esm2022/lib/shared/ui-kit/formgroup/formgroup.module.mjs +65 -0
  51. package/esm2022/lib/shared/ui-kit/formgroup/pipes/pascal.pipe.mjs +19 -0
  52. package/esm2022/lib/shared/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +24 -0
  53. package/esm2022/lib/shared/ui-kit/page-loader/page-loader.component.mjs +41 -0
  54. package/esm2022/lib/shared/ui-kit/popover/popover-event.directive.mjs +28 -0
  55. package/esm2022/lib/shared/ui-kit/popover/popover-longpress.directive.mjs +48 -0
  56. package/esm2022/lib/shared/ui-kit/popover/popover.component.mjs +141 -0
  57. package/esm2022/lib/shared/ui-kit/popover/popover.directive.mjs +82 -0
  58. package/esm2022/lib/shared/ui-kit/popover/popover.module.mjs +23 -0
  59. package/esm2022/lib/shared/ui-kit/popover/popover.service.mjs +15 -0
  60. package/esm2022/lib/shared/ui-kit/tooltip/tooltip.directive.mjs +156 -0
  61. package/esm2022/lib/shared/ui-kit/tooltip/tooltip.module.mjs +18 -0
  62. package/esm2022/lib/vc-layout.component.mjs +19 -0
  63. package/esm2022/lib/vc-layout.module.mjs +24 -0
  64. package/esm2022/lib/vc-layout.service.mjs +14 -0
  65. package/esm2022/public-api.mjs +15 -0
  66. package/esm2022/vc-layout.mjs +5 -0
  67. package/fesm2022/vc-layout.mjs +250 -257
  68. package/fesm2022/vc-layout.mjs.map +1 -1
  69. package/package.json +5 -3
@@ -0,0 +1,36 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { IN_APP_URL } from '../../../constants/app-url.constant';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../shared/services/layout.service";
5
+ import * as i2 from "@vcomply/authorizer";
6
+ import * as i3 from "../../../shared/ui-kit/tooltip/tooltip.directive";
7
+ import * as i4 from "../../../shared/ui-kit/avatar/avatar/avatar.component";
8
+ import * as i5 from "../../../shared/ui-kit/popover/popover.component";
9
+ import * as i6 from "../../../shared/ui-kit/popover/popover.directive";
10
+ import * as i7 from "@angular/common";
11
+ // for local testing
12
+ // import { AuthorizerService } from '../../../../../../vcomply-authorizer/src/lib/services/authorizer.service';
13
+ export class UserDetailsComponent {
14
+ constructor(layoutService, authService) {
15
+ this.layoutService = layoutService;
16
+ this.authService = authService;
17
+ }
18
+ editProfile() {
19
+ const URL = this.layoutService.baseUrl + IN_APP_URL.EDIT_PROFILE;
20
+ window.location.href = URL;
21
+ }
22
+ logout() {
23
+ this.authService.logout();
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserDetailsComponent, deps: [{ token: i1.LayoutService }, { token: i2.AuthorizerService }], target: i0.ɵɵFactoryTarget.Component }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UserDetailsComponent, selector: "vc-user-details", inputs: { userDetails: "userDetails", subscriptionDetails: "subscriptionDetails" }, ngImport: i0, template: "<div\n class=\"header-user-details\"\n [arTooltip]=\"'View Your Profile'\"\n placement=\"bottom-right\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n appPopover\n (click)=\"userInfo.popover()\"\n position=\"right\"\n>\n <vc-avatar [userInfo]=\"userDetails\"></vc-avatar>\n</div>\n\n<vui-popover #userInfo [dontCloseonClick]=\"true\">\n <div class=\"header-user-details-box vx-mt-3 vx-bg-neutral-0 vx-radius-4\">\n <div\n class=\"header-user-details-box-top vx-d-flex vx-align-center vx-p-3 vx-pl-2 vx-pr-2\"\n >\n <vc-avatar [userInfo]=\"userDetails\" [type]=\"'x-lg'\"></vc-avatar>\n <div class=\"header-user-details-box-top-right vx-ml-4\">\n <div\n class=\"userName vx-fs-13 vx-fw-600 vx-neutral-100 vx-lh-5 vx-tt-capitalize\"\n [arTooltip]=\"userDetails?.member_name\"\n placement=\"bottom-left\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ userDetails?.member_name }}\n </div>\n <div\n class=\"userEmail vx-fs-11 vx-gray-60 vx-lh-4\"\n [arTooltip]=\"userDetails?.member_email\"\n placement=\"bottom-left\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ userDetails?.member_email }}\n </div>\n </div>\n </div>\n <div class=\"header-user-details-box-mid\">\n <ul class=\"vx-p-0 vx-m-0\">\n <li\n class=\"vx-fs-11 vx-d-flex vx-align-center vx-p-3 vx-pl-2 vx-pr-2 vx-lh-4\"\n >\n <span class=\"vx-neutral-100 vx-fw-500 vx-tt-uppercase\"\n >SUBSCRIPTION :</span\n >\n <span\n [class.expired]=\"subscriptionDetails?.after_expired_days_allow\"\n >{{\n subscriptionDetails?.after_expired_days_allow\n ? \"Expired\"\n : \"Active\"\n }}</span\n >\n </li>\n <li\n class=\"vx-fs-11 vx-d-flex vx-align-center vx-p-3 vx-pl-2 vx-pr-2 vx-lh-4\"\n >\n <span class=\"vx-neutral-100 vx-fw-500 vx-tt-uppercase\"\n >EXPIRING ON :</span\n >\n <span class=\"vx-gray-60\">{{\n subscriptionDetails?.expiredDetails | date: \"dd MMM yyyy\"\n }}</span>\n </li>\n <li\n class=\"vx-fs-11 vx-d-flex vx-align-center vx-p-3 vx-pl-2 vx-pr-2 vx-lh-4\"\n >\n <span class=\"vx-neutral-100 vx-fw-500 vx-tt-uppercase\"\n >Support Pin :</span\n >\n <span class=\"vx-gray-60\">{{ userDetails?.calling_pin }}</span>\n </li>\n </ul>\n </div>\n <div\n class=\"header-user-details-box-bottom vx-d-flex vx-align-center vx-justify-center vx-pt-3 vx-pb-3\"\n >\n <button (click)=\"editProfile()\" class=\"vx-button subtle small primary\">\n Edit Profile\n </button>\n <button (click)=\"logout()\" class=\"vx-button bold small primary\">\n Log out\n </button>\n </div>\n </div>\n</vui-popover>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css-v2/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/border-radius/border-radius.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-left.css\";::ng-deep .header-user-details{cursor:pointer;margin-left:1.75rem}::ng-deep .header-user-details vc-avatar .vx-avatar{border:none;width:1.5rem;height:1.5rem}::ng-deep .header-user-details vc-avatar .vx-avatar span{font-size:10px;font-weight:400}::ng-deep .header-user-details-box{border:1px solid #e3e3e9;box-shadow:0 4px 8px #1e5dd326;width:17.5rem}::ng-deep .header-user-details-box-top vc-avatar .vx-avatar{border:.125rem solid #f2f2f5;width:5rem;height:5rem}::ng-deep .header-user-details-box-top vc-avatar .vx-avatar span{font-size:18px;font-weight:600}::ng-deep .header-user-details-box-top-right{width:calc(100% - 6rem)}::ng-deep .header-user-details-box-top-right .userName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .header-user-details-box-top-right .userEmail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .header-user-details-box-mid ul li{border-bottom:1px solid #e3e3e9}::ng-deep .header-user-details-box-mid ul li:first-of-type span:nth-child(2){color:#34aa44}::ng-deep .header-user-details-box-mid ul li span{position:relative}::ng-deep .header-user-details-box-mid ul li span:first-of-type{width:6rem}::ng-deep .header-user-details-box-mid ul li span.expired{color:#c7381b!important}::ng-deep .header-user-details-box-bottom button{margin:0 .125rem!important}\n"], dependencies: [{ kind: "directive", type: i3.ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i4.AvatarComponent, selector: "vc-avatar", inputs: ["userInfo", "type"] }, { kind: "component", type: i5.PopoverComponent, selector: "vui-popover", inputs: ["dontCloseonClick"], outputs: ["closedOnOverlay"] }, { kind: "directive", type: i6.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "position"] }, { kind: "pipe", type: i7.DatePipe, name: "date" }] }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserDetailsComponent, decorators: [{
29
+ type: Component,
30
+ args: [{ selector: 'vc-user-details', template: "<div\n class=\"header-user-details\"\n [arTooltip]=\"'View Your Profile'\"\n placement=\"bottom-right\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n appPopover\n (click)=\"userInfo.popover()\"\n position=\"right\"\n>\n <vc-avatar [userInfo]=\"userDetails\"></vc-avatar>\n</div>\n\n<vui-popover #userInfo [dontCloseonClick]=\"true\">\n <div class=\"header-user-details-box vx-mt-3 vx-bg-neutral-0 vx-radius-4\">\n <div\n class=\"header-user-details-box-top vx-d-flex vx-align-center vx-p-3 vx-pl-2 vx-pr-2\"\n >\n <vc-avatar [userInfo]=\"userDetails\" [type]=\"'x-lg'\"></vc-avatar>\n <div class=\"header-user-details-box-top-right vx-ml-4\">\n <div\n class=\"userName vx-fs-13 vx-fw-600 vx-neutral-100 vx-lh-5 vx-tt-capitalize\"\n [arTooltip]=\"userDetails?.member_name\"\n placement=\"bottom-left\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ userDetails?.member_name }}\n </div>\n <div\n class=\"userEmail vx-fs-11 vx-gray-60 vx-lh-4\"\n [arTooltip]=\"userDetails?.member_email\"\n placement=\"bottom-left\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ userDetails?.member_email }}\n </div>\n </div>\n </div>\n <div class=\"header-user-details-box-mid\">\n <ul class=\"vx-p-0 vx-m-0\">\n <li\n class=\"vx-fs-11 vx-d-flex vx-align-center vx-p-3 vx-pl-2 vx-pr-2 vx-lh-4\"\n >\n <span class=\"vx-neutral-100 vx-fw-500 vx-tt-uppercase\"\n >SUBSCRIPTION :</span\n >\n <span\n [class.expired]=\"subscriptionDetails?.after_expired_days_allow\"\n >{{\n subscriptionDetails?.after_expired_days_allow\n ? \"Expired\"\n : \"Active\"\n }}</span\n >\n </li>\n <li\n class=\"vx-fs-11 vx-d-flex vx-align-center vx-p-3 vx-pl-2 vx-pr-2 vx-lh-4\"\n >\n <span class=\"vx-neutral-100 vx-fw-500 vx-tt-uppercase\"\n >EXPIRING ON :</span\n >\n <span class=\"vx-gray-60\">{{\n subscriptionDetails?.expiredDetails | date: \"dd MMM yyyy\"\n }}</span>\n </li>\n <li\n class=\"vx-fs-11 vx-d-flex vx-align-center vx-p-3 vx-pl-2 vx-pr-2 vx-lh-4\"\n >\n <span class=\"vx-neutral-100 vx-fw-500 vx-tt-uppercase\"\n >Support Pin :</span\n >\n <span class=\"vx-gray-60\">{{ userDetails?.calling_pin }}</span>\n </li>\n </ul>\n </div>\n <div\n class=\"header-user-details-box-bottom vx-d-flex vx-align-center vx-justify-center vx-pt-3 vx-pb-3\"\n >\n <button (click)=\"editProfile()\" class=\"vx-button subtle small primary\">\n Edit Profile\n </button>\n <button (click)=\"logout()\" class=\"vx-button bold small primary\">\n Log out\n </button>\n </div>\n </div>\n</vui-popover>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css-v2/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/border-radius/border-radius.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-left.css\";::ng-deep .header-user-details{cursor:pointer;margin-left:1.75rem}::ng-deep .header-user-details vc-avatar .vx-avatar{border:none;width:1.5rem;height:1.5rem}::ng-deep .header-user-details vc-avatar .vx-avatar span{font-size:10px;font-weight:400}::ng-deep .header-user-details-box{border:1px solid #e3e3e9;box-shadow:0 4px 8px #1e5dd326;width:17.5rem}::ng-deep .header-user-details-box-top vc-avatar .vx-avatar{border:.125rem solid #f2f2f5;width:5rem;height:5rem}::ng-deep .header-user-details-box-top vc-avatar .vx-avatar span{font-size:18px;font-weight:600}::ng-deep .header-user-details-box-top-right{width:calc(100% - 6rem)}::ng-deep .header-user-details-box-top-right .userName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .header-user-details-box-top-right .userEmail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .header-user-details-box-mid ul li{border-bottom:1px solid #e3e3e9}::ng-deep .header-user-details-box-mid ul li:first-of-type span:nth-child(2){color:#34aa44}::ng-deep .header-user-details-box-mid ul li span{position:relative}::ng-deep .header-user-details-box-mid ul li span:first-of-type{width:6rem}::ng-deep .header-user-details-box-mid ul li span.expired{color:#c7381b!important}::ng-deep .header-user-details-box-bottom button{margin:0 .125rem!important}\n"] }]
31
+ }], ctorParameters: function () { return [{ type: i1.LayoutService }, { type: i2.AuthorizerService }]; }, propDecorators: { userDetails: [{
32
+ type: Input
33
+ }], subscriptionDetails: [{
34
+ type: Input
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWxheW91dC9zcmMvbGliL2NvbXBvbmVudHMvaGVhZGVyL3VzZXItZGV0YWlscy91c2VyLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvdXNlci1kZXRhaWxzL3VzZXItZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7OztBQUVqRSxvQkFBb0I7QUFDcEIsZ0hBQWdIO0FBT2hILE1BQU0sT0FBTyxvQkFBb0I7SUFHL0IsWUFDVSxhQUE0QixFQUM1QixXQUE4QjtRQUQ5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7SUFDckMsQ0FBQztJQUVKLFdBQVc7UUFDVCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQ2pFLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUM3QixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDNUIsQ0FBQzsrR0FmVSxvQkFBb0I7bUdBQXBCLG9CQUFvQiwySUNaakMsK2hHQTRGQTs7NEZEaEZhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxpQkFBaUI7b0lBS2xCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9sYXlvdXQuc2VydmljZSc7XG5pbXBvcnQgeyBJTl9BUFBfVVJMIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2FwcC11cmwuY29uc3RhbnQnO1xuaW1wb3J0IHsgQXV0aG9yaXplclNlcnZpY2UgfSBmcm9tICdAdmNvbXBseS9hdXRob3JpemVyJztcbi8vIGZvciBsb2NhbCB0ZXN0aW5nXG4vLyBpbXBvcnQgeyBBdXRob3JpemVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3Zjb21wbHktYXV0aG9yaXplci9zcmMvbGliL3NlcnZpY2VzL2F1dGhvcml6ZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZjLXVzZXItZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91c2VyLWRldGFpbHMuY29tcG9uZW50Lmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVXNlckRldGFpbHNDb21wb25lbnQge1xuICBASW5wdXQoKSB1c2VyRGV0YWlsczogYW55O1xuICBASW5wdXQoKSBzdWJzY3JpcHRpb25EZXRhaWxzOiBhbnk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRob3JpemVyU2VydmljZVxuICApIHt9XG5cbiAgZWRpdFByb2ZpbGUoKSB7XG4gICAgY29uc3QgVVJMID0gdGhpcy5sYXlvdXRTZXJ2aWNlLmJhc2VVcmwgKyBJTl9BUFBfVVJMLkVESVRfUFJPRklMRTtcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IFVSTDtcbiAgfVxuXG4gIGxvZ291dCgpIHtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiaGVhZGVyLXVzZXItZGV0YWlsc1wiXG4gIFthclRvb2x0aXBdPVwiJ1ZpZXcgWW91ciBQcm9maWxlJ1wiXG4gIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiXG4gIHR5cGU9XCJibGFja1wiXG4gIGRlbGF5PVwiMFwiXG4gIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICBhcHBQb3BvdmVyXG4gIChjbGljayk9XCJ1c2VySW5mby5wb3BvdmVyKClcIlxuICBwb3NpdGlvbj1cInJpZ2h0XCJcbj5cbiAgPHZjLWF2YXRhciBbdXNlckluZm9dPVwidXNlckRldGFpbHNcIj48L3ZjLWF2YXRhcj5cbjwvZGl2PlxuXG48dnVpLXBvcG92ZXIgI3VzZXJJbmZvIFtkb250Q2xvc2VvbkNsaWNrXT1cInRydWVcIj5cbiAgPGRpdiBjbGFzcz1cImhlYWRlci11c2VyLWRldGFpbHMtYm94IHZ4LW10LTMgdngtYmctbmV1dHJhbC0wIHZ4LXJhZGl1cy00XCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJoZWFkZXItdXNlci1kZXRhaWxzLWJveC10b3AgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wLTMgdngtcGwtMiB2eC1wci0yXCJcbiAgICA+XG4gICAgICA8dmMtYXZhdGFyIFt1c2VySW5mb109XCJ1c2VyRGV0YWlsc1wiIFt0eXBlXT1cIid4LWxnJ1wiPjwvdmMtYXZhdGFyPlxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci11c2VyLWRldGFpbHMtYm94LXRvcC1yaWdodCB2eC1tbC00XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInVzZXJOYW1lIHZ4LWZzLTEzIHZ4LWZ3LTYwMCB2eC1uZXV0cmFsLTEwMCB2eC1saC01IHZ4LXR0LWNhcGl0YWxpemVcIlxuICAgICAgICAgIFthclRvb2x0aXBdPVwidXNlckRldGFpbHM/Lm1lbWJlcl9uYW1lXCJcbiAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHVzZXJEZXRhaWxzPy5tZW1iZXJfbmFtZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidXNlckVtYWlsIHZ4LWZzLTExIHZ4LWdyYXktNjAgdngtbGgtNFwiXG4gICAgICAgICAgW2FyVG9vbHRpcF09XCJ1c2VyRGV0YWlscz8ubWVtYmVyX2VtYWlsXCJcbiAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHVzZXJEZXRhaWxzPy5tZW1iZXJfZW1haWwgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXVzZXItZGV0YWlscy1ib3gtbWlkXCI+XG4gICAgICA8dWwgY2xhc3M9XCJ2eC1wLTAgdngtbS0wXCI+XG4gICAgICAgIDxsaVxuICAgICAgICAgIGNsYXNzPVwidngtZnMtMTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wLTMgdngtcGwtMiB2eC1wci0yIHZ4LWxoLTRcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC1uZXV0cmFsLTEwMCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlXCJcbiAgICAgICAgICAgID5TVUJTQ1JJUFRJT04gOjwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgW2NsYXNzLmV4cGlyZWRdPVwic3Vic2NyaXB0aW9uRGV0YWlscz8uYWZ0ZXJfZXhwaXJlZF9kYXlzX2FsbG93XCJcbiAgICAgICAgICAgID57e1xuICAgICAgICAgICAgICBzdWJzY3JpcHRpb25EZXRhaWxzPy5hZnRlcl9leHBpcmVkX2RheXNfYWxsb3dcbiAgICAgICAgICAgICAgICA/IFwiRXhwaXJlZFwiXG4gICAgICAgICAgICAgICAgOiBcIkFjdGl2ZVwiXG4gICAgICAgICAgICB9fTwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgPC9saT5cbiAgICAgICAgPGxpXG4gICAgICAgICAgY2xhc3M9XCJ2eC1mcy0xMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXAtMyB2eC1wbC0yIHZ4LXByLTIgdngtbGgtNFwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInZ4LW5ldXRyYWwtMTAwIHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2VcIlxuICAgICAgICAgICAgPkVYUElSSU5HIE9OIDo8L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC1ncmF5LTYwXCI+e3tcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbkRldGFpbHM/LmV4cGlyZWREZXRhaWxzIHwgZGF0ZTogXCJkZCBNTU0geXl5eVwiXG4gICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaVxuICAgICAgICAgIGNsYXNzPVwidngtZnMtMTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wLTMgdngtcGwtMiB2eC1wci0yIHZ4LWxoLTRcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC1uZXV0cmFsLTEwMCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlXCJcbiAgICAgICAgICAgID5TdXBwb3J0IFBpbiA6PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidngtZ3JheS02MFwiPnt7IHVzZXJEZXRhaWxzPy5jYWxsaW5nX3BpbiB9fTwvc3Bhbj5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJoZWFkZXItdXNlci1kZXRhaWxzLWJveC1ib3R0b20gdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC1wdC0zIHZ4LXBiLTNcIlxuICAgID5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cImVkaXRQcm9maWxlKClcIiBjbGFzcz1cInZ4LWJ1dHRvbiBzdWJ0bGUgc21hbGwgcHJpbWFyeVwiPlxuICAgICAgICBFZGl0IFByb2ZpbGVcbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwibG9nb3V0KClcIiBjbGFzcz1cInZ4LWJ1dHRvbiBib2xkIHNtYWxsIHByaW1hcnlcIj5cbiAgICAgICAgTG9nIG91dFxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC92dWktcG9wb3Zlcj5cbiJdfQ==
@@ -0,0 +1,202 @@
1
+ import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { ASSETS } from '../../../constants/assets.constants';
3
+ import { PRODUCT_LIST, ASSESSMENT_PERMISSIONS, CODES } from '../../../constants/product-list.constant';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../shared/services/product-list.service";
6
+ import * as i2 from "../../../shared/services/api.service";
7
+ import * as i3 from "../../../shared/services/RBAC.service";
8
+ import * as i4 from "@angular/common";
9
+ import * as i5 from "../../../shared/ui-kit/tooltip/tooltip.directive";
10
+ import * as i6 from "../../../shared/ui-kit/page-loader/page-loader.component";
11
+ import * as i7 from "../../../shared/pipe/get-module-icon.pipe";
12
+ export class ModuleListComponent {
13
+ constructor(productListService, apiService, rbacService) {
14
+ this.productListService = productListService;
15
+ this.apiService = apiService;
16
+ this.rbacService = rbacService;
17
+ this.isLoading = false;
18
+ this.CODES = CODES;
19
+ this.activeModule = 'COMPLIANCE';
20
+ this.isSubMenuVisible = true;
21
+ this.onToggleSubmenu = new EventEmitter();
22
+ this.ASSETS = ASSETS;
23
+ this.PRODUCT_LIST = [...new Set(PRODUCT_LIST)];
24
+ this.assessmentPermission = [];
25
+ this.apiService.getSubscriptionList();
26
+ }
27
+ ngOnInit() {
28
+ this.setLoader();
29
+ }
30
+ ngOnChanges() {
31
+ this.getUserDetails();
32
+ this.checkModuleSubscription();
33
+ }
34
+ /**
35
+ * Handles the toggle event of the submenu for each product.
36
+ *
37
+ * @param eachProduct - The product object for which the submenu is being toggled.
38
+ * @returns Returns false to prevent the default behavior.
39
+ */
40
+ onSubMenuToggle(eachProduct) {
41
+ if (eachProduct?.code === 'TOGGLE') {
42
+ this.onToggleSubmenu.emit();
43
+ }
44
+ else {
45
+ window.location.href = eachProduct.url;
46
+ }
47
+ }
48
+ /**
49
+ * Checks the module subscription and updates the product list accordingly.
50
+ * Subscribes to the `subscriptionDetail$` observable from the `apiService` and updates the `PRODUCT_LIST` property of the component based on the received data.
51
+ *
52
+ * @remarks
53
+ * This method is typically called when the component is initialized or when the subscription details change.
54
+ */
55
+ checkModuleSubscription() {
56
+ this.apiService.subscriptionDetail$.subscribe((data) => {
57
+ if (data) {
58
+ this.PRODUCT_LIST = this.productListService.subscribedProduct(this.PRODUCT_LIST, data);
59
+ if (!this.isSubMenuVisible) {
60
+ this.PRODUCT_LIST = this.PRODUCT_LIST.filter((product) => product.code !== 'TOGGLE');
61
+ }
62
+ console.log(this.PRODUCT_LIST, this.isSubMenuVisible);
63
+ }
64
+ });
65
+ }
66
+ setLoader() {
67
+ this.apiService.isLoading.subscribe((res) => {
68
+ this.isLoading = res;
69
+ });
70
+ }
71
+ /**
72
+ * Sets the product list by mapping each product in the PRODUCT_LIST array.
73
+ * Each product's callback is set to the onSubMenuToggle method bound to the current instance.
74
+ * The product's URL is set using the setProductClickCallback method of the productListService,
75
+ * passing the product and the featureFlag as arguments. If the returned URL is null or undefined,
76
+ * an empty string is assigned to the product's URL property.
77
+ */
78
+ assessmentPermissionCheck(data) {
79
+ const assessmentPermissions = [...new Set(data)];
80
+ return (assessmentPermissions.length > 0 &&
81
+ assessmentPermissions.some((permission) => ASSESSMENT_PERMISSIONS.includes(permission)));
82
+ }
83
+ setProductList() {
84
+ this.PRODUCT_LIST = this.PRODUCT_LIST.map((product) => {
85
+ product.callback = this.onSubMenuToggle.bind(this);
86
+ product.url =
87
+ this.productListService.setProductClickCallback(product) ?? '';
88
+ return product;
89
+ });
90
+ this.apiService.isLoading.next(false);
91
+ }
92
+ getUserDetails() {
93
+ this.apiService.loggedUserDetail$.subscribe((data) => {
94
+ if (data) {
95
+ if (!this.assessmentPermissionCheck(this.rbacService.getRBACPermissions('assessment'))) {
96
+ this.PRODUCT_LIST = this.PRODUCT_LIST.filter((item) => item.code !== CODES[0]);
97
+ }
98
+ this.setCasePermission();
99
+ this.setProductList();
100
+ }
101
+ });
102
+ }
103
+ setCasePermission() {
104
+ if (this.featureFlag.isFeatureEnabled('ff_cases_enabled')) {
105
+ this.PRODUCT_LIST = this.PRODUCT_LIST.filter((item) => item.code !== CODES[1]);
106
+ }
107
+ else {
108
+ this.PRODUCT_LIST = this.PRODUCT_LIST.filter((item) => item.code !== CODES[2]);
109
+ }
110
+ }
111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModuleListComponent, deps: [{ token: i1.ProductListService }, { token: i2.ApiService }, { token: i3.RbacService }], target: i0.ɵɵFactoryTarget.Component }); }
112
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ModuleListComponent, selector: "vc-module-list", inputs: { featureFlag: "featureFlag", activeModule: "activeModule", isSubMenuVisible: "isSubMenuVisible" }, outputs: { onToggleSubmenu: "onToggleSubmenu" }, usesOnChanges: true, ngImport: i0, template: `
113
+ <app-page-loader *ngIf="isLoading"></app-page-loader>
114
+ <ng-container *ngIf="!isLoading">
115
+ <div class="module-list">
116
+ <ul class="vx-p-0 vx-m-0">
117
+ <li
118
+ *ngFor="let eachProduct of PRODUCT_LIST"
119
+ class="vx-d-flex vx-align-center vx-justify-center"
120
+ [ngClass]="eachProduct.class"
121
+ [class.active]="activeModule === eachProduct.code"
122
+ >
123
+ <a
124
+ class="vx-d-flex vx-align-center vx-justify-center vx-w-100"
125
+ [ngClass]="eachProduct?.linkClass"
126
+ [arTooltip]="eachProduct.name"
127
+ placement="right"
128
+ type="black"
129
+ delay="0"
130
+ [tooltipMandatory]="true"
131
+ [animate]="true"
132
+ (click)="eachProduct?.callback(eachProduct)"
133
+ ><img
134
+ [src]="eachProduct.code | getModuleIcon : activeModule"
135
+ alt=""
136
+ width="16"
137
+ height="16"
138
+ />
139
+ <ng-template *ngIf="eachProduct?.code !== 'TOGGLE'">
140
+ [href]="eachProduct.url"
141
+ </ng-template>
142
+ <ng-template *ngElse>
143
+ (click)="onSubMenuToggle(eachProduct)"
144
+ </ng-template>
145
+ </a>
146
+ </li>
147
+ </ul>
148
+ </div>
149
+ </ng-container>
150
+ `, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css-v2/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-left.css\";.module-list ul li{position:relative;z-index:1}.module-list ul li.active:before{background:#4681ef;border-radius:.25rem;content:\"\";position:absolute;top:.5rem;left:.5rem;width:2rem;height:2rem;z-index:-1}@media screen and (max-width: 1366px){.module-list ul li.active:before{top:.25rem}}.module-list ul li.dashboard-list:after{background:#343952;border-radius:.25rem .25rem 0 0;content:\"\";position:absolute;top:.375rem;left:.375rem;width:2.25rem;height:2.625rem;z-index:-2}@media screen and (max-width: 1366px){.module-list ul li.dashboard-list:after{top:.125rem;height:2.375rem}}.module-list ul li.toDoResponsibility-list:after{background:#343952;border-radius:0 0 .25rem .25rem;content:\"\";position:absolute;bottom:.375rem;left:.375rem;width:2.25rem;height:2.625rem;z-index:-2}@media screen and (max-width: 1366px){.module-list ul li.toDoResponsibility-list:after{bottom:.125rem;height:2.375rem}}.module-list ul li a{height:3rem}@media screen and (max-width: 1366px){.module-list ul li a{height:2.5rem}}.module-list ul li a.vc-hamburger{height:2rem}.module-list ul li a img{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i6.PageLoaderComponent, selector: "app-page-loader" }, { kind: "pipe", type: i7.GetModuleIconPipe, name: "getModuleIcon" }] }); }
151
+ }
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModuleListComponent, decorators: [{
153
+ type: Component,
154
+ args: [{ selector: 'vc-module-list', template: `
155
+ <app-page-loader *ngIf="isLoading"></app-page-loader>
156
+ <ng-container *ngIf="!isLoading">
157
+ <div class="module-list">
158
+ <ul class="vx-p-0 vx-m-0">
159
+ <li
160
+ *ngFor="let eachProduct of PRODUCT_LIST"
161
+ class="vx-d-flex vx-align-center vx-justify-center"
162
+ [ngClass]="eachProduct.class"
163
+ [class.active]="activeModule === eachProduct.code"
164
+ >
165
+ <a
166
+ class="vx-d-flex vx-align-center vx-justify-center vx-w-100"
167
+ [ngClass]="eachProduct?.linkClass"
168
+ [arTooltip]="eachProduct.name"
169
+ placement="right"
170
+ type="black"
171
+ delay="0"
172
+ [tooltipMandatory]="true"
173
+ [animate]="true"
174
+ (click)="eachProduct?.callback(eachProduct)"
175
+ ><img
176
+ [src]="eachProduct.code | getModuleIcon : activeModule"
177
+ alt=""
178
+ width="16"
179
+ height="16"
180
+ />
181
+ <ng-template *ngIf="eachProduct?.code !== 'TOGGLE'">
182
+ [href]="eachProduct.url"
183
+ </ng-template>
184
+ <ng-template *ngElse>
185
+ (click)="onSubMenuToggle(eachProduct)"
186
+ </ng-template>
187
+ </a>
188
+ </li>
189
+ </ul>
190
+ </div>
191
+ </ng-container>
192
+ `, styles: ["@import\"https://cdn.v-comply.com/design-system/css-v2/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-left.css\";.module-list ul li{position:relative;z-index:1}.module-list ul li.active:before{background:#4681ef;border-radius:.25rem;content:\"\";position:absolute;top:.5rem;left:.5rem;width:2rem;height:2rem;z-index:-1}@media screen and (max-width: 1366px){.module-list ul li.active:before{top:.25rem}}.module-list ul li.dashboard-list:after{background:#343952;border-radius:.25rem .25rem 0 0;content:\"\";position:absolute;top:.375rem;left:.375rem;width:2.25rem;height:2.625rem;z-index:-2}@media screen and (max-width: 1366px){.module-list ul li.dashboard-list:after{top:.125rem;height:2.375rem}}.module-list ul li.toDoResponsibility-list:after{background:#343952;border-radius:0 0 .25rem .25rem;content:\"\";position:absolute;bottom:.375rem;left:.375rem;width:2.25rem;height:2.625rem;z-index:-2}@media screen and (max-width: 1366px){.module-list ul li.toDoResponsibility-list:after{bottom:.125rem;height:2.375rem}}.module-list ul li a{height:3rem}@media screen and (max-width: 1366px){.module-list ul li a{height:2.5rem}}.module-list ul li a.vc-hamburger{height:2rem}.module-list ul li a img{pointer-events:none}\n"] }]
193
+ }], ctorParameters: function () { return [{ type: i1.ProductListService }, { type: i2.ApiService }, { type: i3.RbacService }]; }, propDecorators: { featureFlag: [{
194
+ type: Input
195
+ }], activeModule: [{
196
+ type: Input
197
+ }], isSubMenuVisible: [{
198
+ type: Input
199
+ }], onToggleSubmenu: [{
200
+ type: Output
201
+ }] } });
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy9saWIvY29tcG9uZW50cy9wcm9kdWN0LWxpc3QvbW9kdWxlLWxpc3QvbW9kdWxlLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdELE9BQU8sRUFDTCxZQUFZLEVBQ1osc0JBQXNCLEVBQ3RCLEtBQUssRUFDTixNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7Ozs7QUFnRGxELE1BQU0sT0FBTyxtQkFBbUI7SUFZOUIsWUFDVSxrQkFBc0MsRUFDdEMsVUFBc0IsRUFDdEIsV0FBd0I7UUFGeEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBZGxDLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsVUFBSyxHQUFRLEtBQUssQ0FBQztRQUVWLGlCQUFZLEdBQVcsWUFBWSxDQUFDO1FBQ3BDLHFCQUFnQixHQUFZLElBQUksQ0FBQztRQUNoQyxvQkFBZSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXZFLFdBQU0sR0FBUSxNQUFNLENBQUM7UUFDckIsaUJBQVksR0FBUSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUMvQyx5QkFBb0IsR0FBZSxFQUFFLENBQUM7UUFPcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGVBQWUsQ0FBQyxXQUFnQjtRQUNyQyxJQUFJLFdBQVcsRUFBRSxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDN0I7YUFBTTtZQUNMLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUM7U0FDeEM7SUFDSCxDQUFDO0lBQ0Q7Ozs7OztPQU1HO0lBQ0ssdUJBQXVCO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDckQsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQzNELElBQUksQ0FBQyxZQUFZLEVBQ2pCLElBQUksQ0FDTCxDQUFDO2dCQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQzFDLENBQUMsT0FBWSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FDNUMsQ0FBQztpQkFDSDtnQkFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDdkQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBRUsseUJBQXlCLENBQUMsSUFBVztRQUMzQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FDTCxxQkFBcUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUNoQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFlLEVBQUUsRUFBRSxDQUM3QyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQzVDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRTtZQUN6RCxPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25ELE9BQU8sQ0FBQyxHQUFHO2dCQUNULElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakUsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNuRCxJQUFJLElBQUksRUFBRTtnQkFDUixJQUNFLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUNsRCxFQUNEO29CQUNBLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQzFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDdEMsQ0FBQztpQkFDSDtnQkFFRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ08saUJBQWlCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQ3pELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQzFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDdEMsQ0FBQztTQUNIO2FBQU07WUFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUMxQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ3RDLENBQUM7U0FDSDtJQUNILENBQUM7K0dBL0hVLG1CQUFtQjttR0FBbkIsbUJBQW1CLHdPQXpDcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0NUOzs0RkFHVSxtQkFBbUI7a0JBM0MvQixTQUFTOytCQUNFLGdCQUFnQixZQUNoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ1Q7NEpBTVEsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIFBST0RVQ1RfTElTVCxcbiAgQVNTRVNTTUVOVF9QRVJNSVNTSU9OUyxcbiAgQ09ERVNcbn0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL3Byb2R1Y3QtbGlzdC5jb25zdGFudCc7XG5pbXBvcnQgeyBQcm9kdWN0TGlzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvcHJvZHVjdC1saXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBSYmFjU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9SQkFDLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2Yy1tb2R1bGUtbGlzdCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGFwcC1wYWdlLWxvYWRlciAqbmdJZj1cImlzTG9hZGluZ1wiPjwvYXBwLXBhZ2UtbG9hZGVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1vZHVsZS1saXN0XCI+XG4gICAgICA8dWwgY2xhc3M9XCJ2eC1wLTAgdngtbS0wXCI+XG4gICAgICAgIDxsaVxuICAgICAgICAgICpuZ0Zvcj1cImxldCBlYWNoUHJvZHVjdCBvZiBQUk9EVUNUX0xJU1RcIlxuICAgICAgICAgIGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwiZWFjaFByb2R1Y3QuY2xhc3NcIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTW9kdWxlID09PSBlYWNoUHJvZHVjdC5jb2RlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtdy0xMDBcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiZWFjaFByb2R1Y3Q/LmxpbmtDbGFzc1wiXG4gICAgICAgICAgICBbYXJUb29sdGlwXT1cImVhY2hQcm9kdWN0Lm5hbWVcIlxuICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFthbmltYXRlXT1cInRydWVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImVhY2hQcm9kdWN0Py5jYWxsYmFjayhlYWNoUHJvZHVjdClcIlxuICAgICAgICAgICAgPjxpbWdcbiAgICAgICAgICAgICAgW3NyY109XCJlYWNoUHJvZHVjdC5jb2RlIHwgZ2V0TW9kdWxlSWNvbiA6IGFjdGl2ZU1vZHVsZVwiXG4gICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgIHdpZHRoPVwiMTZcIlxuICAgICAgICAgICAgICBoZWlnaHQ9XCIxNlwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiZWFjaFByb2R1Y3Q/LmNvZGUgIT09ICdUT0dHTEUnXCI+XG4gICAgICAgICAgICAgIFtocmVmXT1cImVhY2hQcm9kdWN0LnVybFwiXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0Vsc2U+XG4gICAgICAgICAgICAgIChjbGljayk9XCJvblN1Yk1lbnVUb2dnbGUoZWFjaFByb2R1Y3QpXCJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL21vZHVsZS1saXN0LmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE1vZHVsZUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBDT0RFUzogYW55ID0gQ09ERVM7XG4gIEBJbnB1dCgpIGZlYXR1cmVGbGFnOiBhbnk7XG4gIEBJbnB1dCgpIGFjdGl2ZU1vZHVsZTogc3RyaW5nID0gJ0NPTVBMSUFOQ0UnO1xuICBASW5wdXQoKSBpc1N1Yk1lbnVWaXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgQE91dHB1dCgpIG9uVG9nZ2xlU3VibWVudTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBBU1NFVFM6IGFueSA9IEFTU0VUUztcbiAgUFJPRFVDVF9MSVNUOiBhbnkgPSBbLi4ubmV3IFNldChQUk9EVUNUX0xJU1QpXTtcbiAgYXNzZXNzbWVudFBlcm1pc3Npb246IEFycmF5PGFueT4gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHByb2R1Y3RMaXN0U2VydmljZTogUHJvZHVjdExpc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHJiYWNTZXJ2aWNlOiBSYmFjU2VydmljZVxuICApIHtcbiAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0U3Vic2NyaXB0aW9uTGlzdCgpO1xuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0TG9hZGVyKCk7XG4gIH1cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXRVc2VyRGV0YWlscygpO1xuICAgIHRoaXMuY2hlY2tNb2R1bGVTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSB0b2dnbGUgZXZlbnQgb2YgdGhlIHN1Ym1lbnUgZm9yIGVhY2ggcHJvZHVjdC5cbiAgICpcbiAgICogQHBhcmFtIGVhY2hQcm9kdWN0IC0gVGhlIHByb2R1Y3Qgb2JqZWN0IGZvciB3aGljaCB0aGUgc3VibWVudSBpcyBiZWluZyB0b2dnbGVkLlxuICAgKiBAcmV0dXJucyBSZXR1cm5zIGZhbHNlIHRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYmVoYXZpb3IuXG4gICAqL1xuICBwdWJsaWMgb25TdWJNZW51VG9nZ2xlKGVhY2hQcm9kdWN0OiBhbnkpIHtcbiAgICBpZiAoZWFjaFByb2R1Y3Q/LmNvZGUgPT09ICdUT0dHTEUnKSB7XG4gICAgICB0aGlzLm9uVG9nZ2xlU3VibWVudS5lbWl0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gZWFjaFByb2R1Y3QudXJsO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogQ2hlY2tzIHRoZSBtb2R1bGUgc3Vic2NyaXB0aW9uIGFuZCB1cGRhdGVzIHRoZSBwcm9kdWN0IGxpc3QgYWNjb3JkaW5nbHkuXG4gICAqIFN1YnNjcmliZXMgdG8gdGhlIGBzdWJzY3JpcHRpb25EZXRhaWwkYCBvYnNlcnZhYmxlIGZyb20gdGhlIGBhcGlTZXJ2aWNlYCBhbmQgdXBkYXRlcyB0aGUgYFBST0RVQ1RfTElTVGAgcHJvcGVydHkgb2YgdGhlIGNvbXBvbmVudCBiYXNlZCBvbiB0aGUgcmVjZWl2ZWQgZGF0YS5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBtZXRob2QgaXMgdHlwaWNhbGx5IGNhbGxlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgaW5pdGlhbGl6ZWQgb3Igd2hlbiB0aGUgc3Vic2NyaXB0aW9uIGRldGFpbHMgY2hhbmdlLlxuICAgKi9cbiAgcHJpdmF0ZSBjaGVja01vZHVsZVN1YnNjcmlwdGlvbigpIHtcbiAgICB0aGlzLmFwaVNlcnZpY2Uuc3Vic2NyaXB0aW9uRGV0YWlsJC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMuUFJPRFVDVF9MSVNUID0gdGhpcy5wcm9kdWN0TGlzdFNlcnZpY2Uuc3Vic2NyaWJlZFByb2R1Y3QoXG4gICAgICAgICAgdGhpcy5QUk9EVUNUX0xJU1QsXG4gICAgICAgICAgZGF0YVxuICAgICAgICApO1xuXG4gICAgICAgIGlmICghdGhpcy5pc1N1Yk1lbnVWaXNpYmxlKSB7XG4gICAgICAgICAgdGhpcy5QUk9EVUNUX0xJU1QgPSB0aGlzLlBST0RVQ1RfTElTVC5maWx0ZXIoXG4gICAgICAgICAgICAocHJvZHVjdDogYW55KSA9PiBwcm9kdWN0LmNvZGUgIT09ICdUT0dHTEUnXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLlBST0RVQ1RfTElTVCwgdGhpcy5pc1N1Yk1lbnVWaXNpYmxlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TG9hZGVyKCkge1xuICAgIHRoaXMuYXBpU2VydmljZS5pc0xvYWRpbmcuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gcmVzO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHByb2R1Y3QgbGlzdCBieSBtYXBwaW5nIGVhY2ggcHJvZHVjdCBpbiB0aGUgUFJPRFVDVF9MSVNUIGFycmF5LlxuICAgKiBFYWNoIHByb2R1Y3QncyBjYWxsYmFjayBpcyBzZXQgdG8gdGhlIG9uU3ViTWVudVRvZ2dsZSBtZXRob2QgYm91bmQgdG8gdGhlIGN1cnJlbnQgaW5zdGFuY2UuXG4gICAqIFRoZSBwcm9kdWN0J3MgVVJMIGlzIHNldCB1c2luZyB0aGUgc2V0UHJvZHVjdENsaWNrQ2FsbGJhY2sgbWV0aG9kIG9mIHRoZSBwcm9kdWN0TGlzdFNlcnZpY2UsXG4gICAqIHBhc3NpbmcgdGhlIHByb2R1Y3QgYW5kIHRoZSBmZWF0dXJlRmxhZyBhcyBhcmd1bWVudHMuIElmIHRoZSByZXR1cm5lZCBVUkwgaXMgbnVsbCBvciB1bmRlZmluZWQsXG4gICAqIGFuIGVtcHR5IHN0cmluZyBpcyBhc3NpZ25lZCB0byB0aGUgcHJvZHVjdCdzIFVSTCBwcm9wZXJ0eS5cbiAgICovXG5cbiAgcHJpdmF0ZSBhc3Nlc3NtZW50UGVybWlzc2lvbkNoZWNrKGRhdGE6IGFueVtdKTogYm9vbGVhbiB7XG4gICAgY29uc3QgYXNzZXNzbWVudFBlcm1pc3Npb25zID0gWy4uLm5ldyBTZXQoZGF0YSldO1xuICAgIHJldHVybiAoXG4gICAgICBhc3Nlc3NtZW50UGVybWlzc2lvbnMubGVuZ3RoID4gMCAmJlxuICAgICAgYXNzZXNzbWVudFBlcm1pc3Npb25zLnNvbWUoKHBlcm1pc3Npb246IGFueSkgPT5cbiAgICAgICAgQVNTRVNTTUVOVF9QRVJNSVNTSU9OUy5pbmNsdWRlcyhwZXJtaXNzaW9uKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldFByb2R1Y3RMaXN0KCkge1xuICAgIHRoaXMuUFJPRFVDVF9MSVNUID0gdGhpcy5QUk9EVUNUX0xJU1QubWFwKChwcm9kdWN0OiBhbnkpID0+IHtcbiAgICAgIHByb2R1Y3QuY2FsbGJhY2sgPSB0aGlzLm9uU3ViTWVudVRvZ2dsZS5iaW5kKHRoaXMpO1xuICAgICAgcHJvZHVjdC51cmwgPVxuICAgICAgICB0aGlzLnByb2R1Y3RMaXN0U2VydmljZS5zZXRQcm9kdWN0Q2xpY2tDYWxsYmFjayhwcm9kdWN0KSA/PyAnJztcbiAgICAgIHJldHVybiBwcm9kdWN0O1xuICAgIH0pO1xuICAgIHRoaXMuYXBpU2VydmljZS5pc0xvYWRpbmcubmV4dChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGdldFVzZXJEZXRhaWxzKCkge1xuICAgIHRoaXMuYXBpU2VydmljZS5sb2dnZWRVc2VyRGV0YWlsJC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAhdGhpcy5hc3Nlc3NtZW50UGVybWlzc2lvbkNoZWNrKFxuICAgICAgICAgICAgdGhpcy5yYmFjU2VydmljZS5nZXRSQkFDUGVybWlzc2lvbnMoJ2Fzc2Vzc21lbnQnKVxuICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5QUk9EVUNUX0xJU1QgPSB0aGlzLlBST0RVQ1RfTElTVC5maWx0ZXIoXG4gICAgICAgICAgICAoaXRlbTogYW55KSA9PiBpdGVtLmNvZGUgIT09IENPREVTWzBdXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0Q2FzZVBlcm1pc3Npb24oKTtcbiAgICAgICAgdGhpcy5zZXRQcm9kdWN0TGlzdCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHByaXZhdGUgc2V0Q2FzZVBlcm1pc3Npb24oKSB7XG4gICAgaWYgKHRoaXMuZmVhdHVyZUZsYWcuaXNGZWF0dXJlRW5hYmxlZCgnZmZfY2FzZXNfZW5hYmxlZCcpKSB7XG4gICAgICB0aGlzLlBST0RVQ1RfTElTVCA9IHRoaXMuUFJPRFVDVF9MSVNULmZpbHRlcihcbiAgICAgICAgKGl0ZW06IGFueSkgPT4gaXRlbS5jb2RlICE9PSBDT0RFU1sxXVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5QUk9EVUNUX0xJU1QgPSB0aGlzLlBST0RVQ1RfTElTVC5maWx0ZXIoXG4gICAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW0uY29kZSAhPT0gQ09ERVNbMl1cbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbiJdfQ==
@@ -0,0 +1,100 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { PREFERENCE_LIST } from '../../../constants/product-list.constant';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../shared/services/layout.service";
5
+ import * as i2 from "../../../shared/services/api.service";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "../../../shared/ui-kit/tooltip/tooltip.directive";
8
+ import * as i5 from "../../../shared/ui-kit/page-loader/page-loader.component";
9
+ import * as i6 from "../../../shared/pipe/get-module-icon.pipe";
10
+ export class PreferenceListComponent {
11
+ constructor(layoutService, apiService) {
12
+ this.layoutService = layoutService;
13
+ this.apiService = apiService;
14
+ this.isLoading = false;
15
+ this.PREFERENCE_LIST = PREFERENCE_LIST;
16
+ this.activeModule = 'SETTINGS';
17
+ this.setUrl();
18
+ }
19
+ ngOnInit() {
20
+ this.setLoader();
21
+ }
22
+ setLoader() {
23
+ this.apiService.isLoading.subscribe((isLoading) => {
24
+ this.isLoading = isLoading;
25
+ });
26
+ }
27
+ setUrl() {
28
+ this.PREFERENCE_LIST = this.PREFERENCE_LIST.map((item) => {
29
+ item.url = this.layoutService.baseUrl + item.url;
30
+ return item;
31
+ });
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PreferenceListComponent, deps: [{ token: i1.LayoutService }, { token: i2.ApiService }], target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PreferenceListComponent, selector: "vc-preference-list", inputs: { activeModule: "activeModule" }, ngImport: i0, template: `
35
+ <app-page-loader *ngIf="isLoading"></app-page-loader>
36
+ <ng-container *ngIf="!isLoading">
37
+ <div class="preference-list">
38
+ <ul class="vx-p-0 vx-m-0">
39
+ <li
40
+ *ngFor="let eachItems of PREFERENCE_LIST"
41
+ class="vx-d-flex vx-align-center vx-justify-center"
42
+ [class.active]="activeModule === eachItems.code"
43
+ >
44
+ <a
45
+ class="vx-d-flex vx-align-center vx-justify-center vx-w-100"
46
+ [arTooltip]="eachItems?.name"
47
+ placement="right"
48
+ type="black"
49
+ delay="0"
50
+ [tooltipMandatory]="true"
51
+ [animate]="true"
52
+ [href]="eachItems?.url"
53
+ ><img
54
+ [src]="eachItems.code | getModuleIcon : activeModule"
55
+ alt=""
56
+ width="16"
57
+ height="16"
58
+ /></a>
59
+ </li>
60
+ </ul>
61
+ </div>
62
+ </ng-container>
63
+ `, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css-v2/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-left.css\";.preference-list{width:3rem;position:absolute;bottom:0;left:0}.preference-list ul li{position:relative;z-index:1}.preference-list ul li.active:before{background:#4681ef;border-radius:.25rem;content:\"\";position:absolute;top:.5rem;left:.5rem;width:2rem;height:2rem;z-index:-1}@media screen and (max-width: 1366px){.preference-list ul li.active:before{top:.25rem}}.preference-list ul li a{height:3rem}@media screen and (max-width: 1366px){.preference-list ul li a{height:2.5rem}}.preference-list ul li a img{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i5.PageLoaderComponent, selector: "app-page-loader" }, { kind: "pipe", type: i6.GetModuleIconPipe, name: "getModuleIcon" }] }); }
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PreferenceListComponent, decorators: [{
66
+ type: Component,
67
+ args: [{ selector: 'vc-preference-list', template: `
68
+ <app-page-loader *ngIf="isLoading"></app-page-loader>
69
+ <ng-container *ngIf="!isLoading">
70
+ <div class="preference-list">
71
+ <ul class="vx-p-0 vx-m-0">
72
+ <li
73
+ *ngFor="let eachItems of PREFERENCE_LIST"
74
+ class="vx-d-flex vx-align-center vx-justify-center"
75
+ [class.active]="activeModule === eachItems.code"
76
+ >
77
+ <a
78
+ class="vx-d-flex vx-align-center vx-justify-center vx-w-100"
79
+ [arTooltip]="eachItems?.name"
80
+ placement="right"
81
+ type="black"
82
+ delay="0"
83
+ [tooltipMandatory]="true"
84
+ [animate]="true"
85
+ [href]="eachItems?.url"
86
+ ><img
87
+ [src]="eachItems.code | getModuleIcon : activeModule"
88
+ alt=""
89
+ width="16"
90
+ height="16"
91
+ /></a>
92
+ </li>
93
+ </ul>
94
+ </div>
95
+ </ng-container>
96
+ `, styles: ["@import\"https://cdn.v-comply.com/design-system/css-v2/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-left.css\";.preference-list{width:3rem;position:absolute;bottom:0;left:0}.preference-list ul li{position:relative;z-index:1}.preference-list ul li.active:before{background:#4681ef;border-radius:.25rem;content:\"\";position:absolute;top:.5rem;left:.5rem;width:2rem;height:2rem;z-index:-1}@media screen and (max-width: 1366px){.preference-list ul li.active:before{top:.25rem}}.preference-list ul li a{height:3rem}@media screen and (max-width: 1366px){.preference-list ul li a{height:2.5rem}}.preference-list ul li a img{pointer-events:none}\n"] }]
97
+ }], ctorParameters: function () { return [{ type: i1.LayoutService }, { type: i2.ApiService }]; }, propDecorators: { activeModule: [{
98
+ type: Input
99
+ }] } });
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyZW5jZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWxheW91dC9zcmMvbGliL2NvbXBvbmVudHMvcHJvZHVjdC1saXN0L3ByZWZlcmVuY2UtbGlzdC9wcmVmZXJlbmNlLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7QUFzQzNFLE1BQU0sT0FBTyx1QkFBdUI7SUFLbEMsWUFBb0IsYUFBNEIsRUFBVSxVQUFzQjtRQUE1RCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFKaEYsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixvQkFBZSxHQUFRLGVBQWUsQ0FBQztRQUM5QixpQkFBWSxHQUFXLFVBQVUsQ0FBQztRQUd6QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFrQixFQUFFLEVBQUU7WUFDekQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUM1RCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDakQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBeEJVLHVCQUF1QjttR0FBdkIsdUJBQXVCLG9HQWhDeEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJUOzs0RkFHVSx1QkFBdUI7a0JBbENuQyxTQUFTOytCQUNFLG9CQUFvQixZQUNwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2QlQ7NkhBTVEsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVNTRVRTIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2Fzc2V0cy5jb25zdGFudHMnO1xuaW1wb3J0IHsgUFJFRkVSRU5DRV9MSVNUIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL3Byb2R1Y3QtbGlzdC5jb25zdGFudCc7XG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3NlcnZpY2VzL2xheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvYXBpLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2Yy1wcmVmZXJlbmNlLWxpc3QnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxhcHAtcGFnZS1sb2FkZXIgKm5nSWY9XCJpc0xvYWRpbmdcIj48L2FwcC1wYWdlLWxvYWRlcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTG9hZGluZ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInByZWZlcmVuY2UtbGlzdFwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJ2eC1wLTAgdngtbS0wXCI+XG4gICAgICAgICAgPGxpXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGVhY2hJdGVtcyBvZiBQUkVGRVJFTkNFX0xJU1RcIlxuICAgICAgICAgIGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNb2R1bGUgPT09IGVhY2hJdGVtcy5jb2RlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtdy0xMDBcIlxuICAgICAgICAgICAgW2FyVG9vbHRpcF09XCJlYWNoSXRlbXM/Lm5hbWVcIlxuICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFthbmltYXRlXT1cInRydWVcIlxuICAgICAgICAgICAgW2hyZWZdPVwiZWFjaEl0ZW1zPy51cmxcIlxuICAgICAgICAgICAgPjxpbWdcbiAgICAgICAgICAgICAgW3NyY109XCJlYWNoSXRlbXMuY29kZSB8IGdldE1vZHVsZUljb24gOiBhY3RpdmVNb2R1bGVcIlxuICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICB3aWR0aD1cIjE2XCJcbiAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIlxuICAgICAgICAgIC8+PC9hPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3ByZWZlcmVuY2UtbGlzdC5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQcmVmZXJlbmNlTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBQUkVGRVJFTkNFX0xJU1Q6IGFueSA9IFBSRUZFUkVOQ0VfTElTVDtcbiAgQElucHV0KCkgYWN0aXZlTW9kdWxlOiBzdHJpbmcgPSAnU0VUVElOR1MnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSwgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlKSB7XG4gICAgdGhpcy5zZXRVcmwoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0TG9hZGVyKCk7XG4gIH1cblxuICBzZXRMb2FkZXIoKSB7XG4gICAgdGhpcy5hcGlTZXJ2aWNlLmlzTG9hZGluZy5zdWJzY3JpYmUoKGlzTG9hZGluZzogYm9vbGVhbikgPT4ge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBpc0xvYWRpbmc7XG4gICAgfSk7XG4gIH1cblxuICBzZXRVcmwoKSB7XG4gICAgdGhpcy5QUkVGRVJFTkNFX0xJU1QgPSB0aGlzLlBSRUZFUkVOQ0VfTElTVC5tYXAoKGl0ZW06IGFueSkgPT4ge1xuICAgICAgaXRlbS51cmwgPSB0aGlzLmxheW91dFNlcnZpY2UuYmFzZVVybCArIGl0ZW0udXJsO1xuICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,42 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../module-list/module-list.component";
4
+ import * as i2 from "../preference-list/preference-list.component";
5
+ export class ProductListContainerComponent {
6
+ constructor() {
7
+ this.activeModule = 'COMPLIANCE';
8
+ this.isSubMenuVisible = true;
9
+ this.onToggleSubmenu = new EventEmitter();
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProductListContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ProductListContainerComponent, selector: "vc-product-list-container", inputs: { featureFlag: "featureFlag", activeModule: "activeModule", isSubMenuVisible: "isSubMenuVisible" }, outputs: { onToggleSubmenu: "onToggleSubmenu" }, ngImport: i0, template: `<div class="product-list-container">
13
+ <vc-module-list
14
+ [featureFlag]="featureFlag"
15
+ [activeModule]="activeModule"
16
+ [isSubMenuVisible]="isSubMenuVisible"
17
+ (onToggleSubmenu)="onToggleSubmenu.emit()"
18
+ ></vc-module-list>
19
+ <vc-preference-list [activeModule]="activeModule"></vc-preference-list>
20
+ </div> `, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css-v2/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-left.css\";.product-list-container{width:3rem;height:100%;position:relative;z-index:1}\n"], dependencies: [{ kind: "component", type: i1.ModuleListComponent, selector: "vc-module-list", inputs: ["featureFlag", "activeModule", "isSubMenuVisible"], outputs: ["onToggleSubmenu"] }, { kind: "component", type: i2.PreferenceListComponent, selector: "vc-preference-list", inputs: ["activeModule"] }] }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProductListContainerComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'vc-product-list-container', template: `<div class="product-list-container">
25
+ <vc-module-list
26
+ [featureFlag]="featureFlag"
27
+ [activeModule]="activeModule"
28
+ [isSubMenuVisible]="isSubMenuVisible"
29
+ (onToggleSubmenu)="onToggleSubmenu.emit()"
30
+ ></vc-module-list>
31
+ <vc-preference-list [activeModule]="activeModule"></vc-preference-list>
32
+ </div> `, styles: ["@import\"https://cdn.v-comply.com/design-system/css-v2/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css-v2/padding/padding-left.css\";.product-list-container{width:3rem;height:100%;position:relative;z-index:1}\n"] }]
33
+ }], propDecorators: { featureFlag: [{
34
+ type: Input
35
+ }], activeModule: [{
36
+ type: Input
37
+ }], isSubMenuVisible: [{
38
+ type: Input
39
+ }], onToggleSubmenu: [{
40
+ type: Output
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1saXN0LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtbGlzdC9wcm9kdWN0LWxpc3QtY29udGFpbmVyL3Byb2R1Y3QtbGlzdC1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFldkUsTUFBTSxPQUFPLDZCQUE2QjtJQWIxQztRQWVXLGlCQUFZLEdBQVcsWUFBWSxDQUFDO1FBQ3BDLHFCQUFnQixHQUFZLElBQUksQ0FBQztRQUNoQyxvQkFBZSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0tBQ3hFOytHQUxZLDZCQUE2QjttR0FBN0IsNkJBQTZCLDhOQVg5Qjs7Ozs7Ozs7VUFRRjs7NEZBR0csNkJBQTZCO2tCQWJ6QyxTQUFTOytCQUNFLDJCQUEyQixZQUMzQjs7Ozs7Ozs7VUFRRjs4QkFJQyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2Yy1wcm9kdWN0LWxpc3QtY29udGFpbmVyJyxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwicHJvZHVjdC1saXN0LWNvbnRhaW5lclwiPlxuICAgIDx2Yy1tb2R1bGUtbGlzdFxuICAgICAgW2ZlYXR1cmVGbGFnXT1cImZlYXR1cmVGbGFnXCJcbiAgICAgIFthY3RpdmVNb2R1bGVdPVwiYWN0aXZlTW9kdWxlXCJcbiAgICAgIFtpc1N1Yk1lbnVWaXNpYmxlXT1cImlzU3ViTWVudVZpc2libGVcIlxuICAgICAgKG9uVG9nZ2xlU3VibWVudSk9XCJvblRvZ2dsZVN1Ym1lbnUuZW1pdCgpXCJcbiAgICA+PC92Yy1tb2R1bGUtbGlzdD5cbiAgICA8dmMtcHJlZmVyZW5jZS1saXN0IFthY3RpdmVNb2R1bGVdPVwiYWN0aXZlTW9kdWxlXCI+PC92Yy1wcmVmZXJlbmNlLWxpc3Q+XG4gIDwvZGl2PiBgLFxuICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LWxpc3QtY29udGFpbmVyLmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RMaXN0Q29udGFpbmVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZmVhdHVyZUZsYWc6IGFueTtcbiAgQElucHV0KCkgYWN0aXZlTW9kdWxlOiBzdHJpbmcgPSAnQ09NUExJQU5DRSc7XG4gIEBJbnB1dCgpIGlzU3ViTWVudVZpc2libGU6IGJvb2xlYW4gPSB0cnVlO1xuICBAT3V0cHV0KCkgb25Ub2dnbGVTdWJtZW51OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xufVxuIl19
@@ -0,0 +1,31 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ProductListContainerComponent } from './product-list-container/product-list-container.component';
4
+ import { ModuleListComponent } from './module-list/module-list.component';
5
+ import { PreferenceListComponent } from './preference-list/preference-list.component';
6
+ import { TooltipModule } from '../../shared/ui-kit/tooltip/tooltip.module';
7
+ import { PipesModule } from '../../shared/pipe/pipes.module';
8
+ import { PageLoaderComponent } from '../../shared/ui-kit/page-loader/page-loader.component';
9
+ import * as i0 from "@angular/core";
10
+ export class ProductListModule {
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProductListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ProductListModule, declarations: [ProductListContainerComponent,
13
+ ModuleListComponent,
14
+ PreferenceListComponent,
15
+ PageLoaderComponent], imports: [CommonModule, TooltipModule, PipesModule], exports: [ProductListContainerComponent] }); }
16
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProductListModule, imports: [CommonModule, TooltipModule, PipesModule] }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProductListModule, decorators: [{
19
+ type: NgModule,
20
+ args: [{
21
+ declarations: [
22
+ ProductListContainerComponent,
23
+ ModuleListComponent,
24
+ PreferenceListComponent,
25
+ PageLoaderComponent
26
+ ],
27
+ imports: [CommonModule, TooltipModule, PipesModule],
28
+ exports: [ProductListContainerComponent],
29
+ }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1saXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWxheW91dC9zcmMvbGliL2NvbXBvbmVudHMvcHJvZHVjdC1saXN0L3Byb2R1Y3QtbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDMUcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7QUFZNUYsTUFBTSxPQUFPLGlCQUFpQjsrR0FBakIsaUJBQWlCO2dIQUFqQixpQkFBaUIsaUJBUjFCLDZCQUE2QjtZQUM3QixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLG1CQUFtQixhQUVYLFlBQVksRUFBRSxhQUFhLEVBQUUsV0FBVyxhQUN4Qyw2QkFBNkI7Z0hBRTVCLGlCQUFpQixZQUhsQixZQUFZLEVBQUUsYUFBYSxFQUFFLFdBQVc7OzRGQUd2QyxpQkFBaUI7a0JBVjdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDZCQUE2Qjt3QkFDN0IsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUM7b0JBQ25ELE9BQU8sRUFBRSxDQUFDLDZCQUE2QixDQUFDO2lCQUN6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUHJvZHVjdExpc3RDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3Byb2R1Y3QtbGlzdC1jb250YWluZXIvcHJvZHVjdC1saXN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kdWxlTGlzdENvbXBvbmVudCB9IGZyb20gJy4vbW9kdWxlLWxpc3QvbW9kdWxlLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFByZWZlcmVuY2VMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9wcmVmZXJlbmNlLWxpc3QvcHJlZmVyZW5jZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcbmltcG9ydCB7IFBpcGVzTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3BpcGUvcGlwZXMubW9kdWxlJztcbmltcG9ydCB7IFBhZ2VMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zaGFyZWQvdWkta2l0L3BhZ2UtbG9hZGVyL3BhZ2UtbG9hZGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFByb2R1Y3RMaXN0Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIE1vZHVsZUxpc3RDb21wb25lbnQsXG4gICAgUHJlZmVyZW5jZUxpc3RDb21wb25lbnQsXG4gICAgUGFnZUxvYWRlckNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUb29sdGlwTW9kdWxlLCBQaXBlc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtQcm9kdWN0TGlzdENvbnRhaW5lckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RMaXN0TW9kdWxlIHt9XG4iXX0=