vc-create-dashboard 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/create-dashboard.umd.js +3034 -3242
- package/bundles/create-dashboard.umd.js.map +1 -1
- package/create-dashboard.d.ts +53 -1
- package/create-dashboard.metadata.json +1 -0
- package/esm2015/create-dashboard.js +54 -1
- package/esm2015/create-dashboard.ngsummary.json +1 -0
- package/esm2015/lib/configurations.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/categories/categories-config.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/categories/categories.component.js +18 -32
- package/esm2015/lib/create-dashboard-container/categories/categories.component.ngfactory.js +90 -0
- package/esm2015/lib/create-dashboard-container/categories/categories.component.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.js +19 -25
- package/esm2015/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.ngfactory.js +79 -0
- package/esm2015/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/configure-widgets/configure-widgets.module.js +17 -30
- package/esm2015/lib/create-dashboard-container/configure-widgets/configure-widgets.module.ngfactory.js +18 -0
- package/esm2015/lib/create-dashboard-container/configure-widgets/configure-widgets.module.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/create-dashboard-config.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/create-dashboard.component.js +28 -47
- package/esm2015/lib/create-dashboard-container/create-dashboard.component.ngfactory.js +316 -0
- package/esm2015/lib/create-dashboard-container/create-dashboard.component.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/create-dashboard.module.js +35 -77
- package/esm2015/lib/create-dashboard-container/create-dashboard.module.ngfactory.js +32 -0
- package/esm2015/lib/create-dashboard-container/create-dashboard.module.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/form-group/form-group.component.js +22 -37
- package/esm2015/lib/create-dashboard-container/form-group/form-group.component.ngfactory.js +129 -0
- package/esm2015/lib/create-dashboard-container/form-group/form-group.component.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/frequency/frequency.component.js +16 -27
- package/esm2015/lib/create-dashboard-container/frequency/frequency.component.ngfactory.js +97 -0
- package/esm2015/lib/create-dashboard-container/frequency/frequency.component.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/interfaces/widget-data-model.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/pipes/filter.pipe.js +6 -10
- package/esm2015/lib/create-dashboard-container/pipes/filter.pipe.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/pipes/search.pipe.js +6 -10
- package/esm2015/lib/create-dashboard-container/pipes/search.pipe.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/responsibility-center/responsibility-center.component.js +17 -30
- package/esm2015/lib/create-dashboard-container/responsibility-center/responsibility-center.component.ngfactory.js +74 -0
- package/esm2015/lib/create-dashboard-container/responsibility-center/responsibility-center.component.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/risk-categories/risk-categories-config.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/risk-categories/risk-categories.component.js +18 -32
- package/esm2015/lib/create-dashboard-container/risk-categories/risk-categories.component.ngfactory.js +89 -0
- package/esm2015/lib/create-dashboard-container/risk-categories/risk-categories.component.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/services/auth.service.js +13 -11
- package/esm2015/lib/create-dashboard-container/services/auth.service.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/services/configure-widgets.service.js +15 -12
- package/esm2015/lib/create-dashboard-container/services/configure-widgets.service.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/services/create-dashboard.service.js +15 -12
- package/esm2015/lib/create-dashboard-container/services/create-dashboard.service.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/services/pagination.service.js +8 -9
- package/esm2015/lib/create-dashboard-container/services/pagination.service.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/user-list/user-list.component.js +23 -35
- package/esm2015/lib/create-dashboard-container/user-list/user-list.component.ngfactory.js +93 -0
- package/esm2015/lib/create-dashboard-container/user-list/user-list.component.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard-container/user-list/user-list.config.ngsummary.json +1 -0
- package/esm2015/lib/create-dashboard.service.js +8 -9
- package/esm2015/lib/create-dashboard.service.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.js +15 -23
- package/esm2015/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.ngfactory.js +46 -0
- package/esm2015/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/dashboard-footer/dashboard-footer-config.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/dashboard-footer/dashboard-footer.module.js +15 -24
- package/esm2015/lib/ui-kit/dashboard-footer/dashboard-footer.module.ngfactory.js +14 -0
- package/esm2015/lib/ui-kit/dashboard-footer/dashboard-footer.module.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/dialog/dialog-config.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/dialog/dialog-injector.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/dialog/dialog-ref.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/dialog/dialog.component.js +22 -22
- package/esm2015/lib/ui-kit/dialog/dialog.component.ngfactory.js +29 -0
- package/esm2015/lib/ui-kit/dialog/dialog.component.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/dialog/dialog.module.js +9 -14
- package/esm2015/lib/ui-kit/dialog/dialog.module.ngfactory.js +14 -0
- package/esm2015/lib/ui-kit/dialog/dialog.module.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/dialog/dialog.service.js +14 -10
- package/esm2015/lib/ui-kit/dialog/dialog.service.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/dialog/insertion.directive.js +10 -11
- package/esm2015/lib/ui-kit/dialog/insertion.directive.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/floating-bar/floating-bar.component.js +18 -29
- package/esm2015/lib/ui-kit/floating-bar/floating-bar.component.ngfactory.js +49 -0
- package/esm2015/lib/ui-kit/floating-bar/floating-bar.component.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/floating-bar/floating-bar.module.js +15 -24
- package/esm2015/lib/ui-kit/floating-bar/floating-bar.module.ngfactory.js +14 -0
- package/esm2015/lib/ui-kit/floating-bar/floating-bar.module.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/formgroup/click-outside.directive.js +14 -17
- package/esm2015/lib/ui-kit/formgroup/click-outside.directive.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.js +15 -21
- package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngfactory.js +30 -0
- package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/formgroup/cs-radio/cs-radio.component.js +17 -24
- package/esm2015/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ngfactory.js +20 -0
- package/esm2015/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.js +9 -13
- package/esm2015/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ngfactory.js +19 -0
- package/esm2015/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/formgroup/cs-select/cs-select.component.js +27 -51
- package/esm2015/lib/ui-kit/formgroup/cs-select/cs-select.component.ngfactory.js +89 -0
- package/esm2015/lib/ui-kit/formgroup/cs-select/cs-select.component.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/formgroup/cs-switch/cs-switch.component.js +17 -27
- package/esm2015/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ngfactory.js +62 -0
- package/esm2015/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/formgroup/formgroup.module.js +24 -41
- package/esm2015/lib/ui-kit/formgroup/formgroup.module.ngfactory.js +14 -0
- package/esm2015/lib/ui-kit/formgroup/formgroup.module.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/formgroup/pipes/pascal.pipe.js +6 -10
- package/esm2015/lib/ui-kit/formgroup/pipes/pascal.pipe.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.js +6 -10
- package/esm2015/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/pagination/pagination.component.js +18 -22
- package/esm2015/lib/ui-kit/pagination/pagination.component.ngfactory.js +30 -0
- package/esm2015/lib/ui-kit/pagination/pagination.component.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/pagination/pagination.module.js +8 -13
- package/esm2015/lib/ui-kit/pagination/pagination.module.ngfactory.js +12 -0
- package/esm2015/lib/ui-kit/pagination/pagination.module.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/popover/popover.component.js +18 -24
- package/esm2015/lib/ui-kit/popover/popover.component.ngfactory.js +29 -0
- package/esm2015/lib/ui-kit/popover/popover.component.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/popover/popover.directive.js +17 -19
- package/esm2015/lib/ui-kit/popover/popover.directive.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/popover/popover.module.js +9 -14
- package/esm2015/lib/ui-kit/popover/popover.module.ngfactory.js +13 -0
- package/esm2015/lib/ui-kit/popover/popover.module.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/popover/popover.service.js +8 -9
- package/esm2015/lib/ui-kit/popover/popover.service.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/select/cs-option/cs-option.component.js +20 -22
- package/esm2015/lib/ui-kit/select/cs-option/cs-option.component.ngfactory.js +22 -0
- package/esm2015/lib/ui-kit/select/cs-option/cs-option.component.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/select/cs-select/cs-select.component.js +24 -39
- package/esm2015/lib/ui-kit/select/cs-select/cs-select.component.ngfactory.js +43 -0
- package/esm2015/lib/ui-kit/select/cs-select/cs-select.component.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/select/safe-html.pipe.js +10 -11
- package/esm2015/lib/ui-kit/select/safe-html.pipe.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/select/select.module.js +8 -13
- package/esm2015/lib/ui-kit/select/select.module.ngfactory.js +13 -0
- package/esm2015/lib/ui-kit/select/select.module.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/services/cs-select.service.js +8 -9
- package/esm2015/lib/ui-kit/services/cs-select.service.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.js +12 -14
- package/esm2015/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.ngfactory.js +23 -0
- package/esm2015/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/snack-bar/snack-bar.module.js +8 -13
- package/esm2015/lib/ui-kit/snack-bar/snack-bar.module.ngfactory.js +12 -0
- package/esm2015/lib/ui-kit/snack-bar/snack-bar.module.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/snack-bar/snack-bar.service.js +8 -9
- package/esm2015/lib/ui-kit/snack-bar/snack-bar.service.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/tooltip/tooltip.directive.js +24 -39
- package/esm2015/lib/ui-kit/tooltip/tooltip.directive.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/tooltip/tooltip.module.js +8 -13
- package/esm2015/lib/ui-kit/tooltip/tooltip.module.ngfactory.js +12 -0
- package/esm2015/lib/ui-kit/tooltip/tooltip.module.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/v-loader/loader/loader.component.js +9 -12
- package/esm2015/lib/ui-kit/v-loader/loader/loader.component.ngfactory.js +17 -0
- package/esm2015/lib/ui-kit/v-loader/loader/loader.component.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/v-loader/loader-inline/loader-inline.component.js +9 -12
- package/esm2015/lib/ui-kit/v-loader/loader-inline/loader-inline.component.ngfactory.js +17 -0
- package/esm2015/lib/ui-kit/v-loader/loader-inline/loader-inline.component.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/v-loader/v-loader.module.js +8 -13
- package/esm2015/lib/ui-kit/v-loader/v-loader.module.ngfactory.js +12 -0
- package/esm2015/lib/ui-kit/v-loader/v-loader.module.ngsummary.json +1 -0
- package/esm2015/public-api.ngsummary.json +1 -0
- package/fesm2015/create-dashboard.js +2457 -2711
- package/fesm2015/create-dashboard.js.map +1 -1
- package/lib/create-dashboard-container/categories/categories.component.d.ts +0 -3
- package/lib/create-dashboard-container/categories/categories.component.ngfactory.d.ts +1 -0
- package/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.d.ts +0 -3
- package/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.ngfactory.d.ts +1 -0
- package/lib/create-dashboard-container/configure-widgets/configure-widgets.module.d.ts +0 -10
- package/lib/create-dashboard-container/configure-widgets/configure-widgets.module.ngfactory.d.ts +3 -0
- package/lib/create-dashboard-container/create-dashboard.component.d.ts +0 -3
- package/lib/create-dashboard-container/create-dashboard.component.ngfactory.d.ts +1 -0
- package/lib/create-dashboard-container/create-dashboard.module.d.ts +0 -27
- package/lib/create-dashboard-container/create-dashboard.module.ngfactory.d.ts +3 -0
- package/lib/create-dashboard-container/form-group/form-group.component.d.ts +0 -3
- package/lib/create-dashboard-container/form-group/form-group.component.ngfactory.d.ts +1 -0
- package/lib/create-dashboard-container/frequency/frequency.component.d.ts +0 -3
- package/lib/create-dashboard-container/frequency/frequency.component.ngfactory.d.ts +1 -0
- package/lib/create-dashboard-container/pipes/filter.pipe.d.ts +0 -3
- package/lib/create-dashboard-container/pipes/search.pipe.d.ts +0 -3
- package/lib/create-dashboard-container/responsibility-center/responsibility-center.component.d.ts +0 -3
- package/lib/create-dashboard-container/responsibility-center/responsibility-center.component.ngfactory.d.ts +1 -0
- package/lib/create-dashboard-container/risk-categories/risk-categories.component.d.ts +0 -3
- package/lib/create-dashboard-container/risk-categories/risk-categories.component.ngfactory.d.ts +1 -0
- package/lib/create-dashboard-container/services/auth.service.d.ts +0 -3
- package/lib/create-dashboard-container/services/configure-widgets.service.d.ts +0 -3
- package/lib/create-dashboard-container/services/create-dashboard.service.d.ts +0 -3
- package/lib/create-dashboard-container/services/pagination.service.d.ts +0 -3
- package/lib/create-dashboard-container/user-list/user-list.component.d.ts +0 -3
- package/lib/create-dashboard-container/user-list/user-list.component.ngfactory.d.ts +1 -0
- package/lib/create-dashboard.service.d.ts +0 -3
- package/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.d.ts +0 -3
- package/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.ngfactory.d.ts +1 -0
- package/lib/ui-kit/dashboard-footer/dashboard-footer.module.d.ts +0 -7
- package/lib/ui-kit/dashboard-footer/dashboard-footer.module.ngfactory.d.ts +3 -0
- package/lib/ui-kit/dialog/dialog.component.d.ts +0 -3
- package/lib/ui-kit/dialog/dialog.component.ngfactory.d.ts +1 -0
- package/lib/ui-kit/dialog/dialog.module.d.ts +0 -7
- package/lib/ui-kit/dialog/dialog.module.ngfactory.d.ts +3 -0
- package/lib/ui-kit/dialog/dialog.service.d.ts +0 -3
- package/lib/ui-kit/dialog/insertion.directive.d.ts +0 -3
- package/lib/ui-kit/floating-bar/floating-bar.component.d.ts +0 -3
- package/lib/ui-kit/floating-bar/floating-bar.component.ngfactory.d.ts +1 -0
- package/lib/ui-kit/floating-bar/floating-bar.module.d.ts +0 -7
- package/lib/ui-kit/floating-bar/floating-bar.module.ngfactory.d.ts +3 -0
- package/lib/ui-kit/formgroup/click-outside.directive.d.ts +0 -3
- package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +0 -3
- package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngfactory.d.ts +1 -0
- package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +0 -3
- package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ngfactory.d.ts +1 -0
- package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +0 -3
- package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ngfactory.d.ts +1 -0
- package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +0 -3
- package/lib/ui-kit/formgroup/cs-select/cs-select.component.ngfactory.d.ts +1 -0
- package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +0 -3
- package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ngfactory.d.ts +1 -0
- package/lib/ui-kit/formgroup/formgroup.module.d.ts +0 -15
- package/lib/ui-kit/formgroup/formgroup.module.ngfactory.d.ts +3 -0
- package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts +0 -3
- package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts +0 -3
- package/lib/ui-kit/pagination/pagination.component.d.ts +0 -3
- package/lib/ui-kit/pagination/pagination.component.ngfactory.d.ts +1 -0
- package/lib/ui-kit/pagination/pagination.module.d.ts +0 -6
- package/lib/ui-kit/pagination/pagination.module.ngfactory.d.ts +3 -0
- package/lib/ui-kit/popover/popover.component.d.ts +0 -3
- package/lib/ui-kit/popover/popover.component.ngfactory.d.ts +1 -0
- package/lib/ui-kit/popover/popover.directive.d.ts +0 -3
- package/lib/ui-kit/popover/popover.module.d.ts +0 -7
- package/lib/ui-kit/popover/popover.module.ngfactory.d.ts +3 -0
- package/lib/ui-kit/popover/popover.service.d.ts +0 -3
- package/lib/ui-kit/select/cs-option/cs-option.component.d.ts +0 -3
- package/lib/ui-kit/select/cs-option/cs-option.component.ngfactory.d.ts +1 -0
- package/lib/ui-kit/select/cs-select/cs-select.component.d.ts +0 -3
- package/lib/ui-kit/select/cs-select/cs-select.component.ngfactory.d.ts +1 -0
- package/lib/ui-kit/select/safe-html.pipe.d.ts +0 -3
- package/lib/ui-kit/select/select.module.d.ts +0 -9
- package/lib/ui-kit/select/select.module.ngfactory.d.ts +3 -0
- package/lib/ui-kit/services/cs-select.service.d.ts +0 -3
- package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.d.ts +0 -3
- package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.ngfactory.d.ts +1 -0
- package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +0 -6
- package/lib/ui-kit/snack-bar/snack-bar.module.ngfactory.d.ts +3 -0
- package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +0 -3
- package/lib/ui-kit/tooltip/tooltip.directive.d.ts +0 -3
- package/lib/ui-kit/tooltip/tooltip.module.d.ts +0 -6
- package/lib/ui-kit/tooltip/tooltip.module.ngfactory.d.ts +3 -0
- package/lib/ui-kit/v-loader/loader/loader.component.d.ts +0 -3
- package/lib/ui-kit/v-loader/loader/loader.component.ngfactory.d.ts +1 -0
- package/lib/ui-kit/v-loader/loader-inline/loader-inline.component.d.ts +0 -3
- package/lib/ui-kit/v-loader/loader-inline/loader-inline.component.ngfactory.d.ts +1 -0
- package/lib/ui-kit/v-loader/v-loader.module.d.ts +0 -7
- package/lib/ui-kit/v-loader/v-loader.module.ngfactory.d.ts +3 -0
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-dashboard.js","sources":["../../../projects/create-dashboard/src/lib/create-dashboard.service.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/create-dashboard-container/services/configure-widgets.service.ts","../../../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/ui-kit/pagination/pagination.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/pagination/pagination.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/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/popover/popover.service.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/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/tooltip/tooltip.directive.ts","../../../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/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/create-dashboard-container/frequency/frequency.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/frequency/frequency.component.html","../../../projects/create-dashboard/src/lib/ui-kit/dialog/dialog-ref.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/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/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/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/create-dashboard-container/create-dashboard.module.ts","../../../projects/create-dashboard/src/public-api.ts","../../../projects/create-dashboard/src/create-dashboard.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CreateDashboardService {\r\n constructor() {}\r\n}","export class Configurations {\r\n public envConfig: any;\r\n\r\n constructor() {\r\n this.envConfig = {};\r\n }\r\n\r\n}\r\n","import { Injectable, Optional } from '@angular/core';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { of, BehaviorSubject, Observable, Subject } from 'rxjs';\r\nimport { map, shareReplay, catchError, delay} from 'rxjs/operators';\r\nimport { Configurations } from '../../configurations';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n public env !: any;\r\n\r\n constructor(private http: HttpClient, @Optional() config?: Configurations) { \r\n if (config) {\r\n this.env = config.envConfig;\r\n }\r\n }\r\n getAuthorizationToken() {\r\n if (localStorage.getItem('currentUser')) {\r\n const currentUser = JSON.parse(localStorage.getItem('currentUser') || '{}');\r\n return currentUser.token;\r\n }\r\n }\r\n\r\n \r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Optional } from '@angular/core';\r\nimport { of } from 'rxjs';\r\nimport { catchError, map, retry } from 'rxjs/operators';\r\nimport { Configurations } from '../../configurations';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CreateDashboardService {\r\n public env !: any;\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json', token: this.authService.getAuthorizationToken() })\r\n };\r\n constructor(private http: HttpClient,\r\n private authService: AuthService, @Optional() config?: Configurations) { \r\n alert('sdf')\r\n debugger\r\n console.log(config)\r\n\r\n if (config) {\r\n console.log(config)\r\n this.env = config.envConfig;\r\n }\r\n }\r\n\r\n /*\r\n * Fetches the Organization Users List by making an API call\r\n */\r\n getOrganizationUsers(url?: any) {\r\n return this.http.get(this.env.organizationGet + 'organisationUsersList' +\r\n (url.p ? '&p=' + url.p : '') + (url.type ? '&type=' + url.type : '') +\r\n (url.q ? '&q=' + url.q : ''), this.httpOptions).pipe(map((res: any) => {\r\n return res;\r\n }), retry(2), catchError(err => of(err)));\r\n }\r\n\r\n /**\r\n * Fetches the OrganizationUsers details of users List to set pagination details including number of\r\n * pages and records limit per page,\r\n * @param url contains info about type & search query\r\n */\r\n getOrganizationUsersCount(url?: any) {\r\n return this.http.get(this.env.organizationGet + 'organisationUsersCount' +\r\n (url.type ? '&type=' + url.type : '') + (url.q ? '&q=' + url.q : ''), this.httpOptions).pipe(map(res => {\r\n return res;\r\n }), catchError(err => of(err)));\r\n }\r\n\r\n getCategoryList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http\r\n .get<any[]>(this.env.riskGet + 'category/list', { headers })\r\n .pipe(retry(2));\r\n }\r\n\r\n /**\r\n * Fetches all users by making an API call\r\n */\r\n getAllUsers() {\r\n return this.http.get(this.env.organizationGet + 'selectAllUsers&type=all', this.httpOptions).pipe(retry(2));\r\n }\r\n\r\n /**\r\n * Fetches responsibilityCentersList by making an API call\r\n */\r\n getResponsibilityCenterList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.complianceGet + 'responsibilityCenterTree', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n getComplianceCategoriesList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.complianceGet + 'complianceCategory/CategoryListTree', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n submitDashboard(payload: any){\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post(this.env.dashboard, payload, {headers}).pipe(\r\n retry(2)\r\n );\r\n }\r\n\r\n /**\r\n * Fetches the Dashboard details for data population to Edit the dashboard\r\n * @param id \r\n */\r\n fetchDashboard(id: any) {\r\n return this.http.get(this.env.dashboard+ id+'?mode=edit', this.httpOptions).pipe(\r\n retry(2)\r\n );\r\n }\r\n\r\n updateDashboard(id: any,payload:any) {\r\n return this.http.put(this.env.dashboard+'UpdateDashboard/'+ id,payload, this.httpOptions).pipe(\r\n retry(2)\r\n );\r\n }\r\n\r\n // pipe(map(res => {\r\n // return res;\r\n // }), catchError(err => of(err)));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n/**\r\n * Service to implement pagination for users while creating an app\r\n */\r\nexport class PaginationService {\r\n currentPage = 1;\r\n searchValue = '';\r\n currentValues = new BehaviorSubject({});\r\n\r\n constructor() { }\r\n\r\n setCurrentState() {\r\n this.currentValues.next(true);\r\n }\r\n reset(){\r\n this.currentPage = 1;\r\n this.searchValue = '';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs/internal/Subject';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SnackBarService {\r\n snackbarSubject = new Subject<any>();\r\n constructor() {}\r\n\r\n show(message: string, icon?: string) {\r\n this.snackbarSubject.next({\r\n show: true,\r\n message,\r\n icon,\r\n });\r\n }\r\n}\r\n","import { Injectable, Optional } from '@angular/core';\r\nimport { widgetDataModel} from '../interfaces/widget-data-model'\r\nimport { HttpClient, HttpHeaders, JsonpClientBackend } from '@angular/common/http';\r\nimport { catchError, map, retry } from 'rxjs/operators';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { of } from 'rxjs';\r\nimport { AuthService } from './auth.service';\r\nimport { identifierModuleUrl } from '@angular/compiler';\r\nimport { Configurations } from '../../configurations';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfigureWidgetsService {\r\n public env !: any;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private authService: AuthService,\r\n @Optional() config?: Configurations) { \r\n if (config) {\r\n this.env = config.envConfig;\r\n }}\r\n\r\n complianceWidgetsData = [\r\n {\r\n title: 'Overview',\r\n id: 'overview_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Responsibility Calendar',\r\n id: 'compliance_calendar_flag',\r\n description: 'Displays all responsibilities that are due on a particular day.',\r\n widgetImage: './assets/images/responsibility-calender.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Responsibility Center Overview',\r\n id: 'responsibility_center_overview_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'My Responsibilities',\r\n id: 'my_responsibilities',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/my-responsibilities.png',\r\n tabOption: true,\r\n value: 0,\r\n },\r\n {\r\n title: 'Key Responsibilities',\r\n id: 'key_responsibilities',\r\n description: 'Displays all responsibilities that are due on a particular day.',\r\n widgetImage: './assets/images/key-responsibilities.png',\r\n tabOption: true,\r\n value: 0,\r\n },\r\n {\r\n title: 'Trend Analysis',\r\n id: 'trend_analysis_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/trend-analysis.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Workroom Updates',\r\n id: 'workroom_alert_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/workroom-updates.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Recent Activities',\r\n id: 'recent_activity_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/recent-activities.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Exception Summary',\r\n id: 'exception_summary_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/exception-summary.png',\r\n value: 0,\r\n }\r\n ];\r\n\r\n subResponsibilities: Array<widgetDataModel> = [\r\n {\r\n title:'My Responsibilities',\r\n id: 'my_responsibility_flag',\r\n value: 0,\r\n },\r\n {\r\n title:'I’m Reviewing',\r\n id: 'reviewer_responsibility_flag',\r\n value: 0,\r\n },\r\n {\r\n title:'I’m Overseeing',\r\n id: 'cc_responsibility_flag',\r\n value: 0,\r\n }\r\n ];\r\n\r\n subKeyResponsibilities: Array<widgetDataModel> = [\r\n {\r\n title:'Overview',\r\n id: 'key_responsibilities_overview_flag',\r\n value: 0,\r\n },\r\n {\r\n title:'My Responsibilities',\r\n id: 'key_my_responsibilities_flag',\r\n value: 0,\r\n },\r\n {\r\n title:'I’m Reviewing',\r\n id: 'key_i_am_reviewing_flag',\r\n value: 0,\r\n },\r\n {\r\n title:'I’m Overseeing',\r\n id: 'key_i_am_overseeing_flag',\r\n value: 0,\r\n }\r\n ];\r\n\r\n riskWidgetsData = [\r\n {\r\n title: 'Risk Appetite & Tolerance',\r\n id: 'risk_appetite_tolerance',\r\n description: 'description',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Risk Ratings',\r\n id: 'risk_ratings',\r\n description: 'Displays all responsibilities that are due on a particular day.',\r\n widgetImage: './assets/images/responsibility-calender.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Risks Without Controls',\r\n id: 'risks_without_controls',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n }, \r\n {\r\n title: 'Risks Exceeding Risk Tolerance',\r\n id: 'exceeds_risk_tolerance',\r\n description: 'description',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Inherent Risk Rating by Responsibility Centers ',\r\n id: 'inherent_risk_rating_by_responsibility_centers',\r\n description: 'Displays all responsibilities that are due on a particular day.',\r\n widgetImage: './assets/images/responsibility-calender.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Residual Risk Rating by Responsibility Centers ',\r\n id: 'residual_risk_rating_by_responsibility_centers',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Risk Category Overview',\r\n id: 'risk_category_overview',\r\n description: 'description',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Risk Heatmap',\r\n id: 'risk_heatmap',\r\n description: 'Displays all responsibilities that are due on a particular day.',\r\n widgetImage: './assets/images/responsibility-calender.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Inherent Risk Rating by Categories',\r\n id: 'inherent_risk_rating_by_categories',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n },\r\n \r\n {\r\n title: 'Residual Risk Rating by Categories',\r\n id: 'residual_risk_rating_by_categories',\r\n description: 'description',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Inherent Risk Rating Trend by Responsibility Centers',\r\n id: 'inherent_risk_rating_trend_by_responsibility_centers',\r\n description: 'Displays all responsibilities that are due on a particular day.',\r\n widgetImage: './assets/images/responsibility-calender.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Residual Risk Rating Trend by Responsibility Centers',\r\n id: 'residual_risk_rating_trend_by_responsibility_centers',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n }, \r\n {\r\n title: 'Risk Rating Trend by Categories',\r\n id: 'risk_rating_trend_by_categories',\r\n description: 'Displays all responsibilities that are due on a particular day.',\r\n widgetImage: './assets/images/responsibility-calender.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Top 5 Risk Ratings',\r\n id: 'top_5_residual_risk_ratings',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n },\r\n ];\r\n auditWidgetsData = [];\r\n policyWidgetsData = [];\r\n\r\n\r\n // For dashboard view\r\n dashBoardWidgetUpdate(widGetJson: any) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.put(this.env.OrganizationPut + 'dashboardWidgets', widGetJson).pipe(retry(2));\r\n }\r\n\r\n moduleType(identifier:string){\r\n if(JSON.stringify(this.complianceWidgetsData).includes(identifier)){\r\n return 'COMPLIANCE'\r\n }else if(JSON.stringify(this.subResponsibilities).includes(identifier)){\r\n return 'COMPLIANCE'\r\n }else if(JSON.stringify(this.subKeyResponsibilities).includes(identifier)){\r\n return 'COMPLIANCE'\r\n }else if(JSON.stringify(this.riskWidgetsData).includes(identifier)){\r\n return 'RISK'\r\n }\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\nimport { SnackBarService } from '../snack-bar.service';\r\n\r\n@Component({\r\n selector: 'app-snack-bar',\r\n templateUrl: './snack-bar.component.html',\r\n styleUrls: ['./snack-bar.component.less'],\r\n})\r\nexport class SnackBarComponent implements OnInit {\r\n show = false;\r\n message: string = '--';\r\n icon: string = '';\r\n constructor(private snackbarService: SnackBarService) {}\r\n\r\n ngOnInit(): void {\r\n this.snackbarService.snackbarSubject.subscribe((state) => {\r\n if (state.icon) {\r\n this.icon = state.icon;\r\n } else {\r\n this.icon = '';\r\n }\r\n this.message = state.message;\r\n this.show = state.show;\r\n setTimeout(() => {\r\n this.show = false;\r\n }, 3000);\r\n });\r\n }\r\n close() {\r\n this.show = false;\r\n }\r\n ngOnDestroy() {\r\n }\r\n}\r\n","<div class=\"snakebar\" *ngIf=\"show\">\r\n <div class=\"snakebar-inner\">\r\n <div class=\"snakebarText\">\r\n <!--  -->\r\n <i class=\"icons\" [innerHTML]=\"icon\"></i> \r\n <span [innerHTML]=\"message\">{{ message }}</span>\r\n </div>\r\n <button (click)=\"close()\">[ Close ]</button>\r\n </div>\r\n</div>\r\n","import { Component, OnInit, OnChanges, Input, Output, EventEmitter } from '@angular/core';\r\nimport { PaginationService } from '../../create-dashboard-container/services/pagination.service';\r\n\r\n@Component({\r\n selector: 'app-pagination',\r\n templateUrl: './pagination.component.html',\r\n styleUrls: ['./pagination.component.less']\r\n})\r\n/**\r\n * Adds place holder for Pagination on the lists\r\n */\r\nexport class PaginationComponent implements OnInit, OnChanges {\r\n start = 1;\r\n totalCount!: number;\r\n paginationArray: any[] = [];\r\n currentPage!: number;\r\n @Input() totalPages = 1;\r\n @Input() limit = 1;\r\n @Input() totalList = 1;\r\n @Output() paginationFilter = new EventEmitter();\r\n\r\n constructor(private paginationService: PaginationService) {\r\n }\r\n ngOnChanges() {\r\n this.currentPage = Number(this.paginationService.currentPage);\r\n this.start = Number(this.paginationService.currentPage);\r\n this.rebuildPagination(this.currentPage, this.totalPages);\r\n }\r\n\r\n ngOnInit() {\r\n this.currentPage = Number(this.paginationService.currentPage);\r\n this.start = Number(this.paginationService.currentPage);\r\n this.rebuildPagination(this.currentPage, this.totalPages);\r\n this.paginationService.currentValues.subscribe(event => {\r\n if (event && (this.paginationService.currentPage !== this.currentPage)) {\r\n this.currentPage = this.paginationService.currentPage;\r\n }\r\n });\r\n }\r\n\r\n /* In this function we will recreate the pagination structure as per current page and\r\n total number of pages */\r\n\r\n rebuildPagination(currentPage: number, totalCount: number) {\r\n this.paginationArray = [];\r\n this.totalCount = totalCount;\r\n this.currentPage = currentPage;\r\n if (this.paginationService.currentPage !== this.currentPage) {\r\n this.paginationService.currentPage = this.currentPage;\r\n this.paginationFilter.emit(true);\r\n }\r\n\r\n // If there are only 6 pages or less in total, just display all pages without \"...\"\r\n if (totalCount <= 6) {\r\n for (let i = 1; i <= totalCount; i++) {\r\n this.paginationArray.push(i);\r\n }\r\n }\r\n // ELSE display with ...\r\n else {\r\n\r\n // Always print first page button\r\n this.paginationArray.push(1);\r\n\r\n // Print \"...\" if currentPage is > 3\r\n if (currentPage > 3) {\r\n // this.paginationArray.push(2);\r\n this.paginationArray.push('...');\r\n\r\n }\r\n // special case where last page is selected...\r\n // Without this special case, only 2 buttons would be shown after ... if you were on last page\r\n if (currentPage === totalCount) {\r\n this.paginationArray.push(currentPage - 2);\r\n }\r\n\r\n // Print previous number button if currentPage > 2\r\n if (currentPage > 2) {\r\n this.paginationArray.push(currentPage - 1);\r\n }\r\n\r\n // Print current page number button as long as it not the first or last page\r\n if (currentPage !== 1 && currentPage !== totalCount) {\r\n this.paginationArray.push(currentPage);\r\n\r\n }\r\n\r\n // print next page number button if currentPage < lastPage - 1\r\n if (currentPage < totalCount - 1) {\r\n this.paginationArray.push(currentPage + 1);\r\n\r\n }\r\n\r\n // special case where first page is selected...\r\n // Without this special case, only 2 buttons would be shown before ... if you were on first page\r\n if (currentPage === 1) {\r\n this.paginationArray.push(currentPage + 2);\r\n\r\n }\r\n\r\n // print \"...\" if currentPage is < lastPage -2\r\n if (currentPage < totalCount - 2) {\r\n this.paginationArray.push('...');\r\n\r\n // HTML += \"...\";\r\n }\r\n\r\n // Always print last page button if there is more than 1 page\r\n if (totalCount > 1) {\r\n this.paginationArray.push(totalCount);\r\n\r\n }\r\n }\r\n\r\n }\r\n/* In this function we will set current page according to the action performed on browser\r\n ex: prev next buttons clicks or selecting a particular page */\r\n\r\n changePage(prev: string, page: number, next: string) {\r\n if (prev) {\r\n if (this.start > 1) {\r\n this.start--;\r\n // We have changed the start page, total rebuild the pagination\r\n this.rebuildPagination(this.start, this.totalCount);\r\n }\r\n }\r\n if (next) {\r\n if (this.start < this.totalCount) {\r\n this.start++;\r\n this.rebuildPagination(this.start, this.totalCount);\r\n }\r\n }\r\n if (page) {\r\n this.start = page;\r\n this.rebuildPagination(this.start, this.totalCount);\r\n }\r\n }\r\n}\r\n","<div class=\"pagination-box\">\r\n <ul>\r\n <li><button [class.disabled]=\"currentPage==1\" (click)=\"changePage('prev',0,'')\"><</button></li>\r\n <li *ngFor=\"let page of paginationArray\">\r\n <button [disabled]=\"page=='...'\" [class.disable]=\"page=='...'\" [class.active]=\"currentPage==page\" (click)=\"changePage('',page,'')\">\r\n <i *ngIf=\"page=='...'\" class=\"icons\"></i>{{page!='...'?page : ''}}</button></li>\r\n\r\n <li><button [class.disabled]=\"currentPage==totalCount\" (click)=\"changePage('',0,'next')\">></button></li>\r\n </ul>\r\n</div>","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-checkbox',\r\n templateUrl: './cs-checkbox.component.html',\r\n styleUrls: ['./cs-checkbox.component.less'],\r\n})\r\nexport class CsCheckboxComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() ngValue: any;\r\n @Input() value: any;\r\n @Output() ngValueChange = new EventEmitter<any>();\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n valueChanged() {\r\n this.ngValueChange.emit(this.ngValue);\r\n }\r\n}\r\n","<label class=\"checkbox-item\" [class.disabled]=\"disabled\">\r\n <input type=\"checkbox\" [name]=\"value\" [disabled]=\"disabled\" [(ngModel)]=\"ngValue\" (ngModelChange)=\"valueChanged()\" />\r\n <span class=\"checkbox\">\r\n <span class=\"inner\"></span>\r\n </span>\r\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkmark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkmark__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n <span class=\"value\"><ng-content></ng-content></span>\r\n</label>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loader-inline',\r\n templateUrl: './loader-inline.component.html',\r\n styleUrls: ['./loader-inline.component.less'],\r\n})\r\nexport class LoaderInlineComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<!-- <p>loader-inline works!</p> -->\r\n<div class=\"inline-loader\">\r\n <div class=\"demo-loader\">\r\n <div class=\"demo-loader-colored-blocks\">\r\n <div class=\"demo-loader-colored-blocks-rotater\">\r\n <div class=\"demo-loader-colored-block\"></div>\r\n <div class=\"demo-loader-colored-block\"></div>\r\n <div class=\"demo-loader-colored-block\"></div>\r\n <div class=\"demo-loader-colored-block\"></div>\r\n <div class=\"demo-loader-colored-block\"></div>\r\n <div class=\"demo-loader-colored-block\"></div>\r\n </div>\r\n <div class=\"demo-loader-colored-blocks-inner\"></div>\r\n </div>\r\n <div class=\"demo-loader-inner\">\r\n <svg\r\n width=\"30px\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n version=\"1.1\"\r\n id=\"Layer_1\"\r\n x=\"0px\"\r\n y=\"0px\"\r\n viewBox=\"0 0 16 16\"\r\n style=\"enable-background: new 0 0 16 16\"\r\n xml:space=\"preserve\"\r\n >\r\n <style type=\"text/css\">\r\n .st0 {\r\n fill: #9d1f24;\r\n }\r\n\r\n .st1 {\r\n fill: #d83b3f;\r\n }\r\n </style>\r\n <g>\r\n <path class=\"st0\" d=\"M2,12.3c0.5,0.3,1.1,0.4,1.8,0.2c0.9-0.3,1.4-1.1,1.5-1.1c-0.3-0.2-0.5-0.6-0.5-1.1V7.2 C4.5,4.6,1.1,3.8,1.1,3.8v7.3C1.1,11.2,1.3,11.9,2,12.3z\" />\r\n <path\r\n class=\"st1\"\r\n d=\"M9.9,3.5c-1.8,2.8-4.6,7.8-4.6,7.8s0,0,0,0c0,0.1-0.5,0.8-1.5,1.1c-0.7,0.2-1.3,0.1-1.8-0.2 c-0.6-0.4-0.9-1.1-0.9-1.1s-0.1,1.2,0.6,2.2C2,13.9,4,15.9,6.6,14.5c0.6-0.3,1.1-0.8,1.6-1.5c0.4-0.5,6.9-11.6,6.9-11.6 S11.7,0.5,9.9,3.5z\"\r\n />\r\n </g>\r\n </svg>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PopoverService {\r\n positionX!: number;\r\n positionY!: number;\r\n popoverHeight: any;\r\n popoverWidth: any;\r\n elementPosition: any;\r\n elementDirection: any;\r\n constructor() {\r\n console.log(this.popoverHeight);\r\n }\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@Component({\r\n selector: 'app-popover',\r\n templateUrl: './popover.component.html',\r\n styleUrls: ['./popover.component.less'],\r\n})\r\nexport class PopoverComponent implements OnInit {\r\n @Input() dontCloseonClick!: boolean;\r\n popoverContainer = false;\r\n @ViewChild('popoverRatio') popoverRatio!: ElementRef;\r\n @ViewChild('popoverContent') popoverContent!: ElementRef;\r\n @Output() closedOnOverlay = new EventEmitter();\r\n constructor(public popoverService: PopoverService) {}\r\n showPopover = false;\r\n leftValue: any;\r\n topValue: any;\r\n popoverHeight: any;\r\n popoverWidth: any;\r\n positionX!: number;\r\n positionY!: number;\r\n ngOnInit(): void {}\r\n popover() {\r\n this.popoverContainer = false;\r\n this.popoverContainer = true;\r\n setTimeout(() => {\r\n this.getPosition();\r\n this.showPopover = true;\r\n // document.body.style.overflow = 'hidden';\r\n }, 10);\r\n return false;\r\n }\r\n popoverEvent() {\r\n this.popoverContainer = false;\r\n this.popoverContainer = true;\r\n setTimeout(() => {\r\n // this.getPosition();\r\n this.positionX = this.popoverService.positionX;\r\n this.positionY = this.popoverService.positionY;\r\n this.showPopover = true;\r\n }, 10);\r\n return false;\r\n }\r\n closePopover(top?: string) {\r\n if (!this.dontCloseonClick || top === 'top') {\r\n this.popoverContainer = false;\r\n this.showPopover = false;\r\n // document.body.style.overflow = 'auto';\r\n }\r\n }\r\n\r\n close(){\r\n this.popoverContainer = false;\r\n this.showPopover = false;\r\n }\r\n\r\n clickedPopover() {\r\n this.getPosition();\r\n }\r\n getPosition() {\r\n // setTimeout(() => {\r\n const elementPositionn = this.popoverService.elementPosition;\r\n this.popoverHeight = this.popoverRatio.nativeElement.offsetHeight;\r\n this.popoverWidth = this.popoverRatio.nativeElement.offsetWidth;\r\n if (this.popoverService.elementDirection === 'left') {\r\n this.leftValue = elementPositionn.left;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'right') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverWidth;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'top') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'bottom') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'self-position') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\r\n this.topValue = elementPositionn.top - 15;\r\n }\r\n if (this.popoverService.elementDirection === 'top-center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\r\n // this.topValue = elementPositionn.top - this.popoverHeight;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight) {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n } else {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n this.positionX = this.leftValue;\r\n this.positionY = this.topValue;\r\n // }, 10);\r\n }\r\n}\r\n","<div class=\"popover-overlay\" *ngIf=\"popoverContainer\" (click)=\"closePopover('top');this.closedOnOverlay.emit();\"></div>\r\n<div class=\"action\" [class.active]=\"showPopover\" *ngIf=\"popoverContainer\" [style.top.px]=\"positionY\" [style.left.px]=\"positionX\" #popoverRatio id=\"popoverRatio\">\r\n <div (click)=\"closePopover(); clickedPopover()\" #popoverContent>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@Directive({\r\n selector: '[appPopover]',\r\n})\r\nexport class PopoverDirective {\r\n dynamicComponent: any;\r\n @Input() refrence: any;\r\n @Input() placement!: string;\r\n leftValue: any;\r\n topValue: any;\r\n constructor(private elRef: ElementRef, private popoverService: PopoverService) {}\r\n @HostListener('click') click() {\r\n this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\r\n this.popoverService.elementDirection = this.placement;\r\n // this.getPosition();\r\n }\r\n\r\n getPosition() {\r\n setTimeout(() => {\r\n // this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\r\n const elementPositionn = this.elRef.nativeElement.getBoundingClientRect();\r\n if (this.placement === 'left') {\r\n this.leftValue = elementPositionn.left;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.placement === 'right') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverService.popoverWidth;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.placement === 'top') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n }\r\n }\r\n if (this.placement === 'bottom') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.placement === 'self-position') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\r\n this.topValue = elementPositionn.top - 15;\r\n }\r\n if (this.placement === 'top-center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n }\r\n if (this.placement === 'bottom-center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\r\n this.topValue = elementPositionn.top + this.popoverService.popoverHeight;\r\n }\r\n this.popoverService.positionX = this.leftValue;\r\n this.popoverService.positionY = this.topValue;\r\n }, 10);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../dashboard-footer-config';\r\n\r\n@Component({\r\n selector: 'app-dashboard-footer',\r\n templateUrl: './dashboard-footer.component.html',\r\n styleUrls: ['./dashboard-footer.component.less']\r\n})\r\nexport class DashboardFooterComponent implements OnInit {\r\n @Output() cancelEvent = new EventEmitter();\r\n @Output() submitEvent = new EventEmitter();\r\n @Output() deleteEvent = new EventEmitter();\r\n @Input() footerDetails:DashboardFooterConfig={\r\n selectedData : [],\r\n nonRemovableList:[],\r\n displayElementKey: '',\r\n elementId: '',\r\n singularText: '',\r\n pluralText:'',\r\n showFrequency:false,\r\n frequencyText:'',\r\n isDisabled :false\r\n\r\n };\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n cancelFloatingBar() {\r\n this.cancelEvent.emit();\r\n }\r\n submitFloatingBar() {\r\n this.submitEvent.emit(this.footerDetails.selectedData);\r\n }\r\n\r\n deleteSelected(element: any) {\r\n this.deleteEvent.emit(element);\r\n }\r\n\r\n\r\n}\r\n","<div class=\"floating-bar-container\" >\r\n <div class=\"floating-bar vx-d-flex vx-align-center vx-p-3\" [class.vx-justify-end]=\"!(footerDetails.showFrequency || footerDetails.selectedData.length>0)\" [class.vx-justify-between]=\"footerDetails.showFrequency || footerDetails.selectedData.length>0\">\r\n <div class=\"left vx-d-flex vx-align-center\" *ngIf=\"footerDetails.showFrequency\">\r\n <span class=\"value\" [innerHTML]=\"footerDetails.frequencyText\"></span>\r\n </div>\r\n \r\n <div class=\"left vx-d-flex vx-align-center\" *ngIf=\"footerDetails.selectedData.length>0\">\r\n <span class=\"select-item vx-d-flex vx-align-center vx-bg-white vx-txt-blue vx-fw-500 vx-fs-3 vx-pl-2 vx-pr-2 vx-lh-6\">\r\n <i *ngIf=\"!footerDetails.nonRemovableList.includes(footerDetails.selectedData[0][footerDetails.elementId])\" (click)=\"deleteSelected(footerDetails.selectedData[0])\"\r\n class=\"icons vx-mr-2\"></i>\r\n <span>{{footerDetails.selectedData[0][footerDetails.displayElementKey]}}</span>\r\n </span>\r\n <span *ngIf=\"footerDetails.selectedData.length > 1\" class=\"count vx-ml-2 vx-bg-blue vx-txt-white vx-fs-3 vx-fw-500 vx-d-flex vx-align-center vx-justify-center vx-pl-1 vx-pr-1\"\r\n appPopover (click)=\"countPopup.popover()\" placement=\"left\">+{{footerDetails.selectedData.length - 1}}</span>\r\n <app-popover #countPopup [dontCloseonClick]=\"true\">\r\n <div class=\"floating-bar-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of footerDetails.selectedData.slice(1); let j = index\">\r\n <div class=\"chip-item\">\r\n <i class=\"icons\" \r\n *ngIf=\"!footerDetails.nonRemovableList.includes(element[footerDetails.elementId])\"\r\n (click)=\"deleteSelected(element)\"></i>\r\n <span>{{element[footerDetails.displayElementKey]}}</span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <div class=\"right vx-d-flex vx-align-center\">\r\n <button class=\"vx-bg-white vx-txt-red vx-fw-500 vx-tt-uppercase\"\r\n (click)=\"cancelFloatingBar()\">Cancel</button>\r\n <!-- <button class=\"vx-bg-blue vx-txt-white vx-fw-500 vx-tt-uppercase\"\r\n (click)=\"submitFloatingBar()\">Update</button> -->\r\n <button class=\"vx-bg-blue vx-txt-white vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-center\"\r\n (click)=\"submitFloatingBar()\">Next <i class=\"icons vx-ml-1\"></i></button>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Directive, Input, ElementRef, HostListener, Renderer2, OnInit, AfterViewInit, ViewChild } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[arTooltip]',\r\n})\r\nexport class ToolTipDirective implements OnInit {\r\n @Input('arTooltip') tooltipTitle!: string;\r\n @Input() placement!: string;\r\n @Input() type: any;\r\n @Input() tooltipMandatory!: boolean;\r\n @Input() showTooltip = true;\r\n @Input() animate!: boolean;\r\n tooltip!: HTMLElement;\r\n offset = 10;\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {}\r\n ngOnInit() {}\r\n @HostListener('mouseenter') onMouseEnter() {\r\n this.hide();\r\n this.show();\r\n }\r\n @HostListener('mouseover') onMouseOver() {\r\n this.hide();\r\n this.show();\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave() {\r\n this.hide();\r\n }\r\n @HostListener('mouseout') onMouseOut() {\r\n this.hide();\r\n }\r\n @HostListener('click') onClick() {\r\n this.hide();\r\n }\r\n show() {\r\n if (!this.showTooltip) {\r\n return;\r\n }\r\n this.create();\r\n const element = this.el.nativeElement;\r\n if (this.tooltipMandatory === true) {\r\n this.setPosition();\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\r\n } else {\r\n if (element.scrollWidth * element.scrollHeight > element.offsetWidth * element.offsetHeight) {\r\n this.setPosition();\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\r\n }\r\n }\r\n }\r\n\r\n hide() {\r\n if (document.body.contains(this.tooltip)) {\r\n if (this.renderer) {\r\n this.renderer.removeChild(document.body, document.getElementById('tooltip'));\r\n }\r\n }\r\n }\r\n\r\n create() {\r\n this.tooltip = this.renderer.createElement('span');\r\n this.tooltip.setAttribute('id', 'tooltip');\r\n this.tooltip.innerHTML = this.tooltipTitle;\r\n this.renderer.appendChild(document.body, this.tooltip);\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip');\r\n this.renderer.addClass(this.tooltip, `ng-tooltip-${this.placement}`);\r\n this.renderer.addClass(this.tooltip, `${this.type}`);\r\n if (this.animate) {\r\n this.renderer.addClass(this.tooltip, `animate-${this.placement}`);\r\n }\r\n }\r\n\r\n setPosition() {\r\n const hostPos = this.el.nativeElement.getBoundingClientRect();\r\n const tooltipPos = this.tooltip.getBoundingClientRect();\r\n const scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n const w = window.innerWidth;\r\n const h = window.innerHeight;\r\n let top;\r\n let left;\r\n if (this.placement === 'top') {\r\n top = hostPos.top - tooltipPos.height - this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n\r\n if (this.placement === 'bottom') {\r\n if (hostPos.top + tooltipPos.height > h) {\r\n top = hostPos.top - tooltipPos.height;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n this.renderer.removeClass(this.tooltip, `ng-tooltip-bottom`);\r\n this.renderer.addClass(this.tooltip, `ng-tooltip-top`);\r\n } else {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n }\r\n\r\n if (this.placement === 'left') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.left - tooltipPos.width - this.offset;\r\n }\r\n\r\n if (this.placement === 'right') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.right + this.offset;\r\n }\r\n if (this.placement === 'bottom-right') {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left - (tooltipPos.width - 28);\r\n }\r\n if (this.placement === 'bottom-left') {\r\n if (hostPos.top + tooltipPos.height > h - 30) {\r\n top = hostPos.top - tooltipPos.height;\r\n console.log('bottom left', hostPos.top - tooltipPos.height);\r\n left = hostPos.left;\r\n this.renderer.removeClass(this.tooltip, `ng-tooltip-bottom-left`);\r\n this.renderer.addClass(this.tooltip, `ng-tooltip-top-left`);\r\n } else {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left;\r\n }\r\n }\r\n this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);\r\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\nimport { CreateDashboardService } from '../services/create-dashboard.service';\r\nimport { PaginationService } from '../services/pagination.service';\r\nimport { UserListConfiguration } from './user-list.config';\r\n\r\n@Component({\r\n selector: 'app-user-list',\r\n templateUrl: './user-list.component.html',\r\n styleUrls: ['./user-list.component.less']\r\n})\r\nexport class UserListComponent implements OnInit {\r\n @Output() closeUserList = new EventEmitter();\r\n @Output() saveSelectedUsers = new EventEmitter();\r\n @Input() selectionType = '';\r\n @Input() listDetails: UserListConfiguration = {\r\n displayElementKey: '',\r\n elementIdKey: '',\r\n tooltipKey: '',\r\n selectedUsersList: [],\r\n nonRemovableUsersList:[]\r\n };\r\n\r\n footerDetails:DashboardFooterConfig={\r\n selectedData : [],\r\n nonRemovableList:[],\r\n displayElementKey: '',\r\n elementId: '',\r\n singularText: 'User selected',\r\n pluralText:'Users selected',\r\n showFrequency:false,\r\n frequencyText:'',\r\n isDisabled :false\r\n\r\n};\r\n vLoader = false;\r\n\r\n @Input() totalPages = 1;\r\n @Input() limit = 1;\r\n @Input() totalList = 1;\r\n\r\n searchList = [];\r\n searchValue = '';\r\n searchFilter = '';\r\n selectedIds: any[] = [];\r\n selectedList: any[] = [];\r\n\r\n\r\n animation = true;\r\n constructor(\r\n private paginationService: PaginationService,\r\n private dashboardService: CreateDashboardService\r\n ) { }\r\n\r\n ngOnChanges() {\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n if (this.listDetails.selectedUsersList.length > 0) {\r\n this.selectedList = this.listDetails.selectedUsersList;\r\n const selectedData = [...this.listDetails.selectedUsersList];\r\n this.footerDetails.selectedData = selectedData;\r\n this.footerDetails.nonRemovableList = this.listDetails.nonRemovableUsersList;\r\n this.selectedIds = selectedData.map((ele: any) => {\r\n if (ele[this.listDetails.elementIdKey]) { return ele[this.listDetails.elementIdKey]; }\r\n });\r\n\r\n }\r\n this.getUsersList({\r\n p: this.paginationService.currentPage === 1 ? '' : this.paginationService.currentPage,\r\n type: '',\r\n });\r\n this.footerDetails.displayElementKey = this.listDetails.displayElementKey; \r\n this.footerDetails.elementId = this.listDetails.elementIdKey; \r\n\r\n\r\n }\r\n\r\n cancelChanges() {\r\n\r\n }\r\n removeElement(event: any) {\r\n\r\n }\r\n submitChanges() {\r\n\r\n }\r\n selectAll(event: any) {\r\n if (event) {\r\n this.searchList.forEach(searchElement => {\r\n\r\n if (!this.selectedIds.includes(searchElement[this.listDetails.elementIdKey])) {\r\n this.selectedList.push(searchElement);\r\n this.selectedIds.push(searchElement[this.listDetails.elementIdKey]);\r\n this.footerDetails.selectedData = this.selectedList;\r\n }\r\n });\r\n\r\n } else {\r\n this.searchList.forEach(searchElement => {\r\n const index = this.selectedList.findIndex(ele => ele[this.listDetails.elementIdKey] ===\r\n searchElement[this.listDetails.elementIdKey]);\r\n this.selectedList.splice(index, 1);\r\n const filteredList = [...this.selectedList];\r\n this.footerDetails.selectedData = this.selectedList;\r\n\r\n const idIndex = this.selectedIds.findIndex(ele => ele === searchElement[this.listDetails.elementIdKey]);\r\n this.selectedIds.splice(idIndex, 1);\r\n });\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Selects all admins and managers at once by making api call.\r\n * @param event consists boolean value to select of unselect.\r\n */\r\n selectAllUsers(event: any) {\r\n if (event) {\r\n this.vLoader = true;\r\n this.dashboardService.getAllUsers().subscribe((res: any) => {\r\n this.selectedList = [...res];\r\n const selectedData = [...res];\r\n this.footerDetails.selectedData = this.selectedList;\r\n\r\n this.selectedIds = selectedData.map((ele: any) => {\r\n if (ele[this.listDetails.elementIdKey]) { return ele[this.listDetails.elementIdKey]; }\r\n });\r\n this.vLoader = false;\r\n });\r\n\r\n } else {\r\n \r\n this.selectedList = [];\r\n this.selectedIds = [];\r\n this.footerDetails.selectedData = [];\r\n\r\n }\r\n } \r\n\r\n /**\r\n * Selects checked item from the list.\r\n * In case of user's list calculates number of admins/manages to set visibility(either to all admins/ admins and managers)\r\n * @param data is the selected element\r\n */\r\n selectElement(data: any) {\r\n if (this.selectedIds.includes(data[this.listDetails.elementIdKey])) {\r\n const index = this.selectedList.findIndex(ele => ele[this.listDetails.elementIdKey] === data[this.listDetails.elementIdKey]);\r\n this.selectedList.splice(index, 1);\r\n this.footerDetails.selectedData = this.selectedList;\r\n\r\n const idIndex = this.selectedIds.findIndex(ele => ele === data[this.listDetails.elementIdKey]);\r\n\r\n this.selectedIds.splice(idIndex, 1);\r\n\r\n } else {\r\n this.selectedList.push(data);\r\n this.selectedIds.push(data[this.listDetails.elementIdKey]);\r\n this.footerDetails.selectedData = this.selectedList;\r\n\r\n }\r\n } \r\n\r\n/**\r\n * It is used to set and search value incase of backend driven list to differentiate search list and original list\r\n */\r\n setSearchValue() {\r\n this.paginationService.searchValue = this.searchValue;\r\n this.paginationFilter(true);\r\n\r\n }\r\n\r\n /**\r\n * it is used check select all condition incase of backend driven search\r\n */\r\n checkSelectAll() {\r\n if (this.searchList.length > 0) {\r\n const data: boolean = this.searchList.every(ele => this.selectedIds.includes(ele[this.listDetails.elementIdKey]));\r\n return data;\r\n } else {\r\n return false;\r\n \r\n }\r\n \r\n }\r\n /**\r\n * Filter list user's list based on pagination by making api call\r\n * @param event specifies a boolean value to call api\r\n */\r\n paginationFilter(event: any) {\r\n // this.paginationFilterEvent.emit(event);\r\n if (event) {\r\n this.vLoader=true;\r\n this.getUsersList({\r\n p: this.paginationService.currentPage === 1 ? '' : this.paginationService.currentPage,\r\n type: '',\r\n q: (!this.paginationService.searchValue) ? '' : this.paginationService.searchValue,\r\n });\r\n\r\n }\r\n }\r\n /**\r\n * Gets user's list by making api call\r\n * @param url contains userlist filter details\r\n */\r\n getUsersList(url: any) {\r\n this.vLoader = true;\r\n\r\n this.dashboardService.getOrganizationUsers(url ? url : '').subscribe(res => {\r\n // console.log(this.selectedList,this.selectedIds)\r\n // debugger\r\n this.searchList = res;\r\n this.vLoader = false;\r\n\r\n\r\n });\r\n\r\n }\r\n /**\r\n * on click on next button from the list, it emits the selected list of elements to parent component.\r\n */\r\n onSubmit() {\r\n const data = this.selectedList //add clonedeep\r\n this.saveSelectedUsers.emit(data);\r\n this.paginationService.reset();\r\n }\r\n}\r\n","<div class=\"user-list\" [class.animate-slideInRight]=\"animation\">\r\n <div class=\"user-list-head\">\r\n <h3>Who can view this dashboard?</h3>\r\n </div>\r\n <div class=\"user-list-body\">\r\n <div class=\"user-list-search\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"searchValue\" placeholder=\"Search User(s) who can view this dashboard\" (keyup.enter)=\"setSearchValue()\" (focusout)=\"setSearchValue()\">\r\n </div>\r\n <div class=\"vx-d-flex vx-align-center vx-justify-end\" *ngIf=\"!searchValue\">\r\n <div class=\"pagination-box\" *ngIf=\"totalPages>1\"> \r\n <app-pagination (paginationFilter)=\"paginationFilter($event)\" [limit]=\"limit\" [totalPages]=\"totalPages\" [totalList]=\"totalList\"></app-pagination>\r\n </div>\r\n </div>\r\n <div class=\"user-list-body-top\">\r\n <app-cs-checkbox *ngIf=\"!searchValue\" [ngValue]=\"selectedList.length == totalList\" (ngValueChange)=\"selectAllUsers($event)\">\r\n <strong>{{((selectedList.length == totalList) ? 'Deselect All':'Select All')}}</strong>\r\n </app-cs-checkbox>\r\n <app-cs-checkbox *ngIf=\"searchValue && searchList.length>1\" [ngValue]=\"checkSelectAll()\" (ngValueChange)=\"selectAll($event)\">\r\n <strong>{{((selectedList.length == totalList) ? 'Deselect All':'Select All')}}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <div class=\"list-of-user\">\r\n <ul class=\"selection-list\">\r\n <li *ngFor=\"let data of searchList; let i = index\">\r\n <app-cs-checkbox [disabled]=\"listDetails.nonRemovableUsersList.includes(data[listDetails.elementIdKey])\" [ngValue]=\"selectedList.length>0 && selectedIds.includes(data[listDetails.elementIdKey])\"\r\n (ngValueChange)=\"selectElement(data)\" [arTooltip]=\"data[listDetails.tooltipKey]\" placement=\"bottom-left\"\r\n delay=\"0\" [tooltipMandatory]=\"true\"\r\n > {{data[listDetails.displayElementKey]}}</app-cs-checkbox>\r\n </li>\r\n <!-- appTooltip=\"{{data[listDetails.tooltipKey]}}\" placement=\"bottom\" delay=\"0\" [tooltipMandatory]=\"false\" -->\r\n </ul>\r\n </div>\r\n <!-- <div class=\"no-data\" *ngIf=\"searchList.length == 0 && listDetails.isBackEndDriven\">\r\n <div class=\"content\">\r\n <img src=\"./assets/images/responsibility-category-nodata.svg\" alt=\"No data to display\">\r\n <p>No data to display</p>\r\n </div>\r\n </div> -->\r\n <app-loader-inline *ngIf=\"vLoader\"></app-loader-inline>\r\n\r\n </div>\r\n <div class=\"user-list-footer\">\r\n <app-dashboard-footer \r\n [footerDetails] =\"footerDetails\"\r\n (cancelEvent)=\"closeUserList.emit()\"\r\n (deleteEvent) =\"selectElement($event)\"\r\n (submitEvent)=\"onSubmit()\"\r\n ></app-dashboard-footer>\r\n </div>\r\n\r\n</div>\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filter'\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n\r\n transform(items: any[], searchText: string): any[] {\r\n if (!items) {\r\n return [];\r\n }\r\n if (!searchText) {\r\n return items;\r\n }\r\n searchText = searchText.toLowerCase();\r\n if(items?.length){\r\n return items.filter((it: any) => {\r\n return JSON.stringify(it).toLowerCase().includes(searchText);\r\n });\r\n }else{\r\n return [];\r\n }\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\n\r\n@Component({\r\n selector: 'app-responsibility-center',\r\n templateUrl: './responsibility-center.component.html',\r\n styleUrls: ['./responsibility-center.component.less']\r\n})\r\nexport class ResponsibilityCenterComponent implements OnInit, OnChanges {\r\n @Output() saveSelectedList = new EventEmitter();\r\n @Output() closeRcList = new EventEmitter();\r\n @Input() responsibilityCentersList = [];\r\n @Input() selectedResponsibilityCenters = [];\r\n @Input() rcIdKey = '';\r\n @Input() radioSelection = false;\r\n\r\n\r\n selectedIds: any[] = [];\r\n animation = false;\r\n search = '';\r\n footerDetails: DashboardFooterConfig = {\r\n selectedData: [],\r\n nonRemovableList:[],\r\n displayElementKey: 'item_name',\r\n elementId: 'item_id',\r\n singularText: 'Responsibility selected',\r\n pluralText: 'Responsibilities selected',\r\n showFrequency: false,\r\n frequencyText: '',\r\n isDisabled: false\r\n\r\n };\r\n constructor() { }\r\n\r\n ngOnChanges(): void {\r\n this.footerDetails.selectedData = this.selectedResponsibilityCenters;\r\n this.selectedIds = this.selectedResponsibilityCenters.map((ele: any) => { if (ele[this.rcIdKey]) { return ele[this.rcIdKey]; } });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n }\r\n\r\n selectRc(rc: any, mode: any) {\r\n if (this.radioSelection) {\r\n if (mode) {\r\n this.selectedIds = [];\r\n this.selectedIds.push(rc);\r\n }\r\n this.setList();\r\n } else {\r\n if (mode) {\r\n this.selectedIds.push(rc);\r\n const rcElement = this.responsibilityCentersList.findIndex((ele: any) => ele.item_id == rc);\r\n if (rcElement !== -1) {\r\n const parentRc: any = this.responsibilityCentersList[rcElement];\r\n if (parentRc?.item_child_ids.length > 0) {\r\n parentRc.item_child_ids.forEach((childElement: any) => {\r\n if(!this.selectedIds.includes(childElement)){\r\n this.selectedIds.push(childElement);\r\n }\r\n });\r\n }\r\n }\r\n\r\n } else {\r\n const index = this.selectedIds.findIndex((element: any) => element == rc);\r\n this.selectedIds.splice(index, 1);\r\n const rcElement = this.responsibilityCentersList.findIndex((ele: any) => ele.item_id == rc);\r\n if (rcElement !== -1) {\r\n const parentRc: any = this.responsibilityCentersList[rcElement];\r\n if (parentRc?.item_child_ids.length > 0) {\r\n parentRc.item_child_ids.forEach((childElement: any) => {\r\n const removeIndex = this.selectedIds.findIndex((removeElement: any) => removeElement == childElement);\r\n this.selectedIds.splice(removeIndex, 1);\r\n });\r\n }\r\n }\r\n\r\n }\r\n this.setList();\r\n }\r\n\r\n\r\n }\r\n deleteEvent(event: any) {\r\n const index = this.selectedIds.findIndex((element: any) => element == event[this.rcIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n this.setList();\r\n }\r\n\r\n selectAll(mode: any) {\r\n if (mode) {\r\n const list = [...this.responsibilityCentersList];\r\n this.selectedIds = [];\r\n list.forEach(element => {\r\n this.selectedIds.push(element[this.rcIdKey]);\r\n });\r\n } else {\r\n this.selectedIds = [];\r\n }\r\n this.setList();\r\n }\r\n\r\n\r\n setList() {\r\n const data: any = [];\r\n const rcList = [...new Set(this.responsibilityCentersList)]\r\n // cloneDeep(this.responsibilityCentersList);\r\n const selectedIds = [...new Set(this.selectedIds)]\r\n // cloneDeep(this.selectedIds);\r\n rcList.forEach((element: any) => {\r\n if (selectedIds.includes(element[this.rcIdKey])) {\r\n data.push(element);\r\n }\r\n });\r\n this.selectedResponsibilityCenters = data;\r\n this.footerDetails.selectedData = this.selectedResponsibilityCenters;\r\n }\r\n\r\n checkSelectAll() {\r\n const data = this.responsibilityCentersList.every((rc: any) => this.selectedIds.includes(rc[this.rcIdKey]));\r\n return data;\r\n }\r\n\r\n save() {\r\n this.saveSelectedList.emit(this.selectedIds);\r\n }\r\n\r\n closeResponsibilityCenterList() {\r\n this.closeRcList.emit();\r\n }\r\n}\r\n","<div class=\"responsibility-center\" [class.animate-slideInRight]=\"animation\">\r\n <div class=\"responsibility-center-head\">\r\n <h3>Select Responsibility Center(s)</h3>\r\n </div>\r\n <div class=\"responsibility-center-body\">\r\n <div class=\"responsibility-center-search\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search Responsibility Center\">\r\n </div>\r\n <ng-container *ngIf=\"(responsibilityCentersList | filter:search) as searchList\">\r\n\r\n <div class=\"select-all\">\r\n <app-cs-checkbox [ngValue]=\"checkSelectAll()\" (ngValueChange)=\"selectAll($event)\">\r\n <strong>{{checkSelectAll() ? 'Deselect All' : 'Select All'}}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <ul class=\"responsibility-center-list\">\r\n\r\n <li\r\n *ngFor=\"let rc of searchList; let i = index\">\r\n <app-cs-checkbox [ngValue]=\"selectedIds.includes(rc.item_id)\" (ngValueChange)=\"selectRc(rc.item_id,$event)\">\r\n <ul class=\"responsibility-center-list-name\">\r\n <li *ngFor=\"let entity of rc.rc_name; let j = index\">\r\n <i class=\"icons\" *ngIf=\"j !== 0\"></i>\r\n <span class=\"name\" [arTooltip]=\"entity\" placement=\"bottom-left\"\r\n delay=\"0\">{{entity}}</span>\r\n </li> \r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n \r\n </ul>\r\n\r\n </ng-container>\r\n </div>\r\n <div class=\"responsibility-center-footer\">\r\n <app-dashboard-footer \r\n [footerDetails] =\"footerDetails\"\r\n (cancelEvent)=\"closeRcList.emit()\"\r\n (deleteEvent) =\"selectRc($event.item_id,false)\"\r\n (submitEvent)=\"save()\"\r\n ></app-dashboard-footer>\r\n </div>\r\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\nimport { CategoriesConfig } from './categories-config';\r\n\r\n@Component({\r\n selector: 'app-categories',\r\n templateUrl: './categories.component.html',\r\n styleUrls: ['./categories.component.less']\r\n})\r\nexport class CategoriesComponent implements OnInit {\r\n\r\n\r\n @Input() categoryList: CategoriesConfig = {\r\n regulations: {\r\n list: [],\r\n selectedList: []\r\n },\r\n standards: {\r\n list: [],\r\n selectedList: []\r\n },\r\n internalControls: {\r\n list: [],\r\n selectedList: []\r\n },\r\n others: {\r\n list: [],\r\n selectedList: []\r\n }\r\n };\r\n @Input() allCategories: any[] = [];\r\n\r\n @Input() categoryIdKey: any;\r\n @Input() selectedCategories: any[] = [];\r\n\r\n search = '';\r\n activeTab: \"standards\" | \"regulations\" | \"internalControls\" | \"others\"=\"regulations\";\r\n selectedIds: any[] = [];\r\n animation = false;\r\n blockWidth: any;\r\n footerDetails: DashboardFooterConfig = {\r\n selectedData: [],\r\n nonRemovableList:[],\r\n displayElementKey: 'item_name',\r\n elementId: 'item_id',\r\n singularText: 'Category selected',\r\n pluralText: 'Categories selected',\r\n showFrequency: false,\r\n frequencyText: '',\r\n isDisabled: false\r\n\r\n };\r\n\r\n @Output() saveSelectedCategory = new EventEmitter();\r\n @Output() closeList = new EventEmitter();\r\n @Output() closeCategoriesList = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n // debugger\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n this.selectedIds = [];\r\n if (this.selectedCategories) {\r\n this.selectedCategories.forEach(element => {\r\n this.selectedIds.push(element[this.categoryIdKey]);\r\n });\r\n }\r\n this.setList()\r\n // console.log(this.selectedCategories)\r\n // debugger\r\n // console.log(this.allCategories)\r\n\r\n // console.log(this.activeTab)\r\n // console.log(this.categoryList)\r\n\r\n }\r\n\r\n selectCategory(mode: any, activeTab: any, category: any) {\r\n if (mode) {\r\n this.selectedIds.push(category[this.categoryIdKey]);\r\n } else {\r\n const index = this.selectedIds.findIndex((element: any) => element == category[this.categoryIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n }\r\n this.setList();\r\n\r\n }\r\n\r\n deleteEvent(event: any) {\r\n const index = this.selectedIds.findIndex((element: any) => element == event[this.categoryIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n this.setList();\r\n }\r\n\r\n selectAll(mode: any, activeTab: \"standards\" | \"regulations\" | \"internalControls\" | \"others\") {\r\n\r\n if (mode) {\r\n const list = [...this.categoryList[activeTab].list];\r\n list.forEach(element => {\r\n if (!this.selectedIds.includes(element[this.categoryIdKey])) {\r\n this.selectedIds.push(element[this.categoryIdKey]);\r\n }\r\n }); \r\n } else {\r\n const list = [...this.categoryList[activeTab].list];\r\n list.forEach(element => {\r\n if (this.selectedIds.includes(element[this.categoryIdKey])) {\r\n let idIndex = this.selectedIds.findIndex((id: any) => id == element[this.categoryIdKey]);\r\n this.selectedIds.splice(idIndex, 1);\r\n }\r\n });\r\n }\r\n this.setList();\r\n }\r\n\r\n setList() {\r\n const data: any = [];\r\n const categoryList = [...new Set(this.allCategories)] \r\n // cloneDeep(this.allCategories)\r\n const selectedIds =[...new Set(this.selectedIds)] \r\n // cloneDeep(this.selectedIds);\r\n this.categoryList.regulations.selectedList = [];\r\n this.categoryList.standards.selectedList = [];\r\n this.categoryList.internalControls.selectedList = [];\r\n this.categoryList.others.selectedList = [];\r\n\r\n categoryList.forEach((element: any) => {\r\n if (selectedIds.includes(element[this.categoryIdKey])) {\r\n data.push(element);\r\n }\r\n });\r\n this.selectedCategories = data;\r\n this.footerDetails.selectedData = data;\r\n\r\n this.categoryList.regulations.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.regulations.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.standards.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.standards.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.internalControls.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.internalControls.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.others.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.others.selectedList.push(category)\r\n }\r\n });\r\n if (!this.activeTab) {\r\n this.setActiveTab();\r\n }\r\n }\r\n setActiveTab() {\r\n if (this.categoryList.regulations.selectedList.length > 0) {\r\n this.activeTab = 'regulations'\r\n } else if (this.categoryList.standards.selectedList.length > 0) {\r\n this.activeTab = 'standards'\r\n } else if (this.categoryList.internalControls.selectedList.length > 0) {\r\n this.activeTab = 'internalControls'\r\n } else if (this.categoryList.others.selectedList.length > 0) {\r\n this.activeTab = 'others'\r\n } else {\r\n this.activeTab = 'regulations'\r\n }\r\n }\r\n\r\n\r\n checkSelectAll(activeTab: \"standards\" | \"regulations\" | \"internalControls\" | \"others\") {\r\n const data = this.categoryList[activeTab].list.every((user: any) => this.selectedIds.includes(user[this.categoryIdKey]));\r\n return data;\r\n }\r\n\r\n save() {\r\n this.saveSelectedCategory.emit(this.selectedCategories);\r\n }\r\n\r\n close() {\r\n this.closeCategoriesList.emit();\r\n }\r\n}\r\n","<div class=\"category-list\" [class.animate-slideInRight]=\"animation\">\r\n <div class=\"category-list-head vx-d-flex vx-align-center vx-justify-between vx-p-3\">\r\n <span class=\"vx-fw-500 vx-label-txt vx-lh-5\">Select Category(s)</span>\r\n <!-- <button class=\"vx-d-flex vx-align-center vx-label-txt vx-tt-uppercase vx-fw-500 vx-p-0\"><i class=\"icons\"></i> Back</button> -->\r\n </div>\r\n <div class=\"category-list-mid\">\r\n <!-- <div class=\"category-list-tab\">\r\n <ul>\r\n <li class=\"active\"><button>Compliance<span>98</span></button></li>\r\n <li><button>Risks<span>120</span></button></li>\r\n <li><button>Audit<span>28</span></button></li>\r\n <li><button>Policy<span>45</span></button></li>\r\n </ul>\r\n </div> -->\r\n \r\n <div class=\"vx-d-flex vx-mb-2\">\r\n \r\n <div class=\"category-list-card\" [class.active]=\"activeTab == 'regulations'\" (click)=\"activeTab = 'regulations'\">\r\n <div class=\"left\">\r\n <label>REGULATIONS</label>\r\n <p *ngIf=\"categoryList?.regulations?.selectedList?.length != 0\">\r\n {{categoryList?.regulations?.selectedList?.length}}\r\n {{(categoryList?.regulations?.selectedList?.length==1)?'Category':'Categories'}} selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.regulations?.list?.length}}</span>\r\n </div>\r\n <div class=\"category-list-card\" [class.active]=\"activeTab == 'standards'\" (click)=\"activeTab = 'standards'\">\r\n <div class=\"left\">\r\n <label>STANDARDS</label>\r\n <p *ngIf=\"categoryList?.standards?.selectedList?.length != 0\">\r\n {{categoryList?.standards?.selectedList?.length}}\r\n {{(categoryList?.standards?.selectedList?.length==1)?'Category':'Categories'}} selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.standards?.list?.length}}</span>\r\n </div>\r\n <div class=\"category-list-card\" [class.active]=\"activeTab == 'internalControls'\"\r\n (click)=\"activeTab = 'internalControls'\">\r\n <div class=\"left\">\r\n <label>INTERNAL CONTROLS</label>\r\n <p *ngIf=\"categoryList?.internalControls?.selectedList?.length != 0\">\r\n {{categoryList?.internalControls?.selectedList?.length}}\r\n {{(categoryList?.internalControls?.selectedList?.length==1)?'Category':'Categories'}} selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.internalControls?.list?.length}}</span>\r\n </div>\r\n <div class=\"category-list-card\" [class.active]=\"activeTab == 'others'\" (click)=\"activeTab = 'others'\">\r\n <div class=\"left\">\r\n <label>OTHERS</label>\r\n <p *ngIf=\"categoryList?.others?.selectedList?.length != 0\">\r\n {{categoryList?.others?.selectedList?.length}}\r\n {{(categoryList?.others?.selectedList?.length==1)?'Category':'Categories'}} selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.others?.list?.length}}</span>\r\n </div>\r\n </div>\r\n \r\n <div class=\"search\">\r\n <i class=\"icons vx-fs-3\"></i>\r\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search Responsibility Category\" />\r\n </div>\r\n\r\n <ng-container *ngIf=\"(categoryList[activeTab].list | filter: search) as searchList\">\r\n <div class=\"select-all\" *ngIf=\"searchList.length > 0\">\r\n <app-cs-checkbox [ngValue]=\"checkSelectAll(activeTab)\" (ngValueChange)=\"selectAll($event,activeTab)\">\r\n <strong>{{checkSelectAll(activeTab) ? 'Deselect All' : 'Select All'}}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <div class=\"category-list-item\">\r\n <ul class=\"category-list-item-ul vx-m-0 vx-p-0\">\r\n <li class=\"vx-mb-5\" *ngFor=\"let category of searchList\" >\r\n <app-cs-checkbox [ngValue]=\"selectedIds.includes(category[categoryIdKey])\"\r\n (ngValueChange)=\"selectCategory($event,activeTab,category)\">\r\n <ul class=\"categories\">\r\n <li *ngFor=\"let entity of category.category_name; let j = index\" [arTooltip]=\"entity\" placement=\"bottom-left\" delay=\"0\">\r\n {{entity}}\r\n </li>\r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <app-dashboard-footer \r\n [footerDetails] =\"footerDetails\"\r\n (cancelEvent)=\"close()\"\r\n (deleteEvent) =\"deleteEvent($event)\"\r\n (submitEvent)=\"save()\"\r\n ></app-dashboard-footer>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\nimport { RiskCategoriesConfig } from './risk-categories-config';\r\n\r\n@Component({\r\n selector: 'app-risk-categories',\r\n templateUrl: './risk-categories.component.html',\r\n styleUrls: ['./risk-categories.component.less']\r\n})\r\nexport class RiskCategoriesComponent implements OnInit {\r\n\r\n\r\n @Input() categoryList: RiskCategoriesConfig = {\r\n strategic: {\r\n list: [],\r\n selectedList: [],\r\n },\r\n operational: {\r\n list: [],\r\n selectedList: [],\r\n },\r\n compliance: {\r\n list: [],\r\n selectedList: [],\r\n },\r\n others: {\r\n list: [],\r\n selectedList: [],\r\n }\r\n }\r\n @Input() allCategories: any[] = [];\r\n\r\n @Input() categoryIdKey: any;\r\n @Input() selectedCategories: any[] = [];\r\n\r\n search = '';\r\n activeTab: \"strategic\" | \"operational\" | \"compliance\" | \"others\"=\"strategic\";\r\n selectedIds: any[] = [];\r\n animation = false;\r\n blockWidth: any;\r\n footerDetails: DashboardFooterConfig = {\r\n selectedData: [],\r\n nonRemovableList:[],\r\n displayElementKey: 'category_name',\r\n elementId: 'category_id',\r\n singularText: 'Category selected',\r\n pluralText: 'Categories selected',\r\n showFrequency: false,\r\n frequencyText: '',\r\n isDisabled: false\r\n\r\n };\r\n\r\n @Output() saveSelectedCategory = new EventEmitter();\r\n @Output() closeList = new EventEmitter();\r\n @Output() closeCategoriesList = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n this.selectedIds = [];\r\n if (this.selectedCategories) {\r\n this.selectedCategories.forEach(element => {\r\n this.selectedIds.push(element[this.categoryIdKey]);\r\n });\r\n }\r\n this.setList()\r\n \r\n }\r\n\r\n selectCategory(mode: any, activeTab: any, category: any) {\r\n if (mode) {\r\n this.selectedIds.push(category[this.categoryIdKey]);\r\n } else {\r\n const index = this.selectedIds.findIndex((element: any) => element == category[this.categoryIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n }\r\n this.setList();\r\n\r\n }\r\n\r\n deleteEvent(event: any) {\r\n const index = this.selectedIds.findIndex((element: any) => element == event[this.categoryIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n this.setList();\r\n }\r\n\r\n selectAll(mode: any, activeTab: string) {\r\n\r\n if (mode) {\r\n if (activeTab === \"strategic\" || activeTab === \"operational\" || activeTab === \"compliance\" || activeTab === \"others\") {\r\n const list = this.categoryList[activeTab].list;\r\n list.forEach(element => {\r\n if (!this.selectedIds.includes(element[this.categoryIdKey])) {\r\n this.selectedIds.push(element[this.categoryIdKey]);\r\n }\r\n });\r\n }\r\n\r\n } else {\r\n if (activeTab === \"strategic\" || activeTab === \"operational\" || activeTab === \"compliance\" || activeTab === \"others\") {\r\n const list = [...this.categoryList[activeTab].list];\r\n list.forEach(element => {\r\n if (this.selectedIds.includes(element[this.categoryIdKey])) {\r\n let idIndex = this.selectedIds.findIndex((id: any) => id == element[this.categoryIdKey]);\r\n this.selectedIds.splice(idIndex, 1);\r\n }\r\n });\r\n }\r\n\r\n }\r\n this.setList();\r\n }\r\n\r\n setList() {\r\n const data: any = [];\r\n const categoryList = [...new Set(this.allCategories)] \r\n // cloneDeep(this.allCategories)\r\n const selectedIds =[...new Set(this.selectedIds)] \r\n // cloneDeep(this.selectedIds);\r\n this.categoryList.strategic.selectedList = [];\r\n this.categoryList.operational.selectedList = [];\r\n this.categoryList.compliance.selectedList = [];\r\n this.categoryList.others.selectedList = [];\r\n\r\n categoryList.forEach((element: any) => {\r\n if (selectedIds.includes(element[this.categoryIdKey])) {\r\n data.push(element);\r\n }\r\n });\r\n this.selectedCategories = data;\r\n this.footerDetails.selectedData = data;\r\n\r\n this.categoryList.strategic.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.strategic.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.operational.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.operational.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.compliance.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.compliance.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.others.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.others.selectedList.push(category)\r\n }\r\n });\r\n if (!this.activeTab) {\r\n this.setActiveTab();\r\n }\r\n }\r\n setActiveTab() {\r\n if (this.categoryList.strategic.selectedList.length > 0) {\r\n this.activeTab = 'strategic'\r\n } else if (this.categoryList.operational.selectedList.length > 0) {\r\n this.activeTab = 'operational'\r\n } else if (this.categoryList.compliance.selectedList.length > 0) {\r\n this.activeTab = 'compliance'\r\n } else if (this.categoryList.others.selectedList.length > 0) {\r\n this.activeTab = 'others'\r\n } else {\r\n this.activeTab = 'strategic'\r\n }\r\n }\r\n\r\n\r\n checkSelectAll(activeTab: string) {\r\n if (activeTab === \"strategic\" || activeTab === \"operational\" || activeTab === \"compliance\" || activeTab === \"others\") {\r\n const data = this.categoryList[activeTab].list.every((user: any) => this.selectedIds.includes(user[this.categoryIdKey]));\r\n return data;\r\n }\r\n }\r\n\r\n save() {\r\n this.saveSelectedCategory.emit(this.selectedCategories);\r\n }\r\n\r\n close() {\r\n this.closeCategoriesList.emit();\r\n }\r\n}\r\n","<div class=\"category-list\" [class.animate-slideInRight]=\"animation\">\r\n <div class=\"category-list-head vx-d-flex vx-align-center vx-justify-between vx-p-3\">\r\n <span class=\"vx-fw-500 vx-label-txt vx-lh-5\">Select Category(s)</span>\r\n <!-- <button class=\"vx-d-flex vx-align-center vx-label-txt vx-tt-uppercase vx-fw-500 vx-p-0\"><i class=\"icons\"></i> Back</button> -->\r\n </div>\r\n <div class=\"category-list-mid\">\r\n <!-- <div class=\"category-list-tab\">\r\n <ul>\r\n <li class=\"active\"><button>Compliance<span>98</span></button></li>\r\n <li><button>Risks<span>120</span></button></li>\r\n <li><button>Audit<span>28</span></button></li>\r\n <li><button>Policy<span>45</span></button></li>\r\n </ul>\r\n </div> -->\r\n \r\n <div class=\"vx-d-flex vx-mb-2\">\r\n \r\n <div class=\"category-list-card\" [class.active]=\"activeTab == 'strategic'\" (click)=\"activeTab = 'strategic'\">\r\n <div class=\"left\">\r\n <label>strategic</label>\r\n <p *ngIf=\"categoryList?.strategic?.selectedList?.length != 0\">\r\n {{categoryList?.strategic?.selectedList?.length}}\r\n {{(categoryList?.strategic?.selectedList?.length==1)?'Category':'Categories'}} selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.strategic?.list?.length}}</span>\r\n </div>\r\n <div class=\"category-list-card\" [class.active]=\"activeTab == 'operational'\" (click)=\"activeTab = 'operational'\">\r\n <div class=\"left\">\r\n <label>operational</label>\r\n <p *ngIf=\"categoryList?.operational?.selectedList?.length != 0\">\r\n {{categoryList?.operational?.selectedList?.length}}\r\n {{(categoryList?.operational?.selectedList?.length==1)?'Category':'Categories'}} selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.operational?.list?.length}}</span>\r\n </div>\r\n <div class=\"category-list-card\" [class.active]=\"activeTab == 'compliance'\"\r\n (click)=\"activeTab = 'compliance'\">\r\n <div class=\"left\">\r\n <label>compliance</label>\r\n <p *ngIf=\"categoryList?.compliance?.selectedList?.length != 0\">\r\n {{categoryList?.compliance?.selectedList?.length}}\r\n {{(categoryList?.compliance?.selectedList?.length==1)?'Category':'Categories'}} selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.compliance?.list?.length}}</span>\r\n </div>\r\n <div class=\"category-list-card\" [class.active]=\"activeTab == 'others'\" (click)=\"activeTab = 'others'\">\r\n <div class=\"left\">\r\n <label>OTHERS</label>\r\n <p *ngIf=\"categoryList?.others?.selectedList?.length != 0\">\r\n {{categoryList?.others?.selectedList?.length}}\r\n {{(categoryList?.others?.selectedList?.length==1)?'Category':'Categories'}} selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.others?.list?.length}}</span>\r\n </div>\r\n </div>\r\n \r\n <div class=\"search\">\r\n <i class=\"icons vx-fs-3\"></i>\r\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search Responsibility Category\" />\r\n </div>\r\n\r\n <ng-container *ngIf=\"(categoryList[activeTab]?.list | filter: search) as searchList\">\r\n <div class=\"select-all\" *ngIf=\"searchList.length > 0\">\r\n <app-cs-checkbox [ngValue]=\"checkSelectAll(activeTab)\" (ngValueChange)=\"selectAll($event,activeTab)\">\r\n <strong>{{checkSelectAll(activeTab) ? 'Deselect All' : 'Select All'}}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <div class=\"category-list-item\">\r\n <ul class=\"category-list-item-ul vx-m-0 vx-p-0\">\r\n <li class=\"vx-mb-5\" *ngFor=\"let category of searchList\" >\r\n <app-cs-checkbox [ngValue]=\"selectedIds.includes(category[categoryIdKey])\"\r\n (ngValueChange)=\"selectCategory($event,activeTab,category)\">\r\n <ul class=\"categories\">\r\n <li [arTooltip]=\"category.category_name\" placement=\"bottom-left\" delay=\"0\">{{category.category_name}}</li>\r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <app-dashboard-footer \r\n [footerDetails] =\"footerDetails\"\r\n (cancelEvent)=\"close()\"\r\n (deleteEvent) =\"deleteEvent($event)\"\r\n (submitEvent)=\"save()\"\r\n ></app-dashboard-footer>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-radio',\r\n templateUrl: './cs-radio.component.html',\r\n styleUrls: ['./cs-radio.component.less'],\r\n})\r\nexport class CsRadioComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() readonly!: boolean;\r\n @Input() name!: string;\r\n @Input() checked!: boolean;\r\n @Input() value: any;\r\n @Output() checkedEvent = new EventEmitter();\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n changeState(evt: any) {\r\n this.checkedEvent.emit(evt);\r\n }\r\n}\r\n","<label class=\"radio-item\" [class.readonly]=\"readonly\">\r\n <input type=\"radio\" [disabled]=\"disabled\" [name]=\"name\" [value]=\"value\" [checked]=\"checked\" (change)=\"changeState($event)\" />\r\n <span class=\"radio\">\r\n <span class=\"inner\"></span>\r\n </span>\r\n <svg class=\"radiomark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"radiomark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <circle class=\"radiomark__check\" cx=\"26\" cy=\"26\" r=\"5\" fill=\"none\" />\r\n </svg>\r\n <span class=\"value\"><ng-content></ng-content></span>\r\n</label>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\n\r\n\r\n@Component({\r\n selector: 'app-frequency',\r\n templateUrl: './frequency.component.html',\r\n styleUrls: ['./frequency.component.less']\r\n})\r\nexport class FrequencyComponent implements OnInit {\r\n @Input() savedFrequencyTab: string | undefined;\r\n monthlyDate = 1;\r\n quarterlyDate = 1;\r\n @Input() savedFrequencies: any;\r\n @Input() selectedDate: any;\r\n frequencyTab = 'weekly';\r\n dayNames = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\r\n monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\r\n quarters = ['January, April, July, October', 'February, May, August, November', 'March, June, September, December'];\r\n selectedDays: number[] = [0];\r\n selectedMonths: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\r\n selectedQuarter = 0;\r\n @Output() closeFrequencyPopup = new EventEmitter<string>();\r\n @Output() saveFrequency = new EventEmitter<any>();\r\n footerDetails: DashboardFooterConfig = {\r\n selectedData: [],\r\n nonRemovableList:[],\r\n displayElementKey: '',\r\n elementId: '',\r\n singularText: '',\r\n pluralText: '',\r\n showFrequency: true,\r\n frequencyText: 'You have selected a <strong>' + this.frequencyTab + '</strong> frequency.',\r\n isDisabled: false\r\n\r\n };\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n if (this.savedFrequencyTab) {\r\n this.changeTab(this.savedFrequencyTab);\r\n }\r\n if (this.selectedDate) {\r\n switch (this.savedFrequencyTab) {\r\n case 'weekly':\r\n this.selectedDays = this.savedFrequencies;\r\n break;\r\n case 'monthly':\r\n this.monthlyDate = this.selectedDate;\r\n this.selectedMonths = this.savedFrequencies;\r\n\r\n break;\r\n case 'quarterly':\r\n this.quarterlyDate = this.selectedDate\r\n this.selectedQuarter = this.savedFrequencies;\r\n\r\n break;\r\n\r\n }\r\n }\r\n\r\n }\r\n closeFrequency() {\r\n this.closeFrequencyPopup.emit();\r\n }\r\n daySelectionChange(event: any, index: any) {\r\n if (event) { //checkbox was selected\r\n this.selectedDays.push(index);\r\n } else {\r\n let unselectedElementIndex = this.selectedDays.indexOf(index);\r\n this.selectedDays.splice(unselectedElementIndex, 1);\r\n }\r\n }\r\n monthSelectionChange(event: any, index: any) {\r\n if (event) {\r\n this.selectedMonths.push(index);\r\n } else {\r\n let unselectedElementIndex = this.selectedMonths.indexOf(index);\r\n this.selectedMonths.splice(unselectedElementIndex, 1);\r\n }\r\n }\r\n\r\n quarterSelectionChange(event: any, index: any) {\r\n this.selectedQuarter = index;\r\n }\r\n\r\n changeTab(tabValue: string) {\r\n this.frequencyTab = tabValue;\r\n this.footerDetails.frequencyText = 'You have selected a <strong>' + this.frequencyTab + '</strong> frequency.';\r\n this.setToDefaultValues()\r\n if (this.frequencyTab === this.savedFrequencyTab) {\r\n // debugger\r\n switch (this.frequencyTab) {\r\n case 'weekly': {\r\n this.selectedDays = [...this.savedFrequencies];\r\n break;\r\n }\r\n case 'monthly': {\r\n this.selectedMonths = [...this.savedFrequencies];\r\n break;\r\n }\r\n case 'quarterly': {\r\n this.selectedQuarter = this.savedFrequencies;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n setToDefaultValues() {\r\n this.selectedDays = [0];\r\n this.selectedMonths = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\r\n this.selectedQuarter = 0;\r\n }\r\n\r\n submitFrequency() {\r\n let stringVal = \"Every \";\r\n let frequencies;\r\n let selectedDate = 1;\r\n switch (this.frequencyTab) {\r\n case 'weekly': {\r\n if (this.selectedDays.length > 0) {\r\n this.selectedDays.sort();\r\n frequencies = this.selectedDays;\r\n this.selectedDays.forEach((dayIndex, index) => {\r\n stringVal += index === 0 ? this.dayNames[dayIndex] : ', ' + this.dayNames[dayIndex];\r\n })\r\n } else {\r\n // nothing was selected\r\n this.closeFrequency();\r\n }\r\n break;\r\n }\r\n case 'monthly': {\r\n stringVal = \" of every \";\r\n if (this.selectedMonths.length > 0) {\r\n frequencies = this.selectedMonths;\r\n this.monthNames.forEach((monthNames: string, monthIndex: number) => {\r\n if (this.selectedMonths.includes(monthIndex + 1)) {\r\n stringVal += monthIndex + 1 === 1 ? monthNames : ', ' + monthNames;\r\n\r\n }\r\n })\r\n let monthDateName;\r\n if (this.monthlyDate == 1) {\r\n monthDateName = '1st'\r\n }\r\n else if (this.monthlyDate == 2) {\r\n monthDateName = '2nd'\r\n }\r\n else if (this.monthlyDate == 3) {\r\n monthDateName = '3rd'\r\n }\r\n else {\r\n monthDateName = this.monthlyDate + 'th'\r\n }\r\n stringVal = monthDateName + stringVal;\r\n selectedDate = this.monthlyDate;\r\n } else {\r\n // nothing was selected\r\n this.closeFrequency();\r\n }\r\n break;\r\n }\r\n case 'quarterly': {\r\n stringVal = \" of every \";\r\n\r\n if (this.selectedQuarter >= 0) {\r\n frequencies = this.selectedQuarter;\r\n stringVal += this.quarters[this.selectedQuarter];\r\n selectedDate = this.quarterlyDate;\r\n let monthDateName;\r\n if (this.quarterlyDate == 1) {\r\n monthDateName = '1st'\r\n }\r\n else if (this.quarterlyDate == 2) {\r\n monthDateName = '2nd'\r\n }\r\n else if (this.quarterlyDate == 3) {\r\n monthDateName = '3rd'\r\n }\r\n else {\r\n monthDateName = this.quarterlyDate + 'th'\r\n }\r\n stringVal = monthDateName + stringVal;\r\n selectedDate = this.quarterlyDate;\r\n } else {\r\n // nothing was selected\r\n this.closeFrequency();\r\n }\r\n break;\r\n }\r\n }\r\n //emit event to save + close\r\n this.saveFrequency.emit({\r\n frequencyString: stringVal,\r\n frequencyType: this.frequencyTab,\r\n frequencies: frequencies,\r\n selectedDate\r\n })\r\n }\r\n}\r\n","<div class=\"frequency\">\r\n <div class=\"frequency-head vx-d-flex vx-align-center vx-justify-between vx-p-3\">\r\n <h3 class=\"frequency-title\">Select a Frequency</h3>\r\n </div>\r\n <div class=\"frequency-body\">\r\n <div class=\"frequency-tab\" [ngSwitch]=\"frequencyTab\">\r\n <div class=\"frequency-tab-head\">\r\n <ul class=\"navigation\">\r\n <li><button [class.active]=\"frequencyTab == 'weekly'\" (click)=\"changeTab('weekly')\">Weekly</button></li>\r\n <li><button [class.active]=\"frequencyTab == 'monthly'\" (click)=\"changeTab('monthly')\">Monthly</button></li>\r\n <li><button [class.active]=\"frequencyTab == 'quarterly'\" (click)=\"changeTab('quarterly')\">Quarterly</button></li>\r\n </ul>\r\n </div>\r\n <div class=\"frequency-tab-body\">\r\n <div class=\"checkbox-list\" *ngSwitchCase=\"'weekly'\">\r\n <div class=\"frequency-checkbox vx-d-flex vx-justify-between vx-flex-wrap\">\r\n <app-cs-checkbox *ngFor = \"let day of dayNames; let dayIndex = index\" (ngValueChange)=\"daySelectionChange($event, dayIndex)\" [ngValue]=\"selectedDays.includes(dayIndex)\">{{day}}</app-cs-checkbox>\r\n </div>\r\n </div>\r\n <div class=\"checkbox-list month\" *ngSwitchCase=\"'monthly'\">\r\n <div class=\"frequency-top vx-d-flex vx-align-center\">\r\n <span>Day <input type=\"number\" [(ngModel)]=\"monthlyDate\" class=\"day-counter\"> of</span>\r\n </div>\r\n <div class=\"frequency-checkbox vx-d-flex vx-justify-between vx-flex-wrap\">\r\n <app-cs-checkbox *ngFor = \"let month of monthNames; let monthIndex = index\" (ngValueChange)=\"monthSelectionChange($event, monthIndex+1)\" [ngValue]=\"selectedMonths.includes(monthIndex)\">{{month}}</app-cs-checkbox>\r\n </div>\r\n </div>\r\n <div class=\"checkbox-list\" *ngSwitchCase=\"'quarterly'\">\r\n <div class=\"frequency-top vx-d-flex vx-align-center\">\r\n <span>Day <input type=\"number\" [(ngModel)]=\"quarterlyDate\" class=\"day-counter\"> of</span>\r\n </div>\r\n <div class=\"frequency-checkbox vx-d-flex vx-justify-between vx-flex-wrap\">\r\n <app-cs-radio *ngFor = \"let quarter of quarters, let quarterIndex = index\" (checkedEvent)=\"quarterSelectionChange($event, quarterIndex)\" [checked]=\"selectedQuarter === quarterIndex\">{{quarter}}</app-cs-radio>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"frequency-footer\">\r\n <app-dashboard-footer \r\n [footerDetails]=\"footerDetails\"\r\n (cancelEvent)=\"closeFrequencyPopup.emit()\"\r\n (submitEvent)=\"submitFrequency()\"\r\n ></app-dashboard-footer>\r\n </div>\r\n</div>","import { Observable, Subject } from 'rxjs';\r\n\r\nexport class DialogRef {\r\n private readonly afterDialogClosed = new Subject<any>();\r\n afterClosed: Observable<any> = this.afterDialogClosed.asObservable();\r\n constructor() {}\r\n\r\n close(result?: any) {\r\n this.afterDialogClosed.next(result);\r\n document.body.style.overflow = 'auto';\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'floating-bar',\r\n templateUrl: './floating-bar.component.html',\r\n styleUrls: ['./floating-bar.component.less']\r\n})\r\nexport class FloatingBarComponent implements OnInit {\r\n @Output() cancelEvent = new EventEmitter<string>();\r\n @Output() submitEvent = new EventEmitter<string>();\r\n @Output() deleteEvent: EventEmitter<number> = new EventEmitter();\r\n @Input() text!: boolean;\r\n @Input() frequencyMessage: any;\r\n @Input() singleCategory: any;\r\n @Input() selectedData: any;\r\n\r\n constructor() { \r\n this.selectedData = [];\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n cancelFloatingBar() {\r\n this.cancelEvent.emit();\r\n }\r\n submitFloatingBar() {\r\n this.submitEvent.emit(this.selectedData);\r\n }\r\n\r\n deleteSelected(index: number) {\r\n this.deleteEvent.emit(index);\r\n }\r\n\r\n}\r\n","<div class=\"floating-bar-container\" *ngIf=\"selectedData.length\">\r\n <div class=\"floating-bar vx-d-flex vx-align-center vx-justify-between vx-p-3\">\r\n <div class=\"left vx-d-flex vx-align-center\" *ngIf=\"text && !frequencyMessage && !singleCategory\">\r\n <span class=\"value\">This audit plan needs to be <strong>reviewed</strong> within 2 days after it has been\r\n completed.</span>\r\n </div>\r\n <div class=\"left vx-d-flex vx-align-center\" *ngIf=\"frequencyMessage && !text\">\r\n <span class=\"value\" [innerHTML]=\"frequencyMessage\"></span>\r\n </div>\r\n <div class=\"left vx-d-flex vx-align-center\" *ngIf=\"singleCategory && !frequencyMessage && !text\">\r\n <span\r\n class=\"select-item vx-d-flex vx-align-center vx-bg-white vx-txt-blue vx-fw-500 vx-fs-3 vx-pl-2 vx-pr-2 vx-lh-6\"><i\r\n class=\"icons vx-mr-2\"></i> {{singleCategory}}</span>\r\n </div>\r\n <div class=\"left vx-d-flex vx-align-center\" *ngIf=\"!singleCategory && !text && !frequencyMessage\">\r\n <span\r\n class=\"select-item vx-d-flex vx-align-center vx-bg-white vx-txt-blue vx-fw-500 vx-fs-3 vx-pl-2 vx-pr-2 vx-lh-6\">\r\n <i *ngIf=\"selectedData.length\" (click)=\"deleteSelected(selectedData[0])\"\r\n class=\"icons vx-mr-2\"></i>{{selectedData[0]?.title}}</span>\r\n <span\r\n *ngIf=\"selectedData?.length > 1\"\r\n class=\"count vx-ml-2 vx-bg-blue vx-txt-white vx-fs-3 vx-fw-500 vx-d-flex vx-align-center vx-justify-center vx-pl-1 vx-pr-1\"\r\n appPopover (click)=\"countPopup.popover()\" placement=\"right\">+{{selectedData?.length - 1}}</span>\r\n <app-popover #countPopup [dontCloseonClick]=\"true\">\r\n <div class=\"floating-bar-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let data of selectedData; let j = index\">\r\n <div class=\"chip-item\">\r\n <i class=\"icons\" (click)=\"deleteSelected(data)\"></i>\r\n <span>{{data?.title}}</span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <div class=\"right vx-d-flex vx-align-center\">\r\n <button class=\"vx-bg-white vx-txt-red vx-fw-500 vx-tt-uppercase\"\r\n (click)=\"cancelFloatingBar()\">Cancel</button>\r\n <!-- <button class=\"vx-bg-blue vx-txt-white vx-fw-500 vx-tt-uppercase\"\r\n (click)=\"submitFloatingBar()\">Update</button> -->\r\n <button class=\"vx-bg-blue vx-txt-white vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-center\"\r\n (click)=\"submitFloatingBar()\">Save</button>\r\n </div>\r\n </div>\r\n</div>\r\n<app-popover #categories [dontCloseonClick]=\"true\">\r\n <div class=\"floating-bar-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let data of [1, 1, 1, 1, 1, 1, 1]\">\r\n <div class=\"chip-item\">\r\n <i class=\"icons\"></i>\r\n <span>Financial Investments Audit</span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n</app-popover>","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'search'\r\n})\r\nexport class SearchPipe implements PipeTransform {\r\n\r\n transform(value: any, args?: any): any {\r\n if (!value) {\r\n return null;\r\n }\r\n if (!args) {\r\n return value;\r\n }\r\n\r\n args = args.toLowerCase();\r\n\r\n return value.filter((item: any) => {\r\n return JSON.stringify(item).toLowerCase().includes(args);\r\n });\r\n }\r\n\r\n}\r\n","import { ConfigureWidgetsService } from '../../services/configure-widgets.service';\r\nimport { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\nimport { retry } from 'rxjs/operators';\r\nimport { widgetDataModel } from '../../interfaces/widget-data-model';\r\nimport { DialogRef } from '../../../ui-kit/dialog/dialog-ref';\r\n\r\n@Component({\r\n selector: 'app-configure-widgets',\r\n templateUrl: './configure-widgets.component.html',\r\n styleUrls: ['./configure-widgets.component.less']\r\n})\r\nexport class ConfigureWidgetsComponent implements OnInit,OnChanges {\r\n\r\n @Output() widgetsDataModified: EventEmitter<any> = new EventEmitter();\r\n @Output() closeConfigureWidgets: EventEmitter<any> = new EventEmitter();\r\n widgetsData: Array<widgetDataModel> = [];\r\n checkboxStatus!: any;\r\n search: string = '';\r\n checkedArray: Array<{index : number, status: number }> = [];\r\n selectedWidgets: Array<widgetDataModel> = [];\r\n subResponsibilities: Array<widgetDataModel> = [];\r\n subKeyResponsibilities: Array<widgetDataModel> = [];\r\n module: string = 'compliance';\r\n @Input()selectedWidgetsIdData: any = [];\r\n\r\n selectedWidgetIds: any = [];\r\n subResponsibilitiesSelected:boolean = false\r\n subKeyResponsibilitiesSelected:boolean = false\r\n\r\n constructor(\r\n private dialog: DialogRef,\r\n public configureWidgetsService: ConfigureWidgetsService) \r\n {\r\n this.widgetsData = this.configureWidgetsService?.complianceWidgetsData;\r\n this.subResponsibilities = this.configureWidgetsService?.subResponsibilities;\r\n this.subKeyResponsibilities = this.configureWidgetsService?.subKeyResponsibilities;\r\n }\r\n \r\n ngOnChanges(){\r\n this.selectedWidgetIds =[...new Set(this.selectedWidgetsIdData)] ;\r\n const data = [...new Set([...this.configureWidgetsService?.complianceWidgetsData,...this.configureWidgetsService?.subResponsibilities,...this.configureWidgetsService?.subKeyResponsibilities,...this.configureWidgetsService?.riskWidgetsData])] ;\r\n data.forEach((element:any,index:any )=> {\r\n if(this.selectedWidgetIds.includes(element.id)){\r\n this.selectedWidgets.push(data[index])\r\n }\r\n });\r\n this.checkSubTabs();\r\n\r\n }\r\n \r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n selectModules(module: string){\r\n this.module = module.toLowerCase()\r\n switch(this.module){\r\n case 'compliance': \r\n this.widgetsData = this.configureWidgetsService?.complianceWidgetsData;\r\n this.subResponsibilities = this.configureWidgetsService?.subResponsibilities;\r\n this.subKeyResponsibilities = this.configureWidgetsService?.subKeyResponsibilities;\r\n break;\r\n case 'risks':\r\n this.widgetsData = this.configureWidgetsService?.riskWidgetsData;\r\n break;\r\n case 'audit':\r\n this.widgetsData = this.configureWidgetsService?.auditWidgetsData;\r\n break;\r\n case 'policy':\r\n this.widgetsData = this.configureWidgetsService?.policyWidgetsData;\r\n break;\r\n default:\r\n this.widgetsData = this.configureWidgetsService?.complianceWidgetsData;\r\n break;\r\n }\r\n }\r\n \r\n closeConfigureDashboard() {\r\n this.selectedWidgets = [];\r\n this.dialog.close();\r\n this.closeConfigureWidgets.emit(false);\r\n }\r\n\r\n checkedResponsibilities(event: boolean, index: number){\r\n this.subResponsibilities[index].value = event ? 1 : 0;\r\n this.manageSelectedWidget(this.subResponsibilities, event , index);\r\n }\r\n\r\n checkedKeyResponsibilities(event: boolean, index: number){\r\n this.subKeyResponsibilities[index].value = event ? 1 : 0;\r\n this.manageSelectedWidget(this.subKeyResponsibilities, event , index);\r\n }\r\n\r\n manageSelectedWidget(widgetsData: Array<widgetDataModel>, value: boolean, index: number){\r\n if (value){\r\n widgetsData[index].value = 1;\r\n this.selectedWidgets.push(widgetsData[index]);\r\n this.selectedWidgetIds.push(widgetsData[index].id);\r\n } else {\r\n this.selectedWidgets.forEach( (widget, i) => {\r\n if(widget?.id === widgetsData[index]?.id) {\r\n this.selectedWidgets.splice(i, 1);\r\n }\r\n });\r\n const IdIndex = this.selectedWidgetIds.findIndex((ele:any)=>ele === widgetsData[index]?.id);\r\n if(IdIndex!=-1){\r\n this.selectedWidgetIds.splice(IdIndex, 1);\r\n } \r\n }\r\n this.checkSubTabs()\r\n }\r\n\r\n onToggled(event: any, widget: widgetDataModel, index: number ) {\r\n this.widgetsData[index].value = event.target.checked ? 1 : 0;\r\n if(widget?.tabOption){\r\n if(widget.title === 'My Responsibilities'){\r\n this.subResponsibilities.forEach((responsibility, i) => {\r\n this.subResponsibilities[i].value = event.target.checked;\r\n this.manageSelectedWidget(this.subResponsibilities, event.target.checked, i);\r\n });\r\n } else if(widget.title === 'Key Responsibilities'){\r\n this.subKeyResponsibilities.forEach((responsibility, i) => {\r\n this.subKeyResponsibilities[i].value = event.target.checked;\r\n this.manageSelectedWidget(this.subKeyResponsibilities, event.target.checked, i);\r\n });\r\n }\r\n } else {\r\n this.manageSelectedWidget(this.widgetsData, event.target.checked, index);\r\n }\r\n }\r\n\r\n onNextClick() {\r\n \r\n this.widgetsDataModified.emit(this.selectedWidgetIds);\r\n\r\n }\r\n\r\n deleteItem(item: any){\r\n const itemIndex = this.selectedWidgets.findIndex((el: any) => el === item);\r\n if (itemIndex !== -1){this.selectedWidgets.splice(itemIndex, 1); }\r\n if(this.widgetsData.includes(item)){\r\n const index = this.widgetsData.findIndex((el: any) => el === item);\r\n this.widgetsData[index].value = 0;\r\n } else if (this.subResponsibilities.includes(item)){\r\n const index = this.subResponsibilities.findIndex((el: any) => el === item);\r\n this.subResponsibilities[index].value = 0;\r\n } else if (this.subKeyResponsibilities.includes(item)){\r\n const index = this.subKeyResponsibilities.findIndex((el: any) => el === item);\r\n this.subKeyResponsibilities[index].value = 0;\r\n }\r\n }\r\n checkSubTabs(){\r\n const subRes =['my_responsibility_flag','reviewer_responsibility_flag','cc_responsibility_flag']\r\n const subKeyRes =['key_responsibilities_overview_flag','key_my_responsibilities_flag','key_i_am_reviewing_flag','key_i_am_overseeing_flag']\r\n subRes.forEach((sub:any) => {\r\n if(this.selectedWidgetIds.includes(sub)){\r\n this.subResponsibilitiesSelected = true;\r\n }\r\n });\r\n\r\n subKeyRes.forEach((subKey:any) => {\r\n if(this.selectedWidgetIds.includes(subKey)){\r\n this.subKeyResponsibilitiesSelected = true;\r\n }\r\n });\r\n }\r\n}\r\n","<div class=\"configure-widgets\">\r\n <div class=\"configure-widgets-head\">\r\n <h3 class=\"configure-widgets-title\">Configure Widgets</h3>\r\n <button class=\"configure-widgets-back\" (click)=\"closeConfigureDashboard()\">\r\n <i class=\"icons\"></i> Back\r\n </button>\r\n </div>\r\n <div class=\"configure-widgets-body\">\r\n <div class=\"configure-widgets-tab\">\r\n <ul>\r\n <li [class.active]=\"module === 'compliance'\" (click)=\"selectModules('compliance')\"><button>Compliance<span>{{configureWidgetsService?.complianceWidgetsData?.length}}</span></button></li>\r\n <li [class.active]=\"module === 'risks'\"><button (click)=\"selectModules('risks')\">Risks<span>{{configureWidgetsService?.riskWidgetsData?.length}}</span></button></li>\r\n <li [class.active]=\"module === 'audit'\"><button (click)=\"selectModules('audit')\">Audit<span>{{configureWidgetsService?.auditWidgetsData?.length}}</span></button></li>\r\n <li [class.active]=\"module === 'policy'\"><button (click)=\"selectModules('policy')\">Policy<span>{{configureWidgetsService?.policyWidgetsData?.length}}</span></button></li>\r\n </ul>\r\n </div>\r\n <div class=\"configure-widgets-search\">\r\n <i class=\"icons vx-fs-3\"></i>\r\n <input type=\"text\" placeholder=\"Search widgets\" [(ngModel)]=\"search\">\r\n </div>\r\n <div class=\"configure-widgets-list\">\r\n <div class=\"configure-widgets-item\" *ngFor=\"let data of widgetsData | search:search; let i = index;\">\r\n <label class=\"block\">\r\n <input type=\"checkbox\" \r\n [checked]=\"selectedWidgetIds.includes(data.id) || \r\n (data?.title === 'My Responsibilities' && subResponsibilitiesSelected) ||\r\n (data?.title === 'Key Responsibilities'&& subKeyResponsibilitiesSelected)\"\r\n (change)=\"onToggled($event,data, i)\"> \r\n <div class=\"check-icon\">\r\n <svg class=\"check\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"check-circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"check-circle\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"configure-widgets-item-head\">\r\n <h4 class=\"configure-widgets-item-title\" [innerHTML]=\"data?.title\"></h4>\r\n <p class=\"configure-widgets-item-description\" [innerHTML]=\"data?.description\"></p>\r\n <button class=\"configure-widgets-item-button add\" >+ ADD</button>\r\n <button class=\"configure-widgets-item-button remove\">- Remove</button>\r\n </div>\r\n <div class=\"configure-widgets-item-body\">\r\n <div class=\"image-wrapper\">\r\n <img [src]=\"data?.widgetImage\" alt=\"\">\r\n </div>\r\n <div class=\"floating-option vx-d-flex\" *ngIf=\"data?.tabOption && data?.title === 'My Responsibilities'\">\r\n <app-cs-checkbox \r\n *ngFor=\"let responsibility of subResponsibilities; let j = index\" \r\n (ngValueChange)=\"checkedResponsibilities($event, j)\" \r\n [ngValue]=\"selectedWidgetIds.includes(responsibility.id)\"\r\n >{{responsibility.title}}\r\n </app-cs-checkbox>\r\n </div>\r\n <div class=\"floating-option vx-d-flex\" *ngIf=\"data?.tabOption && data?.title === 'Key Responsibilities'\">\r\n <app-cs-checkbox \r\n *ngFor=\"let responsibility of subKeyResponsibilities; let j = index\" \r\n (ngValueChange)=\"checkedKeyResponsibilities($event, j)\"\r\n [ngValue]=\"selectedWidgetIds.includes(responsibility.id)\"\r\n >{{responsibility.title}}\r\n </app-cs-checkbox>\r\n </div>\r\n </div>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <floating-bar \r\n (submitEvent)=\"onNextClick()\" \r\n (cancelEvent)=\"closeConfigureDashboard()\" \r\n [selectedData]=\"selectedWidgets\"\r\n (deleteEvent)=\"deleteItem($event)\"\r\n ></floating-bar>\r\n</div>","import { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { EditorConfig } from 'vcomply-editor';\r\nimport { DatePickerComponent, IDatePickerConfig } from 'ng2-date-picker';\r\nimport { CreateDashboardService } from './services/create-dashboard.service';\r\nimport { PaginationService } from './services/pagination.service';\r\nimport { UserListConfiguration } from './user-list/user-list.config';\r\nimport { CreateDashboardForm } from './create-dashboard-config';\r\nimport * as moment from 'moment';\r\nimport { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';\r\nimport { ConfigureWidgetsService } from './services/configure-widgets.service';\r\n\r\n@Component({\r\n selector: 'app-create-dashboard',\r\n templateUrl: './create-dashboard.component.html',\r\n styleUrls: ['./create-dashboard.component.less']\r\n})\r\nexport class CreateDashboardComponent implements OnInit, OnChanges {\r\n\r\n activeSelector = '';\r\n disabled = false;\r\n @Input() mode = 'CREATE';\r\n @Input() dashboardId = '';\r\n @Output() close = new EventEmitter();\r\n @Input() createdBy = 0;\r\n\r\n @ViewChild('fromDatePicker') fromDatePicker!: DatePickerComponent;\r\n @ViewChild('toDatePicker') toDatePicker!: DatePickerComponent;\r\n animation = true;\r\n\r\n totalPages = 1;\r\n totalList = 1;\r\n usersList: any[] = [];\r\n vLoader = true;\r\n userListLoaded = false;\r\n rcListLoaded = false;\r\n complianceCategoriesListLoaded = false;\r\n riskCategoryListLoaded = false;\r\n\r\n listDetails: UserListConfiguration = {\r\n selectedUsersList: [],\r\n nonRemovableUsersList: [],\r\n displayElementKey: 'member_name',\r\n elementIdKey: 'member_id',\r\n tooltipKey: 'member_email',\r\n };\r\n dashboardDescription: EditorConfig = {\r\n placeholder: 'Description (Max limit: 250 characters)',\r\n mode: 'prime',\r\n id: 'description'\r\n }\r\n responsibilityCategoriesTree: any = {\r\n regulations: {\r\n list: [],\r\n selectedList: []\r\n },\r\n standards: {\r\n list: [],\r\n selectedList: []\r\n },\r\n internalControls: {\r\n list: [],\r\n selectedList: []\r\n },\r\n others: {\r\n list: [],\r\n selectedList: []\r\n }\r\n };\r\n allComplianceCategories: any[] = [];\r\n allRiskCategories: any[] = [];\r\n\r\n dashboardForm: CreateDashboardForm = {\r\n dashboardName: '',\r\n dashboardDescriptionText: '',\r\n selectedViewers: [],\r\n selectedFromDate: undefined,\r\n selectedToDate: undefined,\r\n selectedResponsibilityCenters: [],\r\n selectedResponsibilityCategories: [],\r\n selectedRiskCategories: [],\r\n displayCriteria: 'and',\r\n configureWidget: [],\r\n frequencyDetails: '',\r\n selectedFrequencyType: '',\r\n selectedFrequencies: [0],\r\n frequencyMessage: '',\r\n frequencyDate: 1\r\n }\r\n\r\n\r\n openConfigureWidgets: boolean = false;\r\n selectedWidgetIds: any = [];\r\n responsibilityCentersList = [];\r\n datePickerOverlay = false;\r\n dayNames = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\r\n monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\r\n quarters = ['January, April, July, October', 'February, May, August, November', 'March, June, September, December'];\r\n\r\n categoryListLoaded = false;\r\n\r\n riskCategoryList = {\r\n strategic: {\r\n list: [],\r\n selectedList: []\r\n },\r\n operational: {\r\n list: [],\r\n selectedList: []\r\n },\r\n compliance: {\r\n list: [],\r\n selectedList: []\r\n },\r\n others: {\r\n list: [],\r\n selectedList: []\r\n },\r\n };\r\n\r\n fromDatePickerConfig: IDatePickerConfig = {\r\n min: this.getCurrentDate()\r\n }\r\n\r\n toDatePickerConfig: IDatePickerConfig = {\r\n }\r\n\r\n constructor(\r\n private createDashboardService: CreateDashboardService,\r\n private paginationService: PaginationService,\r\n private cdr: ChangeDetectorRef,\r\n private snackBar: SnackBarService,\r\n private configureWidgetsService: ConfigureWidgetsService\r\n ) { }\r\n\r\n ngOnChanges() {\r\n if (this.createdBy) {\r\n\r\n this.listDetails.nonRemovableUsersList.push(this.createdBy);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n this.getOrganizationUsersCount('');\r\n this.getCategoryList();\r\n this.getRCList();\r\n this.getComplianceCategoryList();\r\n this.checkWhetherAllListsLoaded();\r\n this.getUsersList('')\r\n\r\n }\r\n\r\n /**\r\n * Displays the listing pages the left side of policy form to set and edit the dropdown fields values\r\n * @param type holds name of particular list is to be displayed\r\n * @param event contains boolean value to display the list or not\r\n */\r\n activateSelector(type: any, event: boolean) {\r\n this.activeSelector = event ? type : '';\r\n }\r\n\r\n openFromDatePicker() {\r\n this.fromDatePicker.api.open();\r\n this.datePickerOverlay = true;\r\n }\r\n\r\n openToDatePicker() {\r\n this.toDatePicker.api.open();\r\n this.datePickerOverlay = true;\r\n }\r\n closeFromDatePicker() {\r\n let minToDate = this.dashboardForm.selectedFromDate.clone().add(1, 'days');\r\n this.toDatePickerConfig = { min: minToDate, minTime: minToDate };\r\n console.log(this.dashboardForm.selectedToDate && minToDate.diff(this.dashboardForm.selectedToDate) > 0)\r\n if (this.dashboardForm.selectedToDate && minToDate.diff(this.dashboardForm.selectedToDate) > 0) {\r\n this.dashboardForm.selectedToDate = undefined;\r\n }\r\n this.fromDatePicker.api.close();\r\n this.datePickerOverlay = false;\r\n }\r\n\r\n closeToDatePicker() {\r\n this.toDatePicker.api.close();\r\n this.datePickerOverlay = false;\r\n }\r\n\r\n animateImage() {\r\n const circleImage = document.getElementsByClassName('image')\r\n }\r\n\r\n saveFrequency(eventValues: any) {\r\n this.dashboardForm.selectedFrequencyType = eventValues.frequencyType;\r\n this.dashboardForm.selectedFrequencies = eventValues.frequencies;\r\n this.dashboardForm.frequencyMessage = eventValues.frequencyString;\r\n this.dashboardForm.frequencyDate = eventValues.selectedDate;\r\n this.activateSelector('', false)\r\n }\r\n\r\n getCurrentDate() {\r\n let today = new Date();\r\n return today.getDate() + '-' + (today.getMonth() + 1) + '-' + today.getFullYear();\r\n }\r\n\r\n configureDashboard() {\r\n let fieldsStatus = this.validateDashboard();\r\n if (fieldsStatus) {\r\n this.openConfigureWidgets = true;\r\n }\r\n }\r\n\r\n /**\r\n * Fetches organization users count api to get total number of pages\r\n * @param Url contains prams\r\n */\r\n getOrganizationUsersCount(Url: any) {\r\n this.createDashboardService.getOrganizationUsersCount(Url).subscribe(res => {\r\n this.totalList = res.total_members;\r\n if (res.total_members && res.limit_per_page > 1) {\r\n this.totalPages = res.create_page;\r\n } else {\r\n this.totalPages = 1;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Get users list by making api call and pre selects all admins by adding to viewers\r\n * @param url contains query params for organization users api \r\n */\r\n getUsersList(url: any) {\r\n this.createDashboardService.getAllUsers().subscribe((res: any) => {\r\n\r\n this.usersList = res;\r\n this.userListLoaded = true;\r\n\r\n if (this.mode === 'EDIT') {\r\n this.vLoader = true;\r\n } else {\r\n this.dashboardForm.selectedViewers = this.setList(this.usersList, [this.createdBy], 'member_id');\r\n this.listDetails.selectedUsersList = this.dashboardForm.selectedViewers;\r\n this.vLoader = false;\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n getComplianceCategoryList() {\r\n this.createDashboardService.getComplianceCategoriesList().subscribe((res: any) => {\r\n const data = res;\r\n this.allComplianceCategories = Object.assign(res)\r\n // cloneDeep(res);\r\n data.forEach((element: any) => {\r\n if (element && element.compliance_type == 0) {\r\n this.responsibilityCategoriesTree.others.list.push(element);\r\n }\r\n if (element && element.compliance_type == 1) {\r\n this.responsibilityCategoriesTree.regulations.list.push(element);\r\n }\r\n if (element && element.compliance_type == 2) {\r\n this.responsibilityCategoriesTree.standards.list.push(element);\r\n }\r\n if (element && element.compliance_type == 3) {\r\n this.responsibilityCategoriesTree.internalControls.list.push(element);\r\n }\r\n });\r\n this.complianceCategoriesListLoaded = true;\r\n }, (err: any) => {\r\n console.error(err);\r\n this.complianceCategoriesListLoaded = true;\r\n });\r\n }\r\n\r\n\r\n saveSelectedCategory(event: any) {\r\n console.log(\"event==>>>\", event);\r\n }\r\n\r\n getCategoryList() {\r\n this.createDashboardService.getCategoryList().subscribe((res: any) => {\r\n this.riskCategoryList.strategic.list = res.strategic_arr;\r\n this.riskCategoryList.operational.list = res.operational_arr;\r\n this.riskCategoryList.compliance.list = res.compliance_arr;\r\n this.riskCategoryList.others.list = res.others_arr;\r\n this.riskCategoryListLoaded = true;\r\n this.allRiskCategories = [...new Set(this.allRiskCategories.concat(res.strategic_arr, res.operational_arr, res.compliance_arr, res.others_arr))]\r\n\r\n }, err => {\r\n console.error(err);\r\n this.riskCategoryListLoaded = true;\r\n\r\n });\r\n }\r\n\r\n /**\r\n * It is to ensure whether all required lists on Policy from is loaded from the api call or not\r\n */\r\n checkWhetherAllListsLoaded() {\r\n if (this.rcListLoaded && this.complianceCategoriesListLoaded && this.riskCategoryListLoaded && this.userListLoaded) {\r\n if (this.mode === 'EDIT') {\r\n this.editDashboard();\r\n } else {\r\n this.vLoader = false;\r\n }\r\n } else {\r\n setTimeout(() => {\r\n this.checkWhetherAllListsLoaded();\r\n }, 300);\r\n }\r\n }\r\n\r\n widgetsDataModified(data: any) {\r\n if (this.mode === 'CREATE') {\r\n const widgetsArray: any = []\r\n data.forEach((element: any) => {\r\n let obj: any = {}\r\n obj.module_name = this.configureWidgetsService.moduleType(element),\r\n obj._id = '',\r\n obj.widget_name = element\r\n widgetsArray.push(obj)\r\n });\r\n this.dashboardForm.configureWidget = widgetsArray;\r\n } else if (this.mode === 'EDIT') {\r\n const widgetsArray: any = []\r\n\r\n data.forEach((element: any) => {\r\n if (!JSON.stringify(this.dashboardForm.configureWidget).includes(element)) {\r\n let obj: any = {}\r\n obj.module_name = this.configureWidgetsService.moduleType(element),\r\n obj._id = '',\r\n obj.widget_name = element\r\n this.dashboardForm.configureWidget.push(obj)\r\n }\r\n });\r\n this.dashboardForm.configureWidget.forEach((savedWidget: any) => {\r\n if (!data.includes(savedWidget.widget_name)) {\r\n savedWidget.state = 'DELETED'\r\n }\r\n });\r\n\r\n }\r\n this.openConfigureWidgets = false;\r\n this.submitDashboard();\r\n\r\n }\r\n\r\n closeConfigureWidgets(event: boolean) {\r\n this.openConfigureWidgets = event;\r\n }\r\n\r\n /**\r\n * Filter list user's list based on pagination by making api call\r\n * @param event specifies a boolean value to call api\r\n */\r\n paginationFilter(event: any) {\r\n if (event) {\r\n this.getUsersList({\r\n p: this.paginationService.currentPage === 1 ? '' : this.paginationService.currentPage,\r\n type: 'all_except_executive',\r\n q: (!this.paginationService.searchValue) ? '' : this.paginationService.searchValue,\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n getRCList() {\r\n this.createDashboardService.getResponsibilityCenterList().subscribe((res: any) => {\r\n this.responsibilityCentersList = res;\r\n this.rcListLoaded = true;\r\n\r\n }, (err: any) => {\r\n console.error(err);\r\n this.rcListLoaded = true;\r\n });\r\n }\r\n\r\n saveSelectedList(type: string, selectedItems: any) {\r\n console.log(\"selectedItems ==>\", selectedItems)\r\n switch (type) {\r\n case 'rc':\r\n this.dashboardForm.selectedResponsibilityCenters = this.setList(this.responsibilityCentersList, selectedItems, 'item_id');\r\n break;\r\n case 'whoCanView':\r\n this.dashboardForm.selectedViewers = selectedItems\r\n this.listDetails.selectedUsersList = this.dashboardForm.selectedViewers;\r\n break;\r\n case 'responsibilityCategories':\r\n this.dashboardForm.selectedResponsibilityCategories = selectedItems;\r\n break;\r\n case 'riskCategory':\r\n this.dashboardForm.selectedRiskCategories = selectedItems;\r\n break;\r\n }\r\n this.activateSelector('', false);\r\n }\r\n\r\n remove(type: any, event: any, removeIndex?: any) {\r\n switch (type) {\r\n case 'rc':\r\n const rcIndex = this.dashboardForm.selectedResponsibilityCenters.findIndex((rc: any) => rc.rc_id == event.rc_id);\r\n this.dashboardForm.selectedResponsibilityCenters.splice(rcIndex, 1);\r\n break;\r\n\r\n case 'whoCanView':\r\n const reviewerIndex = this.dashboardForm.selectedViewers.findIndex((viewer: any) => viewer.member_id == event.member_id);\r\n this.dashboardForm.selectedViewers.splice(reviewerIndex, 1);\r\n break;\r\n\r\n case 'responsibilityCategories':\r\n const CCcategoryIndex = this.dashboardForm.selectedResponsibilityCategories.findIndex((CCcategory: any) => CCcategory.category_id == event.category_id);\r\n this.dashboardForm.selectedResponsibilityCategories.splice(CCcategoryIndex, 1);\r\n break;\r\n\r\n case 'riskCategory':\r\n const riskCategoryIndex = this.dashboardForm.selectedRiskCategories.findIndex((riskCategory: any) => riskCategory.category_id == event.category_id);\r\n this.dashboardForm.selectedRiskCategories.splice(riskCategoryIndex, 1);\r\n break;\r\n\r\n }\r\n }\r\n\r\n setList(list: any[], ids: any[], key: string) {\r\n const data: any = [];\r\n\r\n ids.forEach((element: any) => {\r\n const index = list.findIndex((listElement: any) => listElement[key] == element);\r\n if (index !== -1) {\r\n data.push(list[index]);\r\n }\r\n });\r\n return data;\r\n }\r\n submitted = false\r\n\r\n /**\r\n * Returns id's from a particular list elements\r\n * @param list actual selected list\r\n * @param key contains key to extract id from the list\r\n */\r\n returnIds(list: any[], key: string) {\r\n return list.map(ele => { if (ele[key]) { return ele[key]; } });\r\n }\r\n\r\n /**\r\n * Validates the data submitted on create dashboard form\r\n */\r\n validateDashboard() {\r\n setTimeout(() => {\r\n this.submitted = true;\r\n\r\n }, 100);\r\n const event = this.dashboardForm.dashboardName;\r\n const re = / |<br>/g;\r\n this.dashboardForm.dashboardName = event.replace(re, '').trim();\r\n this.dashboardForm.dashboardDescriptionText.trim()\r\n if (!this.dashboardForm.dashboardName || this.dashboardForm.dashboardName.trim() == ''\r\n || (this.dashboardForm.dashboardName.length > 30)\r\n || (this.dashboardForm.dashboardDescriptionText.length > 250)) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n /**\r\n * Makes an api call to create a policy\r\n * @param dashboard contains dashboardForm data\r\n */\r\n submitDashboard() {\r\n\r\n this.submitted = false;\r\n const valid = this.validateDashboard();\r\n if (!valid) {\r\n return false;\r\n }\r\n this.vLoader = true;\r\n const dashboard = this.dashboardForm;\r\n const payload:any = {\r\n dashboard_name: dashboard.dashboardName,\r\n description: [\r\n {\r\n content: dashboard.dashboardDescriptionText,\r\n attachments: []\r\n }\r\n ],\r\n visible_to_users: this.returnIds(dashboard.selectedViewers, 'member_id'),\r\n responsibility_center: this.returnIds(dashboard.selectedResponsibilityCenters, 'item_id'),\r\n responsibility_category: this.returnIds(dashboard.selectedResponsibilityCategories, 'category_id'),\r\n risk_category: this.returnIds(dashboard.selectedRiskCategories, 'category_id'),\r\n display_criteria: (dashboard.displayCriteria === 'and') ? 'BOTH_RC_AND_CATEGORY' : 'RC_OR_CATEGORY',\r\n timeframe: {\r\n start_date: moment(dashboard.selectedFromDate).format('YYYY-MM-DD'),\r\n end_date: moment(dashboard.selectedToDate).format('YYYY-MM-DD'),\r\n },\r\n email_summary: this.setFrequency('', 'export'), //setFormat\r\n widget_details: dashboard.configureWidget\r\n }\r\n if (this.mode == 'CREATE') {\r\n this.createDashboardService.submitDashboard(payload).subscribe((res: any) => {\r\n this.vLoader = false;\r\n this.snackBar.show('The dashboard has been created.');\r\n this.close.emit('created');\r\n },\r\n err => {\r\n if (err.status === 409) {\r\n this.snackBar.show('A dashboard with this name already exists. Please add a new name.');\r\n this.vLoader = false;\r\n } else {\r\n console.error(err);\r\n this.vLoader = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n }\r\n\r\n\r\n }\r\n );\r\n }\r\n if (this.mode === 'EDIT') {\r\n payload.widget_update_flag= true\r\n this.createDashboardService.updateDashboard(this.dashboardId, payload).subscribe({\r\n next: (res: any) => {\r\n this.vLoader = false;\r\n this.snackBar.show('The dashboard has been updated');\r\n this.close.emit('updated');\r\n },\r\n error: (error: any) => {\r\n console.error(error);\r\n this.vLoader = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n }\r\n });\r\n\r\n\r\n }\r\n }\r\n\r\n editDashboard() {\r\n if (this.dashboardId) {\r\n this.createDashboardService.fetchDashboard(this.dashboardId).subscribe((res: any) => {\r\n const data = res;\r\n this.populateDashboardForm(data);\r\n }, error => {\r\n console.error(error);\r\n });\r\n }\r\n }\r\n\r\n populateDashboardForm(data: any) {\r\n this.dashboardForm.dashboardName = data.dashboard_name,\r\n this.dashboardForm.dashboardDescriptionText = data.description[0].content,\r\n this.dashboardForm.selectedViewers = this.setList(this.usersList, data.visible_to_users, 'member_id');\r\n\r\n this.dashboardForm.selectedResponsibilityCenters = this.setList(this.responsibilityCentersList, data.responsibility_center, 'item_id');\r\n this.dashboardForm.selectedResponsibilityCategories = this.setList(this.allComplianceCategories, data.responsibility_category, 'category_id');\r\n this.dashboardForm.selectedRiskCategories = this.setList(this.allRiskCategories, data.risk_category, 'category_id');\r\n\r\n this.dashboardForm.displayCriteria = (data.display_criteria === \"BOTH_RC_AND_CATEGORY\") ? 'and' : 'or';\r\n this.dashboardForm.selectedFromDate = (data.timeframe.start_date) ? moment(data.timeframe.start_date) : undefined;\r\n this.dashboardForm.selectedToDate = (data.timeframe.end_date) ? moment(data.timeframe.end_date) : undefined;\r\n this.vLoader = false;\r\n this.dashboardForm.configureWidget = data.widget_details\r\n this.selectedWidgetIds = data.widget_details.length > 0 ? [...new Set(data.widget_details)].map((ele: any) => ele.widget_name) : [];\r\n this.setFrequency(data.email_summary, 'import');\r\n }\r\n\r\n setFrequency(event: any, mode: any) {\r\n if (mode = 'export') {\r\n switch (this.dashboardForm.selectedFrequencyType) {\r\n case 'weekly':\r\n const weeklyValueData = this.dashboardForm.selectedFrequencies.map((ele: any) => Number(ele) + 1);\r\n const weeklyValue = weeklyValueData.join();\r\n return '2~' + weeklyValue + '~0~0'\r\n case 'monthly':\r\n const monthlyValueData = this.dashboardForm.selectedFrequencies.map((ele: any) => Number(ele) + 1);\r\n const monthlyValue = monthlyValueData.join();\r\n return '3~' + this.dashboardForm.frequencyDate + '~' + monthlyValue + '~0'\r\n case 'quarterly':\r\n const quarterlyValueData =Number(this.dashboardForm.selectedFrequencies) + 1;\r\n return '7~' + this.dashboardForm.frequencyDate + '~' + quarterlyValueData + '~0'\r\n\r\n }\r\n }\r\n if (mode = 'import') {\r\n const val = event.split('~')\r\n switch (val[0]) {\r\n case '2': {\r\n let stringVal = \"Every \";\r\n this.dashboardForm.selectedFrequencyType = 'weekly'\r\n this.dashboardForm.selectedFrequencies = val[1].split(',').map( (element:any)=>Number(element)-1);\r\n this.dashboardForm.selectedFrequencies.forEach((dayIndex: any, index: any) => {\r\n stringVal += index === 0 ? this.dayNames[dayIndex] : ', ' + this.dayNames[dayIndex];\r\n })\r\n this.dashboardForm.frequencyMessage = stringVal;\r\n }\r\n\r\n break\r\n case '3': {\r\n let stringVal = \"every \";\r\n this.dashboardForm.selectedFrequencyType = 'monthly'\r\n this.dashboardForm.frequencyDate = val[1]\r\n this.dashboardForm.selectedFrequencies = val[2].split(',').map( (element:any)=>Number(element)-1);\r\n this.dashboardForm.selectedFrequencies.forEach((monthIndex: any, index: any) => {\r\n stringVal += index === 0 ? this.monthNames[monthIndex] : ', ' + this.monthNames[monthIndex];\r\n })\r\n let monthDateName;\r\n if (this.dashboardForm.frequencyDate == \"1\") {\r\n monthDateName = '1st'\r\n }\r\n else if (this.dashboardForm.frequencyDate == \"2\") {\r\n monthDateName = '2nd'\r\n }\r\n else if (this.dashboardForm.frequencyDate == \"3\") {\r\n monthDateName = '3rd'\r\n }\r\n else {\r\n monthDateName = this.dashboardForm.frequencyDate + 'th'\r\n }\r\n this.dashboardForm.frequencyMessage = monthDateName + ' of ' + stringVal;\r\n }\r\n break\r\n case '7': {\r\n let stringVal = \"every \";\r\n\r\n this.dashboardForm.selectedFrequencyType = 'quarterly'\r\n this.dashboardForm.frequencyDate = val[1];\r\n debugger\r\n this.dashboardForm.selectedFrequencies =Number(val[2].split(',')[0]) - 1;\r\n stringVal += this.quarters[this.dashboardForm.selectedFrequencies];\r\n let monthDateName;\r\n if (this.dashboardForm.frequencyDate == \"1\") {\r\n monthDateName = '1st'\r\n }\r\n else if (this.dashboardForm.frequencyDate == \"2\") {\r\n monthDateName = '2nd'\r\n }\r\n else if (this.dashboardForm.frequencyDate == \"3\") {\r\n monthDateName = '3rd'\r\n }\r\n else {\r\n monthDateName = this.dashboardForm.frequencyDate + 'th'\r\n }\r\n this.dashboardForm.frequencyMessage = monthDateName + ' of ' + stringVal;\r\n }\r\n break\r\n\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewChecked() {\r\n //your code to update the model\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","\r\n<app-snack-bar></app-snack-bar>\r\n<div class=\"create-dashboard\" *ngIf=\"!openConfigureWidgets\">\r\n <div class=\"create-dashboard-container vx-d-flex vx-justify-end\" [class.animate-slideInRight]=\"animation\">\r\n <div class=\"more-option\" *ngIf=\"activeSelector && activeSelector!=='name'\">\r\n <app-user-list *ngIf=\"activeSelector==='whoCanView'\"\r\n (saveSelectedUsers)=\"saveSelectedList('whoCanView',$event)\"\r\n (closeUserList)=\"activateSelector('', false)\" [totalPages]=\"totalPages\" [totalList]=\"totalList\"\r\n [listDetails]=\"listDetails\"></app-user-list>\r\n <app-responsibility-center *ngIf=\"activeSelector==='rcList'\"\r\n [responsibilityCentersList]=\"responsibilityCentersList\" [radioSelection]=\"false\"\r\n [selectedResponsibilityCenters]=\"dashboardForm.selectedResponsibilityCenters\" [rcIdKey]=\"'item_id'\"\r\n (saveSelectedList)=\"saveSelectedList('rc',$event)\" (closeRcList)=\"activateSelector('', false)\">\r\n </app-responsibility-center>\r\n <app-categories *ngIf=\"activeSelector==='responsibilityCategories'\"\r\n [categoryList]=\"responsibilityCategoriesTree\" [allCategories]=\"allComplianceCategories\"\r\n [categoryIdKey]=\"'category_id'\" [selectedCategories]=\"dashboardForm.selectedResponsibilityCategories\"\r\n (saveSelectedCategory)=\"saveSelectedList('responsibilityCategories',$event)\"\r\n (closeCategoriesList)=\"activateSelector('', false)\"></app-categories>\r\n <app-risk-categories *ngIf=\"activeSelector==='riskCategories'\" [categoryList]=\"riskCategoryList\"\r\n [allCategories]=\"allRiskCategories\" [categoryIdKey]=\"'category_id'\"\r\n [selectedCategories]=\"dashboardForm.selectedRiskCategories\"\r\n (saveSelectedCategory)=\"saveSelectedList('riskCategory',$event)\"\r\n (closeCategoriesList)=\"activateSelector('', false)\"></app-risk-categories>\r\n\r\n <app-frequency *ngIf=\"activeSelector==='frequency'\" (closeFrequencyPopup)=\"activateSelector('', false)\"\r\n (saveFrequency)=\"saveFrequency($event)\" [savedFrequencyTab]=\"dashboardForm.selectedFrequencyType\"\r\n [selectedDate]=\"dashboardForm.frequencyDate\"\r\n [savedFrequencies]=\"dashboardForm.selectedFrequencies\"></app-frequency>\r\n </div>\r\n <div class=\"vx-dialog-container side-dialog\">\r\n\r\n\r\n <div class=\"form-group\" [class.disabled]=\"disabled\">\r\n <div class=\"vx-dialog-body-container\" (scroll)=\"animateImage()\">\r\n <div class=\"form-group-row\" [class.disabled]=\"activeSelector && activeSelector !== 'name'\">\r\n <div class=\"image\">\r\n <img src=\"./assets/images/what.svg\" *ngIf=\"!dashboardForm.dashboardName || activeSelector === 'name'\" alt=\"\">\r\n <svg class=\"checkIcon\" *ngIf=\"dashboardForm.dashboardName && activeSelector !== 'name'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Dashboard Name<span class=\"required\">*</span></label>\r\n <div class=\"vx-input-group\">\r\n <input type=\"text\" placeholder=\"Add dashboard name (Max limit: 30 characters).\"\r\n [(ngModel)]=\"dashboardForm.dashboardName\" (keydown)=\"activeSelector = 'name'\" \r\n (focusin)=\"activateSelector('name',true)\" (focusout)=\"activateSelector('name',false)\">\r\n <span class=\"counter\" *ngIf=\"dashboardForm?.dashboardName?.length > 0\">{{30 -\r\n dashboardForm.dashboardName.length}}</span>\r\n </div>\r\n <p class=\"vx-txt-error\" *ngIf=\"submitted &&( dashboardForm?.dashboardName?.length>30 || !dashboardForm?.dashboardName)\">\r\n {{(dashboardForm.dashboardName.length>30)?'You have exceeded the maximum character limit of 30 characters.':'Please enter a name for this Dashboard.'}} </p>\r\n <div class=\"vx-input-group\">\r\n <marx-editor [editorConfig]=\"dashboardDescription\"\r\n [(ngModel)]=\"dashboardForm.dashboardDescriptionText\"></marx-editor>\r\n <span class=\"counter\"\r\n *ngIf=\"dashboardForm?.dashboardDescriptionText?.length > 0\">{{250 -\r\n dashboardForm?.dashboardDescriptionText.length}}</span>\r\n </div>\r\n <p class=\"vx-txt-error\" *ngIf=\"submitted && dashboardForm?.dashboardDescriptionText?.length>250\">\r\n You have exceeded the maximum character limit of 250 characters. \r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\" [class.active]=\"activeSelector === 'whoCanView'\"\r\n [class.disabled]=\" activeSelector && activeSelector !== 'whoCanView' && activeSelector !== 'name'\">\r\n <div class=\"image\">\r\n <img src=\"./assets/images/who.svg\" *ngIf=\"dashboardForm?.selectedViewers?.length==0 || activeSelector === 'whoCanView'\" alt=\"\">\r\n <svg class=\"checkIcon\" *ngIf=\"dashboardForm?.selectedViewers?.length>0 && activeSelector !== 'whoCanView'\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Who can view this dashboard?<span\r\n class=\"required\">*</span></label>\r\n <div class=\"select\" *ngIf=\"dashboardForm?.selectedViewers?.length==0\">\r\n <input type=\"text\" placeholder=\"Who can view this dashboard?\" readonly\r\n (click)=\"activateSelector('whoCanView', true)\">\r\n </div>\r\n <div class=\"selected\" *ngIf=\"dashboardForm?.selectedViewers?.length>0\">\r\n <div class=\"left\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"\r\n *ngFor=\"let user of dashboardForm?.selectedViewers?.slice(0,2)\"><i\r\n *ngIf=\"!listDetails.nonRemovableUsersList.includes(user.member_id)\"\r\n class=\"icons\" (click)=\"remove('whoCanView',user)\"></i>\r\n <span class=\"value\">{{user.member_name}}</span></span>\r\n\r\n </div>\r\n <button class=\"count\" *ngIf=\"dashboardForm?.selectedViewers?.length > 2\"\r\n type=\"button\" appPopover (click)=\"userList.popover()\" placement=\"right\">+\r\n {{dashboardForm?.selectedViewers?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'user'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('whoCanView',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n\r\n </div>\r\n <app-popover #userList [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"let user of dashboardForm?.selectedViewers | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!listDetails.nonRemovableUsersList.includes(user.member_id)\"\r\n (click)=\"remove('whoCanView',user)\"></i>\r\n {{ user?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\" [class.active]=\"activeSelector === 'rcList'\"\r\n [class.disabled]=\" activeSelector && activeSelector !== 'rcList' && activeSelector !== 'name'\">\r\n <div class=\"image\">\r\n <img *ngIf=\"dashboardForm?.selectedResponsibilityCenters?.length==0 || activeSelector === 'rcList'\"\r\n src=\"./assets/images/responsibility-center.svg\" alt=\"\">\r\n <svg *ngIf=\"dashboardForm?.selectedResponsibilityCenters?.length>0 && activeSelector !== 'rcList'\" \r\n class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">RESPONSIBILITY CENTER(S)</label>\r\n <div class=\"select\" *ngIf=\"dashboardForm?.selectedResponsibilityCenters?.length==0\">\r\n <div class=\"custom-input\"\r\n aria-placeholder=\"Select the Responsibility Center(s) that you would like displayed in the Dashboard, if any.\"\r\n (click)=\"activateSelector('rcList', true)\">\r\n </div>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"dashboardForm?.selectedResponsibilityCenters?.length>0\">\r\n <div class=\"left\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"\r\n *ngFor=\"let rc of dashboardForm?.selectedResponsibilityCenters?.slice(0,2)\"><i\r\n class=\"icons\" (click)=\"remove('rc',rc)\"></i>\r\n <span class=\"value\">{{rc.item_name}}</span></span>\r\n\r\n </div>\r\n <button class=\"count\"\r\n *ngIf=\"dashboardForm?.selectedResponsibilityCenters?.length > 2\"\r\n type=\"button\" appPopover (click)=\"rcList.popover()\" placement=\"right\">+\r\n {{dashboardForm?.selectedResponsibilityCenters?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'rcList'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('rcList',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n\r\n </div>\r\n <app-popover #rcList [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"let rc of dashboardForm?.selectedResponsibilityCenters | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('rc',rc)\"></i>\r\n {{ rc?.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\" [class.active]=\"activeSelector === 'responsibilityCategories'\"\r\n [class.disabled]=\" activeSelector && activeSelector !== 'responsibilityCategories' && activeSelector !== 'name'\">\r\n <div class=\"image\">\r\n <img *ngIf=\"dashboardForm?.selectedResponsibilityCategories?.length==0 || activeSelector === 'responsibilityCategories'\" \r\n src=\"./assets/images/category.svg\" alt=\"\">\r\n <svg *ngIf=\"dashboardForm?.selectedResponsibilityCategories?.length>0 && activeSelector !== 'responsibilityCategories'\"\r\n class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">RESPONSIBILITY CATEGORIES</label>\r\n <div class=\"select\" *ngIf=\"dashboardForm?.selectedResponsibilityCategories?.length==0\">\r\n <div class=\"custom-input\"\r\n aria-placeholder=\"Select the responsibility category or categories that this responsibility relates to.\"\r\n (click)=\"activateSelector('responsibilityCategories', true)\"></div>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"dashboardForm?.selectedResponsibilityCategories?.length>0\">\r\n <div class=\"left\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"\r\n *ngFor=\"let rCategory of dashboardForm?.selectedResponsibilityCategories?.slice(0,2)\"><i\r\n class=\"icons\"\r\n (click)=\"remove('responsibilityCategories',rCategory)\"></i>\r\n <span class=\"value\">{{rCategory.item_name}}</span></span>\r\n\r\n </div>\r\n <button class=\"count\"\r\n *ngIf=\"dashboardForm?.selectedResponsibilityCategories?.length > 2\"\r\n type=\"button\" appPopover (click)=\"rCategoryList.popover()\"\r\n placement=\"right\">+\r\n {{dashboardForm?.selectedResponsibilityCategories?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'responsibilityCategories'\" class=\"edit\"\r\n type=\"button\" (click)=\"activateSelector('responsibilityCategories',true)\">\r\n <i class=\"icons\"></i>\r\n Edit</button>\r\n\r\n </div>\r\n <app-popover #rCategoryList [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"let rCategory of dashboardForm?.selectedResponsibilityCategories | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\"\r\n (click)=\"remove('responsibilityCategories',rCategory)\"></i>\r\n {{ rCategory?.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\" [class.active]=\"activeSelector === 'riskCategories'\"\r\n [class.disabled]=\" activeSelector && activeSelector !== 'riskCategories' && activeSelector !== 'name'\">\r\n <div class=\"image\">\r\n <img *ngIf=\"dashboardForm?.selectedRiskCategories?.length==0 || activeSelector === 'riskCategories'\" \r\n src=\"./assets/images/category.svg\" alt=\"\">\r\n <svg *ngIf=\"dashboardForm?.selectedRiskCategories?.length>0 && activeSelector !== 'riskCategories'\" \r\n class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">RISK CATEGORIES</label>\r\n <div class=\"select\" *ngIf=\"dashboardForm?.selectedRiskCategories?.length==0\">\r\n <div class=\"custom-input\"\r\n aria-placeholder=\"Select the Risk Categories that you would like displayed in the Dashboard, if any.\"\r\n (click)=\"activateSelector('riskCategories', true)\"></div>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"dashboardForm?.selectedRiskCategories?.length>0\">\r\n <div class=\"left\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"\r\n *ngFor=\"let riskCategory of dashboardForm?.selectedRiskCategories?.slice(0,2)\"><i\r\n class=\"icons\"\r\n (click)=\"remove('riskCategory',riskCategory)\"></i>\r\n <span class=\"value\">{{riskCategory.category_name}}</span></span>\r\n\r\n </div>\r\n <button class=\"count\" *ngIf=\"dashboardForm?.selectedRiskCategories?.length > 2\"\r\n type=\"button\" appPopover (click)=\"riskList.popover()\" placement=\"right\">+\r\n {{dashboardForm?.selectedRiskCategories?.slice(2).length}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'riskCategories'\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('riskCategories',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n\r\n </div>\r\n <app-popover #riskList [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"let riskCategory of dashboardForm?.selectedRiskCategories | slice: 2; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\"\r\n (click)=\"remove('riskCategory',riskCategory)\"></i>\r\n {{ riskCategory?.category_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img *ngIf=\"dashboardForm?.displayCriteria?.length==0\" \r\n src=\"./assets/images/who.svg\" alt=\"\">\r\n <svg *ngIf=\"dashboardForm?.displayCriteria?.length>0 \" \r\n class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">DISPLAY CRITERIA</label>\r\n <div class=\"radio-group\">\r\n <app-cs-radio [checked]=\"dashboardForm.displayCriteria==='and'\"\r\n (checkedEvent)=\"dashboardForm.displayCriteria='and'\">Those\r\n responsibilities that have been assigned to both the selected\r\n Responsibility Center(s) and the selected Categories.</app-cs-radio>\r\n <app-cs-radio [checked]=\"dashboardForm.displayCriteria==='or'\"\r\n (checkedEvent)=\"dashboardForm.displayCriteria='or'\">\r\n Those responsibilities that have been assigned to either the selected\r\n Responsibility Center(s) or the selected Categories.</app-cs-radio>\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img src=\"./assets/images/when.svg\" alt=\"\">\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">TIMEFRAME</label>\r\n <label class=\"vx-control-panel-sub-label\">Select how long you would like the information\r\n selected to be displayed for. If no timeframe is selected, the information will be\r\n displayed permanently.</label>\r\n <div class=\"input-group vx-d-flex vx-justify-between\">\r\n <div class=\"date-select\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [value]=\"dashboardForm.selectedFromDate | date: 'dd MMM yyyy'\"\r\n [placeholder]=\"'From'\" (click)=\"openFromDatePicker()\" readonly>\r\n <dp-date-picker #fromDatePicker [(ngModel)]=\"dashboardForm.selectedFromDate\"\r\n placeholder=\"Select Date\"\r\n (onSelect)=\"closeFromDatePicker(); datePickerOverlay = false\"\r\n [config]=\"fromDatePickerConfig\"></dp-date-picker>\r\n <div class=\"overlay\" (click)=\"closeFromDatePicker()\" *ngIf=\"datePickerOverlay\">\r\n </div>\r\n </div>\r\n <div class=\"date-select\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [value]=\"dashboardForm.selectedToDate | date: 'dd MMM yyyy'\"\r\n [placeholder]=\"'To'\" (click)=\"openToDatePicker()\" readonly>\r\n <dp-date-picker #toDatePicker [(ngModel)]=\"dashboardForm.selectedToDate\"\r\n placeholder=\"Select Date\"\r\n (onSelect)=\"closeToDatePicker(); datePickerOverlay = false\"\r\n [config]=\"toDatePickerConfig\"></dp-date-picker>\r\n <div class=\"overlay\" (click)=\"closeToDatePicker()\" *ngIf=\"datePickerOverlay\">\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <!--active class will appear on open list-->\r\n <div class=\"image\">\r\n <img src=\"./assets/images/send-resolution.svg\" alt=\"\">\r\n <svg class=\"checkIcon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Email Summaries <i class=\"icons\" [arTooltip]=\"'This is a test tooltip'\"\r\n placement=\"bottom-left\" type=\"white\" delay=\"0\"\r\n [tooltipMandatory]=\"true\"></i></label>\r\n <label class=\"vx-control-panel-sub-label\">\r\n If you would like to send a summary of this Dashboard,\r\n please select a frequency(By default VComply sends a weekly Summary).\r\n </label>\r\n <div class=\"select\" *ngIf=\"!dashboardForm.frequencyMessage\">\r\n <input type=\"text\" placeholder=\"Email Summaries\" readonly\r\n (click)=\"activateSelector('frequency', true)\">\r\n </div>\r\n <div class=\"selected\" *ngIf=\"dashboardForm.frequencyMessage\">\r\n <div class=\"left\" [innerHTML]=\"dashboardForm.frequencyMessage\">\r\n\r\n </div>\r\n \r\n <button *ngIf=\"dashboardForm.frequencyMessage\" class=\"edit\" type=\"button\"\r\n (click)=\"activateSelector('frequency',true)\"><i class=\"icons\"></i>\r\n Edit</button>\r\n </div>\r\n \r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"button-block\">\r\n <button class=\"vx-btn block primary\" [disabled]=\"disabled\" (click)=\"configureDashboard()\">Next:\r\n Configure\r\n Widgets</button>\r\n </div>\r\n </div>\r\n\r\n\r\n <button class=\"close-dialog\" type=\"button\" [disabled]=\"false\" (click)=\"close.emit('discard')\">\r\n <i class=\"icons\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<app-configure-widgets *ngIf=\"openConfigureWidgets\"\r\n[selectedWidgetsIdData]=\"selectedWidgetIds\"\r\n (widgetsDataModified)=\"widgetsDataModified($event)\"\r\n (closeConfigureWidgets)=\"closeConfigureWidgets($event)\"></app-configure-widgets>\r\n<app-loader-inline *ngIf=\"vLoader\"></app-loader-inline>","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safeHtml'\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitizer:DomSanitizer){}\r\n transform(html: any) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n\r\n}\r\n","import { Component, ElementRef, forwardRef, Input, OnInit, ViewChild, QueryList, ContentChildren } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { nanoid } from 'nanoid';\r\n// import { CsOptionComponent } from '../cs-option/cs-option.component';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'cs-select',\r\n templateUrl: './cs-select.component.html',\r\n styleUrls: ['./cs-select.component.less'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CsSelectComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class CsSelectComponent implements OnInit {\r\n @Input() dropdownLabel!: string;\r\n @Input() dropdownSubLabel!: string;\r\n @Input() isRequired!: string;\r\n @Input() placeholder!: string;\r\n\r\n // @ContentChildren(CsOptionComponent) op !: QueryList<CsOptionComponent>;\r\n\r\n dropdownToggle!: boolean;\r\n positionReset!: boolean;\r\n getLeft!: number;\r\n getTop!: number;\r\n getWidth!: number;\r\n maxWidth!: number;\r\n\r\n valuePlaceholder!: string;\r\n private optionList!: ElementRef;\r\n\r\n @ViewChild('optionList') set content(content: ElementRef) {\r\n if (content) {\r\n // initially setter gets called with undefined\r\n this.optionList = content;\r\n }\r\n }\r\n name!: string;\r\n val!: string;\r\n showOptions!: boolean;\r\n constructor() {\r\n this.name = nanoid();\r\n this.valuePlaceholder = '';\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n set RadioVal(val: any) {\r\n if (val !== undefined && val !== null && this.val !== val) {\r\n this.val = val;\r\n console.log('VALUE', this.val);\r\n this.onChange(val);\r\n this.onTouch(val);\r\n }\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.RadioVal = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n openDropdown(event: any): void {\r\n this.dropdownToggle = true;\r\n setTimeout(() => {\r\n const dropdown = event.target.getBoundingClientRect();\r\n const selectOption = this.optionList.nativeElement.offsetHeight;\r\n if (dropdown.top + selectOption * 2 > window.innerHeight) {\r\n this.getTop = dropdown.top - selectOption;\r\n } else {\r\n this.getTop = dropdown.top + dropdown.height;\r\n }\r\n this.getLeft = dropdown.left;\r\n this.getWidth = dropdown.width;\r\n this.maxWidth = dropdown.width * 1.25;\r\n this.showOptions = true;\r\n }, 10);\r\n }\r\n closeDropdown(): void {\r\n this.dropdownToggle = false;\r\n }\r\n}\r\n","<div class=\"selection-wrap\">\r\n <label class=\"label\" *ngIf=\"dropdownLabel != undefined\">\r\n {{ dropdownLabel }}\r\n <span class=\"sub-label\">{{ dropdownSubLabel }}</span>\r\n <span class=\"required\" *ngIf=\"isRequired\">*</span>\r\n </label>\r\n <div class=\"input-group\">\r\n <span class=\"value\" (click)=\"openDropdown($event)\" (keyup.enter)=\"openDropdown($event)\" tabindex=\"0\" [attr.aria-placeholder]=\"placeholder\" [innerHTML]=\"valuePlaceholder | safeHtml\"></span>\r\n </div>\r\n <div class=\"overlay\" *ngIf=\"dropdownToggle === true\" (click)=\"closeDropdown()\"></div>\r\n <div class=\"select-options\" *ngIf=\"dropdownToggle === true\" #optionList (keyup.Escape)=\"closeDropdown()\"\r\n (keyup.enter)=\"closeDropdown()\" (click)=\"closeDropdown()\" [style.top.px]=\"getTop\" [style.left.px]=\"getLeft\"\r\n [style.width.px]=\"getWidth\" [class.active]=\"showOptions\">\r\n <ng-content select=\"cs-option\"></ng-content>\r\n </div>\r\n</div>","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CsSelectService {\r\n color: any;\r\n constructor() {\r\n }\r\n}\r\n","import { Component, ElementRef, Input, OnInit, ViewChild, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CsSelectService } from '../../services/cs-select.service';\r\nimport { CsSelectComponent } from '../cs-select/cs-select.component';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'cs-option',\r\n templateUrl: './cs-option.component.html',\r\n styleUrls: ['./cs-option.component.less'],\r\n})\r\nexport class CsOptionComponent implements OnInit {\r\n @Input() value!: string;\r\n @ViewChild('options') option!: ElementRef;\r\n @Input() color!: any;\r\n constructor(public csSelect: CsSelectComponent, public colorSelector: CsSelectService) {\r\n this.value = '';\r\n }\r\n\r\n ngOnInit(): void { }\r\n\r\n change(event: any): void {\r\n if (this.option) {\r\n setTimeout(() => {\r\n this.csSelect.valuePlaceholder = this.option.nativeElement.innerHTML;\r\n this.colorSelector.color = this.color;\r\n console.log(this.color);\r\n }, 1);\r\n }\r\n this.csSelect.writeValue(this.value);\r\n }\r\n}\r\n","<div class=\"list\">\r\n <label>\r\n <input type=\"radio\" tabindex=\"0\" [value]=\"value\" [name]=\"csSelect.name\" (click)=\"change($event)\" [checked]=\"csSelect.val === this.value\" />\r\n <span class=\"value\" #options>\r\n <ng-content></ng-content>\r\n </span>\r\n </label>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CsSelectComponent } from './cs-select/cs-select.component';\r\nimport { CsOptionComponent } from './cs-option/cs-option.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SafeHtmlPipe } from './safe-html.pipe';\r\n\r\n@NgModule({\r\n declarations: [CsSelectComponent, CsOptionComponent, SafeHtmlPipe],\r\n imports: [FormsModule, CommonModule],\r\n exports: [CsSelectComponent, CsOptionComponent],\r\n})\r\nexport class SelectModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PaginationComponent } from './pagination.component';\r\n\r\n@NgModule({\r\n declarations: [PaginationComponent],\r\n imports: [CommonModule],\r\n exports: [PaginationComponent],\r\n})\r\nexport class PaginationModule {}","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-switch',\r\n templateUrl: './cs-switch.component.html',\r\n styleUrls: ['./cs-switch.component.less'],\r\n})\r\nexport class CsSwitchComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() ngValue: any;\r\n @Input() value: any;\r\n @Output() ngValueChange = new EventEmitter<any>();\r\n @Input() tooltipMessage: any;\r\n @Input() position: any;\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n // console.log(this.value);\r\n }\r\n valueChanged() {\r\n this.ngValueChange.emit(this.ngValue);\r\n }\r\n}\r\n","<label class=\"cs-switch\" [class.top]=\"position == 'top'\">\r\n <!-- [class.large]=\"large\" -->\r\n <span class=\"value\">\r\n <span [innerHTML]=\"value\" *ngIf=\"value != undefined\"></span>\r\n <!-- <span class=\"notification\" *ngIf=\"!tooltipMessage\" [arTooltip]=\"tooltipMessage\" placement=\"bottom-right\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <i class=\"vc-icons\"></i>\r\n </span> -->\r\n </span>\r\n <!-- [class.last]=\"last\" -->\r\n <span class=\"switch\" *ngIf=\"tooltipMessage === '' || tooltipMessage === undefined\">\r\n <input type=\"checkbox\" [(ngModel)]=\"ngValue\" (ngModelChange)=\"valueChanged()\" [disabled]=\"disabled\" />\r\n <span class=\"switch-box\">\r\n <span class=\"switch-ball\"></span>\r\n </span>\r\n </span>\r\n <span\r\n class=\"switch\"\r\n *ngIf=\"tooltipMessage !== '' && tooltipMessage !== undefined\"\r\n [arTooltip]=\"tooltipMessage\"\r\n placement=\"bottom-right\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <input type=\"checkbox\" [(ngModel)]=\"ngValue\" (ngModelChange)=\"valueChanged()\" [disabled]=\"disabled\" />\r\n <span class=\"switch-box\">\r\n <span class=\"switch-ball\"></span>\r\n </span>\r\n </span>\r\n</label>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-radio-group',\r\n templateUrl: './cs-radio-group.component.html',\r\n styleUrls: ['./cs-radio-group.component.less'],\r\n})\r\nexport class CsRadioGroupComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<app-cs-radio>fefre</app-cs-radio>\r\n<app-cs-radio>fefre</app-cs-radio>\r\n<app-cs-radio>fefre</app-cs-radio>\r\n<app-cs-radio>fefre</app-cs-radio>\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[clickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n constructor(private elementRef: ElementRef) {}\r\n @Output('clickOutside') clickOutside: EventEmitter<any> = new EventEmitter();\r\n\r\n @HostListener('document:click', ['$event.target']) onMouseEnter(targetElement: any) {\r\n const clickedInside = this.elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.clickOutside.emit(null);\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'pascal',\r\n})\r\nexport class PascalPipe implements PipeTransform {\r\n transform(value: string, ...args: unknown[]): unknown {\r\n if (typeof value !== 'string') {\r\n return value;\r\n }\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n }\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-select',\r\n templateUrl: './cs-select.component.html',\r\n styleUrls: ['./cs-select.component.less'],\r\n})\r\nexport class CsSelectComponent implements OnChanges {\r\n @Input() dataList!: any[];\r\n @Input() dropdownLabel!: string;\r\n @Input() displayProperty!: string;\r\n @Input() selectedValue!: string;\r\n @Input() isRequired!: boolean;\r\n @Input() dropdownSubLabel!: string;\r\n @Input() disabled!: boolean;\r\n @ViewChild('option') option!: ElementRef;\r\n\r\n @Output() selectedData = new EventEmitter();\r\n @Output() selectedValueChange = new EventEmitter();\r\n @Input() placeholder: any;\r\n @Input() stylex: any;\r\n @Input() valueKey: any;\r\n @Input() multipleSelect: any;\r\n @Input() colorProperty!: string;\r\n\r\n @Input() colorSelected!: string;\r\n colorCode!: string;\r\n\r\n dropdownOption = false;\r\n positionReset!: boolean;\r\n getLeft!: number;\r\n getTop!: number;\r\n getWidth!: number;\r\n maxWidth!: number;\r\n activeDoropdown = false;\r\n\r\n private optionList!: ElementRef;\r\n\r\n @ViewChild('optionList') set content(content: ElementRef) {\r\n if (content) {\r\n // initially setter gets called with undefined\r\n this.optionList = content;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.selectedValue) {\r\n this.selectedValue = this.selectedValue || '--';\r\n }\r\n }\r\n\r\n openDropdown(event: any): void {\r\n this.dropdownOption = true;\r\n setTimeout(() => {\r\n const dropdown = event.target.getBoundingClientRect();\r\n const selectOption = this.optionList.nativeElement.offsetHeight;\r\n if (dropdown.top + selectOption * 2 > window.innerHeight) {\r\n this.getTop = dropdown.top - selectOption;\r\n } else {\r\n this.getTop = dropdown.top + dropdown.height;\r\n }\r\n this.getLeft = dropdown.left;\r\n this.getWidth = dropdown.width;\r\n this.maxWidth = dropdown.width * 1.25;\r\n }, 10);\r\n setTimeout(() => {\r\n this.activeDoropdown = true;\r\n }, 100);\r\n }\r\n selectOption(selectedData: any) {\r\n if (typeof selectedData === 'object') {\r\n this.selectedValue = selectedData[this.displayProperty];\r\n this.colorSelected = selectedData[this.colorProperty];\r\n } else {\r\n this.selectedValue = selectedData;\r\n }\r\n this.selectedData.emit(selectedData);\r\n this.dropdownOption = false;\r\n }\r\n closeDropdown() {\r\n this.dropdownOption = false;\r\n }\r\n}\r\n","<div class=\"input-group\" (clickOutside)=\"dropdownOption = false\">\r\n <label *ngIf=\"dropdownLabel != undefined\">\r\n {{ dropdownLabel }} <span class=\"sub-label\">{{ dropdownSubLabel }}</span> <span class=\"required\" *ngIf=\"isRequired\">*</span></label\r\n >\r\n <div class=\"custom-select-box\" [class.disabled]=\"disabled\">\r\n <input\r\n type=\"text\"\r\n [class.line]=\"stylex\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"selectedValue | pascal\"\r\n readonly\r\n (click)=\"openDropdown($event)\"\r\n (keyup.enter)=\"openDropdown($event)\"\r\n (keyup.arrowup)=\"openDropdown($event)\"\r\n (keyup.arrowdown)=\"openDropdown($event)\"\r\n *ngIf=\"!colorProperty\"\r\n />\r\n <span class=\"show-label\" *ngIf=\"colorProperty\" (click)=\"openDropdown($event)\">\r\n <span class=\"label\" [innerHTML]=\"selectedValue\" [style.backgroundColor]=\"colorSelected + '1A'\" [style.color]=\"colorSelected\"></span>\r\n </span>\r\n <span class=\"arrow\" [class.line]=\"stylex\">\r\n <i class=\"risk-icons\"></i>\r\n </span>\r\n <div class=\"overlay active\" *ngIf=\"dropdownOption === true\" (click)=\"closeDropdown()\"></div>\r\n <ul\r\n class=\"list-of-option\"\r\n *ngIf=\"dropdownOption === true && !colorProperty\"\r\n #optionList\r\n (keyup.Escape)=\"closeDropdown()\"\r\n [style.top.px]=\"getTop\"\r\n [style.left.px]=\"getLeft\"\r\n [style.min-width.px]=\"getWidth\"\r\n [style.max-width.px]=\"maxWidth\"\r\n [class.active]=\"activeDoropdown\"\r\n >\r\n <li *ngFor=\"let data of dataList\">\r\n <label>\r\n <input type=\"radio\" [value]=\"data[valueKey]\" name=\"sliceLabel\" (change)=\"selectOption(data)\" #option (keyup.enter)=\"closeDropdown()\" class=\"pointer-none\" />\r\n <span (click)=\"closeDropdown(); selectOption(data)\" *ngIf=\"displayProperty && displayProperty !== ''\" class=\"value\">{{ data[displayProperty] }}</span>\r\n <span (click)=\"closeDropdown(); selectOption(data)\" *ngIf=\"!displayProperty || displayProperty === ''\" class=\"value\">{{ data }}</span>\r\n </label>\r\n </li>\r\n </ul>\r\n <ul\r\n class=\"list-of-option\"\r\n *ngIf=\"dropdownOption === true && colorProperty\"\r\n #optionList\r\n (keyup.Escape)=\"closeDropdown()\"\r\n [style.top.px]=\"getTop\"\r\n [style.left.px]=\"getLeft\"\r\n [style.min-width.px]=\"getWidth\"\r\n [style.max-width.px]=\"maxWidth\"\r\n [class.active]=\"activeDoropdown\"\r\n >\r\n <li *ngFor=\"let data of dataList\">\r\n <label class=\"colors\">\r\n <input type=\"radio\" [value]=\"data[valueKey]\" name=\"sliceLabel\" (click)=\"selectOption(data)\" #option (keyup.enter)=\"closeDropdown()\" class=\"pointer-none\" />\r\n <span\r\n (click)=\"selectOption(data)\"\r\n *ngIf=\"displayProperty && displayProperty !== ''\"\r\n class=\"value\"\r\n [ngStyle]=\"{ color: data.segment_color }\"\r\n [style.backgroundColor]=\"data.segment_color + '1A'\"\r\n >{{ data[displayProperty] }}</span\r\n >\r\n <span\r\n (click)=\"selectOption(data)\"\r\n *ngIf=\"!displayProperty || displayProperty === ''\"\r\n class=\"value\"\r\n [ngStyle]=\"{ color: data.segment_color }\"\r\n [style.backgroundColor]=\"data.segment_color + '1A'\"\r\n >{{ data }}</span\r\n >\r\n </label>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ToolTipDirective } from './tooltip.directive';\r\n\r\n@NgModule({\r\n declarations: [ToolTipDirective],\r\n imports: [CommonModule],\r\n exports: [ToolTipDirective],\r\n})\r\nexport class TooltipModule {}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'searchMultiSelect',\r\n})\r\nexport class SearchMultiSelectPipe implements PipeTransform {\r\n transform(value: any[], key: string, searchKey: string): any[] {\r\n if (searchKey && searchKey.length > 0) {\r\n searchKey = searchKey.toLowerCase();\r\n return value.filter((item) => {\r\n if (item[key].toLowerCase().includes(searchKey)) {\r\n return item;\r\n }\r\n });\r\n }\r\n return value;\r\n }\r\n}\r\n","import { FormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CsCheckboxComponent } from './cs-checkbox/cs-checkbox.component';\r\nimport { CsRadioComponent } from './cs-radio/cs-radio.component';\r\nimport { CsSwitchComponent } from './cs-switch/cs-switch.component';\r\nimport { CsRadioGroupComponent } from './cs-radio-group/cs-radio-group.component';\r\nimport { CsSelectComponent } from './cs-select/cs-select.component';\r\nimport { TooltipModule } from '../tooltip/tooltip.module';\r\nimport { PascalPipe } from './pipes/pascal.pipe';\r\nimport { SearchMultiSelectPipe } from './pipes/searchMultiSelect.pipe';\r\nimport { ClickOutsideDirective } from './click-outside.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n CsCheckboxComponent,\r\n CsRadioComponent,\r\n CsSwitchComponent,\r\n CsRadioGroupComponent,\r\n CsSelectComponent,\r\n PascalPipe,\r\n SearchMultiSelectPipe,\r\n ClickOutsideDirective,\r\n ],\r\n imports: [CommonModule, FormsModule, TooltipModule],\r\n exports: [\r\n CsCheckboxComponent,\r\n CsRadioComponent,\r\n CsSwitchComponent,\r\n CsRadioGroupComponent,\r\n CsSelectComponent,\r\n SearchMultiSelectPipe,\r\n ],\r\n})\r\nexport class FormgroupModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PopoverComponent } from './popover.component';\r\nimport { PopoverDirective } from './popover.directive';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@NgModule({\r\n declarations: [PopoverComponent, PopoverDirective],\r\n imports: [CommonModule],\r\n exports: [PopoverComponent, PopoverDirective],\r\n providers: [PopoverService],\r\n})\r\nexport class PopoverModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DashboardFooterComponent } from './dashboard-footer/dashboard-footer.component';\r\nimport { PopoverModule } from '../popover/popover.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n DashboardFooterComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PopoverModule\r\n ],\r\n exports:[\r\n DashboardFooterComponent\r\n ]\r\n})\r\nexport class DashboardFooterModule { }\r\n","import { Directive, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appInsertion]',\r\n})\r\nexport class InsertionDirective {\r\n constructor(public viewContainerRef: ViewContainerRef) {}\r\n}\r\n","export class DialogConfig<D = any> {\r\n data?: D;\r\n position?: any;\r\n background?: any;\r\n pointer?: any;\r\n}\r\n","import { Component, Type, ComponentFactoryResolver, ViewChild, OnDestroy, ComponentRef, AfterViewInit, ChangeDetectorRef, OnInit } from '@angular/core';\r\nimport { InsertionDirective } from './insertion.directive';\r\nimport { Subject } from 'rxjs';\r\nimport { DialogRef } from './dialog-ref';\r\nimport { DialogConfig } from './dialog-config';\r\nimport { NavigationEnd, NavigationError, NavigationStart, Router, ROUTER_CONFIGURATION } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.css'],\r\n})\r\nexport class DialogComponent implements AfterViewInit, OnDestroy, OnInit {\r\n componentRef!: ComponentRef<any>;\r\n position: any;\r\n background: any;\r\n pointer: any;\r\n @ViewChild(InsertionDirective, { static: true })\r\n insertionPoint!: InsertionDirective;\r\n animation = true;\r\n\r\n private readonly onDialogClose = new Subject<any>();\r\n public onClose = this.onDialogClose.asObservable();\r\n\r\n childComponentType!: Type<any>;\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private cd: ChangeDetectorRef,\r\n private dialogRef: DialogRef,\r\n public config: DialogConfig,\r\n private router: Router\r\n ) {\r\n // this.componentRef = this.componentRef;\r\n // this.animate = this.animate;\r\n // this.insertionPoint = this.insertionPoint;\r\n // this.childComponentType = this.childComponentType;\r\n }\r\n ngOnInit() {\r\n this.position = this.config.position;\r\n this.background = this.config.background;\r\n document.body.style.overflow = 'hidden';\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 200);\r\n this.routeAction();\r\n }\r\n\r\n routeAction() {\r\n this.router.events.subscribe((event: any) => {\r\n if (event instanceof NavigationStart) {\r\n // Show loading indicator\r\n }\r\n if (event instanceof NavigationEnd) {\r\n // Hide loading indicator\r\n this.dialogRef.close();\r\n }\r\n if (event instanceof NavigationError) {\r\n // Hide loading indicator\r\n // Present error to user\r\n }\r\n });\r\n }\r\n ngAfterViewInit() {\r\n this.loadChildComponent(this.childComponentType);\r\n this.cd.detectChanges();\r\n }\r\n\r\n onOverlayClicked(evt: MouseEvent) {\r\n // this.dialogRef.close();\r\n }\r\n\r\n onDialogClicked(evt: MouseEvent) {\r\n evt.stopPropagation();\r\n }\r\n\r\n loadChildComponent(componentType: Type<any>) {\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);\r\n\r\n const viewContainerRef = this.insertionPoint.viewContainerRef;\r\n viewContainerRef.clear();\r\n\r\n this.componentRef = viewContainerRef.createComponent(componentFactory);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.componentRef) {\r\n this.componentRef.destroy();\r\n }\r\n }\r\n\r\n close() {\r\n this.onDialogClose.next();\r\n document.body.style.overflow = 'auto';\r\n }\r\n}\r\n","<div\r\n class=\"overlay\"\r\n (click)=\"onOverlayClicked($event)\"\r\n [ngClass]=\"{\r\n top: position === 'TOP',\r\n right: position === 'RIGHT',\r\n bottom: position === 'BOTTOM',\r\n left: position === 'LEFT',\r\n center: position === 'CENTER',\r\n black: background === 'black'\r\n }\" [class.pointer-none]=\"pointer === 'none'\"\r\n>\r\n <div\r\n class=\"dialog\"\r\n [class.animate]=\"animation\"\r\n (click)=\"onDialogClicked($event)\"\r\n [ngClass]=\"{\r\n top: position === 'TOP',\r\n right: position === 'RIGHT',\r\n bottom: position === 'BOTTOM',\r\n left: position === 'LEFT',\r\n center: position === 'CENTER'\r\n }\"\r\n >\r\n <ng-template appInsertion></ng-template>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DialogComponent } from './dialog.component';\r\nimport { InsertionDirective } from './insertion.directive';\r\nimport { DialogRef } from './dialog-ref';\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [DialogComponent, InsertionDirective],\r\n entryComponents: [DialogComponent],\r\n providers: [DialogRef],\r\n})\r\nexport class DialogModule {}\r\n","import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\r\n\r\nexport class DialogInjector implements Injector {\r\n constructor(private parentDialogInjector: Injector, private dialogAdditionalTokens: WeakMap<any, any>) {}\r\n\r\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T, flags?: InjectFlags): T;\r\n // get(token: any, notFoundValue?: any){return; }\r\n get(token: any, notFoundValue?: any, flags?: any) {\r\n const value = this.dialogAdditionalTokens.get(token);\r\n if (value) {\r\n return value;\r\n }\r\n return this.parentDialogInjector.get<any>(token, notFoundValue);\r\n }\r\n}\r\n","import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector, Type, EmbeddedViewRef, ComponentRef } from '@angular/core';\r\nimport { DialogModule } from './dialog.module';\r\nimport { DialogComponent } from './dialog.component';\r\nimport { DialogInjector } from './dialog-injector';\r\nimport { DialogConfig } from './dialog-config';\r\nimport { DialogRef } from './dialog-ref';\r\n\r\n@Injectable({\r\n providedIn: DialogModule,\r\n})\r\nexport class DialogService {\r\n dialogComponentRef!: ComponentRef<DialogComponent>;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private appRef: ApplicationRef, private injector: Injector) {}\r\n\r\n public open(componentType: Type<any>, config: DialogConfig) {\r\n const dialogRef = this.appendDialogComponentToBody(config);\r\n\r\n this.dialogComponentRef.instance.childComponentType = componentType;\r\n\r\n return dialogRef;\r\n }\r\n\r\n private appendDialogComponentToBody(config: DialogConfig) {\r\n const map = new WeakMap();\r\n map.set(DialogConfig, config);\r\n\r\n const dialogRef = new DialogRef();\r\n map.set(DialogRef, dialogRef);\r\n\r\n const sub = dialogRef.afterClosed.subscribe(() => {\r\n this.removeDialogComponentFromBody();\r\n sub.unsubscribe();\r\n });\r\n\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DialogComponent);\r\n const componentRef = componentFactory.create(new DialogInjector(this.injector, map));\r\n\r\n this.appRef.attachView(componentRef.hostView);\r\n\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(domElem);\r\n\r\n this.dialogComponentRef = componentRef;\r\n\r\n this.dialogComponentRef.instance.onClose.subscribe(() => {\r\n this.removeDialogComponentFromBody();\r\n });\r\n\r\n return dialogRef;\r\n }\r\n\r\n private removeDialogComponentFromBody() {\r\n this.appRef.detachView(this.dialogComponentRef.hostView);\r\n this.dialogComponentRef.destroy();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { DatePickerComponent, IDatePickerConfig } from 'ng2-date-picker';\r\nimport { DialogService } from '../../ui-kit/dialog/dialog.service';\r\nimport { EditorConfig } from 'vcomply-editor';\r\n// import { ConfigureWidgetsComponent } from '../../configure-widgets/configure-widgets/configure-widgets.component';\r\n\r\n@Component({\r\n selector: 'app-form-group',\r\n templateUrl: './form-group.component.html',\r\n styleUrls: ['./form-group.component.less']\r\n})\r\nexport class FormGroupComponent implements OnInit {\r\n @Output() openCategoryList = new EventEmitter<string>();\r\n @Output() openResponsibilityCenterList = new EventEmitter<string>();\r\n @Output() openWhoCanViewThis = new EventEmitter<string>();\r\n @Output() closeCreateDashboard = new EventEmitter<string>();\r\n @Output() openFrequency = new EventEmitter<string>();\r\n @Input() disabled!: boolean;\r\n\r\n @ViewChild('fromDatePicker') fromDatePicker!: DatePickerComponent;\r\n @ViewChild('toDatePicker') toDatePicker!: DatePickerComponent;\r\n datePickerOverlay = false;\r\n selectedFromDate!: any;\r\n selectedToDate!: any;\r\n dashboardName!: any;\r\n dashboardDescriptionText!: any;\r\n fieldEmptyErrorMessage: string = 'Enter a value for this input box.';\r\n fieldLimitExceededErrorMessage: string = 'You have exceeded the maximum character limit of XYZ characters.';\r\n dashboardNameNotUniqueErrorMessage: string = 'A dashboard with this name already exists. Specify a different name for the dashboard.';\r\n dashboardNameError! : string;\r\n dashboardDescriptionError! : string;\r\n displayCriteria! : string;\r\n\r\n constructor(private dialog: DialogService) { }\r\n \r\n dashboardDescription: EditorConfig = {\r\n placeholder: 'Description (Max limit: 250 characters)',\r\n mode: 'prime',\r\n id: 'description'\r\n }\r\n\r\n fromDatePickerConfig : IDatePickerConfig = {\r\n min: this.getCurrentDate()\r\n }\r\n\r\n toDatePickerConfig : IDatePickerConfig = {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openFromDatePicker() {\r\n this.fromDatePicker.api.open();\r\n this.datePickerOverlay = true;\r\n }\r\n\r\n openToDatePicker() {\r\n this.toDatePicker.api.open();\r\n this.datePickerOverlay = true;\r\n }\r\n\r\n closeFromDatePicker() {\r\n let minToDate = this.selectedFromDate.clone().add(1, 'days');\r\n this.toDatePickerConfig = {min : minToDate, minTime : minToDate};\r\n\r\n if(this.selectedToDate && minToDate.diff(this.selectedToDate) > 0) {\r\n this.selectedToDate = undefined;\r\n }\r\n\r\n this.fromDatePicker.api.close();\r\n this.datePickerOverlay = false;\r\n }\r\n\r\n closeToDatePicker() {\r\n this.toDatePicker.api.close();\r\n this.datePickerOverlay = false;\r\n }\r\n\r\n animateImage() {\r\n const circleImage = document.getElementsByClassName('image')\r\n console.log(circleImage);\r\n }\r\n\r\n selectWhoCanViewThis() {\r\n this.openWhoCanViewThis.emit();\r\n }\r\n\r\n selectResponsibilityCenter() {\r\n this.openResponsibilityCenterList.emit();\r\n }\r\n\r\n selectCategories() {\r\n this.openCategoryList.emit();\r\n }\r\n\r\n selectFrequency() {\r\n this.openFrequency.emit();\r\n }\r\n\r\n configureDashboard() {\r\n let fieldsStatus = this.verifyFields();\r\n // if(fieldsStatus) {\r\n // this.closeCreateDashboard.emit();\r\n // const ref = this.dialog.open(ConfigureWidgetsComponent, {\r\n // data: {},\r\n // position: 'CENTER',\r\n // pointer: 'none'\r\n // });\r\n // }\r\n }\r\n\r\n verifyFields() {\r\n let allFieldsValid = true;\r\n this.dashboardNameError = '';\r\n this.dashboardDescriptionError = '';\r\n \r\n if(this.dashboardName === null || this.dashboardName === undefined || this.dashboardName === '') {\r\n this.dashboardNameError = this.fieldEmptyErrorMessage;\r\n allFieldsValid = false;\r\n } else if(this.dashboardName.length > 30) {\r\n this.dashboardNameError = this.fieldLimitExceededErrorMessage.replace('XYZ', '30');\r\n allFieldsValid = false;\r\n } else if(this.dashboardDescriptionText === null || this.dashboardDescriptionText === undefined || this.dashboardDescriptionText === '') {\r\n this.dashboardDescriptionError = this.fieldEmptyErrorMessage;\r\n allFieldsValid = false;\r\n } else if(this.dashboardDescriptionText.length > 250) {\r\n this.dashboardDescriptionError = this.fieldLimitExceededErrorMessage.replace('XYZ', '250');\r\n allFieldsValid = false;\r\n }\r\n return allFieldsValid;\r\n }\r\n\r\n getCurrentDate(){\r\n let today = new Date();\r\n return today.getDate() + '-' + (today.getMonth()+1) + '-' + today.getFullYear();\r\n }\r\n\r\n displayCriteriaSelected(event: boolean, selection: string) {\r\n this.displayCriteria = selection;\r\n }\r\n}\r\n","<!-- <p>form-group works!</p> -->\r\n<div class=\"form-group\" [class.disabled]=\"disabled\">\r\n <div class=\"vx-dialog-body-container\" (scroll)=\"animateImage()\">\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img src=\"./assets/images/what.svg\" alt=\"\">\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Dashboard Name<span class=\"required\">*</span></label>\r\n <div class=\"vx-input-group\">\r\n <input type=\"text\" placeholder=\"Add dashboard name (Max limit: 30 characters).\" [(ngModel)]=\"dashboardName\">\r\n <span class=\"counter\" *ngIf=\"dashboardName?.length > 0\">{{30 - dashboardName?.length}}</span>\r\n </div>\r\n <p class=\"vx-txt-error\">{{dashboardNameError}}</p>\r\n <div class=\"vx-input-group\">\r\n <marx-editor [editorConfig]=\"dashboardDescription\" [(ngModel)]=\"dashboardDescriptionText\"></marx-editor>\r\n <span class=\"counter\" *ngIf=\"dashboardDescriptionText?.length > 0\">{{250 - dashboardDescriptionText?.length}}</span>\r\n </div>\r\n <p class=\"vx-txt-error\">{{dashboardDescriptionError}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img src=\"./assets/images/who.svg\" alt=\"\">\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Who can view this dashboard?<span class=\"required\">*</span></label>\r\n <div class=\"select\">\r\n <input type=\"text\" placeholder=\"Who can view this dashboard?\" readonly\r\n (click)=\"selectWhoCanViewThis()\">\r\n </div>\r\n <div class=\"selected\">\r\n <div class=\"left\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\">\r\n <span class=\"value\">Samantha Jones</span>\r\n </span>\r\n <span class=\"chip\">\r\n <i class=\"icons\"></i>\r\n <span class=\"value\">Angel Kleven</span>\r\n </span>\r\n </div>\r\n <button class=\"count\">+10</button>\r\n </div>\r\n <button class=\"edit\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img src=\"./assets/images/responsibility-center.svg\" alt=\"\">\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">RESPONSIBILITY CENTER(S)</label>\r\n <div class=\"select\">\r\n <div class=\"custom-input\"\r\n aria-placeholder=\"Select the Responsibility Center(s) that you would like displayed in the Dashboard, if any.\"\r\n (click)=\"selectResponsibilityCenter()\">\r\n </div>\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img src=\"./assets/images/category.svg\" alt=\"\">\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">RESPONSIBILITY CATEGORIES</label>\r\n <div class=\"select\">\r\n <div class=\"custom-input\"\r\n aria-placeholder=\"Select the responsibility category or categories that this responsibility relates to.\"\r\n (click)=\"selectCategories()\"></div>\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img src=\"./assets/images/category.svg\" alt=\"\">\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">RISK CATEGORIES</label>\r\n <div class=\"select\">\r\n <div class=\"custom-input\"\r\n aria-placeholder=\"Select the Risk Categories that you would like displayed in the Dashboard, if any.\"\r\n (click)=\"selectCategories()\"></div>\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img src=\"./assets/images/who.svg\" alt=\"\">\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">DISPLAY CRITERIA</label>\r\n <div class=\"radio-group\">\r\n <app-cs-radio (checkedEvent)=\"displayCriteriaSelected($event, 'BOTH_RC_AND_CATEGORY')\">Those responsibilities that have been assigned to both the selected\r\n Responsibility Center(s) and the selected Categories.</app-cs-radio>\r\n <app-cs-radio (checkedEvent)=\"displayCriteriaSelected($event, 'RC_OR_CATEGORY')\">Those responsibilities that have been assigned to either the selected\r\n Responsibility Center(s) or the selected Categories.</app-cs-radio>\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img src=\"./assets/images/when.svg\" alt=\"\">\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">TIMEFRAME</label>\r\n <label class=\"vx-control-panel-sub-label\">Select how long you would like the information\r\n selected to be displayed for. If no timeframe is selected, the information will be\r\n displayed permanently.</label>\r\n <div class=\"input-group vx-d-flex vx-justify-between\">\r\n <div class=\"date-select\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [value]=\"selectedFromDate | date: 'dd MMM yyyy'\" [placeholder]=\"'From'\"\r\n (click)=\"openFromDatePicker()\" readonly>\r\n <dp-date-picker #fromDatePicker [(ngModel)]=\"selectedFromDate\" placeholder=\"Select Date\"\r\n (onSelect)=\"closeFromDatePicker(); datePickerOverlay = false\" [config]=\"fromDatePickerConfig\"></dp-date-picker>\r\n <div class=\"overlay\" (click)=\"closeFromDatePicker()\" *ngIf=\"datePickerOverlay\"></div>\r\n </div>\r\n <div class=\"date-select\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [value]=\"selectedToDate | date: 'dd MMM yyyy'\" [placeholder]=\"'To'\"\r\n (click)=\"openToDatePicker()\" readonly>\r\n <dp-date-picker #toDatePicker [(ngModel)]=\"selectedToDate\" placeholder=\"Select Date\"\r\n (onSelect)=\"closeToDatePicker(); datePickerOverlay = false\" [config]=\"toDatePickerConfig\"></dp-date-picker>\r\n <div class=\"overlay\" (click)=\"closeToDatePicker()\" *ngIf=\"datePickerOverlay\"></div>\r\n </div>\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <!--active class will appear on open list-->\r\n <div class=\"image\">\r\n <img src=\"./assets/images/send-resolution.svg\" alt=\"\">\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Email Summaries <i class=\"icons\" [arTooltip]=\"'This is a test tooltip'\" placement=\"bottom-left\"\r\n type=\"white\" delay=\"0\" [tooltipMandatory]=\"true\"></i></label>\r\n <label class=\"vx-control-panel-sub-label\">\r\n If you would like to send a summary of this Dashboard,\r\n please select a frequency(By default VComply sends a weekly Summary).\r\n </label>\r\n <div class=\"select\">\r\n <input type=\"text\" placeholder=\"Email Summaries\" readonly (click)=\"selectFrequency()\">\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"button-block\">\r\n <button class=\"vx-btn block primary\" [disabled]=\"disabled\" (click)=\"configureDashboard()\">Next: Configure\r\n Widgets</button>\r\n </div>\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FloatingBarComponent } from './floating-bar.component';\r\nimport { PopoverModule } from '../popover/popover.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n FloatingBarComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PopoverModule\r\n ],\r\n exports: [\r\n FloatingBarComponent\r\n ]\r\n})\r\nexport class FloatingBarModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FloatingBarModule } from '../../ui-kit//floating-bar/floating-bar.module';\r\nimport { FormgroupModule } from '../../ui-kit/formgroup/formgroup.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SearchPipe } from '../pipes/search.pipe';\r\nimport { ConfigureWidgetsComponent } from './configure-widgets/configure-widgets.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ConfigureWidgetsComponent, SearchPipe\r\n ],\r\n imports: [\r\n CommonModule,\r\n FloatingBarModule,\r\n FormgroupModule,\r\n FormsModule,\r\n ],\r\n exports: [\r\n ConfigureWidgetsComponent\r\n ]\r\n})\r\nexport class ConfigureWidgetsModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.less'],\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<!-- <p>loader works!</p> -->\r\n<div class=\"main-loader\">\r\n <div class=\"demo-loader\">\r\n <div class=\"demo-loader-colored-blocks\">\r\n <div class=\"demo-loader-colored-blocks-rotater\">\r\n <div class=\"demo-loader-colored-block\"></div>\r\n <div class=\"demo-loader-colored-block\"></div>\r\n <div class=\"demo-loader-colored-block\"></div>\r\n <div class=\"demo-loader-colored-block\"></div>\r\n <div class=\"demo-loader-colored-block\"></div>\r\n <div class=\"demo-loader-colored-block\"></div>\r\n </div>\r\n <div class=\"demo-loader-colored-blocks-inner\"></div>\r\n </div>\r\n <div class=\"demo-loader-inner\">\r\n <svg\r\n width=\"30px\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n version=\"1.1\"\r\n id=\"Layer_1\"\r\n x=\"0px\"\r\n y=\"0px\"\r\n viewBox=\"0 0 16 16\"\r\n style=\"enable-background: new 0 0 16 16\"\r\n xml:space=\"preserve\"\r\n >\r\n <style type=\"text/css\">\r\n .st0 {\r\n fill: #9d1f24;\r\n }\r\n\r\n .st1 {\r\n fill: #d83b3f;\r\n }\r\n </style>\r\n <g>\r\n <path class=\"st0\" d=\"M2,12.3c0.5,0.3,1.1,0.4,1.8,0.2c0.9-0.3,1.4-1.1,1.5-1.1c-0.3-0.2-0.5-0.6-0.5-1.1V7.2 C4.5,4.6,1.1,3.8,1.1,3.8v7.3C1.1,11.2,1.3,11.9,2,12.3z\" />\r\n <path\r\n class=\"st1\"\r\n d=\"M9.9,3.5c-1.8,2.8-4.6,7.8-4.6,7.8s0,0,0,0c0,0.1-0.5,0.8-1.5,1.1c-0.7,0.2-1.3,0.1-1.8-0.2 c-0.6-0.4-0.9-1.1-0.9-1.1s-0.1,1.2,0.6,2.2C2,13.9,4,15.9,6.6,14.5c0.6-0.3,1.1-0.8,1.6-1.5c0.4-0.5,6.9-11.6,6.9-11.6 S11.7,0.5,9.9,3.5z\"\r\n />\r\n </g>\r\n </svg>\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoaderComponent } from './loader/loader.component';\r\nimport { LoaderInlineComponent } from './loader-inline/loader-inline.component';\r\n\r\n@NgModule({\r\n declarations: [LoaderComponent, LoaderInlineComponent],\r\n imports: [CommonModule],\r\n exports: [LoaderComponent, LoaderInlineComponent],\r\n})\r\nexport class VLoaderModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SnackBarComponent } from './snack-bar/snack-bar.component';\r\n\r\n@NgModule({\r\n declarations: [SnackBarComponent],\r\n imports: [CommonModule],\r\n exports: [SnackBarComponent],\r\n})\r\nexport class SnackBarModule {}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MarxEditorModule } from 'vcomply-editor';\r\nimport { DpDatePickerModule } from 'ng2-date-picker';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CreateDashboardComponent } from './create-dashboard.component';\r\nimport { SelectModule } from '../ui-kit/select/select.module';\r\nimport { UserListComponent } from './user-list/user-list.component';\r\nimport { ResponsibilityCenterComponent } from './responsibility-center/responsibility-center.component';\r\nimport { CategoriesComponent } from './categories/categories.component';\r\nimport { FrequencyComponent } from './frequency/frequency.component';\r\nimport { PaginationModule } from '../ui-kit/pagination/pagination.module';\r\nimport { FormgroupModule } from '../ui-kit/formgroup/formgroup.module';\r\nimport { DashboardFooterModule } from '../ui-kit/dashboard-footer/dashboard-footer.module';\r\nimport { FormGroupComponent } from './form-group/form-group.component';\r\nimport { TooltipModule } from '../ui-kit/tooltip/tooltip.module';\r\nimport { FloatingBarModule } from '../ui-kit/floating-bar/floating-bar.module';\r\nimport { DialogModule } from '../ui-kit/dialog/dialog.module';\r\nimport { Configurations } from '../configurations';\r\nimport { FilterPipe } from './pipes/filter.pipe';\r\nimport { RiskCategoriesComponent } from './risk-categories/risk-categories.component';\r\nimport { ConfigureWidgetsModule } from './configure-widgets/configure-widgets.module';\r\nimport { PopoverModule } from '../ui-kit/popover/popover.module';\r\nimport { VLoaderModule } from '../ui-kit/v-loader/v-loader.module';\r\nimport { SnackBarModule } from '../ui-kit/snack-bar/snack-bar.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n CreateDashboardComponent,\r\n UserListComponent,\r\n FormGroupComponent,\r\n ResponsibilityCenterComponent,\r\n CategoriesComponent,\r\n RiskCategoriesComponent,\r\n FrequencyComponent,\r\n FilterPipe,\r\n ],\r\n imports: [\r\n CommonModule,\r\n MarxEditorModule,\r\n FormgroupModule,\r\n DpDatePickerModule,\r\n FormsModule,\r\n TooltipModule,\r\n SelectModule,\r\n DashboardFooterModule,\r\n PaginationModule,\r\n FloatingBarModule,\r\n DialogModule,\r\n ConfigureWidgetsModule, \r\n PopoverModule,\r\n VLoaderModule,\r\n SnackBarModule\r\n \r\n ],\r\n exports: [\r\n CreateDashboardComponent\r\n ]\r\n \r\n})\r\nexport class CreateDashboardModule { \r\n public static forRoot(environmentConfig: Configurations): ModuleWithProviders<CreateDashboardModule> {\r\n\r\n return {\r\n ngModule: CreateDashboardModule,\r\n providers: [\r\n { provide: Configurations, useValue: environmentConfig }\r\n ]\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of create-dashboard\r\n */\r\n\r\n// export * from './lib/create-dashboard.service';\r\n// export * from './lib/create-dashboard.component';\r\n// export * from './lib/create-dashboard.module';\r\n\r\nexport * from './lib/create-dashboard.service';\r\nexport * from './lib/create-dashboard-container/create-dashboard.component';\r\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","Subject","CsSelectComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-dashboard.js","sources":["../../../projects/create-dashboard/src/lib/create-dashboard.service.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/create-dashboard-container/services/configure-widgets.service.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/create-dashboard.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/select/cs-select/cs-select.component.ts","../../../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/safe-html.pipe.ts","../../../projects/create-dashboard/src/lib/ui-kit/select/select.module.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/user-list/user-list.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/responsibility-center/responsibility-center.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/categories/categories.component.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/frequency/frequency.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/pagination/pagination.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/pagination/pagination.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ts","../../../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-select/cs-select.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/tooltip/tooltip.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/tooltip/tooltip.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/pipes/pascal.pipe.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/click-outside.directive.ts","../../../projects/create-dashboard/src/lib/ui-kit/formgroup/formgroup.module.ts","../../../projects/create-dashboard/src/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.service.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/popover/popover.directive.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-ref.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.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/ui-kit/floating-bar/floating-bar.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/floating-bar/floating-bar.module.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/pipes/filter.pipe.ts","../../../projects/create-dashboard/src/lib/create-dashboard-container/risk-categories/risk-categories.component.ts","../../../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.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-inline/loader-inline.component.ts","../../../projects/create-dashboard/src/lib/ui-kit/v-loader/v-loader.module.ts","../../../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.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/create-dashboard.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CreateDashboardService {\r\n constructor() {}\r\n}","export class Configurations {\r\n public envConfig: any;\r\n\r\n constructor() {\r\n this.envConfig = {};\r\n }\r\n\r\n}\r\n","import { Injectable, Optional } from '@angular/core';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { of, BehaviorSubject, Observable, Subject } from 'rxjs';\r\nimport { map, shareReplay, catchError, delay} from 'rxjs/operators';\r\nimport { Configurations } from '../../configurations';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n public env !: any;\r\n\r\n constructor(private http: HttpClient, @Optional() config?: Configurations) { \r\n if (config) {\r\n this.env = config.envConfig;\r\n }\r\n }\r\n getAuthorizationToken() {\r\n if (localStorage.getItem('currentUser')) {\r\n const currentUser = JSON.parse(localStorage.getItem('currentUser') || '{}');\r\n return currentUser.token;\r\n }\r\n }\r\n\r\n \r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Optional } from '@angular/core';\r\nimport { of } from 'rxjs';\r\nimport { catchError, map, retry } from 'rxjs/operators';\r\nimport { Configurations } from '../../configurations';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CreateDashboardService {\r\n public env !: any;\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json', token: this.authService.getAuthorizationToken() })\r\n };\r\n constructor(private http: HttpClient,\r\n private authService: AuthService, @Optional() config?: Configurations) { \r\n alert('sdf')\r\n debugger\r\n console.log(config)\r\n\r\n if (config) {\r\n console.log(config)\r\n this.env = config.envConfig;\r\n }\r\n }\r\n\r\n /*\r\n * Fetches the Organization Users List by making an API call\r\n */\r\n getOrganizationUsers(url?: any) {\r\n return this.http.get(this.env.organizationGet + 'organisationUsersList' +\r\n (url.p ? '&p=' + url.p : '') + (url.type ? '&type=' + url.type : '') +\r\n (url.q ? '&q=' + url.q : ''), this.httpOptions).pipe(map((res: any) => {\r\n return res;\r\n }), retry(2), catchError(err => of(err)));\r\n }\r\n\r\n /**\r\n * Fetches the OrganizationUsers details of users List to set pagination details including number of\r\n * pages and records limit per page,\r\n * @param url contains info about type & search query\r\n */\r\n getOrganizationUsersCount(url?: any) {\r\n return this.http.get(this.env.organizationGet + 'organisationUsersCount' +\r\n (url.type ? '&type=' + url.type : '') + (url.q ? '&q=' + url.q : ''), this.httpOptions).pipe(map(res => {\r\n return res;\r\n }), catchError(err => of(err)));\r\n }\r\n\r\n getCategoryList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http\r\n .get<any[]>(this.env.riskGet + 'category/list', { headers })\r\n .pipe(retry(2));\r\n }\r\n\r\n /**\r\n * Fetches all users by making an API call\r\n */\r\n getAllUsers() {\r\n return this.http.get(this.env.organizationGet + 'selectAllUsers&type=all', this.httpOptions).pipe(retry(2));\r\n }\r\n\r\n /**\r\n * Fetches responsibilityCentersList by making an API call\r\n */\r\n getResponsibilityCenterList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.complianceGet + 'responsibilityCenterTree', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n getComplianceCategoriesList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.complianceGet + 'complianceCategory/CategoryListTree', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n submitDashboard(payload: any){\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post(this.env.dashboard, payload, {headers}).pipe(\r\n retry(2)\r\n );\r\n }\r\n\r\n /**\r\n * Fetches the Dashboard details for data population to Edit the dashboard\r\n * @param id \r\n */\r\n fetchDashboard(id: any) {\r\n return this.http.get(this.env.dashboard+ id+'?mode=edit', this.httpOptions).pipe(\r\n retry(2)\r\n );\r\n }\r\n\r\n updateDashboard(id: any,payload:any) {\r\n return this.http.put(this.env.dashboard+'UpdateDashboard/'+ id,payload, this.httpOptions).pipe(\r\n retry(2)\r\n );\r\n }\r\n\r\n // pipe(map(res => {\r\n // return res;\r\n // }), catchError(err => of(err)));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n/**\r\n * Service to implement pagination for users while creating an app\r\n */\r\nexport class PaginationService {\r\n currentPage = 1;\r\n searchValue = '';\r\n currentValues = new BehaviorSubject({});\r\n\r\n constructor() { }\r\n\r\n setCurrentState() {\r\n this.currentValues.next(true);\r\n }\r\n reset(){\r\n this.currentPage = 1;\r\n this.searchValue = '';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs/internal/Subject';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SnackBarService {\r\n snackbarSubject = new Subject<any>();\r\n constructor() {}\r\n\r\n show(message: string, icon?: string) {\r\n this.snackbarSubject.next({\r\n show: true,\r\n message,\r\n icon,\r\n });\r\n }\r\n}\r\n","import { Injectable, Optional } from '@angular/core';\r\nimport { widgetDataModel} from '../interfaces/widget-data-model'\r\nimport { HttpClient, HttpHeaders, JsonpClientBackend } from '@angular/common/http';\r\nimport { catchError, map, retry } from 'rxjs/operators';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { of } from 'rxjs';\r\nimport { AuthService } from './auth.service';\r\nimport { identifierModuleUrl } from '@angular/compiler';\r\nimport { Configurations } from '../../configurations';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfigureWidgetsService {\r\n public env !: any;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private authService: AuthService,\r\n @Optional() config?: Configurations) { \r\n if (config) {\r\n this.env = config.envConfig;\r\n }}\r\n\r\n complianceWidgetsData = [\r\n {\r\n title: 'Overview',\r\n id: 'overview_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Responsibility Calendar',\r\n id: 'compliance_calendar_flag',\r\n description: 'Displays all responsibilities that are due on a particular day.',\r\n widgetImage: './assets/images/responsibility-calender.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Responsibility Center Overview',\r\n id: 'responsibility_center_overview_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'My Responsibilities',\r\n id: 'my_responsibilities',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/my-responsibilities.png',\r\n tabOption: true,\r\n value: 0,\r\n },\r\n {\r\n title: 'Key Responsibilities',\r\n id: 'key_responsibilities',\r\n description: 'Displays all responsibilities that are due on a particular day.',\r\n widgetImage: './assets/images/key-responsibilities.png',\r\n tabOption: true,\r\n value: 0,\r\n },\r\n {\r\n title: 'Trend Analysis',\r\n id: 'trend_analysis_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/trend-analysis.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Workroom Updates',\r\n id: 'workroom_alert_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/workroom-updates.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Recent Activities',\r\n id: 'recent_activity_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/recent-activities.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Exception Summary',\r\n id: 'exception_summary_flag',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/exception-summary.png',\r\n value: 0,\r\n }\r\n ];\r\n\r\n subResponsibilities: Array<widgetDataModel> = [\r\n {\r\n title:'My Responsibilities',\r\n id: 'my_responsibility_flag',\r\n value: 0,\r\n },\r\n {\r\n title:'I’m Reviewing',\r\n id: 'reviewer_responsibility_flag',\r\n value: 0,\r\n },\r\n {\r\n title:'I’m Overseeing',\r\n id: 'cc_responsibility_flag',\r\n value: 0,\r\n }\r\n ];\r\n\r\n subKeyResponsibilities: Array<widgetDataModel> = [\r\n {\r\n title:'Overview',\r\n id: 'key_responsibilities_overview_flag',\r\n value: 0,\r\n },\r\n {\r\n title:'My Responsibilities',\r\n id: 'key_my_responsibilities_flag',\r\n value: 0,\r\n },\r\n {\r\n title:'I’m Reviewing',\r\n id: 'key_i_am_reviewing_flag',\r\n value: 0,\r\n },\r\n {\r\n title:'I’m Overseeing',\r\n id: 'key_i_am_overseeing_flag',\r\n value: 0,\r\n }\r\n ];\r\n\r\n riskWidgetsData = [\r\n {\r\n title: 'Risk Appetite & Tolerance',\r\n id: 'risk_appetite_tolerance',\r\n description: 'description',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Risk Ratings',\r\n id: 'risk_ratings',\r\n description: 'Displays all responsibilities that are due on a particular day.',\r\n widgetImage: './assets/images/responsibility-calender.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Risks Without Controls',\r\n id: 'risks_without_controls',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n }, \r\n {\r\n title: 'Risks Exceeding Risk Tolerance',\r\n id: 'exceeds_risk_tolerance',\r\n description: 'description',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Inherent Risk Rating by Responsibility Centers ',\r\n id: 'inherent_risk_rating_by_responsibility_centers',\r\n description: 'Displays all responsibilities that are due on a particular day.',\r\n widgetImage: './assets/images/responsibility-calender.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Residual Risk Rating by Responsibility Centers ',\r\n id: 'residual_risk_rating_by_responsibility_centers',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Risk Category Overview',\r\n id: 'risk_category_overview',\r\n description: 'description',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Risk Heatmap',\r\n id: 'risk_heatmap',\r\n description: 'Displays all responsibilities that are due on a particular day.',\r\n widgetImage: './assets/images/responsibility-calender.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Inherent Risk Rating by Categories',\r\n id: 'inherent_risk_rating_by_categories',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n },\r\n \r\n {\r\n title: 'Residual Risk Rating by Categories',\r\n id: 'residual_risk_rating_by_categories',\r\n description: 'description',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Inherent Risk Rating Trend by Responsibility Centers',\r\n id: 'inherent_risk_rating_trend_by_responsibility_centers',\r\n description: 'Displays all responsibilities that are due on a particular day.',\r\n widgetImage: './assets/images/responsibility-calender.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Residual Risk Rating Trend by Responsibility Centers',\r\n id: 'residual_risk_rating_trend_by_responsibility_centers',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n }, \r\n {\r\n title: 'Risk Rating Trend by Categories',\r\n id: 'risk_rating_trend_by_categories',\r\n description: 'Displays all responsibilities that are due on a particular day.',\r\n widgetImage: './assets/images/responsibility-calender.png',\r\n value: 0,\r\n },\r\n {\r\n title: 'Top 5 Risk Ratings',\r\n id: 'top_5_residual_risk_ratings',\r\n description: 'Displays all responsibilities that have been assigned to you.',\r\n widgetImage: './assets/images/overview.png',\r\n value: 0,\r\n },\r\n ];\r\n auditWidgetsData = [];\r\n policyWidgetsData = [];\r\n\r\n\r\n // For dashboard view\r\n dashBoardWidgetUpdate(widGetJson: any) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.put(this.env.OrganizationPut + 'dashboardWidgets', widGetJson).pipe(retry(2));\r\n }\r\n\r\n moduleType(identifier:string){\r\n if(JSON.stringify(this.complianceWidgetsData).includes(identifier)){\r\n return 'COMPLIANCE'\r\n }else if(JSON.stringify(this.subResponsibilities).includes(identifier)){\r\n return 'COMPLIANCE'\r\n }else if(JSON.stringify(this.subKeyResponsibilities).includes(identifier)){\r\n return 'COMPLIANCE'\r\n }else if(JSON.stringify(this.riskWidgetsData).includes(identifier)){\r\n return 'RISK'\r\n }\r\n }\r\n}\r\n","import { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { EditorConfig } from 'vcomply-editor';\r\nimport { DatePickerComponent, IDatePickerConfig } from 'ng2-date-picker';\r\nimport { CreateDashboardService } from './services/create-dashboard.service';\r\nimport { PaginationService } from './services/pagination.service';\r\nimport { UserListConfiguration } from './user-list/user-list.config';\r\nimport { CreateDashboardForm } from './create-dashboard-config';\r\nimport * as moment from 'moment';\r\nimport { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';\r\nimport { ConfigureWidgetsService } from './services/configure-widgets.service';\r\n\r\n@Component({\r\n selector: 'app-create-dashboard',\r\n templateUrl: './create-dashboard.component.html',\r\n styleUrls: ['./create-dashboard.component.less']\r\n})\r\nexport class CreateDashboardComponent implements OnInit, OnChanges {\r\n\r\n activeSelector = '';\r\n disabled = false;\r\n @Input() mode = 'CREATE';\r\n @Input() dashboardId = '';\r\n @Output() close = new EventEmitter();\r\n @Input() createdBy = 0;\r\n\r\n @ViewChild('fromDatePicker') fromDatePicker!: DatePickerComponent;\r\n @ViewChild('toDatePicker') toDatePicker!: DatePickerComponent;\r\n animation = true;\r\n\r\n totalPages = 1;\r\n totalList = 1;\r\n usersList: any[] = [];\r\n vLoader = true;\r\n userListLoaded = false;\r\n rcListLoaded = false;\r\n complianceCategoriesListLoaded = false;\r\n riskCategoryListLoaded = false;\r\n\r\n listDetails: UserListConfiguration = {\r\n selectedUsersList: [],\r\n nonRemovableUsersList: [],\r\n displayElementKey: 'member_name',\r\n elementIdKey: 'member_id',\r\n tooltipKey: 'member_email',\r\n };\r\n dashboardDescription: EditorConfig = {\r\n placeholder: 'Description (Max limit: 250 characters)',\r\n mode: 'prime',\r\n id: 'description'\r\n }\r\n responsibilityCategoriesTree: any = {\r\n regulations: {\r\n list: [],\r\n selectedList: []\r\n },\r\n standards: {\r\n list: [],\r\n selectedList: []\r\n },\r\n internalControls: {\r\n list: [],\r\n selectedList: []\r\n },\r\n others: {\r\n list: [],\r\n selectedList: []\r\n }\r\n };\r\n allComplianceCategories: any[] = [];\r\n allRiskCategories: any[] = [];\r\n\r\n dashboardForm: CreateDashboardForm = {\r\n dashboardName: '',\r\n dashboardDescriptionText: '',\r\n selectedViewers: [],\r\n selectedFromDate: undefined,\r\n selectedToDate: undefined,\r\n selectedResponsibilityCenters: [],\r\n selectedResponsibilityCategories: [],\r\n selectedRiskCategories: [],\r\n displayCriteria: 'and',\r\n configureWidget: [],\r\n frequencyDetails: '',\r\n selectedFrequencyType: '',\r\n selectedFrequencies: [0],\r\n frequencyMessage: '',\r\n frequencyDate: 1\r\n }\r\n\r\n\r\n openConfigureWidgets: boolean = false;\r\n selectedWidgetIds: any = [];\r\n responsibilityCentersList = [];\r\n datePickerOverlay = false;\r\n dayNames = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\r\n monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\r\n quarters = ['January, April, July, October', 'February, May, August, November', 'March, June, September, December'];\r\n\r\n categoryListLoaded = false;\r\n\r\n riskCategoryList = {\r\n strategic: {\r\n list: [],\r\n selectedList: []\r\n },\r\n operational: {\r\n list: [],\r\n selectedList: []\r\n },\r\n compliance: {\r\n list: [],\r\n selectedList: []\r\n },\r\n others: {\r\n list: [],\r\n selectedList: []\r\n },\r\n };\r\n\r\n fromDatePickerConfig: IDatePickerConfig = {\r\n min: this.getCurrentDate()\r\n }\r\n\r\n toDatePickerConfig: IDatePickerConfig = {\r\n }\r\n\r\n constructor(\r\n private createDashboardService: CreateDashboardService,\r\n private paginationService: PaginationService,\r\n private cdr: ChangeDetectorRef,\r\n private snackBar: SnackBarService,\r\n private configureWidgetsService: ConfigureWidgetsService\r\n ) { }\r\n\r\n ngOnChanges() {\r\n if (this.createdBy) {\r\n\r\n this.listDetails.nonRemovableUsersList.push(this.createdBy);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n this.getOrganizationUsersCount('');\r\n this.getCategoryList();\r\n this.getRCList();\r\n this.getComplianceCategoryList();\r\n this.checkWhetherAllListsLoaded();\r\n this.getUsersList('')\r\n\r\n }\r\n\r\n /**\r\n * Displays the listing pages the left side of policy form to set and edit the dropdown fields values\r\n * @param type holds name of particular list is to be displayed\r\n * @param event contains boolean value to display the list or not\r\n */\r\n activateSelector(type: any, event: boolean) {\r\n this.activeSelector = event ? type : '';\r\n }\r\n\r\n openFromDatePicker() {\r\n this.fromDatePicker.api.open();\r\n this.datePickerOverlay = true;\r\n }\r\n\r\n openToDatePicker() {\r\n this.toDatePicker.api.open();\r\n this.datePickerOverlay = true;\r\n }\r\n closeFromDatePicker() {\r\n let minToDate = this.dashboardForm.selectedFromDate.clone().add(1, 'days');\r\n this.toDatePickerConfig = { min: minToDate, minTime: minToDate };\r\n console.log(this.dashboardForm.selectedToDate && minToDate.diff(this.dashboardForm.selectedToDate) > 0)\r\n if (this.dashboardForm.selectedToDate && minToDate.diff(this.dashboardForm.selectedToDate) > 0) {\r\n this.dashboardForm.selectedToDate = undefined;\r\n }\r\n this.fromDatePicker.api.close();\r\n this.datePickerOverlay = false;\r\n }\r\n\r\n closeToDatePicker() {\r\n this.toDatePicker.api.close();\r\n this.datePickerOverlay = false;\r\n }\r\n\r\n animateImage() {\r\n const circleImage = document.getElementsByClassName('image')\r\n }\r\n\r\n saveFrequency(eventValues: any) {\r\n this.dashboardForm.selectedFrequencyType = eventValues.frequencyType;\r\n this.dashboardForm.selectedFrequencies = eventValues.frequencies;\r\n this.dashboardForm.frequencyMessage = eventValues.frequencyString;\r\n this.dashboardForm.frequencyDate = eventValues.selectedDate;\r\n this.activateSelector('', false)\r\n }\r\n\r\n getCurrentDate() {\r\n let today = new Date();\r\n return today.getDate() + '-' + (today.getMonth() + 1) + '-' + today.getFullYear();\r\n }\r\n\r\n configureDashboard() {\r\n let fieldsStatus = this.validateDashboard();\r\n if (fieldsStatus) {\r\n this.openConfigureWidgets = true;\r\n }\r\n }\r\n\r\n /**\r\n * Fetches organization users count api to get total number of pages\r\n * @param Url contains prams\r\n */\r\n getOrganizationUsersCount(Url: any) {\r\n this.createDashboardService.getOrganizationUsersCount(Url).subscribe(res => {\r\n this.totalList = res.total_members;\r\n if (res.total_members && res.limit_per_page > 1) {\r\n this.totalPages = res.create_page;\r\n } else {\r\n this.totalPages = 1;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Get users list by making api call and pre selects all admins by adding to viewers\r\n * @param url contains query params for organization users api \r\n */\r\n getUsersList(url: any) {\r\n this.createDashboardService.getAllUsers().subscribe((res: any) => {\r\n\r\n this.usersList = res;\r\n this.userListLoaded = true;\r\n\r\n if (this.mode === 'EDIT') {\r\n this.vLoader = true;\r\n } else {\r\n this.dashboardForm.selectedViewers = this.setList(this.usersList, [this.createdBy], 'member_id');\r\n this.listDetails.selectedUsersList = this.dashboardForm.selectedViewers;\r\n this.vLoader = false;\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n getComplianceCategoryList() {\r\n this.createDashboardService.getComplianceCategoriesList().subscribe((res: any) => {\r\n const data = res;\r\n this.allComplianceCategories = Object.assign(res)\r\n // cloneDeep(res);\r\n data.forEach((element: any) => {\r\n if (element && element.compliance_type == 0) {\r\n this.responsibilityCategoriesTree.others.list.push(element);\r\n }\r\n if (element && element.compliance_type == 1) {\r\n this.responsibilityCategoriesTree.regulations.list.push(element);\r\n }\r\n if (element && element.compliance_type == 2) {\r\n this.responsibilityCategoriesTree.standards.list.push(element);\r\n }\r\n if (element && element.compliance_type == 3) {\r\n this.responsibilityCategoriesTree.internalControls.list.push(element);\r\n }\r\n });\r\n this.complianceCategoriesListLoaded = true;\r\n }, (err: any) => {\r\n console.error(err);\r\n this.complianceCategoriesListLoaded = true;\r\n });\r\n }\r\n\r\n\r\n saveSelectedCategory(event: any) {\r\n console.log(\"event==>>>\", event);\r\n }\r\n\r\n getCategoryList() {\r\n this.createDashboardService.getCategoryList().subscribe((res: any) => {\r\n this.riskCategoryList.strategic.list = res.strategic_arr;\r\n this.riskCategoryList.operational.list = res.operational_arr;\r\n this.riskCategoryList.compliance.list = res.compliance_arr;\r\n this.riskCategoryList.others.list = res.others_arr;\r\n this.riskCategoryListLoaded = true;\r\n this.allRiskCategories = [...new Set(this.allRiskCategories.concat(res.strategic_arr, res.operational_arr, res.compliance_arr, res.others_arr))]\r\n\r\n }, err => {\r\n console.error(err);\r\n this.riskCategoryListLoaded = true;\r\n\r\n });\r\n }\r\n\r\n /**\r\n * It is to ensure whether all required lists on Policy from is loaded from the api call or not\r\n */\r\n checkWhetherAllListsLoaded() {\r\n if (this.rcListLoaded && this.complianceCategoriesListLoaded && this.riskCategoryListLoaded && this.userListLoaded) {\r\n if (this.mode === 'EDIT') {\r\n this.editDashboard();\r\n } else {\r\n this.vLoader = false;\r\n }\r\n } else {\r\n setTimeout(() => {\r\n this.checkWhetherAllListsLoaded();\r\n }, 300);\r\n }\r\n }\r\n\r\n widgetsDataModified(data: any) {\r\n if (this.mode === 'CREATE') {\r\n const widgetsArray: any = []\r\n data.forEach((element: any) => {\r\n let obj: any = {}\r\n obj.module_name = this.configureWidgetsService.moduleType(element),\r\n obj._id = '',\r\n obj.widget_name = element\r\n widgetsArray.push(obj)\r\n });\r\n this.dashboardForm.configureWidget = widgetsArray;\r\n } else if (this.mode === 'EDIT') {\r\n const widgetsArray: any = []\r\n\r\n data.forEach((element: any) => {\r\n if (!JSON.stringify(this.dashboardForm.configureWidget).includes(element)) {\r\n let obj: any = {}\r\n obj.module_name = this.configureWidgetsService.moduleType(element),\r\n obj._id = '',\r\n obj.widget_name = element\r\n this.dashboardForm.configureWidget.push(obj)\r\n }\r\n });\r\n this.dashboardForm.configureWidget.forEach((savedWidget: any) => {\r\n if (!data.includes(savedWidget.widget_name)) {\r\n savedWidget.state = 'DELETED'\r\n }\r\n });\r\n\r\n }\r\n this.openConfigureWidgets = false;\r\n this.submitDashboard();\r\n\r\n }\r\n\r\n closeConfigureWidgets(event: boolean) {\r\n this.openConfigureWidgets = event;\r\n }\r\n\r\n /**\r\n * Filter list user's list based on pagination by making api call\r\n * @param event specifies a boolean value to call api\r\n */\r\n paginationFilter(event: any) {\r\n if (event) {\r\n this.getUsersList({\r\n p: this.paginationService.currentPage === 1 ? '' : this.paginationService.currentPage,\r\n type: 'all_except_executive',\r\n q: (!this.paginationService.searchValue) ? '' : this.paginationService.searchValue,\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n getRCList() {\r\n this.createDashboardService.getResponsibilityCenterList().subscribe((res: any) => {\r\n this.responsibilityCentersList = res;\r\n this.rcListLoaded = true;\r\n\r\n }, (err: any) => {\r\n console.error(err);\r\n this.rcListLoaded = true;\r\n });\r\n }\r\n\r\n saveSelectedList(type: string, selectedItems: any) {\r\n console.log(\"selectedItems ==>\", selectedItems)\r\n switch (type) {\r\n case 'rc':\r\n this.dashboardForm.selectedResponsibilityCenters = this.setList(this.responsibilityCentersList, selectedItems, 'item_id');\r\n break;\r\n case 'whoCanView':\r\n this.dashboardForm.selectedViewers = selectedItems\r\n this.listDetails.selectedUsersList = this.dashboardForm.selectedViewers;\r\n break;\r\n case 'responsibilityCategories':\r\n this.dashboardForm.selectedResponsibilityCategories = selectedItems;\r\n break;\r\n case 'riskCategory':\r\n this.dashboardForm.selectedRiskCategories = selectedItems;\r\n break;\r\n }\r\n this.activateSelector('', false);\r\n }\r\n\r\n remove(type: any, event: any, removeIndex?: any) {\r\n switch (type) {\r\n case 'rc':\r\n const rcIndex = this.dashboardForm.selectedResponsibilityCenters.findIndex((rc: any) => rc.rc_id == event.rc_id);\r\n this.dashboardForm.selectedResponsibilityCenters.splice(rcIndex, 1);\r\n break;\r\n\r\n case 'whoCanView':\r\n const reviewerIndex = this.dashboardForm.selectedViewers.findIndex((viewer: any) => viewer.member_id == event.member_id);\r\n this.dashboardForm.selectedViewers.splice(reviewerIndex, 1);\r\n break;\r\n\r\n case 'responsibilityCategories':\r\n const CCcategoryIndex = this.dashboardForm.selectedResponsibilityCategories.findIndex((CCcategory: any) => CCcategory.category_id == event.category_id);\r\n this.dashboardForm.selectedResponsibilityCategories.splice(CCcategoryIndex, 1);\r\n break;\r\n\r\n case 'riskCategory':\r\n const riskCategoryIndex = this.dashboardForm.selectedRiskCategories.findIndex((riskCategory: any) => riskCategory.category_id == event.category_id);\r\n this.dashboardForm.selectedRiskCategories.splice(riskCategoryIndex, 1);\r\n break;\r\n\r\n }\r\n }\r\n\r\n setList(list: any[], ids: any[], key: string) {\r\n const data: any = [];\r\n\r\n ids.forEach((element: any) => {\r\n const index = list.findIndex((listElement: any) => listElement[key] == element);\r\n if (index !== -1) {\r\n data.push(list[index]);\r\n }\r\n });\r\n return data;\r\n }\r\n submitted = false\r\n\r\n /**\r\n * Returns id's from a particular list elements\r\n * @param list actual selected list\r\n * @param key contains key to extract id from the list\r\n */\r\n returnIds(list: any[], key: string) {\r\n return list.map(ele => { if (ele[key]) { return ele[key]; } });\r\n }\r\n\r\n /**\r\n * Validates the data submitted on create dashboard form\r\n */\r\n validateDashboard() {\r\n setTimeout(() => {\r\n this.submitted = true;\r\n\r\n }, 100);\r\n const event = this.dashboardForm.dashboardName;\r\n const re = / |<br>/g;\r\n this.dashboardForm.dashboardName = event.replace(re, '').trim();\r\n this.dashboardForm.dashboardDescriptionText.trim()\r\n if (!this.dashboardForm.dashboardName || this.dashboardForm.dashboardName.trim() == ''\r\n || (this.dashboardForm.dashboardName.length > 30)\r\n || (this.dashboardForm.dashboardDescriptionText.length > 250)) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n /**\r\n * Makes an api call to create a policy\r\n * @param dashboard contains dashboardForm data\r\n */\r\n submitDashboard() {\r\n\r\n this.submitted = false;\r\n const valid = this.validateDashboard();\r\n if (!valid) {\r\n return false;\r\n }\r\n this.vLoader = true;\r\n const dashboard = this.dashboardForm;\r\n const payload:any = {\r\n dashboard_name: dashboard.dashboardName,\r\n description: [\r\n {\r\n content: dashboard.dashboardDescriptionText,\r\n attachments: []\r\n }\r\n ],\r\n visible_to_users: this.returnIds(dashboard.selectedViewers, 'member_id'),\r\n responsibility_center: this.returnIds(dashboard.selectedResponsibilityCenters, 'item_id'),\r\n responsibility_category: this.returnIds(dashboard.selectedResponsibilityCategories, 'category_id'),\r\n risk_category: this.returnIds(dashboard.selectedRiskCategories, 'category_id'),\r\n display_criteria: (dashboard.displayCriteria === 'and') ? 'BOTH_RC_AND_CATEGORY' : 'RC_OR_CATEGORY',\r\n timeframe: {\r\n start_date: moment(dashboard.selectedFromDate).format('YYYY-MM-DD'),\r\n end_date: moment(dashboard.selectedToDate).format('YYYY-MM-DD'),\r\n },\r\n email_summary: this.setFrequency('', 'export'), //setFormat\r\n widget_details: dashboard.configureWidget\r\n }\r\n if (this.mode == 'CREATE') {\r\n this.createDashboardService.submitDashboard(payload).subscribe((res: any) => {\r\n this.vLoader = false;\r\n this.snackBar.show('The dashboard has been created.');\r\n this.close.emit('created');\r\n },\r\n err => {\r\n if (err.status === 409) {\r\n this.snackBar.show('A dashboard with this name already exists. Please add a new name.');\r\n this.vLoader = false;\r\n } else {\r\n console.error(err);\r\n this.vLoader = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n }\r\n\r\n\r\n }\r\n );\r\n }\r\n if (this.mode === 'EDIT') {\r\n payload.widget_update_flag= true\r\n this.createDashboardService.updateDashboard(this.dashboardId, payload).subscribe({\r\n next: (res: any) => {\r\n this.vLoader = false;\r\n this.snackBar.show('The dashboard has been updated');\r\n this.close.emit('updated');\r\n },\r\n error: (error: any) => {\r\n console.error(error);\r\n this.vLoader = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n }\r\n });\r\n\r\n\r\n }\r\n }\r\n\r\n editDashboard() {\r\n if (this.dashboardId) {\r\n this.createDashboardService.fetchDashboard(this.dashboardId).subscribe((res: any) => {\r\n const data = res;\r\n this.populateDashboardForm(data);\r\n }, error => {\r\n console.error(error);\r\n });\r\n }\r\n }\r\n\r\n populateDashboardForm(data: any) {\r\n this.dashboardForm.dashboardName = data.dashboard_name,\r\n this.dashboardForm.dashboardDescriptionText = data.description[0].content,\r\n this.dashboardForm.selectedViewers = this.setList(this.usersList, data.visible_to_users, 'member_id');\r\n\r\n this.dashboardForm.selectedResponsibilityCenters = this.setList(this.responsibilityCentersList, data.responsibility_center, 'item_id');\r\n this.dashboardForm.selectedResponsibilityCategories = this.setList(this.allComplianceCategories, data.responsibility_category, 'category_id');\r\n this.dashboardForm.selectedRiskCategories = this.setList(this.allRiskCategories, data.risk_category, 'category_id');\r\n\r\n this.dashboardForm.displayCriteria = (data.display_criteria === \"BOTH_RC_AND_CATEGORY\") ? 'and' : 'or';\r\n this.dashboardForm.selectedFromDate = (data.timeframe.start_date) ? moment(data.timeframe.start_date) : undefined;\r\n this.dashboardForm.selectedToDate = (data.timeframe.end_date) ? moment(data.timeframe.end_date) : undefined;\r\n this.vLoader = false;\r\n this.dashboardForm.configureWidget = data.widget_details\r\n this.selectedWidgetIds = data.widget_details.length > 0 ? [...new Set(data.widget_details)].map((ele: any) => ele.widget_name) : [];\r\n this.setFrequency(data.email_summary, 'import');\r\n }\r\n\r\n setFrequency(event: any, mode: any) {\r\n if (mode = 'export') {\r\n switch (this.dashboardForm.selectedFrequencyType) {\r\n case 'weekly':\r\n const weeklyValueData = this.dashboardForm.selectedFrequencies.map((ele: any) => Number(ele) + 1);\r\n const weeklyValue = weeklyValueData.join();\r\n return '2~' + weeklyValue + '~0~0'\r\n case 'monthly':\r\n const monthlyValueData = this.dashboardForm.selectedFrequencies.map((ele: any) => Number(ele) + 1);\r\n const monthlyValue = monthlyValueData.join();\r\n return '3~' + this.dashboardForm.frequencyDate + '~' + monthlyValue + '~0'\r\n case 'quarterly':\r\n const quarterlyValueData =Number(this.dashboardForm.selectedFrequencies) + 1;\r\n return '7~' + this.dashboardForm.frequencyDate + '~' + quarterlyValueData + '~0'\r\n\r\n }\r\n }\r\n if (mode = 'import') {\r\n const val = event.split('~')\r\n switch (val[0]) {\r\n case '2': {\r\n let stringVal = \"Every \";\r\n this.dashboardForm.selectedFrequencyType = 'weekly'\r\n this.dashboardForm.selectedFrequencies = val[1].split(',').map( (element:any)=>Number(element)-1);\r\n this.dashboardForm.selectedFrequencies.forEach((dayIndex: any, index: any) => {\r\n stringVal += index === 0 ? this.dayNames[dayIndex] : ', ' + this.dayNames[dayIndex];\r\n })\r\n this.dashboardForm.frequencyMessage = stringVal;\r\n }\r\n\r\n break\r\n case '3': {\r\n let stringVal = \"every \";\r\n this.dashboardForm.selectedFrequencyType = 'monthly'\r\n this.dashboardForm.frequencyDate = val[1]\r\n this.dashboardForm.selectedFrequencies = val[2].split(',').map( (element:any)=>Number(element)-1);\r\n this.dashboardForm.selectedFrequencies.forEach((monthIndex: any, index: any) => {\r\n stringVal += index === 0 ? this.monthNames[monthIndex] : ', ' + this.monthNames[monthIndex];\r\n })\r\n let monthDateName;\r\n if (this.dashboardForm.frequencyDate == \"1\") {\r\n monthDateName = '1st'\r\n }\r\n else if (this.dashboardForm.frequencyDate == \"2\") {\r\n monthDateName = '2nd'\r\n }\r\n else if (this.dashboardForm.frequencyDate == \"3\") {\r\n monthDateName = '3rd'\r\n }\r\n else {\r\n monthDateName = this.dashboardForm.frequencyDate + 'th'\r\n }\r\n this.dashboardForm.frequencyMessage = monthDateName + ' of ' + stringVal;\r\n }\r\n break\r\n case '7': {\r\n let stringVal = \"every \";\r\n\r\n this.dashboardForm.selectedFrequencyType = 'quarterly'\r\n this.dashboardForm.frequencyDate = val[1];\r\n debugger\r\n this.dashboardForm.selectedFrequencies =Number(val[2].split(',')[0]) - 1;\r\n stringVal += this.quarters[this.dashboardForm.selectedFrequencies];\r\n let monthDateName;\r\n if (this.dashboardForm.frequencyDate == \"1\") {\r\n monthDateName = '1st'\r\n }\r\n else if (this.dashboardForm.frequencyDate == \"2\") {\r\n monthDateName = '2nd'\r\n }\r\n else if (this.dashboardForm.frequencyDate == \"3\") {\r\n monthDateName = '3rd'\r\n }\r\n else {\r\n monthDateName = this.dashboardForm.frequencyDate + 'th'\r\n }\r\n this.dashboardForm.frequencyMessage = monthDateName + ' of ' + stringVal;\r\n }\r\n break\r\n\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewChecked() {\r\n //your code to update the model\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","import { Component, ElementRef, forwardRef, Input, OnInit, ViewChild, QueryList, ContentChildren } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { nanoid } from 'nanoid';\r\n// import { CsOptionComponent } from '../cs-option/cs-option.component';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'cs-select',\r\n templateUrl: './cs-select.component.html',\r\n styleUrls: ['./cs-select.component.less'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CsSelectComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class CsSelectComponent implements OnInit {\r\n @Input() dropdownLabel!: string;\r\n @Input() dropdownSubLabel!: string;\r\n @Input() isRequired!: string;\r\n @Input() placeholder!: string;\r\n\r\n // @ContentChildren(CsOptionComponent) op !: QueryList<CsOptionComponent>;\r\n\r\n dropdownToggle!: boolean;\r\n positionReset!: boolean;\r\n getLeft!: number;\r\n getTop!: number;\r\n getWidth!: number;\r\n maxWidth!: number;\r\n\r\n valuePlaceholder!: string;\r\n private optionList!: ElementRef;\r\n\r\n @ViewChild('optionList') set content(content: ElementRef) {\r\n if (content) {\r\n // initially setter gets called with undefined\r\n this.optionList = content;\r\n }\r\n }\r\n name!: string;\r\n val!: string;\r\n showOptions!: boolean;\r\n constructor() {\r\n this.name = nanoid();\r\n this.valuePlaceholder = '';\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n set RadioVal(val: any) {\r\n if (val !== undefined && val !== null && this.val !== val) {\r\n this.val = val;\r\n console.log('VALUE', this.val);\r\n this.onChange(val);\r\n this.onTouch(val);\r\n }\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.RadioVal = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n openDropdown(event: any): void {\r\n this.dropdownToggle = true;\r\n setTimeout(() => {\r\n const dropdown = event.target.getBoundingClientRect();\r\n const selectOption = this.optionList.nativeElement.offsetHeight;\r\n if (dropdown.top + selectOption * 2 > window.innerHeight) {\r\n this.getTop = dropdown.top - selectOption;\r\n } else {\r\n this.getTop = dropdown.top + dropdown.height;\r\n }\r\n this.getLeft = dropdown.left;\r\n this.getWidth = dropdown.width;\r\n this.maxWidth = dropdown.width * 1.25;\r\n this.showOptions = true;\r\n }, 10);\r\n }\r\n closeDropdown(): void {\r\n this.dropdownToggle = false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CsSelectService {\r\n color: any;\r\n constructor() {\r\n }\r\n}\r\n","import { Component, ElementRef, Input, OnInit, ViewChild, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CsSelectService } from '../../services/cs-select.service';\r\nimport { CsSelectComponent } from '../cs-select/cs-select.component';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'cs-option',\r\n templateUrl: './cs-option.component.html',\r\n styleUrls: ['./cs-option.component.less'],\r\n})\r\nexport class CsOptionComponent implements OnInit {\r\n @Input() value!: string;\r\n @ViewChild('options') option!: ElementRef;\r\n @Input() color!: any;\r\n constructor(public csSelect: CsSelectComponent, public colorSelector: CsSelectService) {\r\n this.value = '';\r\n }\r\n\r\n ngOnInit(): void { }\r\n\r\n change(event: any): void {\r\n if (this.option) {\r\n setTimeout(() => {\r\n this.csSelect.valuePlaceholder = this.option.nativeElement.innerHTML;\r\n this.colorSelector.color = this.color;\r\n console.log(this.color);\r\n }, 1);\r\n }\r\n this.csSelect.writeValue(this.value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safeHtml'\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitizer:DomSanitizer){}\r\n transform(html: any) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CsSelectComponent } from './cs-select/cs-select.component';\r\nimport { CsOptionComponent } from './cs-option/cs-option.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SafeHtmlPipe } from './safe-html.pipe';\r\n\r\n@NgModule({\r\n declarations: [CsSelectComponent, CsOptionComponent, SafeHtmlPipe],\r\n imports: [FormsModule, CommonModule],\r\n exports: [CsSelectComponent, CsOptionComponent],\r\n})\r\nexport class SelectModule {}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\nimport { CreateDashboardService } from '../services/create-dashboard.service';\r\nimport { PaginationService } from '../services/pagination.service';\r\nimport { UserListConfiguration } from './user-list.config';\r\n\r\n@Component({\r\n selector: 'app-user-list',\r\n templateUrl: './user-list.component.html',\r\n styleUrls: ['./user-list.component.less']\r\n})\r\nexport class UserListComponent implements OnInit {\r\n @Output() closeUserList = new EventEmitter();\r\n @Output() saveSelectedUsers = new EventEmitter();\r\n @Input() selectionType = '';\r\n @Input() listDetails: UserListConfiguration = {\r\n displayElementKey: '',\r\n elementIdKey: '',\r\n tooltipKey: '',\r\n selectedUsersList: [],\r\n nonRemovableUsersList:[]\r\n };\r\n\r\n footerDetails:DashboardFooterConfig={\r\n selectedData : [],\r\n nonRemovableList:[],\r\n displayElementKey: '',\r\n elementId: '',\r\n singularText: 'User selected',\r\n pluralText:'Users selected',\r\n showFrequency:false,\r\n frequencyText:'',\r\n isDisabled :false\r\n\r\n};\r\n vLoader = false;\r\n\r\n @Input() totalPages = 1;\r\n @Input() limit = 1;\r\n @Input() totalList = 1;\r\n\r\n searchList = [];\r\n searchValue = '';\r\n searchFilter = '';\r\n selectedIds: any[] = [];\r\n selectedList: any[] = [];\r\n\r\n\r\n animation = true;\r\n constructor(\r\n private paginationService: PaginationService,\r\n private dashboardService: CreateDashboardService\r\n ) { }\r\n\r\n ngOnChanges() {\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n if (this.listDetails.selectedUsersList.length > 0) {\r\n this.selectedList = this.listDetails.selectedUsersList;\r\n const selectedData = [...this.listDetails.selectedUsersList];\r\n this.footerDetails.selectedData = selectedData;\r\n this.footerDetails.nonRemovableList = this.listDetails.nonRemovableUsersList;\r\n this.selectedIds = selectedData.map((ele: any) => {\r\n if (ele[this.listDetails.elementIdKey]) { return ele[this.listDetails.elementIdKey]; }\r\n });\r\n\r\n }\r\n this.getUsersList({\r\n p: this.paginationService.currentPage === 1 ? '' : this.paginationService.currentPage,\r\n type: '',\r\n });\r\n this.footerDetails.displayElementKey = this.listDetails.displayElementKey; \r\n this.footerDetails.elementId = this.listDetails.elementIdKey; \r\n\r\n\r\n }\r\n\r\n cancelChanges() {\r\n\r\n }\r\n removeElement(event: any) {\r\n\r\n }\r\n submitChanges() {\r\n\r\n }\r\n selectAll(event: any) {\r\n if (event) {\r\n this.searchList.forEach(searchElement => {\r\n\r\n if (!this.selectedIds.includes(searchElement[this.listDetails.elementIdKey])) {\r\n this.selectedList.push(searchElement);\r\n this.selectedIds.push(searchElement[this.listDetails.elementIdKey]);\r\n this.footerDetails.selectedData = this.selectedList;\r\n }\r\n });\r\n\r\n } else {\r\n this.searchList.forEach(searchElement => {\r\n const index = this.selectedList.findIndex(ele => ele[this.listDetails.elementIdKey] ===\r\n searchElement[this.listDetails.elementIdKey]);\r\n this.selectedList.splice(index, 1);\r\n const filteredList = [...this.selectedList];\r\n this.footerDetails.selectedData = this.selectedList;\r\n\r\n const idIndex = this.selectedIds.findIndex(ele => ele === searchElement[this.listDetails.elementIdKey]);\r\n this.selectedIds.splice(idIndex, 1);\r\n });\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Selects all admins and managers at once by making api call.\r\n * @param event consists boolean value to select of unselect.\r\n */\r\n selectAllUsers(event: any) {\r\n if (event) {\r\n this.vLoader = true;\r\n this.dashboardService.getAllUsers().subscribe((res: any) => {\r\n this.selectedList = [...res];\r\n const selectedData = [...res];\r\n this.footerDetails.selectedData = this.selectedList;\r\n\r\n this.selectedIds = selectedData.map((ele: any) => {\r\n if (ele[this.listDetails.elementIdKey]) { return ele[this.listDetails.elementIdKey]; }\r\n });\r\n this.vLoader = false;\r\n });\r\n\r\n } else {\r\n \r\n this.selectedList = [];\r\n this.selectedIds = [];\r\n this.footerDetails.selectedData = [];\r\n\r\n }\r\n } \r\n\r\n /**\r\n * Selects checked item from the list.\r\n * In case of user's list calculates number of admins/manages to set visibility(either to all admins/ admins and managers)\r\n * @param data is the selected element\r\n */\r\n selectElement(data: any) {\r\n if (this.selectedIds.includes(data[this.listDetails.elementIdKey])) {\r\n const index = this.selectedList.findIndex(ele => ele[this.listDetails.elementIdKey] === data[this.listDetails.elementIdKey]);\r\n this.selectedList.splice(index, 1);\r\n this.footerDetails.selectedData = this.selectedList;\r\n\r\n const idIndex = this.selectedIds.findIndex(ele => ele === data[this.listDetails.elementIdKey]);\r\n\r\n this.selectedIds.splice(idIndex, 1);\r\n\r\n } else {\r\n this.selectedList.push(data);\r\n this.selectedIds.push(data[this.listDetails.elementIdKey]);\r\n this.footerDetails.selectedData = this.selectedList;\r\n\r\n }\r\n } \r\n\r\n/**\r\n * It is used to set and search value incase of backend driven list to differentiate search list and original list\r\n */\r\n setSearchValue() {\r\n this.paginationService.searchValue = this.searchValue;\r\n this.paginationFilter(true);\r\n\r\n }\r\n\r\n /**\r\n * it is used check select all condition incase of backend driven search\r\n */\r\n checkSelectAll() {\r\n if (this.searchList.length > 0) {\r\n const data: boolean = this.searchList.every(ele => this.selectedIds.includes(ele[this.listDetails.elementIdKey]));\r\n return data;\r\n } else {\r\n return false;\r\n \r\n }\r\n \r\n }\r\n /**\r\n * Filter list user's list based on pagination by making api call\r\n * @param event specifies a boolean value to call api\r\n */\r\n paginationFilter(event: any) {\r\n // this.paginationFilterEvent.emit(event);\r\n if (event) {\r\n this.vLoader=true;\r\n this.getUsersList({\r\n p: this.paginationService.currentPage === 1 ? '' : this.paginationService.currentPage,\r\n type: '',\r\n q: (!this.paginationService.searchValue) ? '' : this.paginationService.searchValue,\r\n });\r\n\r\n }\r\n }\r\n /**\r\n * Gets user's list by making api call\r\n * @param url contains userlist filter details\r\n */\r\n getUsersList(url: any) {\r\n this.vLoader = true;\r\n\r\n this.dashboardService.getOrganizationUsers(url ? url : '').subscribe(res => {\r\n // console.log(this.selectedList,this.selectedIds)\r\n // debugger\r\n this.searchList = res;\r\n this.vLoader = false;\r\n\r\n\r\n });\r\n\r\n }\r\n /**\r\n * on click on next button from the list, it emits the selected list of elements to parent component.\r\n */\r\n onSubmit() {\r\n const data = this.selectedList //add clonedeep\r\n this.saveSelectedUsers.emit(data);\r\n this.paginationService.reset();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\n\r\n@Component({\r\n selector: 'app-responsibility-center',\r\n templateUrl: './responsibility-center.component.html',\r\n styleUrls: ['./responsibility-center.component.less']\r\n})\r\nexport class ResponsibilityCenterComponent implements OnInit, OnChanges {\r\n @Output() saveSelectedList = new EventEmitter();\r\n @Output() closeRcList = new EventEmitter();\r\n @Input() responsibilityCentersList = [];\r\n @Input() selectedResponsibilityCenters = [];\r\n @Input() rcIdKey = '';\r\n @Input() radioSelection = false;\r\n\r\n\r\n selectedIds: any[] = [];\r\n animation = false;\r\n search = '';\r\n footerDetails: DashboardFooterConfig = {\r\n selectedData: [],\r\n nonRemovableList:[],\r\n displayElementKey: 'item_name',\r\n elementId: 'item_id',\r\n singularText: 'Responsibility selected',\r\n pluralText: 'Responsibilities selected',\r\n showFrequency: false,\r\n frequencyText: '',\r\n isDisabled: false\r\n\r\n };\r\n constructor() { }\r\n\r\n ngOnChanges(): void {\r\n this.footerDetails.selectedData = this.selectedResponsibilityCenters;\r\n this.selectedIds = this.selectedResponsibilityCenters.map((ele: any) => { if (ele[this.rcIdKey]) { return ele[this.rcIdKey]; } });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n }\r\n\r\n selectRc(rc: any, mode: any) {\r\n if (this.radioSelection) {\r\n if (mode) {\r\n this.selectedIds = [];\r\n this.selectedIds.push(rc);\r\n }\r\n this.setList();\r\n } else {\r\n if (mode) {\r\n this.selectedIds.push(rc);\r\n const rcElement = this.responsibilityCentersList.findIndex((ele: any) => ele.item_id == rc);\r\n if (rcElement !== -1) {\r\n const parentRc: any = this.responsibilityCentersList[rcElement];\r\n if (parentRc?.item_child_ids.length > 0) {\r\n parentRc.item_child_ids.forEach((childElement: any) => {\r\n if(!this.selectedIds.includes(childElement)){\r\n this.selectedIds.push(childElement);\r\n }\r\n });\r\n }\r\n }\r\n\r\n } else {\r\n const index = this.selectedIds.findIndex((element: any) => element == rc);\r\n this.selectedIds.splice(index, 1);\r\n const rcElement = this.responsibilityCentersList.findIndex((ele: any) => ele.item_id == rc);\r\n if (rcElement !== -1) {\r\n const parentRc: any = this.responsibilityCentersList[rcElement];\r\n if (parentRc?.item_child_ids.length > 0) {\r\n parentRc.item_child_ids.forEach((childElement: any) => {\r\n const removeIndex = this.selectedIds.findIndex((removeElement: any) => removeElement == childElement);\r\n this.selectedIds.splice(removeIndex, 1);\r\n });\r\n }\r\n }\r\n\r\n }\r\n this.setList();\r\n }\r\n\r\n\r\n }\r\n deleteEvent(event: any) {\r\n const index = this.selectedIds.findIndex((element: any) => element == event[this.rcIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n this.setList();\r\n }\r\n\r\n selectAll(mode: any) {\r\n if (mode) {\r\n const list = [...this.responsibilityCentersList];\r\n this.selectedIds = [];\r\n list.forEach(element => {\r\n this.selectedIds.push(element[this.rcIdKey]);\r\n });\r\n } else {\r\n this.selectedIds = [];\r\n }\r\n this.setList();\r\n }\r\n\r\n\r\n setList() {\r\n const data: any = [];\r\n const rcList = [...new Set(this.responsibilityCentersList)]\r\n // cloneDeep(this.responsibilityCentersList);\r\n const selectedIds = [...new Set(this.selectedIds)]\r\n // cloneDeep(this.selectedIds);\r\n rcList.forEach((element: any) => {\r\n if (selectedIds.includes(element[this.rcIdKey])) {\r\n data.push(element);\r\n }\r\n });\r\n this.selectedResponsibilityCenters = data;\r\n this.footerDetails.selectedData = this.selectedResponsibilityCenters;\r\n }\r\n\r\n checkSelectAll() {\r\n const data = this.responsibilityCentersList.every((rc: any) => this.selectedIds.includes(rc[this.rcIdKey]));\r\n return data;\r\n }\r\n\r\n save() {\r\n this.saveSelectedList.emit(this.selectedIds);\r\n }\r\n\r\n closeResponsibilityCenterList() {\r\n this.closeRcList.emit();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\nimport { CategoriesConfig } from './categories-config';\r\n\r\n@Component({\r\n selector: 'app-categories',\r\n templateUrl: './categories.component.html',\r\n styleUrls: ['./categories.component.less']\r\n})\r\nexport class CategoriesComponent implements OnInit {\r\n\r\n\r\n @Input() categoryList: CategoriesConfig = {\r\n regulations: {\r\n list: [],\r\n selectedList: []\r\n },\r\n standards: {\r\n list: [],\r\n selectedList: []\r\n },\r\n internalControls: {\r\n list: [],\r\n selectedList: []\r\n },\r\n others: {\r\n list: [],\r\n selectedList: []\r\n }\r\n };\r\n @Input() allCategories: any[] = [];\r\n\r\n @Input() categoryIdKey: any;\r\n @Input() selectedCategories: any[] = [];\r\n\r\n search = '';\r\n activeTab: \"standards\" | \"regulations\" | \"internalControls\" | \"others\"=\"regulations\";\r\n selectedIds: any[] = [];\r\n animation = false;\r\n blockWidth: any;\r\n footerDetails: DashboardFooterConfig = {\r\n selectedData: [],\r\n nonRemovableList:[],\r\n displayElementKey: 'item_name',\r\n elementId: 'item_id',\r\n singularText: 'Category selected',\r\n pluralText: 'Categories selected',\r\n showFrequency: false,\r\n frequencyText: '',\r\n isDisabled: false\r\n\r\n };\r\n\r\n @Output() saveSelectedCategory = new EventEmitter();\r\n @Output() closeList = new EventEmitter();\r\n @Output() closeCategoriesList = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n // debugger\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n this.selectedIds = [];\r\n if (this.selectedCategories) {\r\n this.selectedCategories.forEach(element => {\r\n this.selectedIds.push(element[this.categoryIdKey]);\r\n });\r\n }\r\n this.setList()\r\n // console.log(this.selectedCategories)\r\n // debugger\r\n // console.log(this.allCategories)\r\n\r\n // console.log(this.activeTab)\r\n // console.log(this.categoryList)\r\n\r\n }\r\n\r\n selectCategory(mode: any, activeTab: any, category: any) {\r\n if (mode) {\r\n this.selectedIds.push(category[this.categoryIdKey]);\r\n } else {\r\n const index = this.selectedIds.findIndex((element: any) => element == category[this.categoryIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n }\r\n this.setList();\r\n\r\n }\r\n\r\n deleteEvent(event: any) {\r\n const index = this.selectedIds.findIndex((element: any) => element == event[this.categoryIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n this.setList();\r\n }\r\n\r\n selectAll(mode: any, activeTab: \"standards\" | \"regulations\" | \"internalControls\" | \"others\") {\r\n\r\n if (mode) {\r\n const list = [...this.categoryList[activeTab].list];\r\n list.forEach(element => {\r\n if (!this.selectedIds.includes(element[this.categoryIdKey])) {\r\n this.selectedIds.push(element[this.categoryIdKey]);\r\n }\r\n }); \r\n } else {\r\n const list = [...this.categoryList[activeTab].list];\r\n list.forEach(element => {\r\n if (this.selectedIds.includes(element[this.categoryIdKey])) {\r\n let idIndex = this.selectedIds.findIndex((id: any) => id == element[this.categoryIdKey]);\r\n this.selectedIds.splice(idIndex, 1);\r\n }\r\n });\r\n }\r\n this.setList();\r\n }\r\n\r\n setList() {\r\n const data: any = [];\r\n const categoryList = [...new Set(this.allCategories)] \r\n // cloneDeep(this.allCategories)\r\n const selectedIds =[...new Set(this.selectedIds)] \r\n // cloneDeep(this.selectedIds);\r\n this.categoryList.regulations.selectedList = [];\r\n this.categoryList.standards.selectedList = [];\r\n this.categoryList.internalControls.selectedList = [];\r\n this.categoryList.others.selectedList = [];\r\n\r\n categoryList.forEach((element: any) => {\r\n if (selectedIds.includes(element[this.categoryIdKey])) {\r\n data.push(element);\r\n }\r\n });\r\n this.selectedCategories = data;\r\n this.footerDetails.selectedData = data;\r\n\r\n this.categoryList.regulations.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.regulations.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.standards.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.standards.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.internalControls.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.internalControls.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.others.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.others.selectedList.push(category)\r\n }\r\n });\r\n if (!this.activeTab) {\r\n this.setActiveTab();\r\n }\r\n }\r\n setActiveTab() {\r\n if (this.categoryList.regulations.selectedList.length > 0) {\r\n this.activeTab = 'regulations'\r\n } else if (this.categoryList.standards.selectedList.length > 0) {\r\n this.activeTab = 'standards'\r\n } else if (this.categoryList.internalControls.selectedList.length > 0) {\r\n this.activeTab = 'internalControls'\r\n } else if (this.categoryList.others.selectedList.length > 0) {\r\n this.activeTab = 'others'\r\n } else {\r\n this.activeTab = 'regulations'\r\n }\r\n }\r\n\r\n\r\n checkSelectAll(activeTab: \"standards\" | \"regulations\" | \"internalControls\" | \"others\") {\r\n const data = this.categoryList[activeTab].list.every((user: any) => this.selectedIds.includes(user[this.categoryIdKey]));\r\n return data;\r\n }\r\n\r\n save() {\r\n this.saveSelectedCategory.emit(this.selectedCategories);\r\n }\r\n\r\n close() {\r\n this.closeCategoriesList.emit();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\n\r\n\r\n@Component({\r\n selector: 'app-frequency',\r\n templateUrl: './frequency.component.html',\r\n styleUrls: ['./frequency.component.less']\r\n})\r\nexport class FrequencyComponent implements OnInit {\r\n @Input() savedFrequencyTab: string | undefined;\r\n monthlyDate = 1;\r\n quarterlyDate = 1;\r\n @Input() savedFrequencies: any;\r\n @Input() selectedDate: any;\r\n frequencyTab = 'weekly';\r\n dayNames = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\r\n monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\r\n quarters = ['January, April, July, October', 'February, May, August, November', 'March, June, September, December'];\r\n selectedDays: number[] = [0];\r\n selectedMonths: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\r\n selectedQuarter = 0;\r\n @Output() closeFrequencyPopup = new EventEmitter<string>();\r\n @Output() saveFrequency = new EventEmitter<any>();\r\n footerDetails: DashboardFooterConfig = {\r\n selectedData: [],\r\n nonRemovableList:[],\r\n displayElementKey: '',\r\n elementId: '',\r\n singularText: '',\r\n pluralText: '',\r\n showFrequency: true,\r\n frequencyText: 'You have selected a <strong>' + this.frequencyTab + '</strong> frequency.',\r\n isDisabled: false\r\n\r\n };\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n if (this.savedFrequencyTab) {\r\n this.changeTab(this.savedFrequencyTab);\r\n }\r\n if (this.selectedDate) {\r\n switch (this.savedFrequencyTab) {\r\n case 'weekly':\r\n this.selectedDays = this.savedFrequencies;\r\n break;\r\n case 'monthly':\r\n this.monthlyDate = this.selectedDate;\r\n this.selectedMonths = this.savedFrequencies;\r\n\r\n break;\r\n case 'quarterly':\r\n this.quarterlyDate = this.selectedDate\r\n this.selectedQuarter = this.savedFrequencies;\r\n\r\n break;\r\n\r\n }\r\n }\r\n\r\n }\r\n closeFrequency() {\r\n this.closeFrequencyPopup.emit();\r\n }\r\n daySelectionChange(event: any, index: any) {\r\n if (event) { //checkbox was selected\r\n this.selectedDays.push(index);\r\n } else {\r\n let unselectedElementIndex = this.selectedDays.indexOf(index);\r\n this.selectedDays.splice(unselectedElementIndex, 1);\r\n }\r\n }\r\n monthSelectionChange(event: any, index: any) {\r\n if (event) {\r\n this.selectedMonths.push(index);\r\n } else {\r\n let unselectedElementIndex = this.selectedMonths.indexOf(index);\r\n this.selectedMonths.splice(unselectedElementIndex, 1);\r\n }\r\n }\r\n\r\n quarterSelectionChange(event: any, index: any) {\r\n this.selectedQuarter = index;\r\n }\r\n\r\n changeTab(tabValue: string) {\r\n this.frequencyTab = tabValue;\r\n this.footerDetails.frequencyText = 'You have selected a <strong>' + this.frequencyTab + '</strong> frequency.';\r\n this.setToDefaultValues()\r\n if (this.frequencyTab === this.savedFrequencyTab) {\r\n // debugger\r\n switch (this.frequencyTab) {\r\n case 'weekly': {\r\n this.selectedDays = [...this.savedFrequencies];\r\n break;\r\n }\r\n case 'monthly': {\r\n this.selectedMonths = [...this.savedFrequencies];\r\n break;\r\n }\r\n case 'quarterly': {\r\n this.selectedQuarter = this.savedFrequencies;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n setToDefaultValues() {\r\n this.selectedDays = [0];\r\n this.selectedMonths = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\r\n this.selectedQuarter = 0;\r\n }\r\n\r\n submitFrequency() {\r\n let stringVal = \"Every \";\r\n let frequencies;\r\n let selectedDate = 1;\r\n switch (this.frequencyTab) {\r\n case 'weekly': {\r\n if (this.selectedDays.length > 0) {\r\n this.selectedDays.sort();\r\n frequencies = this.selectedDays;\r\n this.selectedDays.forEach((dayIndex, index) => {\r\n stringVal += index === 0 ? this.dayNames[dayIndex] : ', ' + this.dayNames[dayIndex];\r\n })\r\n } else {\r\n // nothing was selected\r\n this.closeFrequency();\r\n }\r\n break;\r\n }\r\n case 'monthly': {\r\n stringVal = \" of every \";\r\n if (this.selectedMonths.length > 0) {\r\n frequencies = this.selectedMonths;\r\n this.monthNames.forEach((monthNames: string, monthIndex: number) => {\r\n if (this.selectedMonths.includes(monthIndex + 1)) {\r\n stringVal += monthIndex + 1 === 1 ? monthNames : ', ' + monthNames;\r\n\r\n }\r\n })\r\n let monthDateName;\r\n if (this.monthlyDate == 1) {\r\n monthDateName = '1st'\r\n }\r\n else if (this.monthlyDate == 2) {\r\n monthDateName = '2nd'\r\n }\r\n else if (this.monthlyDate == 3) {\r\n monthDateName = '3rd'\r\n }\r\n else {\r\n monthDateName = this.monthlyDate + 'th'\r\n }\r\n stringVal = monthDateName + stringVal;\r\n selectedDate = this.monthlyDate;\r\n } else {\r\n // nothing was selected\r\n this.closeFrequency();\r\n }\r\n break;\r\n }\r\n case 'quarterly': {\r\n stringVal = \" of every \";\r\n\r\n if (this.selectedQuarter >= 0) {\r\n frequencies = this.selectedQuarter;\r\n stringVal += this.quarters[this.selectedQuarter];\r\n selectedDate = this.quarterlyDate;\r\n let monthDateName;\r\n if (this.quarterlyDate == 1) {\r\n monthDateName = '1st'\r\n }\r\n else if (this.quarterlyDate == 2) {\r\n monthDateName = '2nd'\r\n }\r\n else if (this.quarterlyDate == 3) {\r\n monthDateName = '3rd'\r\n }\r\n else {\r\n monthDateName = this.quarterlyDate + 'th'\r\n }\r\n stringVal = monthDateName + stringVal;\r\n selectedDate = this.quarterlyDate;\r\n } else {\r\n // nothing was selected\r\n this.closeFrequency();\r\n }\r\n break;\r\n }\r\n }\r\n //emit event to save + close\r\n this.saveFrequency.emit({\r\n frequencyString: stringVal,\r\n frequencyType: this.frequencyTab,\r\n frequencies: frequencies,\r\n selectedDate\r\n })\r\n }\r\n}\r\n","import { Component, OnInit, OnChanges, Input, Output, EventEmitter } from '@angular/core';\r\nimport { PaginationService } from '../../create-dashboard-container/services/pagination.service';\r\n\r\n@Component({\r\n selector: 'app-pagination',\r\n templateUrl: './pagination.component.html',\r\n styleUrls: ['./pagination.component.less']\r\n})\r\n/**\r\n * Adds place holder for Pagination on the lists\r\n */\r\nexport class PaginationComponent implements OnInit, OnChanges {\r\n start = 1;\r\n totalCount!: number;\r\n paginationArray: any[] = [];\r\n currentPage!: number;\r\n @Input() totalPages = 1;\r\n @Input() limit = 1;\r\n @Input() totalList = 1;\r\n @Output() paginationFilter = new EventEmitter();\r\n\r\n constructor(private paginationService: PaginationService) {\r\n }\r\n ngOnChanges() {\r\n this.currentPage = Number(this.paginationService.currentPage);\r\n this.start = Number(this.paginationService.currentPage);\r\n this.rebuildPagination(this.currentPage, this.totalPages);\r\n }\r\n\r\n ngOnInit() {\r\n this.currentPage = Number(this.paginationService.currentPage);\r\n this.start = Number(this.paginationService.currentPage);\r\n this.rebuildPagination(this.currentPage, this.totalPages);\r\n this.paginationService.currentValues.subscribe(event => {\r\n if (event && (this.paginationService.currentPage !== this.currentPage)) {\r\n this.currentPage = this.paginationService.currentPage;\r\n }\r\n });\r\n }\r\n\r\n /* In this function we will recreate the pagination structure as per current page and\r\n total number of pages */\r\n\r\n rebuildPagination(currentPage: number, totalCount: number) {\r\n this.paginationArray = [];\r\n this.totalCount = totalCount;\r\n this.currentPage = currentPage;\r\n if (this.paginationService.currentPage !== this.currentPage) {\r\n this.paginationService.currentPage = this.currentPage;\r\n this.paginationFilter.emit(true);\r\n }\r\n\r\n // If there are only 6 pages or less in total, just display all pages without \"...\"\r\n if (totalCount <= 6) {\r\n for (let i = 1; i <= totalCount; i++) {\r\n this.paginationArray.push(i);\r\n }\r\n }\r\n // ELSE display with ...\r\n else {\r\n\r\n // Always print first page button\r\n this.paginationArray.push(1);\r\n\r\n // Print \"...\" if currentPage is > 3\r\n if (currentPage > 3) {\r\n // this.paginationArray.push(2);\r\n this.paginationArray.push('...');\r\n\r\n }\r\n // special case where last page is selected...\r\n // Without this special case, only 2 buttons would be shown after ... if you were on last page\r\n if (currentPage === totalCount) {\r\n this.paginationArray.push(currentPage - 2);\r\n }\r\n\r\n // Print previous number button if currentPage > 2\r\n if (currentPage > 2) {\r\n this.paginationArray.push(currentPage - 1);\r\n }\r\n\r\n // Print current page number button as long as it not the first or last page\r\n if (currentPage !== 1 && currentPage !== totalCount) {\r\n this.paginationArray.push(currentPage);\r\n\r\n }\r\n\r\n // print next page number button if currentPage < lastPage - 1\r\n if (currentPage < totalCount - 1) {\r\n this.paginationArray.push(currentPage + 1);\r\n\r\n }\r\n\r\n // special case where first page is selected...\r\n // Without this special case, only 2 buttons would be shown before ... if you were on first page\r\n if (currentPage === 1) {\r\n this.paginationArray.push(currentPage + 2);\r\n\r\n }\r\n\r\n // print \"...\" if currentPage is < lastPage -2\r\n if (currentPage < totalCount - 2) {\r\n this.paginationArray.push('...');\r\n\r\n // HTML += \"...\";\r\n }\r\n\r\n // Always print last page button if there is more than 1 page\r\n if (totalCount > 1) {\r\n this.paginationArray.push(totalCount);\r\n\r\n }\r\n }\r\n\r\n }\r\n/* In this function we will set current page according to the action performed on browser\r\n ex: prev next buttons clicks or selecting a particular page */\r\n\r\n changePage(prev: string, page: number, next: string) {\r\n if (prev) {\r\n if (this.start > 1) {\r\n this.start--;\r\n // We have changed the start page, total rebuild the pagination\r\n this.rebuildPagination(this.start, this.totalCount);\r\n }\r\n }\r\n if (next) {\r\n if (this.start < this.totalCount) {\r\n this.start++;\r\n this.rebuildPagination(this.start, this.totalCount);\r\n }\r\n }\r\n if (page) {\r\n this.start = page;\r\n this.rebuildPagination(this.start, this.totalCount);\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PaginationComponent } from './pagination.component';\r\n\r\n@NgModule({\r\n declarations: [PaginationComponent],\r\n imports: [CommonModule],\r\n exports: [PaginationComponent],\r\n})\r\nexport class PaginationModule {}","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-checkbox',\r\n templateUrl: './cs-checkbox.component.html',\r\n styleUrls: ['./cs-checkbox.component.less'],\r\n})\r\nexport class CsCheckboxComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() ngValue: any;\r\n @Input() value: any;\r\n @Output() ngValueChange = new EventEmitter<any>();\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n valueChanged() {\r\n this.ngValueChange.emit(this.ngValue);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-radio',\r\n templateUrl: './cs-radio.component.html',\r\n styleUrls: ['./cs-radio.component.less'],\r\n})\r\nexport class CsRadioComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() readonly!: boolean;\r\n @Input() name!: string;\r\n @Input() checked!: boolean;\r\n @Input() value: any;\r\n @Output() checkedEvent = new EventEmitter();\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n changeState(evt: any) {\r\n this.checkedEvent.emit(evt);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-switch',\r\n templateUrl: './cs-switch.component.html',\r\n styleUrls: ['./cs-switch.component.less'],\r\n})\r\nexport class CsSwitchComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() ngValue: any;\r\n @Input() value: any;\r\n @Output() ngValueChange = new EventEmitter<any>();\r\n @Input() tooltipMessage: any;\r\n @Input() position: any;\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n // console.log(this.value);\r\n }\r\n valueChanged() {\r\n this.ngValueChange.emit(this.ngValue);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-radio-group',\r\n templateUrl: './cs-radio-group.component.html',\r\n styleUrls: ['./cs-radio-group.component.less'],\r\n})\r\nexport class CsRadioGroupComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-select',\r\n templateUrl: './cs-select.component.html',\r\n styleUrls: ['./cs-select.component.less'],\r\n})\r\nexport class CsSelectComponent implements OnChanges {\r\n @Input() dataList!: any[];\r\n @Input() dropdownLabel!: string;\r\n @Input() displayProperty!: string;\r\n @Input() selectedValue!: string;\r\n @Input() isRequired!: boolean;\r\n @Input() dropdownSubLabel!: string;\r\n @Input() disabled!: boolean;\r\n @ViewChild('option') option!: ElementRef;\r\n\r\n @Output() selectedData = new EventEmitter();\r\n @Output() selectedValueChange = new EventEmitter();\r\n @Input() placeholder: any;\r\n @Input() stylex: any;\r\n @Input() valueKey: any;\r\n @Input() multipleSelect: any;\r\n @Input() colorProperty!: string;\r\n\r\n @Input() colorSelected!: string;\r\n colorCode!: string;\r\n\r\n dropdownOption = false;\r\n positionReset!: boolean;\r\n getLeft!: number;\r\n getTop!: number;\r\n getWidth!: number;\r\n maxWidth!: number;\r\n activeDoropdown = false;\r\n\r\n private optionList!: ElementRef;\r\n\r\n @ViewChild('optionList') set content(content: ElementRef) {\r\n if (content) {\r\n // initially setter gets called with undefined\r\n this.optionList = content;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.selectedValue) {\r\n this.selectedValue = this.selectedValue || '--';\r\n }\r\n }\r\n\r\n openDropdown(event: any): void {\r\n this.dropdownOption = true;\r\n setTimeout(() => {\r\n const dropdown = event.target.getBoundingClientRect();\r\n const selectOption = this.optionList.nativeElement.offsetHeight;\r\n if (dropdown.top + selectOption * 2 > window.innerHeight) {\r\n this.getTop = dropdown.top - selectOption;\r\n } else {\r\n this.getTop = dropdown.top + dropdown.height;\r\n }\r\n this.getLeft = dropdown.left;\r\n this.getWidth = dropdown.width;\r\n this.maxWidth = dropdown.width * 1.25;\r\n }, 10);\r\n setTimeout(() => {\r\n this.activeDoropdown = true;\r\n }, 100);\r\n }\r\n selectOption(selectedData: any) {\r\n if (typeof selectedData === 'object') {\r\n this.selectedValue = selectedData[this.displayProperty];\r\n this.colorSelected = selectedData[this.colorProperty];\r\n } else {\r\n this.selectedValue = selectedData;\r\n }\r\n this.selectedData.emit(selectedData);\r\n this.dropdownOption = false;\r\n }\r\n closeDropdown() {\r\n this.dropdownOption = false;\r\n }\r\n}\r\n","import { Directive, Input, ElementRef, HostListener, Renderer2, OnInit, AfterViewInit, ViewChild } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[arTooltip]',\r\n})\r\nexport class ToolTipDirective implements OnInit {\r\n @Input('arTooltip') tooltipTitle!: string;\r\n @Input() placement!: string;\r\n @Input() type: any;\r\n @Input() tooltipMandatory!: boolean;\r\n @Input() showTooltip = true;\r\n @Input() animate!: boolean;\r\n tooltip!: HTMLElement;\r\n offset = 10;\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {}\r\n ngOnInit() {}\r\n @HostListener('mouseenter') onMouseEnter() {\r\n this.hide();\r\n this.show();\r\n }\r\n @HostListener('mouseover') onMouseOver() {\r\n this.hide();\r\n this.show();\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave() {\r\n this.hide();\r\n }\r\n @HostListener('mouseout') onMouseOut() {\r\n this.hide();\r\n }\r\n @HostListener('click') onClick() {\r\n this.hide();\r\n }\r\n show() {\r\n if (!this.showTooltip) {\r\n return;\r\n }\r\n this.create();\r\n const element = this.el.nativeElement;\r\n if (this.tooltipMandatory === true) {\r\n this.setPosition();\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\r\n } else {\r\n if (element.scrollWidth * element.scrollHeight > element.offsetWidth * element.offsetHeight) {\r\n this.setPosition();\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\r\n }\r\n }\r\n }\r\n\r\n hide() {\r\n if (document.body.contains(this.tooltip)) {\r\n if (this.renderer) {\r\n this.renderer.removeChild(document.body, document.getElementById('tooltip'));\r\n }\r\n }\r\n }\r\n\r\n create() {\r\n this.tooltip = this.renderer.createElement('span');\r\n this.tooltip.setAttribute('id', 'tooltip');\r\n this.tooltip.innerHTML = this.tooltipTitle;\r\n this.renderer.appendChild(document.body, this.tooltip);\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip');\r\n this.renderer.addClass(this.tooltip, `ng-tooltip-${this.placement}`);\r\n this.renderer.addClass(this.tooltip, `${this.type}`);\r\n if (this.animate) {\r\n this.renderer.addClass(this.tooltip, `animate-${this.placement}`);\r\n }\r\n }\r\n\r\n setPosition() {\r\n const hostPos = this.el.nativeElement.getBoundingClientRect();\r\n const tooltipPos = this.tooltip.getBoundingClientRect();\r\n const scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n const w = window.innerWidth;\r\n const h = window.innerHeight;\r\n let top;\r\n let left;\r\n if (this.placement === 'top') {\r\n top = hostPos.top - tooltipPos.height - this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n\r\n if (this.placement === 'bottom') {\r\n if (hostPos.top + tooltipPos.height > h) {\r\n top = hostPos.top - tooltipPos.height;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n this.renderer.removeClass(this.tooltip, `ng-tooltip-bottom`);\r\n this.renderer.addClass(this.tooltip, `ng-tooltip-top`);\r\n } else {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n }\r\n\r\n if (this.placement === 'left') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.left - tooltipPos.width - this.offset;\r\n }\r\n\r\n if (this.placement === 'right') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.right + this.offset;\r\n }\r\n if (this.placement === 'bottom-right') {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left - (tooltipPos.width - 28);\r\n }\r\n if (this.placement === 'bottom-left') {\r\n if (hostPos.top + tooltipPos.height > h - 30) {\r\n top = hostPos.top - tooltipPos.height;\r\n console.log('bottom left', hostPos.top - tooltipPos.height);\r\n left = hostPos.left;\r\n this.renderer.removeClass(this.tooltip, `ng-tooltip-bottom-left`);\r\n this.renderer.addClass(this.tooltip, `ng-tooltip-top-left`);\r\n } else {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left;\r\n }\r\n }\r\n this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);\r\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ToolTipDirective } from './tooltip.directive';\r\n\r\n@NgModule({\r\n declarations: [ToolTipDirective],\r\n imports: [CommonModule],\r\n exports: [ToolTipDirective],\r\n})\r\nexport class TooltipModule {}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'pascal',\r\n})\r\nexport class PascalPipe implements PipeTransform {\r\n transform(value: string, ...args: unknown[]): unknown {\r\n if (typeof value !== 'string') {\r\n return value;\r\n }\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'searchMultiSelect',\r\n})\r\nexport class SearchMultiSelectPipe implements PipeTransform {\r\n transform(value: any[], key: string, searchKey: string): any[] {\r\n if (searchKey && searchKey.length > 0) {\r\n searchKey = searchKey.toLowerCase();\r\n return value.filter((item) => {\r\n if (item[key].toLowerCase().includes(searchKey)) {\r\n return item;\r\n }\r\n });\r\n }\r\n return value;\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[clickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n constructor(private elementRef: ElementRef) {}\r\n @Output('clickOutside') clickOutside: EventEmitter<any> = new EventEmitter();\r\n\r\n @HostListener('document:click', ['$event.target']) onMouseEnter(targetElement: any) {\r\n const clickedInside = this.elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.clickOutside.emit(null);\r\n }\r\n }\r\n}\r\n","import { FormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CsCheckboxComponent } from './cs-checkbox/cs-checkbox.component';\r\nimport { CsRadioComponent } from './cs-radio/cs-radio.component';\r\nimport { CsSwitchComponent } from './cs-switch/cs-switch.component';\r\nimport { CsRadioGroupComponent } from './cs-radio-group/cs-radio-group.component';\r\nimport { CsSelectComponent } from './cs-select/cs-select.component';\r\nimport { TooltipModule } from '../tooltip/tooltip.module';\r\nimport { PascalPipe } from './pipes/pascal.pipe';\r\nimport { SearchMultiSelectPipe } from './pipes/searchMultiSelect.pipe';\r\nimport { ClickOutsideDirective } from './click-outside.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n CsCheckboxComponent,\r\n CsRadioComponent,\r\n CsSwitchComponent,\r\n CsRadioGroupComponent,\r\n CsSelectComponent,\r\n PascalPipe,\r\n SearchMultiSelectPipe,\r\n ClickOutsideDirective,\r\n ],\r\n imports: [CommonModule, FormsModule, TooltipModule],\r\n exports: [\r\n CsCheckboxComponent,\r\n CsRadioComponent,\r\n CsSwitchComponent,\r\n CsRadioGroupComponent,\r\n CsSelectComponent,\r\n SearchMultiSelectPipe,\r\n ],\r\n})\r\nexport class FormgroupModule {}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../dashboard-footer-config';\r\n\r\n@Component({\r\n selector: 'app-dashboard-footer',\r\n templateUrl: './dashboard-footer.component.html',\r\n styleUrls: ['./dashboard-footer.component.less']\r\n})\r\nexport class DashboardFooterComponent implements OnInit {\r\n @Output() cancelEvent = new EventEmitter();\r\n @Output() submitEvent = new EventEmitter();\r\n @Output() deleteEvent = new EventEmitter();\r\n @Input() footerDetails:DashboardFooterConfig={\r\n selectedData : [],\r\n nonRemovableList:[],\r\n displayElementKey: '',\r\n elementId: '',\r\n singularText: '',\r\n pluralText:'',\r\n showFrequency:false,\r\n frequencyText:'',\r\n isDisabled :false\r\n\r\n };\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n cancelFloatingBar() {\r\n this.cancelEvent.emit();\r\n }\r\n submitFloatingBar() {\r\n this.submitEvent.emit(this.footerDetails.selectedData);\r\n }\r\n\r\n deleteSelected(element: any) {\r\n this.deleteEvent.emit(element);\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PopoverService {\r\n positionX!: number;\r\n positionY!: number;\r\n popoverHeight: any;\r\n popoverWidth: any;\r\n elementPosition: any;\r\n elementDirection: any;\r\n constructor() {\r\n console.log(this.popoverHeight);\r\n }\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@Component({\r\n selector: 'app-popover',\r\n templateUrl: './popover.component.html',\r\n styleUrls: ['./popover.component.less'],\r\n})\r\nexport class PopoverComponent implements OnInit {\r\n @Input() dontCloseonClick!: boolean;\r\n popoverContainer = false;\r\n @ViewChild('popoverRatio') popoverRatio!: ElementRef;\r\n @ViewChild('popoverContent') popoverContent!: ElementRef;\r\n @Output() closedOnOverlay = new EventEmitter();\r\n constructor(public popoverService: PopoverService) {}\r\n showPopover = false;\r\n leftValue: any;\r\n topValue: any;\r\n popoverHeight: any;\r\n popoverWidth: any;\r\n positionX!: number;\r\n positionY!: number;\r\n ngOnInit(): void {}\r\n popover() {\r\n this.popoverContainer = false;\r\n this.popoverContainer = true;\r\n setTimeout(() => {\r\n this.getPosition();\r\n this.showPopover = true;\r\n // document.body.style.overflow = 'hidden';\r\n }, 10);\r\n return false;\r\n }\r\n popoverEvent() {\r\n this.popoverContainer = false;\r\n this.popoverContainer = true;\r\n setTimeout(() => {\r\n // this.getPosition();\r\n this.positionX = this.popoverService.positionX;\r\n this.positionY = this.popoverService.positionY;\r\n this.showPopover = true;\r\n }, 10);\r\n return false;\r\n }\r\n closePopover(top?: string) {\r\n if (!this.dontCloseonClick || top === 'top') {\r\n this.popoverContainer = false;\r\n this.showPopover = false;\r\n // document.body.style.overflow = 'auto';\r\n }\r\n }\r\n\r\n close(){\r\n this.popoverContainer = false;\r\n this.showPopover = false;\r\n }\r\n\r\n clickedPopover() {\r\n this.getPosition();\r\n }\r\n getPosition() {\r\n // setTimeout(() => {\r\n const elementPositionn = this.popoverService.elementPosition;\r\n this.popoverHeight = this.popoverRatio.nativeElement.offsetHeight;\r\n this.popoverWidth = this.popoverRatio.nativeElement.offsetWidth;\r\n if (this.popoverService.elementDirection === 'left') {\r\n this.leftValue = elementPositionn.left;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'right') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverWidth;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'top') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'bottom') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'self-position') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\r\n this.topValue = elementPositionn.top - 15;\r\n }\r\n if (this.popoverService.elementDirection === 'top-center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\r\n // this.topValue = elementPositionn.top - this.popoverHeight;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight) {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n } else {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n this.positionX = this.leftValue;\r\n this.positionY = this.topValue;\r\n // }, 10);\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@Directive({\r\n selector: '[appPopover]',\r\n})\r\nexport class PopoverDirective {\r\n dynamicComponent: any;\r\n @Input() refrence: any;\r\n @Input() placement!: string;\r\n leftValue: any;\r\n topValue: any;\r\n constructor(private elRef: ElementRef, private popoverService: PopoverService) {}\r\n @HostListener('click') click() {\r\n this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\r\n this.popoverService.elementDirection = this.placement;\r\n // this.getPosition();\r\n }\r\n\r\n getPosition() {\r\n setTimeout(() => {\r\n // this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\r\n const elementPositionn = this.elRef.nativeElement.getBoundingClientRect();\r\n if (this.placement === 'left') {\r\n this.leftValue = elementPositionn.left;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.placement === 'right') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverService.popoverWidth;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.placement === 'top') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n }\r\n }\r\n if (this.placement === 'bottom') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.placement === 'self-position') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\r\n this.topValue = elementPositionn.top - 15;\r\n }\r\n if (this.placement === 'top-center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n }\r\n if (this.placement === 'bottom-center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\r\n this.topValue = elementPositionn.top + this.popoverService.popoverHeight;\r\n }\r\n this.popoverService.positionX = this.leftValue;\r\n this.popoverService.positionY = this.topValue;\r\n }, 10);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PopoverComponent } from './popover.component';\r\nimport { PopoverDirective } from './popover.directive';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@NgModule({\r\n declarations: [PopoverComponent, PopoverDirective],\r\n imports: [CommonModule],\r\n exports: [PopoverComponent, PopoverDirective],\r\n providers: [PopoverService],\r\n})\r\nexport class PopoverModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DashboardFooterComponent } from './dashboard-footer/dashboard-footer.component';\r\nimport { PopoverModule } from '../popover/popover.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n DashboardFooterComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PopoverModule\r\n ],\r\n exports:[\r\n DashboardFooterComponent\r\n ]\r\n})\r\nexport class DashboardFooterModule { }\r\n","import { Directive, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appInsertion]',\r\n})\r\nexport class InsertionDirective {\r\n constructor(public viewContainerRef: ViewContainerRef) {}\r\n}\r\n","import { Observable, Subject } from 'rxjs';\r\n\r\nexport class DialogRef {\r\n private readonly afterDialogClosed = new Subject<any>();\r\n afterClosed: Observable<any> = this.afterDialogClosed.asObservable();\r\n constructor() {}\r\n\r\n close(result?: any) {\r\n this.afterDialogClosed.next(result);\r\n document.body.style.overflow = 'auto';\r\n }\r\n}\r\n","export class DialogConfig<D = any> {\r\n data?: D;\r\n position?: any;\r\n background?: any;\r\n pointer?: any;\r\n}\r\n","import { Component, Type, ComponentFactoryResolver, ViewChild, OnDestroy, ComponentRef, AfterViewInit, ChangeDetectorRef, OnInit } from '@angular/core';\r\nimport { InsertionDirective } from './insertion.directive';\r\nimport { Subject } from 'rxjs';\r\nimport { DialogRef } from './dialog-ref';\r\nimport { DialogConfig } from './dialog-config';\r\nimport { NavigationEnd, NavigationError, NavigationStart, Router, ROUTER_CONFIGURATION } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.css'],\r\n})\r\nexport class DialogComponent implements AfterViewInit, OnDestroy, OnInit {\r\n componentRef!: ComponentRef<any>;\r\n position: any;\r\n background: any;\r\n pointer: any;\r\n @ViewChild(InsertionDirective, { static: true })\r\n insertionPoint!: InsertionDirective;\r\n animation = true;\r\n\r\n private readonly onDialogClose = new Subject<any>();\r\n public onClose = this.onDialogClose.asObservable();\r\n\r\n childComponentType!: Type<any>;\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private cd: ChangeDetectorRef,\r\n private dialogRef: DialogRef,\r\n public config: DialogConfig,\r\n private router: Router\r\n ) {\r\n // this.componentRef = this.componentRef;\r\n // this.animate = this.animate;\r\n // this.insertionPoint = this.insertionPoint;\r\n // this.childComponentType = this.childComponentType;\r\n }\r\n ngOnInit() {\r\n this.position = this.config.position;\r\n this.background = this.config.background;\r\n document.body.style.overflow = 'hidden';\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 200);\r\n this.routeAction();\r\n }\r\n\r\n routeAction() {\r\n this.router.events.subscribe((event: any) => {\r\n if (event instanceof NavigationStart) {\r\n // Show loading indicator\r\n }\r\n if (event instanceof NavigationEnd) {\r\n // Hide loading indicator\r\n this.dialogRef.close();\r\n }\r\n if (event instanceof NavigationError) {\r\n // Hide loading indicator\r\n // Present error to user\r\n }\r\n });\r\n }\r\n ngAfterViewInit() {\r\n this.loadChildComponent(this.childComponentType);\r\n this.cd.detectChanges();\r\n }\r\n\r\n onOverlayClicked(evt: MouseEvent) {\r\n // this.dialogRef.close();\r\n }\r\n\r\n onDialogClicked(evt: MouseEvent) {\r\n evt.stopPropagation();\r\n }\r\n\r\n loadChildComponent(componentType: Type<any>) {\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);\r\n\r\n const viewContainerRef = this.insertionPoint.viewContainerRef;\r\n viewContainerRef.clear();\r\n\r\n this.componentRef = viewContainerRef.createComponent(componentFactory);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.componentRef) {\r\n this.componentRef.destroy();\r\n }\r\n }\r\n\r\n close() {\r\n this.onDialogClose.next();\r\n document.body.style.overflow = 'auto';\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DialogComponent } from './dialog.component';\r\nimport { InsertionDirective } from './insertion.directive';\r\nimport { DialogRef } from './dialog-ref';\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [DialogComponent, InsertionDirective],\r\n entryComponents: [DialogComponent],\r\n providers: [DialogRef],\r\n})\r\nexport class DialogModule {}\r\n","import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\r\n\r\nexport class DialogInjector implements Injector {\r\n constructor(private parentDialogInjector: Injector, private dialogAdditionalTokens: WeakMap<any, any>) {}\r\n\r\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T, flags?: InjectFlags): T;\r\n // get(token: any, notFoundValue?: any){return; }\r\n get(token: any, notFoundValue?: any, flags?: any) {\r\n const value = this.dialogAdditionalTokens.get(token);\r\n if (value) {\r\n return value;\r\n }\r\n return this.parentDialogInjector.get<any>(token, notFoundValue);\r\n }\r\n}\r\n","import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector, Type, EmbeddedViewRef, ComponentRef } from '@angular/core';\r\nimport { DialogModule } from './dialog.module';\r\nimport { DialogComponent } from './dialog.component';\r\nimport { DialogInjector } from './dialog-injector';\r\nimport { DialogConfig } from './dialog-config';\r\nimport { DialogRef } from './dialog-ref';\r\n\r\n@Injectable({\r\n providedIn: DialogModule,\r\n})\r\nexport class DialogService {\r\n dialogComponentRef!: ComponentRef<DialogComponent>;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private appRef: ApplicationRef, private injector: Injector) {}\r\n\r\n public open(componentType: Type<any>, config: DialogConfig) {\r\n const dialogRef = this.appendDialogComponentToBody(config);\r\n\r\n this.dialogComponentRef.instance.childComponentType = componentType;\r\n\r\n return dialogRef;\r\n }\r\n\r\n private appendDialogComponentToBody(config: DialogConfig) {\r\n const map = new WeakMap();\r\n map.set(DialogConfig, config);\r\n\r\n const dialogRef = new DialogRef();\r\n map.set(DialogRef, dialogRef);\r\n\r\n const sub = dialogRef.afterClosed.subscribe(() => {\r\n this.removeDialogComponentFromBody();\r\n sub.unsubscribe();\r\n });\r\n\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DialogComponent);\r\n const componentRef = componentFactory.create(new DialogInjector(this.injector, map));\r\n\r\n this.appRef.attachView(componentRef.hostView);\r\n\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(domElem);\r\n\r\n this.dialogComponentRef = componentRef;\r\n\r\n this.dialogComponentRef.instance.onClose.subscribe(() => {\r\n this.removeDialogComponentFromBody();\r\n });\r\n\r\n return dialogRef;\r\n }\r\n\r\n private removeDialogComponentFromBody() {\r\n this.appRef.detachView(this.dialogComponentRef.hostView);\r\n this.dialogComponentRef.destroy();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { DatePickerComponent, IDatePickerConfig } from 'ng2-date-picker';\r\nimport { DialogService } from '../../ui-kit/dialog/dialog.service';\r\nimport { EditorConfig } from 'vcomply-editor';\r\n// import { ConfigureWidgetsComponent } from '../../configure-widgets/configure-widgets/configure-widgets.component';\r\n\r\n@Component({\r\n selector: 'app-form-group',\r\n templateUrl: './form-group.component.html',\r\n styleUrls: ['./form-group.component.less']\r\n})\r\nexport class FormGroupComponent implements OnInit {\r\n @Output() openCategoryList = new EventEmitter<string>();\r\n @Output() openResponsibilityCenterList = new EventEmitter<string>();\r\n @Output() openWhoCanViewThis = new EventEmitter<string>();\r\n @Output() closeCreateDashboard = new EventEmitter<string>();\r\n @Output() openFrequency = new EventEmitter<string>();\r\n @Input() disabled!: boolean;\r\n\r\n @ViewChild('fromDatePicker') fromDatePicker!: DatePickerComponent;\r\n @ViewChild('toDatePicker') toDatePicker!: DatePickerComponent;\r\n datePickerOverlay = false;\r\n selectedFromDate!: any;\r\n selectedToDate!: any;\r\n dashboardName!: any;\r\n dashboardDescriptionText!: any;\r\n fieldEmptyErrorMessage: string = 'Enter a value for this input box.';\r\n fieldLimitExceededErrorMessage: string = 'You have exceeded the maximum character limit of XYZ characters.';\r\n dashboardNameNotUniqueErrorMessage: string = 'A dashboard with this name already exists. Specify a different name for the dashboard.';\r\n dashboardNameError! : string;\r\n dashboardDescriptionError! : string;\r\n displayCriteria! : string;\r\n\r\n constructor(private dialog: DialogService) { }\r\n \r\n dashboardDescription: EditorConfig = {\r\n placeholder: 'Description (Max limit: 250 characters)',\r\n mode: 'prime',\r\n id: 'description'\r\n }\r\n\r\n fromDatePickerConfig : IDatePickerConfig = {\r\n min: this.getCurrentDate()\r\n }\r\n\r\n toDatePickerConfig : IDatePickerConfig = {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openFromDatePicker() {\r\n this.fromDatePicker.api.open();\r\n this.datePickerOverlay = true;\r\n }\r\n\r\n openToDatePicker() {\r\n this.toDatePicker.api.open();\r\n this.datePickerOverlay = true;\r\n }\r\n\r\n closeFromDatePicker() {\r\n let minToDate = this.selectedFromDate.clone().add(1, 'days');\r\n this.toDatePickerConfig = {min : minToDate, minTime : minToDate};\r\n\r\n if(this.selectedToDate && minToDate.diff(this.selectedToDate) > 0) {\r\n this.selectedToDate = undefined;\r\n }\r\n\r\n this.fromDatePicker.api.close();\r\n this.datePickerOverlay = false;\r\n }\r\n\r\n closeToDatePicker() {\r\n this.toDatePicker.api.close();\r\n this.datePickerOverlay = false;\r\n }\r\n\r\n animateImage() {\r\n const circleImage = document.getElementsByClassName('image')\r\n console.log(circleImage);\r\n }\r\n\r\n selectWhoCanViewThis() {\r\n this.openWhoCanViewThis.emit();\r\n }\r\n\r\n selectResponsibilityCenter() {\r\n this.openResponsibilityCenterList.emit();\r\n }\r\n\r\n selectCategories() {\r\n this.openCategoryList.emit();\r\n }\r\n\r\n selectFrequency() {\r\n this.openFrequency.emit();\r\n }\r\n\r\n configureDashboard() {\r\n let fieldsStatus = this.verifyFields();\r\n // if(fieldsStatus) {\r\n // this.closeCreateDashboard.emit();\r\n // const ref = this.dialog.open(ConfigureWidgetsComponent, {\r\n // data: {},\r\n // position: 'CENTER',\r\n // pointer: 'none'\r\n // });\r\n // }\r\n }\r\n\r\n verifyFields() {\r\n let allFieldsValid = true;\r\n this.dashboardNameError = '';\r\n this.dashboardDescriptionError = '';\r\n \r\n if(this.dashboardName === null || this.dashboardName === undefined || this.dashboardName === '') {\r\n this.dashboardNameError = this.fieldEmptyErrorMessage;\r\n allFieldsValid = false;\r\n } else if(this.dashboardName.length > 30) {\r\n this.dashboardNameError = this.fieldLimitExceededErrorMessage.replace('XYZ', '30');\r\n allFieldsValid = false;\r\n } else if(this.dashboardDescriptionText === null || this.dashboardDescriptionText === undefined || this.dashboardDescriptionText === '') {\r\n this.dashboardDescriptionError = this.fieldEmptyErrorMessage;\r\n allFieldsValid = false;\r\n } else if(this.dashboardDescriptionText.length > 250) {\r\n this.dashboardDescriptionError = this.fieldLimitExceededErrorMessage.replace('XYZ', '250');\r\n allFieldsValid = false;\r\n }\r\n return allFieldsValid;\r\n }\r\n\r\n getCurrentDate(){\r\n let today = new Date();\r\n return today.getDate() + '-' + (today.getMonth()+1) + '-' + today.getFullYear();\r\n }\r\n\r\n displayCriteriaSelected(event: boolean, selection: string) {\r\n this.displayCriteria = selection;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'floating-bar',\r\n templateUrl: './floating-bar.component.html',\r\n styleUrls: ['./floating-bar.component.less']\r\n})\r\nexport class FloatingBarComponent implements OnInit {\r\n @Output() cancelEvent = new EventEmitter<string>();\r\n @Output() submitEvent = new EventEmitter<string>();\r\n @Output() deleteEvent: EventEmitter<number> = new EventEmitter();\r\n @Input() text!: boolean;\r\n @Input() frequencyMessage: any;\r\n @Input() singleCategory: any;\r\n @Input() selectedData: any;\r\n\r\n constructor() { \r\n this.selectedData = [];\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n cancelFloatingBar() {\r\n this.cancelEvent.emit();\r\n }\r\n submitFloatingBar() {\r\n this.submitEvent.emit(this.selectedData);\r\n }\r\n\r\n deleteSelected(index: number) {\r\n this.deleteEvent.emit(index);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FloatingBarComponent } from './floating-bar.component';\r\nimport { PopoverModule } from '../popover/popover.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n FloatingBarComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PopoverModule\r\n ],\r\n exports: [\r\n FloatingBarComponent\r\n ]\r\n})\r\nexport class FloatingBarModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filter'\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n\r\n transform(items: any[], searchText: string): any[] {\r\n if (!items) {\r\n return [];\r\n }\r\n if (!searchText) {\r\n return items;\r\n }\r\n searchText = searchText.toLowerCase();\r\n if(items?.length){\r\n return items.filter((it: any) => {\r\n return JSON.stringify(it).toLowerCase().includes(searchText);\r\n });\r\n }else{\r\n return [];\r\n }\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DashboardFooterConfig } from '../../ui-kit/dashboard-footer/dashboard-footer-config';\r\nimport { RiskCategoriesConfig } from './risk-categories-config';\r\n\r\n@Component({\r\n selector: 'app-risk-categories',\r\n templateUrl: './risk-categories.component.html',\r\n styleUrls: ['./risk-categories.component.less']\r\n})\r\nexport class RiskCategoriesComponent implements OnInit {\r\n\r\n\r\n @Input() categoryList: RiskCategoriesConfig = {\r\n strategic: {\r\n list: [],\r\n selectedList: [],\r\n },\r\n operational: {\r\n list: [],\r\n selectedList: [],\r\n },\r\n compliance: {\r\n list: [],\r\n selectedList: [],\r\n },\r\n others: {\r\n list: [],\r\n selectedList: [],\r\n }\r\n }\r\n @Input() allCategories: any[] = [];\r\n\r\n @Input() categoryIdKey: any;\r\n @Input() selectedCategories: any[] = [];\r\n\r\n search = '';\r\n activeTab: \"strategic\" | \"operational\" | \"compliance\" | \"others\"=\"strategic\";\r\n selectedIds: any[] = [];\r\n animation = false;\r\n blockWidth: any;\r\n footerDetails: DashboardFooterConfig = {\r\n selectedData: [],\r\n nonRemovableList:[],\r\n displayElementKey: 'category_name',\r\n elementId: 'category_id',\r\n singularText: 'Category selected',\r\n pluralText: 'Categories selected',\r\n showFrequency: false,\r\n frequencyText: '',\r\n isDisabled: false\r\n\r\n };\r\n\r\n @Output() saveSelectedCategory = new EventEmitter();\r\n @Output() closeList = new EventEmitter();\r\n @Output() closeCategoriesList = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n this.selectedIds = [];\r\n if (this.selectedCategories) {\r\n this.selectedCategories.forEach(element => {\r\n this.selectedIds.push(element[this.categoryIdKey]);\r\n });\r\n }\r\n this.setList()\r\n \r\n }\r\n\r\n selectCategory(mode: any, activeTab: any, category: any) {\r\n if (mode) {\r\n this.selectedIds.push(category[this.categoryIdKey]);\r\n } else {\r\n const index = this.selectedIds.findIndex((element: any) => element == category[this.categoryIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n }\r\n this.setList();\r\n\r\n }\r\n\r\n deleteEvent(event: any) {\r\n const index = this.selectedIds.findIndex((element: any) => element == event[this.categoryIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n this.setList();\r\n }\r\n\r\n selectAll(mode: any, activeTab: string) {\r\n\r\n if (mode) {\r\n if (activeTab === \"strategic\" || activeTab === \"operational\" || activeTab === \"compliance\" || activeTab === \"others\") {\r\n const list = this.categoryList[activeTab].list;\r\n list.forEach(element => {\r\n if (!this.selectedIds.includes(element[this.categoryIdKey])) {\r\n this.selectedIds.push(element[this.categoryIdKey]);\r\n }\r\n });\r\n }\r\n\r\n } else {\r\n if (activeTab === \"strategic\" || activeTab === \"operational\" || activeTab === \"compliance\" || activeTab === \"others\") {\r\n const list = [...this.categoryList[activeTab].list];\r\n list.forEach(element => {\r\n if (this.selectedIds.includes(element[this.categoryIdKey])) {\r\n let idIndex = this.selectedIds.findIndex((id: any) => id == element[this.categoryIdKey]);\r\n this.selectedIds.splice(idIndex, 1);\r\n }\r\n });\r\n }\r\n\r\n }\r\n this.setList();\r\n }\r\n\r\n setList() {\r\n const data: any = [];\r\n const categoryList = [...new Set(this.allCategories)] \r\n // cloneDeep(this.allCategories)\r\n const selectedIds =[...new Set(this.selectedIds)] \r\n // cloneDeep(this.selectedIds);\r\n this.categoryList.strategic.selectedList = [];\r\n this.categoryList.operational.selectedList = [];\r\n this.categoryList.compliance.selectedList = [];\r\n this.categoryList.others.selectedList = [];\r\n\r\n categoryList.forEach((element: any) => {\r\n if (selectedIds.includes(element[this.categoryIdKey])) {\r\n data.push(element);\r\n }\r\n });\r\n this.selectedCategories = data;\r\n this.footerDetails.selectedData = data;\r\n\r\n this.categoryList.strategic.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.strategic.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.operational.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.operational.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.compliance.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.compliance.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.others.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.others.selectedList.push(category)\r\n }\r\n });\r\n if (!this.activeTab) {\r\n this.setActiveTab();\r\n }\r\n }\r\n setActiveTab() {\r\n if (this.categoryList.strategic.selectedList.length > 0) {\r\n this.activeTab = 'strategic'\r\n } else if (this.categoryList.operational.selectedList.length > 0) {\r\n this.activeTab = 'operational'\r\n } else if (this.categoryList.compliance.selectedList.length > 0) {\r\n this.activeTab = 'compliance'\r\n } else if (this.categoryList.others.selectedList.length > 0) {\r\n this.activeTab = 'others'\r\n } else {\r\n this.activeTab = 'strategic'\r\n }\r\n }\r\n\r\n\r\n checkSelectAll(activeTab: string) {\r\n if (activeTab === \"strategic\" || activeTab === \"operational\" || activeTab === \"compliance\" || activeTab === \"others\") {\r\n const data = this.categoryList[activeTab].list.every((user: any) => this.selectedIds.includes(user[this.categoryIdKey]));\r\n return data;\r\n }\r\n }\r\n\r\n save() {\r\n this.saveSelectedCategory.emit(this.selectedCategories);\r\n }\r\n\r\n close() {\r\n this.closeCategoriesList.emit();\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'search'\r\n})\r\nexport class SearchPipe implements PipeTransform {\r\n\r\n transform(value: any, args?: any): any {\r\n if (!value) {\r\n return null;\r\n }\r\n if (!args) {\r\n return value;\r\n }\r\n\r\n args = args.toLowerCase();\r\n\r\n return value.filter((item: any) => {\r\n return JSON.stringify(item).toLowerCase().includes(args);\r\n });\r\n }\r\n\r\n}\r\n","import { ConfigureWidgetsService } from '../../services/configure-widgets.service';\r\nimport { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\nimport { retry } from 'rxjs/operators';\r\nimport { widgetDataModel } from '../../interfaces/widget-data-model';\r\nimport { DialogRef } from '../../../ui-kit/dialog/dialog-ref';\r\n\r\n@Component({\r\n selector: 'app-configure-widgets',\r\n templateUrl: './configure-widgets.component.html',\r\n styleUrls: ['./configure-widgets.component.less']\r\n})\r\nexport class ConfigureWidgetsComponent implements OnInit,OnChanges {\r\n\r\n @Output() widgetsDataModified: EventEmitter<any> = new EventEmitter();\r\n @Output() closeConfigureWidgets: EventEmitter<any> = new EventEmitter();\r\n widgetsData: Array<widgetDataModel> = [];\r\n checkboxStatus!: any;\r\n search: string = '';\r\n checkedArray: Array<{index : number, status: number }> = [];\r\n selectedWidgets: Array<widgetDataModel> = [];\r\n subResponsibilities: Array<widgetDataModel> = [];\r\n subKeyResponsibilities: Array<widgetDataModel> = [];\r\n module: string = 'compliance';\r\n @Input()selectedWidgetsIdData: any = [];\r\n\r\n selectedWidgetIds: any = [];\r\n subResponsibilitiesSelected:boolean = false\r\n subKeyResponsibilitiesSelected:boolean = false\r\n\r\n constructor(\r\n private dialog: DialogRef,\r\n public configureWidgetsService: ConfigureWidgetsService) \r\n {\r\n this.widgetsData = this.configureWidgetsService?.complianceWidgetsData;\r\n this.subResponsibilities = this.configureWidgetsService?.subResponsibilities;\r\n this.subKeyResponsibilities = this.configureWidgetsService?.subKeyResponsibilities;\r\n }\r\n \r\n ngOnChanges(){\r\n this.selectedWidgetIds =[...new Set(this.selectedWidgetsIdData)] ;\r\n const data = [...new Set([...this.configureWidgetsService?.complianceWidgetsData,...this.configureWidgetsService?.subResponsibilities,...this.configureWidgetsService?.subKeyResponsibilities,...this.configureWidgetsService?.riskWidgetsData])] ;\r\n data.forEach((element:any,index:any )=> {\r\n if(this.selectedWidgetIds.includes(element.id)){\r\n this.selectedWidgets.push(data[index])\r\n }\r\n });\r\n this.checkSubTabs();\r\n\r\n }\r\n \r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n selectModules(module: string){\r\n this.module = module.toLowerCase()\r\n switch(this.module){\r\n case 'compliance': \r\n this.widgetsData = this.configureWidgetsService?.complianceWidgetsData;\r\n this.subResponsibilities = this.configureWidgetsService?.subResponsibilities;\r\n this.subKeyResponsibilities = this.configureWidgetsService?.subKeyResponsibilities;\r\n break;\r\n case 'risks':\r\n this.widgetsData = this.configureWidgetsService?.riskWidgetsData;\r\n break;\r\n case 'audit':\r\n this.widgetsData = this.configureWidgetsService?.auditWidgetsData;\r\n break;\r\n case 'policy':\r\n this.widgetsData = this.configureWidgetsService?.policyWidgetsData;\r\n break;\r\n default:\r\n this.widgetsData = this.configureWidgetsService?.complianceWidgetsData;\r\n break;\r\n }\r\n }\r\n \r\n closeConfigureDashboard() {\r\n this.selectedWidgets = [];\r\n this.dialog.close();\r\n this.closeConfigureWidgets.emit(false);\r\n }\r\n\r\n checkedResponsibilities(event: boolean, index: number){\r\n this.subResponsibilities[index].value = event ? 1 : 0;\r\n this.manageSelectedWidget(this.subResponsibilities, event , index);\r\n }\r\n\r\n checkedKeyResponsibilities(event: boolean, index: number){\r\n this.subKeyResponsibilities[index].value = event ? 1 : 0;\r\n this.manageSelectedWidget(this.subKeyResponsibilities, event , index);\r\n }\r\n\r\n manageSelectedWidget(widgetsData: Array<widgetDataModel>, value: boolean, index: number){\r\n if (value){\r\n widgetsData[index].value = 1;\r\n this.selectedWidgets.push(widgetsData[index]);\r\n this.selectedWidgetIds.push(widgetsData[index].id);\r\n } else {\r\n this.selectedWidgets.forEach( (widget, i) => {\r\n if(widget?.id === widgetsData[index]?.id) {\r\n this.selectedWidgets.splice(i, 1);\r\n }\r\n });\r\n const IdIndex = this.selectedWidgetIds.findIndex((ele:any)=>ele === widgetsData[index]?.id);\r\n if(IdIndex!=-1){\r\n this.selectedWidgetIds.splice(IdIndex, 1);\r\n } \r\n }\r\n this.checkSubTabs()\r\n }\r\n\r\n onToggled(event: any, widget: widgetDataModel, index: number ) {\r\n this.widgetsData[index].value = event.target.checked ? 1 : 0;\r\n if(widget?.tabOption){\r\n if(widget.title === 'My Responsibilities'){\r\n this.subResponsibilities.forEach((responsibility, i) => {\r\n this.subResponsibilities[i].value = event.target.checked;\r\n this.manageSelectedWidget(this.subResponsibilities, event.target.checked, i);\r\n });\r\n } else if(widget.title === 'Key Responsibilities'){\r\n this.subKeyResponsibilities.forEach((responsibility, i) => {\r\n this.subKeyResponsibilities[i].value = event.target.checked;\r\n this.manageSelectedWidget(this.subKeyResponsibilities, event.target.checked, i);\r\n });\r\n }\r\n } else {\r\n this.manageSelectedWidget(this.widgetsData, event.target.checked, index);\r\n }\r\n }\r\n\r\n onNextClick() {\r\n \r\n this.widgetsDataModified.emit(this.selectedWidgetIds);\r\n\r\n }\r\n\r\n deleteItem(item: any){\r\n const itemIndex = this.selectedWidgets.findIndex((el: any) => el === item);\r\n if (itemIndex !== -1){this.selectedWidgets.splice(itemIndex, 1); }\r\n if(this.widgetsData.includes(item)){\r\n const index = this.widgetsData.findIndex((el: any) => el === item);\r\n this.widgetsData[index].value = 0;\r\n } else if (this.subResponsibilities.includes(item)){\r\n const index = this.subResponsibilities.findIndex((el: any) => el === item);\r\n this.subResponsibilities[index].value = 0;\r\n } else if (this.subKeyResponsibilities.includes(item)){\r\n const index = this.subKeyResponsibilities.findIndex((el: any) => el === item);\r\n this.subKeyResponsibilities[index].value = 0;\r\n }\r\n }\r\n checkSubTabs(){\r\n const subRes =['my_responsibility_flag','reviewer_responsibility_flag','cc_responsibility_flag']\r\n const subKeyRes =['key_responsibilities_overview_flag','key_my_responsibilities_flag','key_i_am_reviewing_flag','key_i_am_overseeing_flag']\r\n subRes.forEach((sub:any) => {\r\n if(this.selectedWidgetIds.includes(sub)){\r\n this.subResponsibilitiesSelected = true;\r\n }\r\n });\r\n\r\n subKeyRes.forEach((subKey:any) => {\r\n if(this.selectedWidgetIds.includes(subKey)){\r\n this.subKeyResponsibilitiesSelected = true;\r\n }\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FloatingBarModule } from '../../ui-kit//floating-bar/floating-bar.module';\r\nimport { FormgroupModule } from '../../ui-kit/formgroup/formgroup.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SearchPipe } from '../pipes/search.pipe';\r\nimport { ConfigureWidgetsComponent } from './configure-widgets/configure-widgets.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ConfigureWidgetsComponent, SearchPipe\r\n ],\r\n imports: [\r\n CommonModule,\r\n FloatingBarModule,\r\n FormgroupModule,\r\n FormsModule,\r\n ],\r\n exports: [\r\n ConfigureWidgetsComponent\r\n ]\r\n})\r\nexport class ConfigureWidgetsModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.less'],\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loader-inline',\r\n templateUrl: './loader-inline.component.html',\r\n styleUrls: ['./loader-inline.component.less'],\r\n})\r\nexport class LoaderInlineComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoaderComponent } from './loader/loader.component';\r\nimport { LoaderInlineComponent } from './loader-inline/loader-inline.component';\r\n\r\n@NgModule({\r\n declarations: [LoaderComponent, LoaderInlineComponent],\r\n imports: [CommonModule],\r\n exports: [LoaderComponent, LoaderInlineComponent],\r\n})\r\nexport class VLoaderModule {}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\nimport { SnackBarService } from '../snack-bar.service';\r\n\r\n@Component({\r\n selector: 'app-snack-bar',\r\n templateUrl: './snack-bar.component.html',\r\n styleUrls: ['./snack-bar.component.less'],\r\n})\r\nexport class SnackBarComponent implements OnInit {\r\n show = false;\r\n message: string = '--';\r\n icon: string = '';\r\n constructor(private snackbarService: SnackBarService) {}\r\n\r\n ngOnInit(): void {\r\n this.snackbarService.snackbarSubject.subscribe((state) => {\r\n if (state.icon) {\r\n this.icon = state.icon;\r\n } else {\r\n this.icon = '';\r\n }\r\n this.message = state.message;\r\n this.show = state.show;\r\n setTimeout(() => {\r\n this.show = false;\r\n }, 3000);\r\n });\r\n }\r\n close() {\r\n this.show = false;\r\n }\r\n ngOnDestroy() {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SnackBarComponent } from './snack-bar/snack-bar.component';\r\n\r\n@NgModule({\r\n declarations: [SnackBarComponent],\r\n imports: [CommonModule],\r\n exports: [SnackBarComponent],\r\n})\r\nexport class SnackBarModule {}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MarxEditorModule } from 'vcomply-editor';\r\nimport { DpDatePickerModule } from 'ng2-date-picker';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CreateDashboardComponent } from './create-dashboard.component';\r\nimport { SelectModule } from '../ui-kit/select/select.module';\r\nimport { UserListComponent } from './user-list/user-list.component';\r\nimport { ResponsibilityCenterComponent } from './responsibility-center/responsibility-center.component';\r\nimport { CategoriesComponent } from './categories/categories.component';\r\nimport { FrequencyComponent } from './frequency/frequency.component';\r\nimport { PaginationModule } from '../ui-kit/pagination/pagination.module';\r\nimport { FormgroupModule } from '../ui-kit/formgroup/formgroup.module';\r\nimport { DashboardFooterModule } from '../ui-kit/dashboard-footer/dashboard-footer.module';\r\nimport { FormGroupComponent } from './form-group/form-group.component';\r\nimport { TooltipModule } from '../ui-kit/tooltip/tooltip.module';\r\nimport { FloatingBarModule } from '../ui-kit/floating-bar/floating-bar.module';\r\nimport { DialogModule } from '../ui-kit/dialog/dialog.module';\r\nimport { Configurations } from '../configurations';\r\nimport { FilterPipe } from './pipes/filter.pipe';\r\nimport { RiskCategoriesComponent } from './risk-categories/risk-categories.component';\r\nimport { ConfigureWidgetsModule } from './configure-widgets/configure-widgets.module';\r\nimport { PopoverModule } from '../ui-kit/popover/popover.module';\r\nimport { VLoaderModule } from '../ui-kit/v-loader/v-loader.module';\r\nimport { SnackBarModule } from '../ui-kit/snack-bar/snack-bar.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n CreateDashboardComponent,\r\n UserListComponent,\r\n FormGroupComponent,\r\n ResponsibilityCenterComponent,\r\n CategoriesComponent,\r\n RiskCategoriesComponent,\r\n FrequencyComponent,\r\n FilterPipe,\r\n ],\r\n imports: [\r\n CommonModule,\r\n MarxEditorModule,\r\n FormgroupModule,\r\n DpDatePickerModule,\r\n FormsModule,\r\n TooltipModule,\r\n SelectModule,\r\n DashboardFooterModule,\r\n PaginationModule,\r\n FloatingBarModule,\r\n DialogModule,\r\n ConfigureWidgetsModule, \r\n PopoverModule,\r\n VLoaderModule,\r\n SnackBarModule\r\n \r\n ],\r\n exports: [\r\n CreateDashboardComponent\r\n ]\r\n \r\n})\r\nexport class CreateDashboardModule { \r\n public static forRoot(environmentConfig: Configurations): ModuleWithProviders<CreateDashboardModule> {\r\n\r\n return {\r\n ngModule: CreateDashboardModule,\r\n providers: [\r\n { provide: Configurations, useValue: environmentConfig }\r\n ]\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of create-dashboard\r\n */\r\n\r\n// export * from './lib/create-dashboard.service';\r\n// export * from './lib/create-dashboard.component';\r\n// export * from './lib/create-dashboard.module';\r\n\r\nexport * from './lib/create-dashboard.service';\r\nexport * from './lib/create-dashboard-container/create-dashboard.component';\r\nexport * from './lib/create-dashboard-container/create-dashboard.module';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {Configurations as ɵc} from './lib/configurations';\nexport {CategoriesComponent as ɵp} from './lib/create-dashboard-container/categories/categories.component';\nexport {ConfigureWidgetsModule as ɵbt} from './lib/create-dashboard-container/configure-widgets/configure-widgets.module';\nexport {ConfigureWidgetsComponent as ɵbu} from './lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component';\nexport {FormGroupComponent as ɵh} from './lib/create-dashboard-container/form-group/form-group.component';\nexport {FrequencyComponent as ɵr} from './lib/create-dashboard-container/frequency/frequency.component';\nexport {FilterPipe as ɵs} from './lib/create-dashboard-container/pipes/filter.pipe';\nexport {SearchPipe as ɵbv} from './lib/create-dashboard-container/pipes/search.pipe';\nexport {ResponsibilityCenterComponent as ɵo} from './lib/create-dashboard-container/responsibility-center/responsibility-center.component';\nexport {RiskCategoriesComponent as ɵq} from './lib/create-dashboard-container/risk-categories/risk-categories.component';\nexport {AuthService as ɵb} from './lib/create-dashboard-container/services/auth.service';\nexport {ConfigureWidgetsService as ɵf} from './lib/create-dashboard-container/services/configure-widgets.service';\nexport {CreateDashboardService as ɵa} from './lib/create-dashboard-container/services/create-dashboard.service';\nexport {PaginationService as ɵd} from './lib/create-dashboard-container/services/pagination.service';\nexport {UserListComponent as ɵg} from './lib/create-dashboard-container/user-list/user-list.component';\nexport {DashboardFooterModule as ɵbj} from './lib/ui-kit/dashboard-footer/dashboard-footer.module';\nexport {DashboardFooterComponent as ɵbk} from './lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component';\nexport {DialogConfig as ɵn} from './lib/ui-kit/dialog/dialog-config';\nexport {DialogRef as ɵm} from './lib/ui-kit/dialog/dialog-ref';\nexport {DialogComponent as ɵk} from './lib/ui-kit/dialog/dialog.component';\nexport {DialogModule as ɵj} from './lib/ui-kit/dialog/dialog.module';\nexport {DialogService as ɵi} from './lib/ui-kit/dialog/dialog.service';\nexport {InsertionDirective as ɵl} from './lib/ui-kit/dialog/insertion.directive';\nexport {FloatingBarComponent as ɵbs} from './lib/ui-kit/floating-bar/floating-bar.component';\nexport {FloatingBarModule as ɵbr} from './lib/ui-kit/floating-bar/floating-bar.module';\nexport {ClickOutsideDirective as ɵbb} from './lib/ui-kit/formgroup/click-outside.directive';\nexport {CsCheckboxComponent as ɵu} from './lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component';\nexport {CsRadioGroupComponent as ɵx} from './lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component';\nexport {CsRadioComponent as ɵv} from './lib/ui-kit/formgroup/cs-radio/cs-radio.component';\nexport {CsSelectComponent as ɵy} from './lib/ui-kit/formgroup/cs-select/cs-select.component';\nexport {CsSwitchComponent as ɵw} from './lib/ui-kit/formgroup/cs-switch/cs-switch.component';\nexport {FormgroupModule as ɵt} from './lib/ui-kit/formgroup/formgroup.module';\nexport {PascalPipe as ɵz} from './lib/ui-kit/formgroup/pipes/pascal.pipe';\nexport {SearchMultiSelectPipe as ɵba} from './lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe';\nexport {PaginationComponent as ɵbq} from './lib/ui-kit/pagination/pagination.component';\nexport {PaginationModule as ɵbp} from './lib/ui-kit/pagination/pagination.module';\nexport {PopoverComponent as ɵbm} from './lib/ui-kit/popover/popover.component';\nexport {PopoverDirective as ɵbo} from './lib/ui-kit/popover/popover.directive';\nexport {PopoverModule as ɵbl} from './lib/ui-kit/popover/popover.module';\nexport {PopoverService as ɵbn} from './lib/ui-kit/popover/popover.service';\nexport {CsOptionComponent as ɵbg} from './lib/ui-kit/select/cs-option/cs-option.component';\nexport {CsSelectComponent as ɵbf} from './lib/ui-kit/select/cs-select/cs-select.component';\nexport {SafeHtmlPipe as ɵbi} from './lib/ui-kit/select/safe-html.pipe';\nexport {SelectModule as ɵbe} from './lib/ui-kit/select/select.module';\nexport {CsSelectService as ɵbh} from './lib/ui-kit/services/cs-select.service';\nexport {SnackBarModule as ɵbz} from './lib/ui-kit/snack-bar/snack-bar.module';\nexport {SnackBarService as ɵe} from './lib/ui-kit/snack-bar/snack-bar.service';\nexport {SnackBarComponent as ɵca} from './lib/ui-kit/snack-bar/snack-bar/snack-bar.component';\nexport {ToolTipDirective as ɵbd} from './lib/ui-kit/tooltip/tooltip.directive';\nexport {TooltipModule as ɵbc} from './lib/ui-kit/tooltip/tooltip.module';\nexport {LoaderInlineComponent as ɵby} from './lib/ui-kit/v-loader/loader-inline/loader-inline.component';\nexport {LoaderComponent as ɵbx} from './lib/ui-kit/v-loader/loader/loader.component';\nexport {VLoaderModule as ɵbw} from './lib/ui-kit/v-loader/v-loader.module';"],"names":["CreateDashboardService","CsSelectComponent","Subject"],"mappings":"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"}
|