vc-create-dashboard 2.5.8 → 2.5.9
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/esm2020/create-dashboard.mjs +5 -0
- package/{esm2015/lib/configurations.js → esm2020/lib/configurations.mjs} +0 -0
- package/{esm2015/lib/create-dashboard-container/categories/categories-config.js → esm2020/lib/create-dashboard-container/categories/categories-config.mjs} +0 -0
- package/esm2020/lib/create-dashboard-container/categories/categories.component.mjs +209 -0
- package/esm2020/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.mjs +537 -0
- package/{esm2015/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.js → esm2020/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.mjs} +0 -0
- package/esm2020/lib/create-dashboard-container/configure-widgets/configure-widgets.module.mjs +45 -0
- package/{esm2015/lib/create-dashboard-container/create-dashboard-config.js → esm2020/lib/create-dashboard-container/create-dashboard-config.mjs} +0 -0
- package/esm2020/lib/create-dashboard-container/create-dashboard.component.mjs +884 -0
- package/esm2020/lib/create-dashboard-container/create-dashboard.module.mjs +125 -0
- package/esm2020/lib/create-dashboard-container/directives/directives.module.mjs +24 -0
- package/esm2020/lib/create-dashboard-container/directives/scroll-in-view.directive.mjs +35 -0
- package/esm2020/lib/create-dashboard-container/form-group/form-group.component.mjs +137 -0
- package/esm2020/lib/create-dashboard-container/frequency/frequency.component.mjs +300 -0
- package/{esm2015/lib/create-dashboard-container/interfaces/widget-data-model.js → esm2020/lib/create-dashboard-container/interfaces/widget-data-model.mjs} +0 -0
- package/esm2020/lib/create-dashboard-container/pipes/filter.pipe.mjs +30 -0
- package/esm2020/lib/create-dashboard-container/pipes/search.pipe.mjs +25 -0
- package/esm2020/lib/create-dashboard-container/pipes/text-count.pipe.mjs +19 -0
- package/esm2020/lib/create-dashboard-container/responsibility-center/responsibility-center.component.mjs +146 -0
- package/{esm2015/lib/create-dashboard-container/risk-categories/risk-categories-config.js → esm2020/lib/create-dashboard-container/risk-categories/risk-categories-config.mjs} +0 -0
- package/esm2020/lib/create-dashboard-container/risk-categories/risk-categories.component.mjs +194 -0
- package/esm2020/lib/create-dashboard-container/services/auth.service.mjs +29 -0
- package/{esm2015/lib/create-dashboard-container/services/configure-widgets.service.js → esm2020/lib/create-dashboard-container/services/configure-widgets.service.mjs} +12 -15
- package/{esm2015/lib/create-dashboard-container/services/create-dashboard.service.js → esm2020/lib/create-dashboard-container/services/create-dashboard.service.mjs} +14 -17
- package/esm2020/lib/create-dashboard-container/services/pagination.service.mjs +29 -0
- package/esm2020/lib/create-dashboard-container/user-list/user-list.component.mjs +238 -0
- package/{esm2015/lib/create-dashboard-container/user-list/user-list.config.js → esm2020/lib/create-dashboard-container/user-list/user-list.config.mjs} +0 -0
- package/esm2020/lib/create-dashboard.service.mjs +14 -0
- package/esm2020/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.mjs +49 -0
- package/{esm2015/lib/ui-kit/dashboard-footer/dashboard-footer-config.js → esm2020/lib/ui-kit/dashboard-footer/dashboard-footer-config.mjs} +0 -0
- package/esm2020/lib/ui-kit/dashboard-footer/dashboard-footer.module.mjs +28 -0
- package/{esm2015/lib/ui-kit/dialog/dialog-config.js → esm2020/lib/ui-kit/dialog/dialog-config.mjs} +0 -0
- package/{esm2015/lib/ui-kit/dialog/dialog-injector.js → esm2020/lib/ui-kit/dialog/dialog-injector.mjs} +0 -0
- package/{esm2015/lib/ui-kit/dialog/dialog-ref.js → esm2020/lib/ui-kit/dialog/dialog-ref.mjs} +0 -0
- package/esm2020/lib/ui-kit/dialog/dialog.component.mjs +85 -0
- package/esm2020/lib/ui-kit/dialog/dialog.module.mjs +20 -0
- package/esm2020/lib/ui-kit/dialog/dialog.service.mjs +52 -0
- package/esm2020/lib/ui-kit/dialog/insertion.directive.mjs +16 -0
- package/esm2020/lib/ui-kit/floating-bar/floating-bar.component.mjs +51 -0
- package/esm2020/lib/ui-kit/floating-bar/floating-bar.module.mjs +28 -0
- package/esm2020/lib/ui-kit/formgroup/click-outside.directive.mjs +29 -0
- package/esm2020/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +27 -0
- package/esm2020/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +30 -0
- package/esm2020/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
- package/esm2020/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +100 -0
- package/esm2020/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +35 -0
- package/esm2020/lib/ui-kit/formgroup/formgroup.module.mjs +55 -0
- package/esm2020/lib/ui-kit/formgroup/pipes/pascal.pipe.mjs +19 -0
- package/esm2020/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +24 -0
- package/esm2020/lib/ui-kit/no-data/no-data.component.mjs +40 -0
- package/esm2020/lib/ui-kit/no-data/no-data.module.mjs +18 -0
- package/esm2020/lib/ui-kit/pagination/pagination.component.mjs +127 -0
- package/esm2020/lib/ui-kit/pagination/pagination.module.mjs +18 -0
- package/esm2020/lib/ui-kit/popover/popover.component.mjs +133 -0
- package/esm2020/lib/ui-kit/popover/popover.directive.mjs +86 -0
- package/esm2020/lib/ui-kit/popover/popover.module.mjs +21 -0
- package/esm2020/lib/ui-kit/popover/popover.service.mjs +17 -0
- package/esm2020/lib/ui-kit/select/cs-option/cs-option.component.mjs +36 -0
- package/esm2020/lib/ui-kit/select/cs-select/cs-select.component.mjs +89 -0
- package/esm2020/lib/ui-kit/select/safe-html.pipe.mjs +20 -0
- package/esm2020/lib/ui-kit/select/select.module.mjs +21 -0
- package/esm2020/lib/ui-kit/services/cs-select.service.mjs +15 -0
- package/esm2020/lib/ui-kit/smiley-dialog/smiley-dialog.component.mjs +50 -0
- package/esm2020/lib/ui-kit/smiley-dialog/smiley-dialog.module.mjs +18 -0
- package/esm2020/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +39 -0
- package/esm2020/lib/ui-kit/snack-bar/snack-bar.module.mjs +18 -0
- package/esm2020/lib/ui-kit/snack-bar/snack-bar.service.mjs +24 -0
- package/esm2020/lib/ui-kit/tooltip/tooltip.directive.mjs +153 -0
- package/esm2020/lib/ui-kit/tooltip/tooltip.module.mjs +18 -0
- package/esm2020/lib/ui-kit/v-loader/loader/loader.component.mjs +13 -0
- package/esm2020/lib/ui-kit/v-loader/loader-inline/loader-inline.component.mjs +13 -0
- package/esm2020/lib/ui-kit/v-loader/v-loader.module.mjs +19 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/fesm2015/create-dashboard.mjs +4766 -0
- package/fesm2015/create-dashboard.mjs.map +1 -0
- package/fesm2020/create-dashboard.mjs +4746 -0
- package/fesm2020/create-dashboard.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/create-dashboard-container/categories/categories.component.d.ts +3 -0
- package/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.d.ts +3 -0
- package/lib/create-dashboard-container/configure-widgets/configure-widgets.module.d.ts +12 -0
- package/lib/create-dashboard-container/create-dashboard.component.d.ts +3 -0
- package/lib/create-dashboard-container/create-dashboard.module.d.ts +31 -0
- package/lib/create-dashboard-container/directives/directives.module.d.ts +6 -0
- package/lib/create-dashboard-container/directives/scroll-in-view.directive.d.ts +3 -0
- package/lib/create-dashboard-container/form-group/form-group.component.d.ts +3 -0
- package/lib/create-dashboard-container/frequency/frequency.component.d.ts +3 -0
- package/lib/create-dashboard-container/pipes/filter.pipe.d.ts +3 -0
- package/lib/create-dashboard-container/pipes/search.pipe.d.ts +3 -0
- package/lib/create-dashboard-container/pipes/text-count.pipe.d.ts +3 -0
- package/lib/create-dashboard-container/responsibility-center/responsibility-center.component.d.ts +3 -0
- package/lib/create-dashboard-container/risk-categories/risk-categories.component.d.ts +3 -0
- package/lib/create-dashboard-container/services/auth.service.d.ts +3 -0
- package/lib/create-dashboard-container/services/configure-widgets.service.d.ts +3 -0
- package/lib/create-dashboard-container/services/create-dashboard.service.d.ts +3 -0
- package/lib/create-dashboard-container/services/pagination.service.d.ts +3 -0
- package/lib/create-dashboard-container/user-list/user-list.component.d.ts +3 -0
- package/lib/create-dashboard.service.d.ts +3 -0
- package/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.d.ts +3 -0
- package/lib/ui-kit/dashboard-footer/dashboard-footer.module.d.ts +7 -0
- package/lib/ui-kit/dialog/dialog.component.d.ts +3 -0
- package/lib/ui-kit/dialog/dialog.module.d.ts +7 -0
- package/lib/ui-kit/dialog/dialog.service.d.ts +3 -0
- package/lib/ui-kit/dialog/insertion.directive.d.ts +3 -0
- package/lib/ui-kit/floating-bar/floating-bar.component.d.ts +3 -0
- package/lib/ui-kit/floating-bar/floating-bar.module.d.ts +7 -0
- package/lib/ui-kit/formgroup/click-outside.directive.d.ts +3 -0
- package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +3 -0
- package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +3 -0
- package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +3 -0
- package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +3 -0
- package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +3 -0
- package/lib/ui-kit/formgroup/formgroup.module.d.ts +15 -0
- package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts +3 -0
- package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts +3 -0
- package/lib/ui-kit/no-data/no-data.component.d.ts +3 -0
- package/lib/ui-kit/no-data/no-data.module.d.ts +6 -0
- package/lib/ui-kit/pagination/pagination.component.d.ts +3 -0
- package/lib/ui-kit/pagination/pagination.module.d.ts +6 -0
- package/lib/ui-kit/popover/popover.component.d.ts +3 -0
- package/lib/ui-kit/popover/popover.directive.d.ts +3 -0
- package/lib/ui-kit/popover/popover.module.d.ts +7 -0
- package/lib/ui-kit/popover/popover.service.d.ts +3 -0
- package/lib/ui-kit/select/cs-option/cs-option.component.d.ts +3 -0
- package/lib/ui-kit/select/cs-select/cs-select.component.d.ts +3 -0
- package/lib/ui-kit/select/safe-html.pipe.d.ts +3 -0
- package/lib/ui-kit/select/select.module.d.ts +9 -0
- package/lib/ui-kit/services/cs-select.service.d.ts +3 -0
- package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +3 -0
- package/lib/ui-kit/smiley-dialog/smiley-dialog.module.d.ts +6 -0
- package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.d.ts +3 -0
- package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +6 -0
- package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +3 -0
- package/lib/ui-kit/tooltip/tooltip.directive.d.ts +3 -0
- package/lib/ui-kit/tooltip/tooltip.module.d.ts +6 -0
- package/lib/ui-kit/v-loader/loader/loader.component.d.ts +3 -0
- package/lib/ui-kit/v-loader/loader-inline/loader-inline.component.d.ts +3 -0
- package/lib/ui-kit/v-loader/v-loader.module.d.ts +7 -0
- package/package.json +21 -9
- package/bundles/create-dashboard.umd.js +0 -5174
- package/bundles/create-dashboard.umd.js.map +0 -1
- package/create-dashboard.d.ts +0 -64
- package/create-dashboard.metadata.json +0 -1
- package/esm2015/create-dashboard.js +0 -65
- package/esm2015/create-dashboard.ngsummary.json +0 -1
- package/esm2015/lib/configurations.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/categories/categories-config.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/categories/categories.component.js +0 -199
- package/esm2015/lib/create-dashboard-container/categories/categories.component.ngfactory.js +0 -94
- package/esm2015/lib/create-dashboard-container/categories/categories.component.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.js +0 -531
- package/esm2015/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.ngfactory.js +0 -86
- package/esm2015/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/configure-widgets/configure-widgets.module.js +0 -30
- package/esm2015/lib/create-dashboard-container/configure-widgets/configure-widgets.module.ngfactory.js +0 -20
- package/esm2015/lib/create-dashboard-container/configure-widgets/configure-widgets.module.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/create-dashboard-config.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/create-dashboard.component.js +0 -872
- package/esm2015/lib/create-dashboard-container/create-dashboard.component.ngfactory.js +0 -357
- package/esm2015/lib/create-dashboard-container/create-dashboard.component.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/create-dashboard.module.js +0 -78
- package/esm2015/lib/create-dashboard-container/create-dashboard.module.ngfactory.js +0 -35
- package/esm2015/lib/create-dashboard-container/create-dashboard.module.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/directives/directives.module.js +0 -19
- package/esm2015/lib/create-dashboard-container/directives/directives.module.ngfactory.js +0 -12
- package/esm2015/lib/create-dashboard-container/directives/directives.module.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/directives/scroll-in-view.directive.js +0 -36
- package/esm2015/lib/create-dashboard-container/directives/scroll-in-view.directive.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/form-group/form-group.component.js +0 -126
- package/esm2015/lib/create-dashboard-container/form-group/form-group.component.ngfactory.js +0 -129
- package/esm2015/lib/create-dashboard-container/form-group/form-group.component.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/frequency/frequency.component.js +0 -295
- package/esm2015/lib/create-dashboard-container/frequency/frequency.component.ngfactory.js +0 -105
- package/esm2015/lib/create-dashboard-container/frequency/frequency.component.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/interfaces/widget-data-model.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/pipes/filter.pipe.js +0 -26
- package/esm2015/lib/create-dashboard-container/pipes/filter.pipe.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/pipes/search.pipe.js +0 -21
- package/esm2015/lib/create-dashboard-container/pipes/search.pipe.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/pipes/text-count.pipe.js +0 -16
- package/esm2015/lib/create-dashboard-container/pipes/text-count.pipe.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/responsibility-center/responsibility-center.component.js +0 -137
- package/esm2015/lib/create-dashboard-container/responsibility-center/responsibility-center.component.ngfactory.js +0 -79
- package/esm2015/lib/create-dashboard-container/responsibility-center/responsibility-center.component.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/risk-categories/risk-categories-config.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/risk-categories/risk-categories.component.js +0 -183
- package/esm2015/lib/create-dashboard-container/risk-categories/risk-categories.component.ngfactory.js +0 -93
- package/esm2015/lib/create-dashboard-container/risk-categories/risk-categories.component.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/services/auth.service.js +0 -31
- package/esm2015/lib/create-dashboard-container/services/auth.service.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/services/configure-widgets.service.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/services/create-dashboard.service.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/services/pagination.service.js +0 -28
- package/esm2015/lib/create-dashboard-container/services/pagination.service.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/user-list/user-list.component.js +0 -229
- package/esm2015/lib/create-dashboard-container/user-list/user-list.component.ngfactory.js +0 -96
- package/esm2015/lib/create-dashboard-container/user-list/user-list.component.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard-container/user-list/user-list.config.ngsummary.json +0 -1
- package/esm2015/lib/create-dashboard.service.js +0 -13
- package/esm2015/lib/create-dashboard.service.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.js +0 -45
- package/esm2015/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.ngfactory.js +0 -49
- package/esm2015/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/dashboard-footer/dashboard-footer-config.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/dashboard-footer/dashboard-footer.module.js +0 -21
- package/esm2015/lib/ui-kit/dashboard-footer/dashboard-footer.module.ngfactory.js +0 -14
- package/esm2015/lib/ui-kit/dashboard-footer/dashboard-footer.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/dialog/dialog-config.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/dialog/dialog-injector.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/dialog/dialog-ref.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/dialog/dialog.component.js +0 -89
- package/esm2015/lib/ui-kit/dialog/dialog.component.ngfactory.js +0 -29
- package/esm2015/lib/ui-kit/dialog/dialog.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/dialog/dialog.module.js +0 -16
- package/esm2015/lib/ui-kit/dialog/dialog.module.ngfactory.js +0 -14
- package/esm2015/lib/ui-kit/dialog/dialog.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/dialog/dialog.service.js +0 -56
- package/esm2015/lib/ui-kit/dialog/dialog.service.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/dialog/insertion.directive.js +0 -15
- package/esm2015/lib/ui-kit/dialog/insertion.directive.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/floating-bar/floating-bar.component.js +0 -46
- package/esm2015/lib/ui-kit/floating-bar/floating-bar.component.ngfactory.js +0 -50
- package/esm2015/lib/ui-kit/floating-bar/floating-bar.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/floating-bar/floating-bar.module.js +0 -21
- package/esm2015/lib/ui-kit/floating-bar/floating-bar.module.ngfactory.js +0 -14
- package/esm2015/lib/ui-kit/floating-bar/floating-bar.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/click-outside.directive.js +0 -26
- package/esm2015/lib/ui-kit/formgroup/click-outside.directive.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.js +0 -25
- package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngfactory.js +0 -30
- package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/cs-radio/cs-radio.component.js +0 -27
- package/esm2015/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ngfactory.js +0 -20
- package/esm2015/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.js +0 -14
- package/esm2015/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ngfactory.js +0 -19
- package/esm2015/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/cs-select/cs-select.component.js +0 -80
- package/esm2015/lib/ui-kit/formgroup/cs-select/cs-select.component.ngfactory.js +0 -89
- package/esm2015/lib/ui-kit/formgroup/cs-select/cs-select.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/cs-switch/cs-switch.component.js +0 -29
- package/esm2015/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ngfactory.js +0 -62
- package/esm2015/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/formgroup.module.js +0 -38
- package/esm2015/lib/ui-kit/formgroup/formgroup.module.ngfactory.js +0 -14
- package/esm2015/lib/ui-kit/formgroup/formgroup.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/pipes/pascal.pipe.js +0 -15
- package/esm2015/lib/ui-kit/formgroup/pipes/pascal.pipe.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.js +0 -20
- package/esm2015/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/no-data/no-data.component.js +0 -32
- package/esm2015/lib/ui-kit/no-data/no-data.component.ngfactory.js +0 -28
- package/esm2015/lib/ui-kit/no-data/no-data.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/no-data/no-data.module.js +0 -13
- package/esm2015/lib/ui-kit/no-data/no-data.module.ngfactory.js +0 -12
- package/esm2015/lib/ui-kit/no-data/no-data.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/pagination/pagination.component.js +0 -127
- package/esm2015/lib/ui-kit/pagination/pagination.component.ngfactory.js +0 -30
- package/esm2015/lib/ui-kit/pagination/pagination.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/pagination/pagination.module.js +0 -13
- package/esm2015/lib/ui-kit/pagination/pagination.module.ngfactory.js +0 -12
- package/esm2015/lib/ui-kit/pagination/pagination.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/popover/popover.component.js +0 -131
- package/esm2015/lib/ui-kit/popover/popover.component.ngfactory.js +0 -29
- package/esm2015/lib/ui-kit/popover/popover.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/popover/popover.directive.js +0 -84
- package/esm2015/lib/ui-kit/popover/popover.directive.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/popover/popover.module.js +0 -16
- package/esm2015/lib/ui-kit/popover/popover.module.ngfactory.js +0 -13
- package/esm2015/lib/ui-kit/popover/popover.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/popover/popover.service.js +0 -16
- package/esm2015/lib/ui-kit/popover/popover.service.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/select/cs-option/cs-option.component.js +0 -39
- package/esm2015/lib/ui-kit/select/cs-option/cs-option.component.ngfactory.js +0 -22
- package/esm2015/lib/ui-kit/select/cs-option/cs-option.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/select/cs-select/cs-select.component.js +0 -80
- package/esm2015/lib/ui-kit/select/cs-select/cs-select.component.ngfactory.js +0 -43
- package/esm2015/lib/ui-kit/select/cs-select/cs-select.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/select/safe-html.pipe.js +0 -19
- package/esm2015/lib/ui-kit/select/safe-html.pipe.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/select/select.module.js +0 -16
- package/esm2015/lib/ui-kit/select/select.module.ngfactory.js +0 -13
- package/esm2015/lib/ui-kit/select/select.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/services/cs-select.service.js +0 -14
- package/esm2015/lib/ui-kit/services/cs-select.service.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.component.js +0 -45
- package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.component.ngfactory.js +0 -28
- package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.module.js +0 -13
- package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.module.ngfactory.js +0 -12
- package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.js +0 -41
- package/esm2015/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.ngfactory.js +0 -23
- package/esm2015/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/snack-bar/snack-bar.module.js +0 -13
- package/esm2015/lib/ui-kit/snack-bar/snack-bar.module.ngfactory.js +0 -12
- package/esm2015/lib/ui-kit/snack-bar/snack-bar.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/snack-bar/snack-bar.service.js +0 -23
- package/esm2015/lib/ui-kit/snack-bar/snack-bar.service.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/tooltip/tooltip.directive.js +0 -138
- package/esm2015/lib/ui-kit/tooltip/tooltip.directive.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/tooltip/tooltip.module.js +0 -13
- package/esm2015/lib/ui-kit/tooltip/tooltip.module.ngfactory.js +0 -12
- package/esm2015/lib/ui-kit/tooltip/tooltip.module.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/v-loader/loader/loader.component.js +0 -14
- package/esm2015/lib/ui-kit/v-loader/loader/loader.component.ngfactory.js +0 -17
- package/esm2015/lib/ui-kit/v-loader/loader/loader.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/v-loader/loader-inline/loader-inline.component.js +0 -14
- package/esm2015/lib/ui-kit/v-loader/loader-inline/loader-inline.component.ngfactory.js +0 -17
- package/esm2015/lib/ui-kit/v-loader/loader-inline/loader-inline.component.ngsummary.json +0 -1
- package/esm2015/lib/ui-kit/v-loader/v-loader.module.js +0 -14
- package/esm2015/lib/ui-kit/v-loader/v-loader.module.ngfactory.js +0 -12
- package/esm2015/lib/ui-kit/v-loader/v-loader.module.ngsummary.json +0 -1
- package/esm2015/public-api.ngsummary.json +0 -1
- package/fesm2015/create-dashboard.js +0 -4573
- package/fesm2015/create-dashboard.js.map +0 -1
- package/lib/create-dashboard-container/categories/categories.component.ngfactory.d.ts +0 -1
- package/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.ngfactory.d.ts +0 -1
- package/lib/create-dashboard-container/configure-widgets/configure-widgets.module.ngfactory.d.ts +0 -3
- package/lib/create-dashboard-container/create-dashboard.component.ngfactory.d.ts +0 -1
- package/lib/create-dashboard-container/create-dashboard.module.ngfactory.d.ts +0 -3
- package/lib/create-dashboard-container/directives/directives.module.ngfactory.d.ts +0 -3
- package/lib/create-dashboard-container/form-group/form-group.component.ngfactory.d.ts +0 -1
- package/lib/create-dashboard-container/frequency/frequency.component.ngfactory.d.ts +0 -1
- package/lib/create-dashboard-container/responsibility-center/responsibility-center.component.ngfactory.d.ts +0 -1
- package/lib/create-dashboard-container/risk-categories/risk-categories.component.ngfactory.d.ts +0 -1
- package/lib/create-dashboard-container/user-list/user-list.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/dashboard-footer/dashboard-footer.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/dialog/dialog.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/dialog/dialog.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/floating-bar/floating-bar.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/floating-bar/floating-bar.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/formgroup/cs-select/cs-select.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/formgroup/formgroup.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/no-data/no-data.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/no-data/no-data.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/pagination/pagination.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/pagination/pagination.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/popover/popover.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/popover/popover.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/select/cs-option/cs-option.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/select/cs-select/cs-select.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/select/select.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/smiley-dialog/smiley-dialog.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/smiley-dialog/smiley-dialog.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/snack-bar/snack-bar.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/tooltip/tooltip.module.ngfactory.d.ts +0 -3
- package/lib/ui-kit/v-loader/loader/loader.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/v-loader/loader-inline/loader-inline.component.ngfactory.d.ts +0 -1
- package/lib/ui-kit/v-loader/v-loader.module.ngfactory.d.ts +0 -3
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../../ui-kit/formgroup/cs-checkbox/cs-checkbox.component";
|
|
5
|
+
import * as i3 from "@angular/forms";
|
|
6
|
+
import * as i4 from "../../ui-kit/tooltip/tooltip.directive";
|
|
7
|
+
import * as i5 from "../../ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component";
|
|
8
|
+
import * as i6 from "../../ui-kit/no-data/no-data.component";
|
|
9
|
+
import * as i7 from "../pipes/filter.pipe";
|
|
10
|
+
export class ResponsibilityCenterComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.saveSelectedList = new EventEmitter();
|
|
13
|
+
this.closeRcList = new EventEmitter();
|
|
14
|
+
this.responsibilityCentersList = [];
|
|
15
|
+
this.selectedResponsibilityCenters = [];
|
|
16
|
+
this.rcIdKey = '';
|
|
17
|
+
this.radioSelection = false;
|
|
18
|
+
this.selectedIds = [];
|
|
19
|
+
this.animation = false;
|
|
20
|
+
this.search = '';
|
|
21
|
+
this.footerDetails = {
|
|
22
|
+
selectedData: [],
|
|
23
|
+
nonRemovableList: [],
|
|
24
|
+
displayElementKey: 'item_name',
|
|
25
|
+
elementId: 'item_id',
|
|
26
|
+
singularText: 'Responsibility Center selected',
|
|
27
|
+
pluralText: 'Responsibility Centers selected',
|
|
28
|
+
showFrequency: false,
|
|
29
|
+
frequencyText: '',
|
|
30
|
+
isDisabled: false
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
ngOnChanges() {
|
|
34
|
+
this.footerDetails.selectedData = this.selectedResponsibilityCenters;
|
|
35
|
+
this.selectedIds = this.selectedResponsibilityCenters.map((ele) => { if (ele[this.rcIdKey]) {
|
|
36
|
+
return ele[this.rcIdKey];
|
|
37
|
+
} });
|
|
38
|
+
}
|
|
39
|
+
ngOnInit() {
|
|
40
|
+
this.animation = true;
|
|
41
|
+
setTimeout(() => {
|
|
42
|
+
this.animation = false;
|
|
43
|
+
}, 300);
|
|
44
|
+
}
|
|
45
|
+
selectRc(rc, mode) {
|
|
46
|
+
if (this.radioSelection) {
|
|
47
|
+
if (mode) {
|
|
48
|
+
this.selectedIds = [];
|
|
49
|
+
this.selectedIds.push(rc);
|
|
50
|
+
}
|
|
51
|
+
this.setList();
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
if (mode) {
|
|
55
|
+
this.selectedIds.push(rc);
|
|
56
|
+
const rcElement = this.responsibilityCentersList.findIndex((ele) => ele.item_id == rc);
|
|
57
|
+
if (rcElement !== -1) {
|
|
58
|
+
const parentRc = this.responsibilityCentersList[rcElement];
|
|
59
|
+
if (parentRc?.item_child_ids?.length > 0) {
|
|
60
|
+
parentRc.item_child_ids.forEach((childElement) => {
|
|
61
|
+
if (!this.selectedIds.includes(childElement)) {
|
|
62
|
+
this.selectedIds.push(childElement);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
const index = this.selectedIds.findIndex((element) => element == rc);
|
|
70
|
+
this.selectedIds.splice(index, 1);
|
|
71
|
+
const rcElement = this.responsibilityCentersList.findIndex((ele) => ele.item_id == rc);
|
|
72
|
+
if (rcElement !== -1) {
|
|
73
|
+
const parentRc = this.responsibilityCentersList[rcElement];
|
|
74
|
+
if (parentRc?.item_child_ids?.length > 0) {
|
|
75
|
+
parentRc.item_child_ids.forEach((childElement) => {
|
|
76
|
+
const removeIndex = this.selectedIds.findIndex((removeElement) => removeElement == childElement);
|
|
77
|
+
this.selectedIds.splice(removeIndex, 1);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
this.setList();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
deleteEvent(event) {
|
|
86
|
+
const index = this.selectedIds.findIndex((element) => element == event[this.rcIdKey]);
|
|
87
|
+
this.selectedIds.splice(index, 1);
|
|
88
|
+
this.setList();
|
|
89
|
+
}
|
|
90
|
+
selectAll(mode) {
|
|
91
|
+
if (mode) {
|
|
92
|
+
const list = [...this.responsibilityCentersList];
|
|
93
|
+
this.selectedIds = [];
|
|
94
|
+
list.forEach(element => {
|
|
95
|
+
this.selectedIds.push(element[this.rcIdKey]);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
this.selectedIds = [];
|
|
100
|
+
}
|
|
101
|
+
this.setList();
|
|
102
|
+
}
|
|
103
|
+
setList() {
|
|
104
|
+
const data = [];
|
|
105
|
+
const rcList = [...new Set(this.responsibilityCentersList)];
|
|
106
|
+
// cloneDeep(this.responsibilityCentersList);
|
|
107
|
+
const selectedIds = [...new Set(this.selectedIds)];
|
|
108
|
+
// cloneDeep(this.selectedIds);
|
|
109
|
+
rcList.forEach((element) => {
|
|
110
|
+
if (selectedIds.includes(element[this.rcIdKey])) {
|
|
111
|
+
data.push(element);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
this.selectedResponsibilityCenters = data;
|
|
115
|
+
this.footerDetails.selectedData = this.selectedResponsibilityCenters;
|
|
116
|
+
}
|
|
117
|
+
checkSelectAll() {
|
|
118
|
+
const data = this.responsibilityCentersList.every((rc) => this.selectedIds.includes(rc[this.rcIdKey]));
|
|
119
|
+
return data;
|
|
120
|
+
}
|
|
121
|
+
save() {
|
|
122
|
+
this.saveSelectedList.emit(this.selectedIds);
|
|
123
|
+
}
|
|
124
|
+
closeResponsibilityCenterList() {
|
|
125
|
+
this.closeRcList.emit();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
ResponsibilityCenterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ResponsibilityCenterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
129
|
+
ResponsibilityCenterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: ResponsibilityCenterComponent, selector: "app-responsibility-center", inputs: { responsibilityCentersList: "responsibilityCentersList", selectedResponsibilityCenters: "selectedResponsibilityCenters", rcIdKey: "rcIdKey", radioSelection: "radioSelection" }, outputs: { saveSelectedList: "saveSelectedList", closeRcList: "closeRcList" }, usesOnChanges: true, ngImport: i0, template: "<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\" *ngIf=\"searchList.length>1\">\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\" *ngIf=\"searchList.length > 0\">\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\" [arTooltip]=\"entity\" placement=\"bottom-left\"\r\n delay=\"0\">\r\n <i class=\"icons\" *ngIf=\"j !== 0\"></i>\r\n {{entity}}\r\n <!-- <span class=\"name\">{{entity}}</span> -->\r\n </li> \r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n \r\n </ul>\r\n <app-no-data *ngIf=\"searchList.length == 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No data to display'\">\r\n </app-no-data>\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>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/animate/animation.css\";@import\"https://cdn.v-comply.com/design-system/css/animate/animate-slide-right.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";::ng-deep .responsibility-center{background:#FFFFFF}::ng-deep .responsibility-center-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f1f1f1;border-right:none}::ng-deep .responsibility-center-head h3{color:#161b2f;font-size:15px;font-weight:500;margin:0;padding:0;line-height:21px}::ng-deep .responsibility-center-body{padding:24px 40px 24px 36px;height:calc(100vh - 112px)}::ng-deep .responsibility-center-body .select-all{display:flex;padding-bottom:20px}::ng-deep .responsibility-center-body .select-all app-cs-checkbox{display:flex}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value{font-weight:600!important;max-width:unset!important}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value strong{color:#161b2f!important;font-weight:600!important}::ng-deep .responsibility-center-body ul{padding:0;margin:0}::ng-deep .responsibility-center-body ul.responsibility-center-list{display:block;align-items:flex-start;flex-wrap:wrap;max-height:calc(100vh - 230px);min-height:calc(100vh - 230px);overflow:auto}::ng-deep .responsibility-center-body ul.responsibility-center-list::-webkit-scrollbar-track{background-color:#fff}::ng-deep .responsibility-center-body ul.responsibility-center-list li{width:100%;padding:0 0 20px;list-style:none}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio{display:flex}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label{width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label span.value,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li{list-style:none;color:#747576;font-size:14px;font-weight:400;width:auto;padding:0 8px 0 0;max-width:100%;display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li i,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li i{font-size:8px;padding-right:8px;color:#747576;position:relative;top:-1px}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li span.name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li span.name{list-style:none;color:#747576;font-size:14px;font-weight:400;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:auto;min-width:calc(100% - 20px);padding:0}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:first-child,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:first-child{color:#4681ef;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:last-of-type,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:last-of-type{color:#66bf72}::ng-deep .responsibility-center-footer{height:70px}::ng-deep .responsibility-center-search{position:relative;margin-bottom:8px}::ng-deep .responsibility-center-search i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#dbdbdb}::ng-deep .responsibility-center-search input{height:44px;line-height:24px;padding:10px 15px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}::ng-deep .responsibility-center-search input:focus{border-color:#1e5dd3;box-shadow:0 0 5px #1e5d08}.pagination-box{margin-bottom:20px}.pagination-box ul{display:flex;align-items:center;padding:0;margin:0}.pagination-box ul li{list-style:none;display:flex}.pagination-box ul li:first-child{margin-right:4px;height:24px}.pagination-box ul li:first-child button{color:#1e5dd3;font-size:17px}.pagination-box ul li:last-child{margin-left:6px!important;height:24px}.pagination-box ul li:last-child button{color:#1e5dd3;font-size:17px}.pagination-box ul li button{border:1px solid #BCBCBC;background:#FFFFFF;border-radius:2px;color:#161b2f;font-weight:400;height:24px;min-width:24px;padding:0 5px;display:inline-flex;justify-content:center;align-items:center;outline:none;cursor:pointer;margin-left:4px;font-size:13px}.pagination-box ul li button:hover{border-color:#1e5dd3;color:#1e5dd3}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i5.DashboardFooterComponent, selector: "app-dashboard-footer", inputs: ["footerDetails"], outputs: ["cancelEvent", "submitEvent", "deleteEvent"] }, { kind: "component", type: i6.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "buttonIcon", "iconClass"], outputs: ["buttonAction"] }, { kind: "pipe", type: i7.FilterPipe, name: "filter" }] });
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ResponsibilityCenterComponent, decorators: [{
|
|
131
|
+
type: Component,
|
|
132
|
+
args: [{ selector: 'app-responsibility-center', template: "<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\" *ngIf=\"searchList.length>1\">\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\" *ngIf=\"searchList.length > 0\">\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\" [arTooltip]=\"entity\" placement=\"bottom-left\"\r\n delay=\"0\">\r\n <i class=\"icons\" *ngIf=\"j !== 0\"></i>\r\n {{entity}}\r\n <!-- <span class=\"name\">{{entity}}</span> -->\r\n </li> \r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n \r\n </ul>\r\n <app-no-data *ngIf=\"searchList.length == 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No data to display'\">\r\n </app-no-data>\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>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/animate/animation.css\";@import\"https://cdn.v-comply.com/design-system/css/animate/animate-slide-right.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";::ng-deep .responsibility-center{background:#FFFFFF}::ng-deep .responsibility-center-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f1f1f1;border-right:none}::ng-deep .responsibility-center-head h3{color:#161b2f;font-size:15px;font-weight:500;margin:0;padding:0;line-height:21px}::ng-deep .responsibility-center-body{padding:24px 40px 24px 36px;height:calc(100vh - 112px)}::ng-deep .responsibility-center-body .select-all{display:flex;padding-bottom:20px}::ng-deep .responsibility-center-body .select-all app-cs-checkbox{display:flex}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value{font-weight:600!important;max-width:unset!important}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value strong{color:#161b2f!important;font-weight:600!important}::ng-deep .responsibility-center-body ul{padding:0;margin:0}::ng-deep .responsibility-center-body ul.responsibility-center-list{display:block;align-items:flex-start;flex-wrap:wrap;max-height:calc(100vh - 230px);min-height:calc(100vh - 230px);overflow:auto}::ng-deep .responsibility-center-body ul.responsibility-center-list::-webkit-scrollbar-track{background-color:#fff}::ng-deep .responsibility-center-body ul.responsibility-center-list li{width:100%;padding:0 0 20px;list-style:none}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio{display:flex}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label{width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label span.value,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li{list-style:none;color:#747576;font-size:14px;font-weight:400;width:auto;padding:0 8px 0 0;max-width:100%;display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li i,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li i{font-size:8px;padding-right:8px;color:#747576;position:relative;top:-1px}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li span.name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li span.name{list-style:none;color:#747576;font-size:14px;font-weight:400;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:auto;min-width:calc(100% - 20px);padding:0}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:first-child,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:first-child{color:#4681ef;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:last-of-type,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:last-of-type{color:#66bf72}::ng-deep .responsibility-center-footer{height:70px}::ng-deep .responsibility-center-search{position:relative;margin-bottom:8px}::ng-deep .responsibility-center-search i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#dbdbdb}::ng-deep .responsibility-center-search input{height:44px;line-height:24px;padding:10px 15px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}::ng-deep .responsibility-center-search input:focus{border-color:#1e5dd3;box-shadow:0 0 5px #1e5d08}.pagination-box{margin-bottom:20px}.pagination-box ul{display:flex;align-items:center;padding:0;margin:0}.pagination-box ul li{list-style:none;display:flex}.pagination-box ul li:first-child{margin-right:4px;height:24px}.pagination-box ul li:first-child button{color:#1e5dd3;font-size:17px}.pagination-box ul li:last-child{margin-left:6px!important;height:24px}.pagination-box ul li:last-child button{color:#1e5dd3;font-size:17px}.pagination-box ul li button{border:1px solid #BCBCBC;background:#FFFFFF;border-radius:2px;color:#161b2f;font-weight:400;height:24px;min-width:24px;padding:0 5px;display:inline-flex;justify-content:center;align-items:center;outline:none;cursor:pointer;margin-left:4px;font-size:13px}.pagination-box ul li button:hover{border-color:#1e5dd3;color:#1e5dd3}\n"] }]
|
|
133
|
+
}], ctorParameters: function () { return []; }, propDecorators: { saveSelectedList: [{
|
|
134
|
+
type: Output
|
|
135
|
+
}], closeRcList: [{
|
|
136
|
+
type: Output
|
|
137
|
+
}], responsibilityCentersList: [{
|
|
138
|
+
type: Input
|
|
139
|
+
}], selectedResponsibilityCenters: [{
|
|
140
|
+
type: Input
|
|
141
|
+
}], rcIdKey: [{
|
|
142
|
+
type: Input
|
|
143
|
+
}], radioSelection: [{
|
|
144
|
+
type: Input
|
|
145
|
+
}] } });
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9yZXNwb25zaWJpbGl0eS1jZW50ZXIvcmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9yZXNwb25zaWJpbGl0eS1jZW50ZXIvcmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFRMUYsTUFBTSxPQUFPLDZCQUE2QjtJQXdCeEM7UUF2QlUscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsOEJBQXlCLEdBQUcsRUFBRSxDQUFDO1FBQy9CLGtDQUE2QixHQUFHLEVBQUUsQ0FBQztRQUNuQyxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHaEMsZ0JBQVcsR0FBVSxFQUFFLENBQUM7UUFDeEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1osa0JBQWEsR0FBMEI7WUFDckMsWUFBWSxFQUFFLEVBQUU7WUFDaEIsZ0JBQWdCLEVBQUMsRUFBRTtZQUNuQixpQkFBaUIsRUFBRSxXQUFXO1lBQzlCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFlBQVksRUFBRSxnQ0FBZ0M7WUFDOUMsVUFBVSxFQUFF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VztzQkFBcEIsTUFBTTtnQkFDRSx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csNkJBQTZCO3NCQUFyQyxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhc2hib2FyZEZvb3RlckNvbmZpZyB9IGZyb20gJy4uLy4uL3VpLWtpdC9kYXNoYm9hcmQtZm9vdGVyL2Rhc2hib2FyZC1mb290ZXItY29uZmlnJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXJlc3BvbnNpYmlsaXR5LWNlbnRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc3BvbnNpYmlsaXR5LWNlbnRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlc3BvbnNpYmlsaXR5Q2VudGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBPdXRwdXQoKSBzYXZlU2VsZWN0ZWRMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZVJjTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSByZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0ID0gW107XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUNlbnRlcnMgPSBbXTtcclxuICBASW5wdXQoKSByY0lkS2V5ID0gJyc7XHJcbiAgQElucHV0KCkgcmFkaW9TZWxlY3Rpb24gPSBmYWxzZTtcclxuXHJcblxyXG4gIHNlbGVjdGVkSWRzOiBhbnlbXSA9IFtdO1xyXG4gIGFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gIHNlYXJjaCA9ICcnO1xyXG4gIGZvb3RlckRldGFpbHM6IERhc2hib2FyZEZvb3RlckNvbmZpZyA9IHtcclxuICAgIHNlbGVjdGVkRGF0YTogW10sXHJcbiAgICBub25SZW1vdmFibGVMaXN0OltdLFxyXG4gICAgZGlzcGxheUVsZW1lbnRLZXk6ICdpdGVtX25hbWUnLFxyXG4gICAgZWxlbWVudElkOiAnaXRlbV9pZCcsXHJcbiAgICBzaW5ndWxhclRleHQ6ICdSZXNwb25zaWJpbGl0eSBDZW50ZXIgc2VsZWN0ZWQnLFxyXG4gICAgcGx1cmFsVGV4dDogJ1Jlc3BvbnNpYmlsaXR5IENlbnRlcnMgc2VsZWN0ZWQnLFxyXG4gICAgc2hvd0ZyZXF1ZW5jeTogZmFsc2UsXHJcbiAgICBmcmVxdWVuY3lUZXh0OiAnJyxcclxuICAgIGlzRGlzYWJsZWQ6IGZhbHNlXHJcblxyXG4gIH07XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvb3RlckRldGFpbHMuc2VsZWN0ZWREYXRhID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5Q2VudGVycztcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlDZW50ZXJzLm1hcCgoZWxlOiBhbnkpID0+IHsgaWYgKGVsZVt0aGlzLnJjSWRLZXldKSB7IHJldHVybiBlbGVbdGhpcy5yY0lkS2V5XTsgfSB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCAzMDApO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0UmMocmM6IGFueSwgbW9kZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5yYWRpb1NlbGVjdGlvbikge1xyXG4gICAgICBpZiAobW9kZSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2gocmMpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2V0TGlzdCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKG1vZGUpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2gocmMpO1xyXG4gICAgICAgIGNvbnN0IHJjRWxlbWVudCA9IHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdC5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuaXRlbV9pZCA9PSByYyk7XHJcbiAgICAgICAgaWYgKHJjRWxlbWVudCAhPT0gLTEpIHtcclxuICAgICAgICAgIGNvbnN0IHBhcmVudFJjOiBhbnkgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RbcmNFbGVtZW50XTtcclxuICAgICAgICAgIGlmIChwYXJlbnRSYz8uaXRlbV9jaGlsZF9pZHM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgcGFyZW50UmMuaXRlbV9jaGlsZF9pZHMuZm9yRWFjaCgoY2hpbGRFbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZighdGhpcy5zZWxlY3RlZElkcy5pbmNsdWRlcyhjaGlsZEVsZW1lbnQpKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaChjaGlsZEVsZW1lbnQpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJZHMuZmluZEluZGV4KChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgPT0gcmMpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICBjb25zdCByY0VsZW1lbnQgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QuZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLml0ZW1faWQgPT0gcmMpO1xyXG4gICAgICAgIGlmIChyY0VsZW1lbnQgIT09IC0xKSB7XHJcbiAgICAgICAgICBjb25zdCBwYXJlbnRSYzogYW55ID0gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0W3JjRWxlbWVudF07XHJcbiAgICAgICAgICBpZiAocGFyZW50UmM/Lml0ZW1fY2hpbGRfaWRzPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHBhcmVudFJjLml0ZW1fY2hpbGRfaWRzLmZvckVhY2goKGNoaWxkRWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgcmVtb3ZlSW5kZXggPSB0aGlzLnNlbGVjdGVkSWRzLmZpbmRJbmRleCgocmVtb3ZlRWxlbWVudDogYW55KSA9PiByZW1vdmVFbGVtZW50ID09IGNoaWxkRWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5zcGxpY2UocmVtb3ZlSW5kZXgsIDEpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2V0TGlzdCgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG4gIGRlbGV0ZUV2ZW50KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5maW5kSW5kZXgoKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudCA9PSBldmVudFt0aGlzLnJjSWRLZXldKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIHRoaXMuc2V0TGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0QWxsKG1vZGU6IGFueSkge1xyXG4gICAgaWYgKG1vZGUpIHtcclxuICAgICAgY29uc3QgbGlzdCA9IFsuLi50aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XHJcbiAgICAgIGxpc3QuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2goZWxlbWVudFt0aGlzLnJjSWRLZXldKTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldExpc3QoKTtcclxuICB9XHJcblxyXG5cclxuICBzZXRMaXN0KCkge1xyXG4gICAgY29uc3QgZGF0YTogYW55ID0gW107XHJcbiAgICBjb25zdCByY0xpc3QgPSBbLi4ubmV3IFNldCh0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QpXVxyXG4gICAgLy8gY2xvbmVEZWVwKHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdCk7XHJcbiAgICBjb25zdCBzZWxlY3RlZElkcyA9IFsuLi5uZXcgU2V0KHRoaXMuc2VsZWN0ZWRJZHMpXVxyXG4gICAgLy8gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRJZHMpO1xyXG4gICAgcmNMaXN0LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoc2VsZWN0ZWRJZHMuaW5jbHVkZXMoZWxlbWVudFt0aGlzLnJjSWRLZXldKSkge1xyXG4gICAgICAgIGRhdGEucHVzaChlbGVtZW50KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlDZW50ZXJzID0gZGF0YTtcclxuICAgIHRoaXMuZm9vdGVyRGV0YWlscy5zZWxlY3RlZERhdGEgPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlDZW50ZXJzO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tTZWxlY3RBbGwoKSB7XHJcbiAgICBjb25zdCBkYXRhID0gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0LmV2ZXJ5KChyYzogYW55KSA9PiB0aGlzLnNlbGVjdGVkSWRzLmluY2x1ZGVzKHJjW3RoaXMucmNJZEtleV0pKTtcclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuc2F2ZVNlbGVjdGVkTGlzdC5lbWl0KHRoaXMuc2VsZWN0ZWRJZHMpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VSZXNwb25zaWJpbGl0eUNlbnRlckxpc3QoKSB7XHJcbiAgICB0aGlzLmNsb3NlUmNMaXN0LmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJlc3BvbnNpYmlsaXR5LWNlbnRlclwiIFtjbGFzcy5hbmltYXRlLXNsaWRlSW5SaWdodF09XCJhbmltYXRpb25cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyZXNwb25zaWJpbGl0eS1jZW50ZXItaGVhZFwiPlxyXG4gICAgICAgIDxoMz5TZWxlY3QgUmVzcG9uc2liaWxpdHkgQ2VudGVyKHMpPC9oMz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJlc3BvbnNpYmlsaXR5LWNlbnRlci1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlc3BvbnNpYmlsaXR5LWNlbnRlci1zZWFyY2hcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGI7PC9pPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIFJlc3BvbnNpYmlsaXR5IENlbnRlclwiPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIocmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdCB8IGZpbHRlcjpzZWFyY2gpIGFzIHNlYXJjaExpc3RcIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtYWxsXCIgKm5nSWY9XCJzZWFyY2hMaXN0Lmxlbmd0aD4xXCI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94IFtuZ1ZhbHVlXT1cImNoZWNrU2VsZWN0QWxsKClcIiAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+e3tjaGVja1NlbGVjdEFsbCgpID8gJ0Rlc2VsZWN0IEFsbCcgOiAnU2VsZWN0IEFsbCd9fTwvc3Ryb25nPlxyXG4gICAgICAgICAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJyZXNwb25zaWJpbGl0eS1jZW50ZXItbGlzdFwiICpuZ0lmPVwic2VhcmNoTGlzdC5sZW5ndGggPiAwXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgPGxpXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHJjIG9mIHNlYXJjaExpc3Q7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94IFtuZ1ZhbHVlXT1cInNlbGVjdGVkSWRzLmluY2x1ZGVzKHJjLml0ZW1faWQpXCIgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0UmMocmMuaXRlbV9pZCwkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInJlc3BvbnNpYmlsaXR5LWNlbnRlci1saXN0LW5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZW50aXR5IG9mIHJjLnJjX25hbWU7IGxldCBqID0gaW5kZXhcIiBbYXJUb29sdGlwXT1cImVudGl0eVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiICAqbmdJZj1cImogIT09IDBcIj4mI3hlOTEwOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2VudGl0eX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cIm5hbWVcIj57e2VudGl0eX19PC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPGFwcC1uby1kYXRhICAqbmdJZj1cInNlYXJjaExpc3QubGVuZ3RoID09IDBcIlxyXG4gICAgICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9zZWFyY2gtZGF0YS5zdmcnXCIgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIj5cclxuICAgICAgICAgICAgPC9hcHAtbm8tZGF0YT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJlc3BvbnNpYmlsaXR5LWNlbnRlci1mb290ZXJcIj5cclxuICAgICAgICA8YXBwLWRhc2hib2FyZC1mb290ZXIgXHJcbiAgICAgICAgW2Zvb3RlckRldGFpbHNdID1cImZvb3RlckRldGFpbHNcIlxyXG4gICAgICAgIChjYW5jZWxFdmVudCk9XCJjbG9zZVJjTGlzdC5lbWl0KClcIlxyXG4gICAgICAgICAoZGVsZXRlRXZlbnQpID1cInNlbGVjdFJjKCRldmVudC5pdGVtX2lkLGZhbHNlKVwiXHJcbiAgICAgICAgIChzdWJtaXRFdmVudCk9XCJzYXZlKClcIlxyXG4gICAgICAgICAgPjwvYXBwLWRhc2hib2FyZC1mb290ZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
File without changes
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../../ui-kit/formgroup/cs-checkbox/cs-checkbox.component";
|
|
5
|
+
import * as i3 from "@angular/forms";
|
|
6
|
+
import * as i4 from "../../ui-kit/tooltip/tooltip.directive";
|
|
7
|
+
import * as i5 from "../../ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component";
|
|
8
|
+
import * as i6 from "../../ui-kit/no-data/no-data.component";
|
|
9
|
+
import * as i7 from "../pipes/filter.pipe";
|
|
10
|
+
export class RiskCategoriesComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.categoryList = {
|
|
13
|
+
strategic: {
|
|
14
|
+
list: [],
|
|
15
|
+
selectedList: [],
|
|
16
|
+
},
|
|
17
|
+
operational: {
|
|
18
|
+
list: [],
|
|
19
|
+
selectedList: [],
|
|
20
|
+
},
|
|
21
|
+
compliance: {
|
|
22
|
+
list: [],
|
|
23
|
+
selectedList: [],
|
|
24
|
+
},
|
|
25
|
+
others: {
|
|
26
|
+
list: [],
|
|
27
|
+
selectedList: [],
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
this.allCategories = [];
|
|
31
|
+
this.selectedCategories = [];
|
|
32
|
+
this.search = '';
|
|
33
|
+
this.activeTab = "strategic";
|
|
34
|
+
this.selectedIds = [];
|
|
35
|
+
this.animation = false;
|
|
36
|
+
this.footerDetails = {
|
|
37
|
+
selectedData: [],
|
|
38
|
+
nonRemovableList: [],
|
|
39
|
+
displayElementKey: 'category_name',
|
|
40
|
+
elementId: 'category_id',
|
|
41
|
+
singularText: 'Risk Category selected',
|
|
42
|
+
pluralText: 'Risk Categories selected',
|
|
43
|
+
showFrequency: false,
|
|
44
|
+
frequencyText: '',
|
|
45
|
+
isDisabled: false
|
|
46
|
+
};
|
|
47
|
+
this.saveSelectedCategory = new EventEmitter();
|
|
48
|
+
this.closeList = new EventEmitter();
|
|
49
|
+
this.closeCategoriesList = new EventEmitter();
|
|
50
|
+
}
|
|
51
|
+
ngOnInit() {
|
|
52
|
+
this.animation = true;
|
|
53
|
+
setTimeout(() => {
|
|
54
|
+
this.animation = false;
|
|
55
|
+
}, 300);
|
|
56
|
+
this.selectedIds = [];
|
|
57
|
+
if (this.selectedCategories) {
|
|
58
|
+
this.selectedCategories.forEach(element => {
|
|
59
|
+
this.selectedIds.push(element[this.categoryIdKey]);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
this.setList();
|
|
63
|
+
}
|
|
64
|
+
selectCategory(mode, activeTab, category) {
|
|
65
|
+
if (mode) {
|
|
66
|
+
this.selectedIds.push(category[this.categoryIdKey]);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
const index = this.selectedIds.findIndex((element) => element == category[this.categoryIdKey]);
|
|
70
|
+
this.selectedIds.splice(index, 1);
|
|
71
|
+
}
|
|
72
|
+
this.setList();
|
|
73
|
+
}
|
|
74
|
+
deleteEvent(event) {
|
|
75
|
+
const index = this.selectedIds.findIndex((element) => element == event[this.categoryIdKey]);
|
|
76
|
+
this.selectedIds.splice(index, 1);
|
|
77
|
+
this.setList();
|
|
78
|
+
}
|
|
79
|
+
selectAll(mode, activeTab) {
|
|
80
|
+
if (mode) {
|
|
81
|
+
if (activeTab === "strategic" || activeTab === "operational" || activeTab === "compliance" || activeTab === "others") {
|
|
82
|
+
const list = this.categoryList[activeTab].list;
|
|
83
|
+
list.forEach(element => {
|
|
84
|
+
if (!this.selectedIds.includes(element[this.categoryIdKey])) {
|
|
85
|
+
this.selectedIds.push(element[this.categoryIdKey]);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
if (activeTab === "strategic" || activeTab === "operational" || activeTab === "compliance" || activeTab === "others") {
|
|
92
|
+
const list = [...this.categoryList[activeTab].list];
|
|
93
|
+
list.forEach(element => {
|
|
94
|
+
if (this.selectedIds.includes(element[this.categoryIdKey])) {
|
|
95
|
+
let idIndex = this.selectedIds.findIndex((id) => id == element[this.categoryIdKey]);
|
|
96
|
+
this.selectedIds.splice(idIndex, 1);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
this.setList();
|
|
102
|
+
}
|
|
103
|
+
setList() {
|
|
104
|
+
const data = [];
|
|
105
|
+
const categoryList = [...new Set(this.allCategories)];
|
|
106
|
+
// cloneDeep(this.allCategories)
|
|
107
|
+
const selectedIds = [...new Set(this.selectedIds)];
|
|
108
|
+
// cloneDeep(this.selectedIds);
|
|
109
|
+
this.categoryList.strategic.selectedList = [];
|
|
110
|
+
this.categoryList.operational.selectedList = [];
|
|
111
|
+
this.categoryList.compliance.selectedList = [];
|
|
112
|
+
this.categoryList.others.selectedList = [];
|
|
113
|
+
categoryList.forEach((element) => {
|
|
114
|
+
if (selectedIds.includes(element[this.categoryIdKey])) {
|
|
115
|
+
data.push(element);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
this.selectedCategories = data;
|
|
119
|
+
this.footerDetails.selectedData = data;
|
|
120
|
+
this.categoryList.strategic.list.forEach((category) => {
|
|
121
|
+
if (selectedIds.includes(category[this.categoryIdKey])) {
|
|
122
|
+
this.categoryList.strategic.selectedList.push(category);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
this.categoryList.operational.list.forEach((category) => {
|
|
126
|
+
if (selectedIds.includes(category[this.categoryIdKey])) {
|
|
127
|
+
this.categoryList.operational.selectedList.push(category);
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
this.categoryList.compliance.list.forEach((category) => {
|
|
131
|
+
if (selectedIds.includes(category[this.categoryIdKey])) {
|
|
132
|
+
this.categoryList.compliance.selectedList.push(category);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
this.categoryList.others.list.forEach((category) => {
|
|
136
|
+
if (selectedIds.includes(category[this.categoryIdKey])) {
|
|
137
|
+
this.categoryList.others.selectedList.push(category);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
if (!this.activeTab) {
|
|
141
|
+
this.setActiveTab();
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
setActiveTab() {
|
|
145
|
+
if (this.categoryList.strategic.selectedList.length > 0) {
|
|
146
|
+
this.activeTab = 'strategic';
|
|
147
|
+
}
|
|
148
|
+
else if (this.categoryList.operational.selectedList.length > 0) {
|
|
149
|
+
this.activeTab = 'operational';
|
|
150
|
+
}
|
|
151
|
+
else if (this.categoryList.compliance.selectedList.length > 0) {
|
|
152
|
+
this.activeTab = 'compliance';
|
|
153
|
+
}
|
|
154
|
+
else if (this.categoryList.others.selectedList.length > 0) {
|
|
155
|
+
this.activeTab = 'others';
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
this.activeTab = 'strategic';
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
checkSelectAll(activeTab) {
|
|
162
|
+
if (activeTab === "strategic" || activeTab === "operational" || activeTab === "compliance" || activeTab === "others") {
|
|
163
|
+
const data = this.categoryList[activeTab].list.every((user) => this.selectedIds.includes(user[this.categoryIdKey]));
|
|
164
|
+
return data;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
save() {
|
|
168
|
+
this.saveSelectedCategory.emit(this.selectedCategories);
|
|
169
|
+
}
|
|
170
|
+
close() {
|
|
171
|
+
this.closeCategoriesList.emit();
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
RiskCategoriesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: RiskCategoriesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
175
|
+
RiskCategoriesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: RiskCategoriesComponent, selector: "app-risk-categories", inputs: { categoryList: "categoryList", allCategories: "allCategories", categoryIdKey: "categoryIdKey", selectedCategories: "selectedCategories" }, outputs: { saveSelectedCategory: "saveSelectedCategory", closeList: "closeList", closeCategoriesList: "closeCategoriesList" }, ngImport: i0, template: "<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 Risk 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 Risk 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 > 1\">\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\" *ngIf=\"searchList.length > 0\">\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 <app-no-data *ngIf=\"searchList.length == 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No data to display'\">\r\n </app-no-data>\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", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/animate/animation.css\";@import\"https://cdn.v-comply.com/design-system/css/animate/animate-slide-right.css\";@import\"https://cdn.v-comply.com/design-system/css/table-card/table-card.css\";::ng-deep .category-list{background:#FFFFFF}::ng-deep .category-list-head{background:#FBFBFB;border-bottom:1px solid #F1F1F1;border-radius:2px 2px 0 0}::ng-deep .category-list-head span{font-size:14px}::ng-deep .category-list-head button{background:transparent;border-radius:0;border:none}::ng-deep .category-list-head button i{margin:-1px 4px 0 0}::ng-deep .category-list-card{display:flex;align-items:center;border:1px solid #DBDBDB;border-radius:4px;height:55px;padding:12px 12px 12px 16px;width:100%;justify-content:space-between;cursor:pointer}::ng-deep .category-list-card .left{display:flex;flex-wrap:wrap;pointer-events:none}::ng-deep .category-list-card .left label{font-weight:600;text-transform:uppercase;color:#747576;line-height:16px;margin-left:0;font-size:11px;width:100%}::ng-deep .category-list-card .left p{line-height:16px;font-size:11px;color:#161b2f;font-weight:600;margin:0}::ng-deep .category-list-card span.counter{display:flex;height:32px;min-width:32px;border-radius:4px;background:#042e7d;color:#fff;font-size:11px;line-height:32px;justify-content:center;align-items:center;padding:0 5px;pointer-events:none}::ng-deep .category-list-card.active{box-shadow:0 3px 6px #1e5dd326}::ng-deep .category-list-card+.category-list-card{margin-left:4px}::ng-deep .category-list-mid{background:#FFFFFF;height:calc(100vh - 112px);border-radius:0 0 1px 1px;padding:24px 36px 4px;overflow-y:auto}::ng-deep .category-list-mid::-webkit-scrollbar-track{background-color:#fff}::ng-deep .category-list-mid .category-card .vx-table-card:last-of-type{margin-right:0!important}::ng-deep .category-list-mid .search{position:relative;margin-bottom:8px}::ng-deep .category-list-mid .search i{position:absolute;top:16px;left:16px;color:#dbdbdb}::ng-deep .category-list-mid .search input{border:1px solid #DBDBDB;border-radius:4px;height:44px;padding:10px 180px 10px 40px;width:100%;font-size:14px;color:#747576;outline:none}::ng-deep .category-list-mid .search input:focus{border-color:#1e5dd3;box-shadow:0 0 5px #1e5d08}::ng-deep .category-list-mid .pagination-box{margin-bottom:16px}::ng-deep .category-list-mid .pagination-box ul{display:flex;align-items:center;padding:0;margin:0}::ng-deep .category-list-mid .pagination-box ul li{list-style:none;display:flex}::ng-deep .category-list-mid .pagination-box ul li:first-child{margin-right:4px;height:24px}::ng-deep .category-list-mid .pagination-box ul li:first-child button{color:#1e5dd3;font-size:17px}::ng-deep .category-list-mid .pagination-box ul li:last-child{margin-left:6px!important;height:24px}::ng-deep .category-list-mid .pagination-box ul li:last-child button{color:#1e5dd3;font-size:17px}::ng-deep .category-list-mid .pagination-box ul li button{border:1px solid #BCBCBC;background:#FFFFFF;border-radius:2px;color:#161b2f;font-weight:400;height:24px;min-width:24px;padding:0 5px;display:inline-flex;justify-content:center;align-items:center;outline:none;cursor:pointer;margin-left:4px;font-size:13px}::ng-deep .category-list-mid .pagination-box ul li button:hover{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .category-list-mid .select-all{display:flex;padding-bottom:20px}::ng-deep .category-list-mid .select-all app-cs-checkbox{display:flex}::ng-deep .category-list-item ul.category-list-item-ul{list-style-type:none;display:block;align-items:flex-start;flex-wrap:wrap;max-height:calc(100vh - 295px);min-height:calc(100vh - 295px);overflow:auto;padding:16px 0 0}::ng-deep .category-list-item ul.category-list-item-ul::-webkit-scrollbar-track{background-color:#fff}::ng-deep .category-list-item ul.category-list-item-ul li{list-style:none}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox{display:flex}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label{width:100%}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value{width:auto;justify-content:flex-start}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories{display:flex;max-width:100%;padding:0;margin:0;justify-content:flex-start;width:auto}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li{display:block;padding:0 8px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:#747576}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li:after{content:\">\";position:absolute;top:0;right:0;color:#747576;font-size:13px}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li:last-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li:last-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li:last-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li:last-of-type{color:#34aa44}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li:last-of-type:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li:last-of-type:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li:last-of-type:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li:last-of-type:after{display:none}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li:first-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li:first-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li:first-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li:first-of-type{padding-left:0;color:#1e5dd3}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i5.DashboardFooterComponent, selector: "app-dashboard-footer", inputs: ["footerDetails"], outputs: ["cancelEvent", "submitEvent", "deleteEvent"] }, { kind: "component", type: i6.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "buttonIcon", "iconClass"], outputs: ["buttonAction"] }, { kind: "pipe", type: i7.FilterPipe, name: "filter" }] });
|
|
176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: RiskCategoriesComponent, decorators: [{
|
|
177
|
+
type: Component,
|
|
178
|
+
args: [{ selector: 'app-risk-categories', template: "<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 Risk 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 Risk 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 > 1\">\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\" *ngIf=\"searchList.length > 0\">\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 <app-no-data *ngIf=\"searchList.length == 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No data to display'\">\r\n </app-no-data>\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", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/animate/animation.css\";@import\"https://cdn.v-comply.com/design-system/css/animate/animate-slide-right.css\";@import\"https://cdn.v-comply.com/design-system/css/table-card/table-card.css\";::ng-deep .category-list{background:#FFFFFF}::ng-deep .category-list-head{background:#FBFBFB;border-bottom:1px solid #F1F1F1;border-radius:2px 2px 0 0}::ng-deep .category-list-head span{font-size:14px}::ng-deep .category-list-head button{background:transparent;border-radius:0;border:none}::ng-deep .category-list-head button i{margin:-1px 4px 0 0}::ng-deep .category-list-card{display:flex;align-items:center;border:1px solid #DBDBDB;border-radius:4px;height:55px;padding:12px 12px 12px 16px;width:100%;justify-content:space-between;cursor:pointer}::ng-deep .category-list-card .left{display:flex;flex-wrap:wrap;pointer-events:none}::ng-deep .category-list-card .left label{font-weight:600;text-transform:uppercase;color:#747576;line-height:16px;margin-left:0;font-size:11px;width:100%}::ng-deep .category-list-card .left p{line-height:16px;font-size:11px;color:#161b2f;font-weight:600;margin:0}::ng-deep .category-list-card span.counter{display:flex;height:32px;min-width:32px;border-radius:4px;background:#042e7d;color:#fff;font-size:11px;line-height:32px;justify-content:center;align-items:center;padding:0 5px;pointer-events:none}::ng-deep .category-list-card.active{box-shadow:0 3px 6px #1e5dd326}::ng-deep .category-list-card+.category-list-card{margin-left:4px}::ng-deep .category-list-mid{background:#FFFFFF;height:calc(100vh - 112px);border-radius:0 0 1px 1px;padding:24px 36px 4px;overflow-y:auto}::ng-deep .category-list-mid::-webkit-scrollbar-track{background-color:#fff}::ng-deep .category-list-mid .category-card .vx-table-card:last-of-type{margin-right:0!important}::ng-deep .category-list-mid .search{position:relative;margin-bottom:8px}::ng-deep .category-list-mid .search i{position:absolute;top:16px;left:16px;color:#dbdbdb}::ng-deep .category-list-mid .search input{border:1px solid #DBDBDB;border-radius:4px;height:44px;padding:10px 180px 10px 40px;width:100%;font-size:14px;color:#747576;outline:none}::ng-deep .category-list-mid .search input:focus{border-color:#1e5dd3;box-shadow:0 0 5px #1e5d08}::ng-deep .category-list-mid .pagination-box{margin-bottom:16px}::ng-deep .category-list-mid .pagination-box ul{display:flex;align-items:center;padding:0;margin:0}::ng-deep .category-list-mid .pagination-box ul li{list-style:none;display:flex}::ng-deep .category-list-mid .pagination-box ul li:first-child{margin-right:4px;height:24px}::ng-deep .category-list-mid .pagination-box ul li:first-child button{color:#1e5dd3;font-size:17px}::ng-deep .category-list-mid .pagination-box ul li:last-child{margin-left:6px!important;height:24px}::ng-deep .category-list-mid .pagination-box ul li:last-child button{color:#1e5dd3;font-size:17px}::ng-deep .category-list-mid .pagination-box ul li button{border:1px solid #BCBCBC;background:#FFFFFF;border-radius:2px;color:#161b2f;font-weight:400;height:24px;min-width:24px;padding:0 5px;display:inline-flex;justify-content:center;align-items:center;outline:none;cursor:pointer;margin-left:4px;font-size:13px}::ng-deep .category-list-mid .pagination-box ul li button:hover{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .category-list-mid .select-all{display:flex;padding-bottom:20px}::ng-deep .category-list-mid .select-all app-cs-checkbox{display:flex}::ng-deep .category-list-item ul.category-list-item-ul{list-style-type:none;display:block;align-items:flex-start;flex-wrap:wrap;max-height:calc(100vh - 295px);min-height:calc(100vh - 295px);overflow:auto;padding:16px 0 0}::ng-deep .category-list-item ul.category-list-item-ul::-webkit-scrollbar-track{background-color:#fff}::ng-deep .category-list-item ul.category-list-item-ul li{list-style:none}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox{display:flex}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label{width:100%}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value{width:auto;justify-content:flex-start}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories{display:flex;max-width:100%;padding:0;margin:0;justify-content:flex-start;width:auto}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li{display:block;padding:0 8px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:#747576}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li:after{content:\">\";position:absolute;top:0;right:0;color:#747576;font-size:13px}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li:last-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li:last-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li:last-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li:last-of-type{color:#34aa44}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li:last-of-type:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li:last-of-type:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li:last-of-type:after,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li:last-of-type:after{display:none}::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.radio-item span.value ul.categories li:first-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.radio-item span.value ul.categories li:first-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-radio label.checkbox-item span.value ul.categories li:first-of-type,::ng-deep .category-list-item ul.category-list-item-ul li app-cs-checkbox label.checkbox-item span.value ul.categories li:first-of-type{padding-left:0;color:#1e5dd3}\n"] }]
|
|
179
|
+
}], ctorParameters: function () { return []; }, propDecorators: { categoryList: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], allCategories: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], categoryIdKey: [{
|
|
184
|
+
type: Input
|
|
185
|
+
}], selectedCategories: [{
|
|
186
|
+
type: Input
|
|
187
|
+
}], saveSelectedCategory: [{
|
|
188
|
+
type: Output
|
|
189
|
+
}], closeList: [{
|
|
190
|
+
type: Output
|
|
191
|
+
}], closeCategoriesList: [{
|
|
192
|
+
type: Output
|
|
193
|
+
}] } });
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlzay1jYXRlZ29yaWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9yaXNrLWNhdGVnb3JpZXMvcmlzay1jYXRlZ29yaWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9yaXNrLWNhdGVnb3JpZXMvcmlzay1jYXRlZ29yaWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztBQVMvRSxNQUFNLE9BQU8sdUJBQXVCO0lBZ0RsQztRQTdDUyxpQkFBWSxHQUF5QjtZQUM1QyxTQUFTLEVBQUU7Z0JBQ1QsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsWUFBWSxFQUFFLEVBQUU7YUFDakI7WUFDRCxXQUFXLEVBQUU7Z0JBQ1gsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsWUFBWSxFQUFFLEVBQUU7YUFDakI7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsWUFBWSxFQUFFLEVBQUU7YUFDakI7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsWUFBWSxFQUFFLEVBQUU7YUFDakI7U0FDRixDQUFBO1FBQ1Esa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFHMUIsdUJBQWtCLEdBQVUsRUFBRSxDQUFDO1FBRXhDLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWixjQUFTLEdBQXdELFdBQVcsQ0FBQztRQUM3RSxnQkFBVyxHQUFVLEVBQUUsQ0FBQztRQUN4QixjQUFTLEdBQUcsS0FBSyxD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QjtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGFzaGJvYXJkRm9vdGVyQ29uZmlnIH0gZnJvbSAnLi4vLi4vdWkta2l0L2Rhc2hib2FyZC1mb290ZXIvZGFzaGJvYXJkLWZvb3Rlci1jb25maWcnO1xyXG5pbXBvcnQgeyBSaXNrQ2F0ZWdvcmllc0NvbmZpZyB9IGZyb20gJy4vcmlzay1jYXRlZ29yaWVzLWNvbmZpZyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1yaXNrLWNhdGVnb3JpZXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yaXNrLWNhdGVnb3JpZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Jpc2stY2F0ZWdvcmllcy5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSaXNrQ2F0ZWdvcmllc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG5cclxuICBASW5wdXQoKSBjYXRlZ29yeUxpc3Q6IFJpc2tDYXRlZ29yaWVzQ29uZmlnID0ge1xyXG4gICAgc3RyYXRlZ2ljOiB7XHJcbiAgICAgIGxpc3Q6IFtdLFxyXG4gICAgICBzZWxlY3RlZExpc3Q6IFtdLFxyXG4gICAgfSxcclxuICAgIG9wZXJhdGlvbmFsOiB7XHJcbiAgICAgIGxpc3Q6IFtdLFxyXG4gICAgICBzZWxlY3RlZExpc3Q6IFtdLFxyXG4gICAgfSxcclxuICAgIGNvbXBsaWFuY2U6IHtcclxuICAgICAgbGlzdDogW10sXHJcbiAgICAgIHNlbGVjdGVkTGlzdDogW10sXHJcbiAgICB9LFxyXG4gICAgb3RoZXJzOiB7XHJcbiAgICAgIGxpc3Q6IFtdLFxyXG4gICAgICBzZWxlY3RlZExpc3Q6IFtdLFxyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSBhbGxDYXRlZ29yaWVzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBjYXRlZ29yeUlkS2V5OiBhbnk7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRDYXRlZ29yaWVzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBzZWFyY2ggPSAnJztcclxuICBhY3RpdmVUYWI6IFwic3RyYXRlZ2ljXCIgfCBcIm9wZXJhdGlvbmFsXCIgfCBcImNvbXBsaWFuY2VcIiB8IFwib3RoZXJzXCI9XCJzdHJhdGVnaWNcIjtcclxuICBzZWxlY3RlZElkczogYW55W10gPSBbXTtcclxuICBhbmltYXRpb24gPSBmYWxzZTtcclxuICBibG9ja1dpZHRoOiBhbnk7XHJcbiAgZm9vdGVyRGV0YWlsczogRGFzaGJvYXJkRm9vdGVyQ29uZmlnID0ge1xyXG4gICAgc2VsZWN0ZWREYXRhOiBbXSxcclxuICAgIG5vblJlbW92YWJsZUxpc3Q6W10sXHJcbiAgICBkaXNwbGF5RWxlbWVudEtleTogJ2NhdGVnb3J5X25hbWUnLFxyXG4gICAgZWxlbWVudElkOiAnY2F0ZWdvcnlfaWQnLFxyXG4gICAgc2luZ3VsYXJUZXh0OiAnUmlzayBDYXRlZ29yeSBzZWxlY3RlZCcsXHJcbiAgICBwbHVyYWxUZXh0OiAnUmlzayBDYXRlZ29yaWVzIHNlbGVjdGVkJyxcclxuICAgIHNob3dGcmVxdWVuY3k6IGZhbHNlLFxyXG4gICAgZnJlcXVlbmN5VGV4dDogJycsXHJcbiAgICBpc0Rpc2FibGVkOiBmYWxzZVxyXG5cclxuICB9O1xyXG5cclxuICBAT3V0cHV0KCkgc2F2ZVNlbGVjdGVkQ2F0ZWdvcnkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xvc2VDYXRlZ29yaWVzTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcclxuICAgIH0sIDMwMCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZENhdGVnb3JpZXMpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3JpZXMuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2goZWxlbWVudFt0aGlzLmNhdGVnb3J5SWRLZXldKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldExpc3QoKVxyXG4gXHJcbiAgfVxyXG5cclxuICBzZWxlY3RDYXRlZ29yeShtb2RlOiBhbnksIGFjdGl2ZVRhYjogYW55LCBjYXRlZ29yeTogYW55KSB7XHJcbiAgICBpZiAobW9kZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2goY2F0ZWdvcnlbdGhpcy5jYXRlZ29yeUlkS2V5XSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJZHMuZmluZEluZGV4KChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgPT0gY2F0ZWdvcnlbdGhpcy5jYXRlZ29yeUlkS2V5XSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0TGlzdCgpO1xyXG5cclxuICB9XHJcblxyXG4gIGRlbGV0ZUV2ZW50KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5maW5kSW5kZXgoKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudCA9PSBldmVudFt0aGlzLmNhdGVnb3J5SWRLZXldKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIHRoaXMuc2V0TGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0QWxsKG1vZGU6IGFueSwgYWN0aXZlVGFiOiBzdHJpbmcpIHtcclxuXHJcbiAgICBpZiAobW9kZSkge1xyXG4gICAgICBpZiAoYWN0aXZlVGFiID09PSBcInN0cmF0ZWdpY1wiIHx8IGFjdGl2ZVRhYiA9PT0gXCJvcGVyYXRpb25hbFwiIHx8IGFjdGl2ZVRhYiA9PT0gXCJjb21wbGlhbmNlXCIgfHwgYWN0aXZlVGFiID09PSBcIm90aGVyc1wiKSB7XHJcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMuY2F0ZWdvcnlMaXN0W2FjdGl2ZVRhYl0ubGlzdDtcclxuICAgICAgICBsaXN0LmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRJZHMuaW5jbHVkZXMoZWxlbWVudFt0aGlzLmNhdGVnb3J5SWRLZXldKSkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2goZWxlbWVudFt0aGlzLmNhdGVnb3J5SWRLZXldKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChhY3RpdmVUYWIgPT09IFwic3RyYXRlZ2ljXCIgfHwgYWN0aXZlVGFiID09PSBcIm9wZXJhdGlvbmFsXCIgfHwgYWN0aXZlVGFiID09PSBcImNvbXBsaWFuY2VcIiB8fCBhY3RpdmVUYWIgPT09IFwib3RoZXJzXCIpIHtcclxuICAgICAgICBjb25zdCBsaXN0ID0gWy4uLnRoaXMuY2F0ZWdvcnlMaXN0W2FjdGl2ZVRhYl0ubGlzdF07XHJcbiAgICAgICAgbGlzdC5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJZHMuaW5jbHVkZXMoZWxlbWVudFt0aGlzLmNhdGVnb3J5SWRLZXldKSkge1xyXG4gICAgICAgICAgICBsZXQgaWRJbmRleCA9IHRoaXMuc2VsZWN0ZWRJZHMuZmluZEluZGV4KChpZDogYW55KSA9PiBpZCA9PSBlbGVtZW50W3RoaXMuY2F0ZWdvcnlJZEtleV0pO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnNwbGljZShpZEluZGV4LCAxKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIHRoaXMuc2V0TGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0TGlzdCgpIHtcclxuICAgIGNvbnN0IGRhdGE6IGFueSA9IFtdO1xyXG4gICAgICAgY29uc3QgY2F0ZWdvcnlMaXN0ID0gWy4uLm5ldyBTZXQodGhpcy5hbGxDYXRlZ29yaWVzKV0gXHJcbiAgICAvLyBjbG9uZURlZXAodGhpcy5hbGxDYXRlZ29yaWVzKVxyXG4gICAgY29uc3Qgc2VsZWN0ZWRJZHMgPVsuLi5uZXcgU2V0KHRoaXMuc2VsZWN0ZWRJZHMpXSBcclxuICAgIC8vICBjbG9uZURlZXAodGhpcy5zZWxlY3RlZElkcyk7XHJcbiAgICB0aGlzLmNhdGVnb3J5TGlzdC5zdHJhdGVnaWMuc2VsZWN0ZWRMaXN0ID0gW107XHJcbiAgICB0aGlzLmNhdGVnb3J5TGlzdC5vcGVyYXRpb25hbC5zZWxlY3RlZExpc3QgPSBbXTtcclxuICAgIHRoaXMuY2F0ZWdvcnlMaXN0LmNvbXBsaWFuY2Uuc2VsZWN0ZWRMaXN0ID0gW107XHJcbiAgICB0aGlzLmNhdGVnb3J5TGlzdC5vdGhlcnMuc2VsZWN0ZWRMaXN0ID0gW107XHJcblxyXG4gICAgY2F0ZWdvcnlMaXN0LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoc2VsZWN0ZWRJZHMuaW5jbHVkZXMoZWxlbWVudFt0aGlzLmNhdGVnb3J5SWRLZXldKSkge1xyXG4gICAgICAgIGRhdGEucHVzaChlbGVtZW50KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcmllcyA9IGRhdGE7XHJcbiAgICB0aGlzLmZvb3RlckRldGFpbHMuc2VsZWN0ZWREYXRhID0gZGF0YTtcclxuXHJcbiAgICB0aGlzLmNhdGVnb3J5TGlzdC5zdHJhdGVnaWMubGlzdC5mb3JFYWNoKChjYXRlZ29yeTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChzZWxlY3RlZElkcy5pbmNsdWRlcyhjYXRlZ29yeVt0aGlzLmNhdGVnb3J5SWRLZXldKSkge1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0LnN0cmF0ZWdpYy5zZWxlY3RlZExpc3QucHVzaChjYXRlZ29yeSlcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNhdGVnb3J5TGlzdC5vcGVyYXRpb25hbC5saXN0LmZvckVhY2goKGNhdGVnb3J5OiBhbnkpID0+IHtcclxuICAgICAgaWYgKHNlbGVjdGVkSWRzLmluY2x1ZGVzKGNhdGVnb3J5W3RoaXMuY2F0ZWdvcnlJZEtleV0pKSB7XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeUxpc3Qub3BlcmF0aW9uYWwuc2VsZWN0ZWRMaXN0LnB1c2goY2F0ZWdvcnkpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5jYXRlZ29yeUxpc3QuY29tcGxpYW5jZS5saXN0LmZvckVhY2goKGNhdGVnb3J5OiBhbnkpID0+IHtcclxuICAgICAgaWYgKHNlbGVjdGVkSWRzLmluY2x1ZGVzKGNhdGVnb3J5W3RoaXMuY2F0ZWdvcnlJZEtleV0pKSB7XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeUxpc3QuY29tcGxpYW5jZS5zZWxlY3RlZExpc3QucHVzaChjYXRlZ29yeSlcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNhdGVnb3J5TGlzdC5vdGhlcnMubGlzdC5mb3JFYWNoKChjYXRlZ29yeTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChzZWxlY3RlZElkcy5pbmNsdWRlcyhjYXRlZ29yeVt0aGlzLmNhdGVnb3J5SWRLZXldKSkge1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0Lm90aGVycy5zZWxlY3RlZExpc3QucHVzaChjYXRlZ29yeSlcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZiAoIXRoaXMuYWN0aXZlVGFiKSB7XHJcbiAgICAgIHRoaXMuc2V0QWN0aXZlVGFiKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNldEFjdGl2ZVRhYigpIHtcclxuICAgIGlmICh0aGlzLmNhdGVnb3J5TGlzdC5zdHJhdGVnaWMuc2VsZWN0ZWRMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5hY3RpdmVUYWIgPSAnc3RyYXRlZ2ljJ1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNhdGVnb3J5TGlzdC5vcGVyYXRpb25hbC5zZWxlY3RlZExpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmFjdGl2ZVRhYiA9ICdvcGVyYXRpb25hbCdcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jYXRlZ29yeUxpc3QuY29tcGxpYW5jZS5zZWxlY3RlZExpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmFjdGl2ZVRhYiA9ICdjb21wbGlhbmNlJ1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNhdGVnb3J5TGlzdC5vdGhlcnMuc2VsZWN0ZWRMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5hY3RpdmVUYWIgPSAnb3RoZXJzJ1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hY3RpdmVUYWIgPSAnc3RyYXRlZ2ljJ1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGNoZWNrU2VsZWN0QWxsKGFjdGl2ZVRhYjogc3RyaW5nKSB7XHJcbiAgICBpZiAoYWN0aXZlVGFiID09PSBcInN0cmF0ZWdpY1wiIHx8IGFjdGl2ZVRhYiA9PT0gXCJvcGVyYXRpb25hbFwiIHx8IGFjdGl2ZVRhYiA9PT0gXCJjb21wbGlhbmNlXCIgfHwgYWN0aXZlVGFiID09PSBcIm90aGVyc1wiKSB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmNhdGVnb3J5TGlzdFthY3RpdmVUYWJdLmxpc3QuZXZlcnkoKHVzZXI6IGFueSkgPT4gdGhpcy5zZWxlY3RlZElkcy5pbmNsdWRlcyh1c2VyW3RoaXMuY2F0ZWdvcnlJZEtleV0pKTtcclxuICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5zYXZlU2VsZWN0ZWRDYXRlZ29yeS5lbWl0KHRoaXMuc2VsZWN0ZWRDYXRlZ29yaWVzKTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZUNhdGVnb3JpZXNMaXN0LmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhdGVnb3J5LWxpc3RcIiBbY2xhc3MuYW5pbWF0ZS1zbGlkZUluUmlnaHRdPVwiYW5pbWF0aW9uXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2F0ZWdvcnktbGlzdC1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXAtM1wiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC1saC01XCI+U2VsZWN0IFJpc2sgQ2F0ZWdvcnkocyk8L3NwYW4+XHJcbiAgICAgICAgPCEtLSA8YnV0dG9uIGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LWZ3LTUwMCB2eC1wLTBcIj48aSBjbGFzcz1cImljb25zXCI+JiN4ZWIyOTs8L2k+IEJhY2s8L2J1dHRvbj4gLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yeS1saXN0LW1pZFwiPlxyXG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNhdGVnb3J5LWxpc3QtdGFiXCI+XHJcbiAgICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImFjdGl2ZVwiPjxidXR0b24+Q29tcGxpYW5jZTxzcGFuPjk4PC9zcGFuPjwvYnV0dG9uPjwvbGk+XHJcbiAgICAgICAgICAgICAgICA8bGk+PGJ1dHRvbj5SaXNrczxzcGFuPjEyMDwvc3Bhbj48L2J1dHRvbj48L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpPjxidXR0b24+QXVkaXQ8c3Bhbj4yODwvc3Bhbj48L2J1dHRvbj48L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpPjxidXR0b24+UG9saWN5PHNwYW4+NDU8L3NwYW4+PC9idXR0b24+PC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1tYi0yXCI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yeS1saXN0LWNhcmRcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYiA9PSAnc3RyYXRlZ2ljJ1wiIChjbGljayk9XCJhY3RpdmVUYWIgPSAnc3RyYXRlZ2ljJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsPnN0cmF0ZWdpYzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwICpuZ0lmPVwiY2F0ZWdvcnlMaXN0Py5zdHJhdGVnaWM/LnNlbGVjdGVkTGlzdD8ubGVuZ3RoICE9IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2NhdGVnb3J5TGlzdD8uc3RyYXRlZ2ljPy5zZWxlY3RlZExpc3Q/Lmxlbmd0aH19XHJcbiAgICAgICAgICAgICAgICAgICAge3soY2F0ZWdvcnlMaXN0Py5zdHJhdGVnaWM/LnNlbGVjdGVkTGlzdD8ubGVuZ3RoPT0xKT8nQ2F0ZWdvcnknOidDYXRlZ29yaWVzJ319IHNlbGVjdGVkXHJcbiAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb3VudGVyXCI+e3tjYXRlZ29yeUxpc3Q/LnN0cmF0ZWdpYz8ubGlzdD8ubGVuZ3RofX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhdGVnb3J5LWxpc3QtY2FyZFwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVGFiID09ICdvcGVyYXRpb25hbCdcIiAoY2xpY2spPVwiYWN0aXZlVGFiID0gJ29wZXJhdGlvbmFsJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsPm9wZXJhdGlvbmFsPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJjYXRlZ29yeUxpc3Q/Lm9wZXJhdGlvbmFsPy5zZWxlY3RlZExpc3Q/Lmxlbmd0aCAhPSAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tjYXRlZ29yeUxpc3Q/Lm9wZXJhdGlvbmFsPy5zZWxlY3RlZExpc3Q/Lmxlbmd0aH19XHJcbiAgICAgICAgICAgICAgICAgICAge3soY2F0ZWdvcnlMaXN0Py5vcGVyYXRpb25hbD8uc2VsZWN0ZWRMaXN0Py5sZW5ndGg9PTEpPydDYXRlZ29yeSc6J0NhdGVnb3JpZXMnfX0gc2VsZWN0ZWRcclxuICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvdW50ZXJcIj57e2NhdGVnb3J5TGlzdD8ub3BlcmF0aW9uYWw/Lmxpc3Q/Lmxlbmd0aH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yeS1saXN0LWNhcmRcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYiA9PSAnY29tcGxpYW5jZSdcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGl2ZVRhYiA9ICdjb21wbGlhbmNlJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsPmNvbXBsaWFuY2U8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cImNhdGVnb3J5TGlzdD8uY29tcGxpYW5jZT8uc2VsZWN0ZWRMaXN0Py5sZW5ndGggIT0gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7Y2F0ZWdvcnlMaXN0Py5jb21wbGlhbmNlPy5zZWxlY3RlZExpc3Q/Lmxlbmd0aH19XHJcbiAgICAgICAgICAgICAgICAgICAge3soY2F0ZWdvcnlMaXN0Py5jb21wbGlhbmNlPy5zZWxlY3RlZExpc3Q/Lmxlbmd0aD09MSk/J0NhdGVnb3J5JzonQ2F0ZWdvcmllcyd9fSBzZWxlY3RlZFxyXG4gICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRlclwiPnt7Y2F0ZWdvcnlMaXN0Py5jb21wbGlhbmNlPy5saXN0Py5sZW5ndGh9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F0ZWdvcnktbGlzdC1jYXJkXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUYWIgPT0gJ290aGVycydcIiAoY2xpY2spPVwiYWN0aXZlVGFiID0gJ290aGVycydcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbD5PVEhFUlM8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cImNhdGVnb3J5TGlzdD8ub3RoZXJzPy5zZWxlY3RlZExpc3Q/Lmxlbmd0aCAhPSAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tjYXRlZ29yeUxpc3Q/Lm90aGVycz8uc2VsZWN0ZWRMaXN0Py5sZW5ndGh9fVxyXG4gICAgICAgICAgICAgICAgICAgIHt7KGNhdGVnb3J5TGlzdD8ub3RoZXJzPy5zZWxlY3RlZExpc3Q/Lmxlbmd0aD09MSk/J0NhdGVnb3J5JzonQ2F0ZWdvcmllcyd9fSBzZWxlY3RlZFxyXG4gICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRlclwiPnt7Y2F0ZWdvcnlMaXN0Py5vdGhlcnM/Lmxpc3Q/Lmxlbmd0aH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdngtZnMtM1wiPiYjeGU5MGI7PC9pPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBSaXNrIENhdGVnb3J5XCIgLz5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGNhdGVnb3J5TGlzdFthY3RpdmVUYWJdPy5saXN0IHwgZmlsdGVyOiBzZWFyY2gpIGFzIHNlYXJjaExpc3RcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWFsbFwiICpuZ0lmPVwic2VhcmNoTGlzdC5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3ggW25nVmFsdWVdPVwiY2hlY2tTZWxlY3RBbGwoYWN0aXZlVGFiKVwiIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQsYWN0aXZlVGFiKVwiPlxyXG4gICAgICAgICAgICAgICAgPHN0cm9uZz57e2NoZWNrU2VsZWN0QWxsKGFjdGl2ZVRhYikgPyAnRGVzZWxlY3QgQWxsJyA6ICdTZWxlY3QgQWxsJ319PC9zdHJvbmc+XHJcbiAgICAgICAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhdGVnb3J5LWxpc3QtaXRlbVwiICpuZ0lmPVwic2VhcmNoTGlzdC5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImNhdGVnb3J5LWxpc3QtaXRlbS11bCB2eC1tLTAgdngtcC0wXCI+XHJcbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJ2eC1tYi01XCIgKm5nRm9yPVwibGV0IGNhdGVnb3J5IG9mIHNlYXJjaExpc3RcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveCBbbmdWYWx1ZV09XCJzZWxlY3RlZElkcy5pbmNsdWRlcyhjYXRlZ29yeVtjYXRlZ29yeUlkS2V5XSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdENhdGVnb3J5KCRldmVudCxhY3RpdmVUYWIsY2F0ZWdvcnkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImNhdGVnb3JpZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgW2FyVG9vbHRpcF09XCJjYXRlZ29yeS5jYXRlZ29yeV9uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIj57e2NhdGVnb3J5LmNhdGVnb3J5X25hbWV9fTwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxhcHAtbm8tZGF0YSAgKm5nSWY9XCJzZWFyY2hMaXN0Lmxlbmd0aCA9PSAwXCJcclxuICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9zZWFyY2gtZGF0YS5zdmcnXCIgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIj5cclxuICAgICAgICA8L2FwcC1uby1kYXRhPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxhcHAtZGFzaGJvYXJkLWZvb3RlciBcclxuICAgIFtmb290ZXJEZXRhaWxzXSA9XCJmb290ZXJEZXRhaWxzXCJcclxuICAgIChjYW5jZWxFdmVudCk9XCJjbG9zZSgpXCJcclxuICAgICAoZGVsZXRlRXZlbnQpID1cImRlbGV0ZUV2ZW50KCRldmVudClcIlxyXG4gICAgIChzdWJtaXRFdmVudCk9XCJzYXZlKClcIlxyXG4gICAgICA+PC9hcHAtZGFzaGJvYXJkLWZvb3Rlcj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable, Optional } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common/http";
|
|
4
|
+
import * as i2 from "../../configurations";
|
|
5
|
+
export class AuthService {
|
|
6
|
+
constructor(http, config) {
|
|
7
|
+
this.http = http;
|
|
8
|
+
if (config) {
|
|
9
|
+
this.env = config.envConfig;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
getAuthorizationToken() {
|
|
13
|
+
if (localStorage.getItem('currentUser')) {
|
|
14
|
+
const currentUser = JSON.parse(localStorage.getItem('currentUser') || '{}');
|
|
15
|
+
return currentUser.token;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i2.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
20
|
+
AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AuthService, decorators: [{
|
|
22
|
+
type: Injectable,
|
|
23
|
+
args: [{
|
|
24
|
+
providedIn: 'root'
|
|
25
|
+
}]
|
|
26
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Configurations, decorators: [{
|
|
27
|
+
type: Optional
|
|
28
|
+
}] }]; } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVVyRCxNQUFNLE9BQU8sV0FBVztJQUd0QixZQUFvQixJQUFnQixFQUFjLE1BQXVCO1FBQXJELFNBQUksR0FBSixJQUFJLENBQVk7UUFDbEMsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBQ0QscUJBQXFCO1FBQ25CLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUN2QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7WUFDNUUsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs7d0dBYlUsV0FBVzs0R0FBWCxXQUFXLGNBRlYsTUFBTTsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBSXdDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBKd3RIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQGF1dGgwL2FuZ3VsYXItand0JztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBvZiwgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXksIGNhdGNoRXJyb3IsIGRlbGF5fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xyXG4gIHB1YmxpYyBlbnYgITogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zKSB7IFxyXG4gICAgaWYgKGNvbmZpZykge1xyXG4gICAgICB0aGlzLmVudiA9IGNvbmZpZy5lbnZDb25maWc7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldEF1dGhvcml6YXRpb25Ub2tlbigpIHtcclxuICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnY3VycmVudFVzZXInKSkge1xyXG4gICAgICBjb25zdCBjdXJyZW50VXNlciA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2N1cnJlbnRVc2VyJykgfHwgJ3t9Jyk7XHJcbiAgICAgIHJldHVybiBjdXJyZW50VXNlci50b2tlbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFxyXG59XHJcbiJdfQ==
|