@thetradeengineorg1/snova-shell-module 0.0.261 → 0.0.262
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/README.md +24 -24
- package/bundles/thetradeengineorg1-snova-shell-module.umd.js +13734 -18921
- package/bundles/thetradeengineorg1-snova-shell-module.umd.js.map +1 -1
- package/esm2015/lib/globaldependencies/components/avatar.component.js +28 -33
- package/esm2015/lib/globaldependencies/components/componentbase.js +538 -538
- package/esm2015/lib/globaldependencies/constants/feature-ids.js +449 -449
- package/esm2015/lib/globaldependencies/constants/localstorage-properties.js +38 -38
- package/esm2015/lib/globaldependencies/helpers/dom.helper.js +70 -70
- package/esm2015/lib/globaldependencies/helpers/fontawesome-icons.js +144 -144
- package/esm2015/lib/globaldependencies/helpers/moment-utc-date-adapter.js +37 -37
- package/esm2015/lib/globaldependencies/helpers/window.helper.js +32 -32
- package/esm2015/lib/globaldependencies/intercepter/jwt.interceptor.js +40 -40
- package/esm2015/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.js +36 -36
- package/esm2015/lib/globaldependencies/pipes/highLightText.pipe.js +24 -24
- package/esm2015/lib/globaldependencies/pipes/orderby-pipe.js +24 -24
- package/esm2015/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.js +22 -22
- package/esm2015/lib/globaldependencies/pipes/sanitize.pipe.js +24 -24
- package/esm2015/lib/globaldependencies/pipes/softlabels.pipes.js +346 -346
- package/esm2015/lib/globaldependencies/pipes/utctolocaltime.pipe.js +23 -23
- package/esm2015/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.js +25 -25
- package/esm2015/lib/globaldependencies/pipes/workflowstatus.pipes.js +27 -27
- package/esm2015/lib/shell-components/components/Payments/account.component.js +50 -121
- package/esm2015/lib/shell-components/components/Payments/company-information.js +262 -558
- package/esm2015/lib/shell-components/components/Payments/company-plans.component.js +138 -636
- package/esm2015/lib/shell-components/components/Payments/document.component.js +57 -129
- package/esm2015/lib/shell-components/components/Payments/payment-method.component.js +32 -90
- package/esm2015/lib/shell-components/components/Payments/product-service.component.js +143 -438
- package/esm2015/lib/shell-components/components/Payments/purchase-more-licenses.js +152 -249
- package/esm2015/lib/shell-components/components/Payments/transactions.component.js +60 -172
- package/esm2015/lib/shell-components/components/admin-layout/admin-layout.component.js +250 -350
- package/esm2015/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.js +89 -102
- package/esm2015/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.js +90 -126
- package/esm2015/lib/shell-components/components/export-import-configuration/export-configuration.component.js +357 -502
- package/esm2015/lib/shell-components/components/feed-time/feed-time-dialog.component.js +85 -98
- package/esm2015/lib/shell-components/components/feed-time/feed-time.component.js +83 -87
- package/esm2015/lib/shell-components/components/header-side/header-side.component.js +1617 -2342
- package/esm2015/lib/shell-components/components/header-top/header-top.component.js +93 -489
- package/esm2015/lib/shell-components/components/lives/lives-welcome-page.js +26 -55
- package/esm2015/lib/shell-components/components/menu/menu.component.js +2478 -3413
- package/esm2015/lib/shell-components/components/menu/searchTask.enum.js +10 -10
- package/esm2015/lib/shell-components/components/notifications/announcement-dialog.component.js +73 -110
- package/esm2015/lib/shell-components/components/notifications/notifications.component.js +449 -534
- package/esm2015/lib/shell-components/components/sidebar-top/sidebar-top.component.js +33 -39
- package/esm2015/lib/shell-components/components/sidenav/side-bar.component.js +81 -148
- package/esm2015/lib/shell-components/components/sidenav/sidenav.component.js +43 -439
- package/esm2015/lib/shell-components/components/submit-feedback/submit-feedback.component.js +71 -75
- package/esm2015/lib/shell-components/constants/api-urls.js +1052 -1052
- package/esm2015/lib/shell-components/constants/available-languages.js +25 -25
- package/esm2015/lib/shell-components/constants/channel-names.js +38 -38
- package/esm2015/lib/shell-components/constants/menu-categories.js +6 -6
- package/esm2015/lib/shell-components/constants/notification-routes.js +6 -6
- package/esm2015/lib/shell-components/constants/notification-type-ids.js +42 -42
- package/esm2015/lib/shell-components/enum/recentSearchType.enum.js +13 -13
- package/esm2015/lib/shell-components/models/AppMenuItemModel.js +3 -3
- package/esm2015/lib/shell-components/models/AppNotification.js +17 -17
- package/esm2015/lib/shell-components/models/AssetAssignedNotificationModel.js +12 -12
- package/esm2015/lib/shell-components/models/ChannelUpdateModel.js +3 -3
- package/esm2015/lib/shell-components/models/EmployeeStatusModel.js +3 -3
- package/esm2015/lib/shell-components/models/IAdjust-screen-options.js +2 -2
- package/esm2015/lib/shell-components/models/IBadge.js +2 -2
- package/esm2015/lib/shell-components/models/IChildItem.js +2 -2
- package/esm2015/lib/shell-components/models/ILayout-change-options.js +2 -2
- package/esm2015/lib/shell-components/models/IMenuItem.js +2 -2
- package/esm2015/lib/shell-components/models/IlayoutConf.js +2 -2
- package/esm2015/lib/shell-components/models/IntroModel.js +3 -3
- package/esm2015/lib/shell-components/models/MessageDetails.js +3 -3
- package/esm2015/lib/shell-components/models/MessageTypingDetails.js +3 -3
- package/esm2015/lib/shell-components/models/NewProjectCreatedNotificationModel.js +10 -10
- package/esm2015/lib/shell-components/models/NewProjectFeatureNotificationModel.js +10 -10
- package/esm2015/lib/shell-components/models/NotificationsOutPutModel.js +22 -22
- package/esm2015/lib/shell-components/models/ProjectSearchCriteriaInputModel.js +3 -3
- package/esm2015/lib/shell-components/models/RecentSearchModel.js +5 -5
- package/esm2015/lib/shell-components/models/ReportConfigAssignedNotification.js +11 -11
- package/esm2015/lib/shell-components/models/ReportSubmittedNotification.js +12 -12
- package/esm2015/lib/shell-components/models/RoleUpdatedNotification.js +9 -9
- package/esm2015/lib/shell-components/models/UserStoryAssignedNotification.js +13 -13
- package/esm2015/lib/shell-components/models/archiveUserStoryModel.js +10 -10
- package/esm2015/lib/shell-components/models/companieslist.model.js +3 -3
- package/esm2015/lib/shell-components/models/company-model.js +7 -7
- package/esm2015/lib/shell-components/models/company-payment-model.js +3 -3
- package/esm2015/lib/shell-components/models/dragedWidget.js +3 -3
- package/esm2015/lib/shell-components/models/employee-List.js +3 -3
- package/esm2015/lib/shell-components/models/employee.js +4 -4
- package/esm2015/lib/shell-components/models/entityRoleFeature.js +3 -3
- package/esm2015/lib/shell-components/models/export-configuration-model.js +3 -3
- package/esm2015/lib/shell-components/models/export-data.module.js +8 -8
- package/esm2015/lib/shell-components/models/goalApprovedNotificationModel.js +9 -9
- package/esm2015/lib/shell-components/models/import-configuration-model.js +3 -3
- package/esm2015/lib/shell-components/models/initialStatusofUsers.js +3 -3
- package/esm2015/lib/shell-components/models/invoiceOutput-model.js +3 -3
- package/esm2015/lib/shell-components/models/leaveApplicationNotifiction.js +9 -9
- package/esm2015/lib/shell-components/models/multiChartsScheduling.js +11 -11
- package/esm2015/lib/shell-components/models/parkUserStoryInputModel.js +10 -10
- package/esm2015/lib/shell-components/models/project.js +3 -3
- package/esm2015/lib/shell-components/models/recentSearchApiModel.js +3 -3
- package/esm2015/lib/shell-components/models/searchCriteriaInputModelBase.js +3 -3
- package/esm2015/lib/shell-components/models/shellModulesInfo.js +7 -7
- package/esm2015/lib/shell-components/models/softlabels-model.js +7 -7
- package/esm2015/lib/shell-components/models/sprintReplanRequestedModel.js +9 -9
- package/esm2015/lib/shell-components/models/sprintStartedNotificationModel.js +9 -9
- package/esm2015/lib/shell-components/models/store-model.js +3 -3
- package/esm2015/lib/shell-components/models/store-search-model.js +4 -4
- package/esm2015/lib/shell-components/models/themes.model.js +3 -3
- package/esm2015/lib/shell-components/models/timesheetenabledisable.js +4 -4
- package/esm2015/lib/shell-components/models/user.js +8 -8
- package/esm2015/lib/shell-components/models/userStory.js +3 -3
- package/esm2015/lib/shell-components/models/userStoryCommentNotificationModel.js +9 -9
- package/esm2015/lib/shell-components/models/userStoryUpdateNotificationModel.js +9 -9
- package/esm2015/lib/shell-components/models/userstory-custom-fields.model.js +3 -3
- package/esm2015/lib/shell-components/models/validation.model.js +2 -2
- package/esm2015/lib/shell-components/models/widgetlist.js +6 -6
- package/esm2015/lib/shell-components/models/workspaceList.js +3 -3
- package/esm2015/lib/shell-components/services/authentication.service.js +96 -96
- package/esm2015/lib/shell-components/services/chat.service.js +67 -67
- package/esm2015/lib/shell-components/services/common-used.service.js +263 -263
- package/esm2015/lib/shell-components/services/feature.service.js +101 -101
- package/esm2015/lib/shell-components/services/google-analytics.service.js +24 -24
- package/esm2015/lib/shell-components/services/layout.service.js +68 -68
- package/esm2015/lib/shell-components/services/payment.service.js +103 -103
- package/esm2015/lib/shell-components/services/recentSearch.service.js +90 -90
- package/esm2015/lib/shell-components/services/shell.modules.service.js +24 -24
- package/esm2015/lib/shell-components/services/signalr.service.js +113 -113
- package/esm2015/lib/shell-components/services/theme.service.js +228 -161
- package/esm2015/lib/shell-components/shell.module.js +449 -450
- package/esm2015/lib/shell-components/shell.routing.js +16 -16
- package/esm2015/lib/shell-components/store/actions/authentication.actions.js +260 -260
- package/esm2015/lib/shell-components/store/actions/chat.actions.js +248 -248
- package/esm2015/lib/shell-components/store/actions/menuitems.actions.js +39 -39
- package/esm2015/lib/shell-components/store/actions/notification-validator.action.js +19 -19
- package/esm2015/lib/shell-components/store/actions/notifications.actions.js +74 -74
- package/esm2015/lib/shell-components/store/effects/authentication.effects.js +503 -503
- package/esm2015/lib/shell-components/store/effects/chat.effects.js +139 -139
- package/esm2015/lib/shell-components/store/effects/index.js +13 -13
- package/esm2015/lib/shell-components/store/effects/menuitems.effects.js +53 -53
- package/esm2015/lib/shell-components/store/effects/notification-validator.effects.js +56 -56
- package/esm2015/lib/shell-components/store/effects/notifications.effects.js +116 -116
- package/esm2015/lib/shell-components/store/reducers/authentication.reducers.js +86 -86
- package/esm2015/lib/shell-components/store/reducers/chat.reducers.js +68 -68
- package/esm2015/lib/shell-components/store/reducers/index.js +80 -80
- package/esm2015/lib/shell-components/store/reducers/menuitems.reducers.js +56 -56
- package/esm2015/lib/shell-components/store/reducers/notification-validator.reducers.js +13 -13
- package/esm2015/lib/shell-components/store/reducers/notifications.reducers.js +38 -38
- package/esm2015/public-api.js +92 -92
- package/esm2015/store/reducers/index.js +47 -47
- package/esm2015/thetradeengineorg1-snova-shell-module.js +4 -4
- package/fesm2015/thetradeengineorg1-snova-shell-module.js +12640 -17069
- package/fesm2015/thetradeengineorg1-snova-shell-module.js.map +1 -1
- package/lib/globaldependencies/components/avatar.component.d.ts +10 -11
- package/lib/globaldependencies/components/componentbase.d.ts +455 -456
- package/lib/globaldependencies/constants/feature-ids.d.ts +448 -449
- package/lib/globaldependencies/constants/localstorage-properties.d.ts +37 -38
- package/lib/globaldependencies/helpers/dom.helper.d.ts +7 -8
- package/lib/globaldependencies/helpers/fontawesome-icons.d.ts +1 -2
- package/lib/globaldependencies/helpers/moment-utc-date-adapter.d.ts +9 -10
- package/lib/globaldependencies/helpers/window.helper.d.ts +12 -13
- package/lib/globaldependencies/intercepter/jwt.interceptor.d.ts +11 -12
- package/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.d.ts +8 -9
- package/lib/globaldependencies/pipes/highLightText.pipe.d.ts +8 -9
- package/lib/globaldependencies/pipes/orderby-pipe.d.ts +9 -10
- package/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.d.ts +8 -9
- package/lib/globaldependencies/pipes/sanitize.pipe.d.ts +11 -12
- package/lib/globaldependencies/pipes/softlabels.pipes.d.ts +8 -9
- package/lib/globaldependencies/pipes/utctolocaltime.pipe.d.ts +8 -9
- package/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.d.ts +8 -9
- package/lib/globaldependencies/pipes/workflowstatus.pipes.d.ts +8 -9
- package/lib/shell-components/components/Payments/account.component.d.ts +14 -15
- package/lib/shell-components/components/Payments/company-information.d.ts +62 -63
- package/lib/shell-components/components/Payments/company-plans.component.d.ts +47 -48
- package/lib/shell-components/components/Payments/document.component.d.ts +20 -21
- package/lib/shell-components/components/Payments/payment-method.component.d.ts +15 -16
- package/lib/shell-components/components/Payments/product-service.component.d.ts +48 -49
- package/lib/shell-components/components/Payments/purchase-more-licenses.d.ts +37 -38
- package/lib/shell-components/components/Payments/transactions.component.d.ts +28 -29
- package/lib/shell-components/components/admin-layout/admin-layout.component.d.ts +67 -68
- package/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.d.ts +32 -33
- package/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.d.ts +32 -33
- package/lib/shell-components/components/export-import-configuration/export-configuration.component.d.ts +60 -61
- package/lib/shell-components/components/feed-time/feed-time-dialog.component.d.ts +33 -34
- package/lib/shell-components/components/feed-time/feed-time.component.d.ts +27 -28
- package/lib/shell-components/components/header-side/header-side.component.d.ts +220 -221
- package/lib/shell-components/components/header-top/header-top.component.d.ts +40 -41
- package/lib/shell-components/components/lives/lives-welcome-page.d.ts +14 -15
- package/lib/shell-components/components/menu/menu.component.d.ts +220 -221
- package/lib/shell-components/components/menu/searchTask.enum.d.ts +8 -9
- package/lib/shell-components/components/notifications/announcement-dialog.component.d.ts +27 -28
- package/lib/shell-components/components/notifications/notifications.component.d.ts +53 -54
- package/lib/shell-components/components/sidebar-top/sidebar-top.component.d.ts +10 -11
- package/lib/shell-components/components/sidenav/side-bar.component.d.ts +23 -24
- package/lib/shell-components/components/sidenav/sidenav.component.d.ts +17 -18
- package/lib/shell-components/components/submit-feedback/submit-feedback.component.d.ts +25 -26
- package/lib/shell-components/constants/api-urls.d.ts +1051 -1052
- package/lib/shell-components/constants/available-languages.d.ts +7 -8
- package/lib/shell-components/constants/channel-names.d.ts +37 -38
- package/lib/shell-components/constants/menu-categories.d.ts +5 -6
- package/lib/shell-components/constants/notification-routes.d.ts +5 -6
- package/lib/shell-components/constants/notification-type-ids.d.ts +41 -42
- package/lib/shell-components/enum/recentSearchType.enum.d.ts +11 -12
- package/lib/shell-components/models/AppMenuItemModel.d.ts +12 -13
- package/lib/shell-components/models/AppNotification.d.ts +12 -13
- package/lib/shell-components/models/AssetAssignedNotificationModel.d.ts +10 -11
- package/lib/shell-components/models/ChannelUpdateModel.d.ts +47 -48
- package/lib/shell-components/models/EmployeeStatusModel.d.ts +11 -12
- package/lib/shell-components/models/IAdjust-screen-options.d.ts +4 -5
- package/lib/shell-components/models/IBadge.d.ts +4 -5
- package/lib/shell-components/models/IChildItem.d.ts +7 -8
- package/lib/shell-components/models/ILayout-change-options.d.ts +4 -5
- package/lib/shell-components/models/IMenuItem.d.ts +14 -15
- package/lib/shell-components/models/IlayoutConf.d.ts +10 -11
- package/lib/shell-components/models/IntroModel.d.ts +3 -4
- package/lib/shell-components/models/MessageDetails.d.ts +55 -56
- package/lib/shell-components/models/MessageTypingDetails.d.ts +9 -10
- package/lib/shell-components/models/NewProjectCreatedNotificationModel.d.ts +8 -9
- package/lib/shell-components/models/NewProjectFeatureNotificationModel.d.ts +8 -9
- package/lib/shell-components/models/NotificationsOutPutModel.d.ts +41 -42
- package/lib/shell-components/models/ProjectSearchCriteriaInputModel.d.ts +10 -11
- package/lib/shell-components/models/RecentSearchModel.d.ts +14 -15
- package/lib/shell-components/models/ReportConfigAssignedNotification.d.ts +9 -10
- package/lib/shell-components/models/ReportSubmittedNotification.d.ts +10 -11
- package/lib/shell-components/models/RoleUpdatedNotification.d.ts +7 -8
- package/lib/shell-components/models/UserStoryAssignedNotification.d.ts +8 -9
- package/lib/shell-components/models/archiveUserStoryModel.d.ts +7 -8
- package/lib/shell-components/models/companieslist.model.d.ts +8 -9
- package/lib/shell-components/models/company-model.d.ts +31 -32
- package/lib/shell-components/models/company-payment-model.d.ts +18 -19
- package/lib/shell-components/models/dragedWidget.d.ts +16 -17
- package/lib/shell-components/models/employee-List.d.ts +8 -9
- package/lib/shell-components/models/employee.d.ts +60 -61
- package/lib/shell-components/models/entityRoleFeature.d.ts +9 -10
- package/lib/shell-components/models/export-configuration-model.d.ts +8 -9
- package/lib/shell-components/models/export-data.module.d.ts +6 -7
- package/lib/shell-components/models/goalApprovedNotificationModel.d.ts +8 -9
- package/lib/shell-components/models/import-configuration-model.d.ts +3 -4
- package/lib/shell-components/models/initialStatusofUsers.d.ts +5 -6
- package/lib/shell-components/models/invoiceOutput-model.d.ts +9 -10
- package/lib/shell-components/models/leaveApplicationNotifiction.d.ts +7 -8
- package/lib/shell-components/models/multiChartsScheduling.d.ts +9 -10
- package/lib/shell-components/models/parkUserStoryInputModel.d.ts +7 -8
- package/lib/shell-components/models/project.d.ts +28 -29
- package/lib/shell-components/models/recentSearchApiModel.d.ts +6 -7
- package/lib/shell-components/models/searchCriteriaInputModelBase.d.ts +10 -11
- package/lib/shell-components/models/shellModulesInfo.d.ts +16 -17
- package/lib/shell-components/models/softlabels-model.d.ts +66 -67
- package/lib/shell-components/models/sprintReplanRequestedModel.d.ts +7 -8
- package/lib/shell-components/models/sprintStartedNotificationModel.d.ts +7 -8
- package/lib/shell-components/models/store-model.d.ts +13 -14
- package/lib/shell-components/models/store-search-model.d.ts +7 -8
- package/lib/shell-components/models/themes.model.d.ts +9 -10
- package/lib/shell-components/models/timesheetenabledisable.d.ts +16 -17
- package/lib/shell-components/models/user.d.ts +40 -41
- package/lib/shell-components/models/userStory.d.ts +188 -189
- package/lib/shell-components/models/userStoryCommentNotificationModel.d.ts +6 -7
- package/lib/shell-components/models/userStoryUpdateNotificationModel.d.ts +6 -7
- package/lib/shell-components/models/userstory-custom-fields.model.d.ts +6 -7
- package/lib/shell-components/models/validation.model.d.ts +5 -6
- package/lib/shell-components/models/widgetlist.d.ts +28 -29
- package/lib/shell-components/models/workspaceList.d.ts +19 -20
- package/lib/shell-components/services/authentication.service.d.ts +18 -19
- package/lib/shell-components/services/chat.service.d.ts +16 -17
- package/lib/shell-components/services/common-used.service.d.ts +45 -46
- package/lib/shell-components/services/feature.service.d.ts +19 -20
- package/lib/shell-components/services/google-analytics.service.d.ts +9 -10
- package/lib/shell-components/services/layout.service.d.ts +23 -24
- package/lib/shell-components/services/payment.service.d.ts +19 -20
- package/lib/shell-components/services/recentSearch.service.d.ts +16 -17
- package/lib/shell-components/services/shell.modules.service.d.ts +9 -10
- package/lib/shell-components/services/signalr.service.d.ts +25 -26
- package/lib/shell-components/services/theme.service.d.ts +14 -15
- package/lib/shell-components/shell.module.d.ts +119 -120
- package/lib/shell-components/shell.routing.d.ts +2 -3
- package/lib/shell-components/store/actions/authentication.actions.d.ts +327 -328
- package/lib/shell-components/store/actions/chat.actions.d.ts +399 -400
- package/lib/shell-components/store/actions/menuitems.actions.d.ts +51 -52
- package/lib/shell-components/store/actions/notification-validator.action.d.ts +25 -26
- package/lib/shell-components/store/actions/notifications.actions.d.ts +116 -117
- package/lib/shell-components/store/effects/authentication.effects.d.ts +54 -55
- package/lib/shell-components/store/effects/chat.effects.d.ts +30 -31
- package/lib/shell-components/store/effects/index.d.ts +1 -2
- package/lib/shell-components/store/effects/menuitems.effects.d.ts +17 -18
- package/lib/shell-components/store/effects/notification-validator.effects.d.ts +21 -22
- package/lib/shell-components/store/effects/notifications.effects.d.ts +23 -24
- package/lib/shell-components/store/reducers/authentication.reducers.d.ts +30 -31
- package/lib/shell-components/store/reducers/chat.reducers.d.ts +17 -18
- package/lib/shell-components/store/reducers/index.d.ts +59 -60
- package/lib/shell-components/store/reducers/menuitems.reducers.d.ts +11 -12
- package/lib/shell-components/store/reducers/notification-validator.reducers.d.ts +5 -6
- package/lib/shell-components/store/reducers/notifications.reducers.d.ts +10 -11
- package/package.json +2 -5
- package/public-api.d.ts +82 -83
- package/store/reducers/index.d.ts +24 -25
- package/thetradeengineorg1-snova-shell-module.d.ts +5 -6
- package/lib/globaldependencies/components/avatar.component.d.ts.map +0 -1
- package/lib/globaldependencies/components/componentbase.d.ts.map +0 -1
- package/lib/globaldependencies/constants/feature-ids.d.ts.map +0 -1
- package/lib/globaldependencies/constants/localstorage-properties.d.ts.map +0 -1
- package/lib/globaldependencies/helpers/dom.helper.d.ts.map +0 -1
- package/lib/globaldependencies/helpers/fontawesome-icons.d.ts.map +0 -1
- package/lib/globaldependencies/helpers/moment-utc-date-adapter.d.ts.map +0 -1
- package/lib/globaldependencies/helpers/window.helper.d.ts.map +0 -1
- package/lib/globaldependencies/intercepter/jwt.interceptor.d.ts.map +0 -1
- package/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.d.ts.map +0 -1
- package/lib/globaldependencies/pipes/highLightText.pipe.d.ts.map +0 -1
- package/lib/globaldependencies/pipes/orderby-pipe.d.ts.map +0 -1
- package/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.d.ts.map +0 -1
- package/lib/globaldependencies/pipes/sanitize.pipe.d.ts.map +0 -1
- package/lib/globaldependencies/pipes/softlabels.pipes.d.ts.map +0 -1
- package/lib/globaldependencies/pipes/utctolocaltime.pipe.d.ts.map +0 -1
- package/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.d.ts.map +0 -1
- package/lib/globaldependencies/pipes/workflowstatus.pipes.d.ts.map +0 -1
- package/lib/shell-components/components/Payments/account.component.d.ts.map +0 -1
- package/lib/shell-components/components/Payments/company-information.d.ts.map +0 -1
- package/lib/shell-components/components/Payments/company-plans.component.d.ts.map +0 -1
- package/lib/shell-components/components/Payments/document.component.d.ts.map +0 -1
- package/lib/shell-components/components/Payments/payment-method.component.d.ts.map +0 -1
- package/lib/shell-components/components/Payments/product-service.component.d.ts.map +0 -1
- package/lib/shell-components/components/Payments/purchase-more-licenses.d.ts.map +0 -1
- package/lib/shell-components/components/Payments/transactions.component.d.ts.map +0 -1
- package/lib/shell-components/components/admin-layout/admin-layout.component.d.ts.map +0 -1
- package/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.d.ts.map +0 -1
- package/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.d.ts.map +0 -1
- package/lib/shell-components/components/export-import-configuration/export-configuration.component.d.ts.map +0 -1
- package/lib/shell-components/components/feed-time/feed-time-dialog.component.d.ts.map +0 -1
- package/lib/shell-components/components/feed-time/feed-time.component.d.ts.map +0 -1
- package/lib/shell-components/components/header-side/header-side.component.d.ts.map +0 -1
- package/lib/shell-components/components/header-top/header-top.component.d.ts.map +0 -1
- package/lib/shell-components/components/lives/lives-welcome-page.d.ts.map +0 -1
- package/lib/shell-components/components/menu/menu.component.d.ts.map +0 -1
- package/lib/shell-components/components/menu/searchTask.enum.d.ts.map +0 -1
- package/lib/shell-components/components/notifications/announcement-dialog.component.d.ts.map +0 -1
- package/lib/shell-components/components/notifications/notifications.component.d.ts.map +0 -1
- package/lib/shell-components/components/sidebar-top/sidebar-top.component.d.ts.map +0 -1
- package/lib/shell-components/components/sidenav/side-bar.component.d.ts.map +0 -1
- package/lib/shell-components/components/sidenav/sidenav.component.d.ts.map +0 -1
- package/lib/shell-components/components/submit-feedback/submit-feedback.component.d.ts.map +0 -1
- package/lib/shell-components/constants/api-urls.d.ts.map +0 -1
- package/lib/shell-components/constants/available-languages.d.ts.map +0 -1
- package/lib/shell-components/constants/channel-names.d.ts.map +0 -1
- package/lib/shell-components/constants/menu-categories.d.ts.map +0 -1
- package/lib/shell-components/constants/notification-routes.d.ts.map +0 -1
- package/lib/shell-components/constants/notification-type-ids.d.ts.map +0 -1
- package/lib/shell-components/enum/recentSearchType.enum.d.ts.map +0 -1
- package/lib/shell-components/models/AppMenuItemModel.d.ts.map +0 -1
- package/lib/shell-components/models/AppNotification.d.ts.map +0 -1
- package/lib/shell-components/models/AssetAssignedNotificationModel.d.ts.map +0 -1
- package/lib/shell-components/models/ChannelUpdateModel.d.ts.map +0 -1
- package/lib/shell-components/models/EmployeeStatusModel.d.ts.map +0 -1
- package/lib/shell-components/models/IAdjust-screen-options.d.ts.map +0 -1
- package/lib/shell-components/models/IBadge.d.ts.map +0 -1
- package/lib/shell-components/models/IChildItem.d.ts.map +0 -1
- package/lib/shell-components/models/ILayout-change-options.d.ts.map +0 -1
- package/lib/shell-components/models/IMenuItem.d.ts.map +0 -1
- package/lib/shell-components/models/IlayoutConf.d.ts.map +0 -1
- package/lib/shell-components/models/IntroModel.d.ts.map +0 -1
- package/lib/shell-components/models/MessageDetails.d.ts.map +0 -1
- package/lib/shell-components/models/MessageTypingDetails.d.ts.map +0 -1
- package/lib/shell-components/models/NewProjectCreatedNotificationModel.d.ts.map +0 -1
- package/lib/shell-components/models/NewProjectFeatureNotificationModel.d.ts.map +0 -1
- package/lib/shell-components/models/NotificationsOutPutModel.d.ts.map +0 -1
- package/lib/shell-components/models/ProjectSearchCriteriaInputModel.d.ts.map +0 -1
- package/lib/shell-components/models/RecentSearchModel.d.ts.map +0 -1
- package/lib/shell-components/models/ReportConfigAssignedNotification.d.ts.map +0 -1
- package/lib/shell-components/models/ReportSubmittedNotification.d.ts.map +0 -1
- package/lib/shell-components/models/RoleUpdatedNotification.d.ts.map +0 -1
- package/lib/shell-components/models/UserStoryAssignedNotification.d.ts.map +0 -1
- package/lib/shell-components/models/archiveUserStoryModel.d.ts.map +0 -1
- package/lib/shell-components/models/companieslist.model.d.ts.map +0 -1
- package/lib/shell-components/models/company-model.d.ts.map +0 -1
- package/lib/shell-components/models/company-payment-model.d.ts.map +0 -1
- package/lib/shell-components/models/dragedWidget.d.ts.map +0 -1
- package/lib/shell-components/models/employee-List.d.ts.map +0 -1
- package/lib/shell-components/models/employee.d.ts.map +0 -1
- package/lib/shell-components/models/entityRoleFeature.d.ts.map +0 -1
- package/lib/shell-components/models/export-configuration-model.d.ts.map +0 -1
- package/lib/shell-components/models/export-data.module.d.ts.map +0 -1
- package/lib/shell-components/models/goalApprovedNotificationModel.d.ts.map +0 -1
- package/lib/shell-components/models/import-configuration-model.d.ts.map +0 -1
- package/lib/shell-components/models/initialStatusofUsers.d.ts.map +0 -1
- package/lib/shell-components/models/invoiceOutput-model.d.ts.map +0 -1
- package/lib/shell-components/models/leaveApplicationNotifiction.d.ts.map +0 -1
- package/lib/shell-components/models/multiChartsScheduling.d.ts.map +0 -1
- package/lib/shell-components/models/parkUserStoryInputModel.d.ts.map +0 -1
- package/lib/shell-components/models/project.d.ts.map +0 -1
- package/lib/shell-components/models/recentSearchApiModel.d.ts.map +0 -1
- package/lib/shell-components/models/searchCriteriaInputModelBase.d.ts.map +0 -1
- package/lib/shell-components/models/shellModulesInfo.d.ts.map +0 -1
- package/lib/shell-components/models/softlabels-model.d.ts.map +0 -1
- package/lib/shell-components/models/sprintReplanRequestedModel.d.ts.map +0 -1
- package/lib/shell-components/models/sprintStartedNotificationModel.d.ts.map +0 -1
- package/lib/shell-components/models/store-model.d.ts.map +0 -1
- package/lib/shell-components/models/store-search-model.d.ts.map +0 -1
- package/lib/shell-components/models/themes.model.d.ts.map +0 -1
- package/lib/shell-components/models/timesheetenabledisable.d.ts.map +0 -1
- package/lib/shell-components/models/user.d.ts.map +0 -1
- package/lib/shell-components/models/userStory.d.ts.map +0 -1
- package/lib/shell-components/models/userStoryCommentNotificationModel.d.ts.map +0 -1
- package/lib/shell-components/models/userStoryUpdateNotificationModel.d.ts.map +0 -1
- package/lib/shell-components/models/userstory-custom-fields.model.d.ts.map +0 -1
- package/lib/shell-components/models/validation.model.d.ts.map +0 -1
- package/lib/shell-components/models/widgetlist.d.ts.map +0 -1
- package/lib/shell-components/models/workspaceList.d.ts.map +0 -1
- package/lib/shell-components/services/authentication.service.d.ts.map +0 -1
- package/lib/shell-components/services/chat.service.d.ts.map +0 -1
- package/lib/shell-components/services/common-used.service.d.ts.map +0 -1
- package/lib/shell-components/services/feature.service.d.ts.map +0 -1
- package/lib/shell-components/services/google-analytics.service.d.ts.map +0 -1
- package/lib/shell-components/services/layout.service.d.ts.map +0 -1
- package/lib/shell-components/services/payment.service.d.ts.map +0 -1
- package/lib/shell-components/services/recentSearch.service.d.ts.map +0 -1
- package/lib/shell-components/services/shell.modules.service.d.ts.map +0 -1
- package/lib/shell-components/services/signalr.service.d.ts.map +0 -1
- package/lib/shell-components/services/theme.service.d.ts.map +0 -1
- package/lib/shell-components/shell.module.d.ts.map +0 -1
- package/lib/shell-components/shell.routing.d.ts.map +0 -1
- package/lib/shell-components/store/actions/authentication.actions.d.ts.map +0 -1
- package/lib/shell-components/store/actions/chat.actions.d.ts.map +0 -1
- package/lib/shell-components/store/actions/menuitems.actions.d.ts.map +0 -1
- package/lib/shell-components/store/actions/notification-validator.action.d.ts.map +0 -1
- package/lib/shell-components/store/actions/notifications.actions.d.ts.map +0 -1
- package/lib/shell-components/store/effects/authentication.effects.d.ts.map +0 -1
- package/lib/shell-components/store/effects/chat.effects.d.ts.map +0 -1
- package/lib/shell-components/store/effects/index.d.ts.map +0 -1
- package/lib/shell-components/store/effects/menuitems.effects.d.ts.map +0 -1
- package/lib/shell-components/store/effects/notification-validator.effects.d.ts.map +0 -1
- package/lib/shell-components/store/effects/notifications.effects.d.ts.map +0 -1
- package/lib/shell-components/store/reducers/authentication.reducers.d.ts.map +0 -1
- package/lib/shell-components/store/reducers/chat.reducers.d.ts.map +0 -1
- package/lib/shell-components/store/reducers/index.d.ts.map +0 -1
- package/lib/shell-components/store/reducers/menuitems.reducers.d.ts.map +0 -1
- package/lib/shell-components/store/reducers/notification-validator.reducers.d.ts.map +0 -1
- package/lib/shell-components/store/reducers/notifications.reducers.d.ts.map +0 -1
- package/public-api.d.ts.map +0 -1
- package/store/reducers/index.d.ts.map +0 -1
- package/thetradeengineorg1-snova-shell-module.d.ts.map +0 -1
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
import { createFeatureSelector, createSelector } from "@ngrx/store";
|
|
2
|
-
import * as fromAuthentication from "./authentication.reducers";
|
|
3
|
-
import * as fromMenuItems from "./menuitems.reducers";
|
|
4
|
-
import * as fromNotifications from "./notifications.reducers";
|
|
5
|
-
import * as fromNotificationValidator from "./notification-validator.reducers";
|
|
6
|
-
import * as fromChatMessenger from "./chat.reducers";
|
|
7
|
-
export const reducers = {
|
|
8
|
-
notifications: fromNotifications.reducer,
|
|
9
|
-
authenticationRecord: fromAuthentication.reducer,
|
|
10
|
-
menuItems: fromMenuItems.reducer,
|
|
11
|
-
notificationValidator: fromNotificationValidator.reducer,
|
|
12
|
-
chatMessenger: fromChatMessenger.reducer
|
|
13
|
-
// tags: fromTags.reducer
|
|
14
|
-
};
|
|
15
|
-
export const getSharedState = createFeatureSelector("sharedManagement");
|
|
16
|
-
// Authentication Selectors
|
|
17
|
-
export const getAuthenticationState = createSelector(getSharedState, (state) => state.authenticationRecord);
|
|
18
|
-
export const getTimeShettButtonDetails = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.TimeSheetRestrictedData);
|
|
19
|
-
export const isTimeSheetFetching = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.isTimeSheetFetching);
|
|
20
|
-
export const getIsStartEnabled = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.isStartEnabled);
|
|
21
|
-
export const getIfUserIsAuthenticated = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.userLoggedIn);
|
|
22
|
-
export const getIfUserIsLoggingIn = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.userLoggingIn);
|
|
23
|
-
export const getAuthenticatedUserRecord = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord);
|
|
24
|
-
export const getAuthenticatedUserModel = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.userModel);
|
|
25
|
-
export const getErrorWhileUserIsLoggingIn = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.errorWhileLoggingIn);
|
|
26
|
-
export const getAllRoleFeatures = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.roleFeatures);
|
|
27
|
-
export const getAllEntityTypeRoleFeatures = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.entityTypeRoleFeatures);
|
|
28
|
-
export const getAllRoleFeaturesByUserId = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.rolePermissionsList);
|
|
29
|
-
export const getDemoRecordsDataDeletion = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.deletingDemoData);
|
|
30
|
-
export const getThemeModel = createSelector(getAuthenticationState, authenticationRecord => authenticationRecord.themeModel);
|
|
31
|
-
export const getCompanySettings = createSelector(getAuthenticationState, authenticationRecord => authenticationRecord.companySettingsModel);
|
|
32
|
-
export const getEntityRolePermissionsByProjectId = createSelector(getAuthenticationState, (authenticationRecord, props) => {
|
|
33
|
-
return (
|
|
34
|
-
// tslint:disable-next-line: only-arrow-functions
|
|
35
|
-
authenticationRecord.rolePermissionsList.filter(function (roleFeatureModel) {
|
|
36
|
-
return (roleFeatureModel.projectId.toString().toLowerCase() ===
|
|
37
|
-
props.projectId.toString().toLowerCase());
|
|
38
|
-
}));
|
|
39
|
-
});
|
|
40
|
-
export const getUserStoreId = createSelector(getAuthenticationState, authenticationRecord => authenticationRecord.userStoreId);
|
|
41
|
-
// Role Feature Selectors
|
|
42
|
-
export const doesUserHavePermission = createSelector(getAuthenticationState, (authenticationRecord, props) => {
|
|
43
|
-
return (
|
|
44
|
-
// tslint:disable-next-line: only-arrow-functions
|
|
45
|
-
authenticationRecord.roleFeatures.filter(function (roleFeatureModel) {
|
|
46
|
-
return (roleFeatureModel.featureId.toString().toLowerCase() ===
|
|
47
|
-
props.featureId.toString().toLowerCase());
|
|
48
|
-
}).length > 0);
|
|
49
|
-
});
|
|
50
|
-
export const getRoleFeaturesLoading = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.loadingRoleFeatures);
|
|
51
|
-
// Entity Role Feature Selectors
|
|
52
|
-
export const doesUserHavePermissionForEntityTypeFeature = createSelector(getAuthenticationState, (authenticationRecord, props) => {
|
|
53
|
-
return (
|
|
54
|
-
// tslint:disable-next-line: only-arrow-functions
|
|
55
|
-
authenticationRecord.entityTypeRoleFeatures.filter(function (roleFeatureModel) {
|
|
56
|
-
return (roleFeatureModel.entityFeatureId.toString().toLowerCase() ===
|
|
57
|
-
props.entityFeatureId.toString().toLowerCase());
|
|
58
|
-
}).length > 0);
|
|
59
|
-
});
|
|
60
|
-
export const getEntityFeaturesLoading = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.loadingEntityFeatures);
|
|
61
|
-
export const getUserEntityFeaturesLoading = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.loadingUserEntityFeatures);
|
|
62
|
-
// Menu Items Selectors
|
|
63
|
-
export const getMenuItemsState = createSelector(getSharedState, (state) => state.menuItems);
|
|
64
|
-
export const { selectIds: getMenuItemsIds, selectEntities: getMenuItemsEntities, selectAll: getMenuItemsAll, selectTotal: getMenuItemsTotal } = fromMenuItems.menuItemsAdapter.getSelectors(getMenuItemsState);
|
|
65
|
-
export const getMenuItemsLoading = createSelector(getMenuItemsState, (state) => state.menuItemsLoading);
|
|
66
|
-
export const getMenuCategory = createSelector(getMenuItemsState, (state) => state.menuCategory);
|
|
67
|
-
export const getCurrentActiveMenuCategoryMenuItems = createSelector(getMenuItemsAll, getMenuCategory, (menuItems, menuCategory) =>
|
|
68
|
-
// tslint:disable-next-line: only-arrow-functions
|
|
69
|
-
menuItems.filter(function (x) {
|
|
70
|
-
return (x.menuCategory &&
|
|
71
|
-
menuCategory &&
|
|
72
|
-
x.menuCategory.toLowerCase() === menuCategory.toLowerCase());
|
|
73
|
-
}));
|
|
74
|
-
// Notifications Selectors
|
|
75
|
-
export const getNotificationsState = createSelector(getSharedState, (state) => state.notifications);
|
|
76
|
-
export const { selectIds: getNotificationIds, selectEntities: getNotificationEntities, selectAll: getNotificationAll, selectTotal: getNotificationTotal } = fromNotifications.notificationsAdapter.getSelectors(getNotificationsState);
|
|
77
|
-
export const getNotificationUnreadTotal = createSelector(getNotificationAll, (entities) => entities.filter((notification) => !notification.isRead).length);
|
|
78
|
-
export const getNotificationsLoading = createSelector(getSharedState, (state) => state.notifications.loadingNotifications);
|
|
79
|
-
export const getChatMessengerState = createSelector(getSharedState, (state) => state.chatMessenger);
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zaGVsbC1tb2R1bGUtY29tcG9uZW50cy9zaGVsbC1jb21wb25lbnRzL3NyYy9saWIvc2hlbGwtY29tcG9uZW50cy9zdG9yZS9yZWR1Y2Vycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLHFCQUFxQixFQUFFLGNBQWMsRUFBb0IsTUFBTSxhQUFhLENBQUM7QUFheEcsT0FBTyxLQUFLLGtCQUFrQixNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxhQUFhLE1BQU0sc0JBQXNCLENBQUM7QUFHdEQsT0FBTyxLQUFLLGlCQUFpQixNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sS0FBSyx5QkFBeUIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssaUJBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFrQnJELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBd0M7SUFDM0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLE9BQU87SUFDeEMsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUMsT0FBTztJQUNoRCxTQUFTLEVBQUUsYUFBYSxDQUFDLE9BQU87SUFDaEMscUJBQXFCLEVBQUUseUJBQXlCLENBQUMsT0FBTztJQUN4RCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsT0FBTztJQUN4Qyx5QkFBeUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBMkIsa0JBQWtCLENBQUMsQ0FBQztBQUVsRywyQkFBMkI7QUFDM0IsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUNsRCxjQUFjLEVBQ2QsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FDdEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLGNBQWMsQ0FDckQsc0JBQXNC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b25SZWR1Y2VyTWFwLCBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yLCBNZW1vaXplZFNlbGVjdG9yIH0gZnJvbSBcIkBuZ3J4L3N0b3JlXCI7XG5pbXBvcnQgeyBNZW1vaXplZFNlbGVjdG9yV2l0aFByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUvc3JjL3NlbGVjdG9yJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdAbmdyeC9lbnRpdHknO1xuXG5pbXBvcnQgeyBVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlcic7XG5pbXBvcnQgeyBUaGVtZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RoZW1lcy5tb2RlbCc7XG5pbXBvcnQgeyBJTWVudUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvSU1lbnVJdGVtJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk91dHB1dE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL05vdGlmaWNhdGlvbnNPdXRQdXRNb2RlbCc7XG5cbmltcG9ydCAqIGFzIF8gZnJvbSBcInVuZGVyc2NvcmVcIjtcblxuaW1wb3J0ICogYXMgZnJvbVJvb3QgZnJvbSBcIi4uLy4uLy4uLy4uL3N0b3JlL3JlZHVjZXJzL2luZGV4XCI7XG5cbmltcG9ydCAqIGFzIGZyb21BdXRoZW50aWNhdGlvbiBmcm9tIFwiLi9hdXRoZW50aWNhdGlvbi5yZWR1Y2Vyc1wiO1xuaW1wb3J0ICogYXMgZnJvbU1lbnVJdGVtcyBmcm9tIFwiLi9tZW51aXRlbXMucmVkdWNlcnNcIjtcbmltcG9ydCB7IEVudGl0eVJvbGVGZWF0dXJlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZW50aXR5Um9sZUZlYXR1cmUnO1xuaW1wb3J0IHsgVGltZXNoZWV0RGlzYWJsZW9yRW5hYmxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RpbWVzaGVldGVuYWJsZWRpc2FibGUnO1xuaW1wb3J0ICogYXMgZnJvbU5vdGlmaWNhdGlvbnMgZnJvbSBcIi4vbm90aWZpY2F0aW9ucy5yZWR1Y2Vyc1wiO1xuaW1wb3J0ICogYXMgZnJvbU5vdGlmaWNhdGlvblZhbGlkYXRvciBmcm9tIFwiLi9ub3RpZmljYXRpb24tdmFsaWRhdG9yLnJlZHVjZXJzXCI7XG5pbXBvcnQgKiBhcyBmcm9tQ2hhdE1lc3NlbmdlciBmcm9tIFwiLi9jaGF0LnJlZHVjZXJzXCI7XG4vLyBpbXBvcnQgKiBhcyBmcm9tVGFncyBmcm9tIFwiLi90YWdzLnJlZHVjZXJzXCI7XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogaW50ZXJmYWNlLW5hbWVcbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVkTW9kdWxlU3RhdGUge1xuICBub3RpZmljYXRpb25zOiBmcm9tTm90aWZpY2F0aW9ucy5TdGF0ZTtcbiAgYXV0aGVudGljYXRpb25SZWNvcmQ6IGZyb21BdXRoZW50aWNhdGlvbi5TdGF0ZTtcbiAgbWVudUl0ZW1zOiBmcm9tTWVudUl0ZW1zLlN0YXRlO1xuICBub3RpZmljYXRpb25WYWxpZGF0b3I6IGZyb21Ob3RpZmljYXRpb25WYWxpZGF0b3IuU3RhdGU7XG4gIGNoYXRNZXNzZW5nZXI6IGZyb21DaGF0TWVzc2VuZ2VyLlN0YXRlO1xuICAvLyB0YWdzOiBmcm9tVGFncy5TdGF0ZTtcbn1cblxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBpbnRlcmZhY2UtbmFtZVxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZSBleHRlbmRzIGZyb21Sb290LlN0YXRlIHtcbiAgc2hhcmVkTWFuYWdlbWVudDogU2hhcmVkTW9kdWxlU3RhdGU7XG59XG5cbmV4cG9ydCBjb25zdCByZWR1Y2VyczogQWN0aW9uUmVkdWNlck1hcDxTaGFyZWRNb2R1bGVTdGF0ZT4gPSB7XG4gIG5vdGlmaWNhdGlvbnM6IGZyb21Ob3RpZmljYXRpb25zLnJlZHVjZXIsXG4gIGF1dGhlbnRpY2F0aW9uUmVjb3JkOiBmcm9tQXV0aGVudGljYXRpb24ucmVkdWNlcixcbiAgbWVudUl0ZW1zOiBmcm9tTWVudUl0ZW1zLnJlZHVjZXIsXG4gIG5vdGlmaWNhdGlvblZhbGlkYXRvcjogZnJvbU5vdGlmaWNhdGlvblZhbGlkYXRvci5yZWR1Y2VyLFxuICBjaGF0TWVzc2VuZ2VyOiBmcm9tQ2hhdE1lc3Nlbmdlci5yZWR1Y2VyXG4gIC8vIHRhZ3M6IGZyb21UYWdzLnJlZHVjZXJcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTaGFyZWRTdGF0ZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxTdGF0ZSwgU2hhcmVkTW9kdWxlU3RhdGU+KFwic2hhcmVkTWFuYWdlbWVudFwiKTtcblxuLy8gQXV0aGVudGljYXRpb24gU2VsZWN0b3JzXG5leHBvcnQgY29uc3QgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRTaGFyZWRTdGF0ZSxcbiAgKHN0YXRlKSA9PiBzdGF0ZS5hdXRoZW50aWNhdGlvblJlY29yZFxuKTtcblxuZXhwb3J0IGNvbnN0IGdldFRpbWVTaGV0dEJ1dHRvbkRldGFpbHMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSAgPT4gYXV0aGVudGljYXRpb25SZWNvcmQuVGltZVNoZWV0UmVzdHJpY3RlZERhdGFcbilcblxuZXhwb3J0IGNvbnN0IGlzVGltZVNoZWV0RmV0Y2hpbmcgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSAgPT4gYXV0aGVudGljYXRpb25SZWNvcmQuaXNUaW1lU2hlZXRGZXRjaGluZ1xuKVxuXG5leHBvcnQgY29uc3QgZ2V0SXNTdGFydEVuYWJsZWQgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSA9PiBhdXRoZW50aWNhdGlvblJlY29yZC5pc1N0YXJ0RW5hYmxlZFxuKTtcblxuZXhwb3J0IGNvbnN0IGdldElmVXNlcklzQXV0aGVudGljYXRlZCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxuICAoYXV0aGVudGljYXRpb25SZWNvcmQpID0+IGF1dGhlbnRpY2F0aW9uUmVjb3JkLnVzZXJMb2dnZWRJblxuKTtcblxuZXhwb3J0IGNvbnN0IGdldElmVXNlcklzTG9nZ2luZ0luID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmQudXNlckxvZ2dpbmdJblxuKTtcblxuZXhwb3J0IGNvbnN0IGdldEF1dGhlbnRpY2F0ZWRVc2VyUmVjb3JkID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmRcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRBdXRoZW50aWNhdGVkVXNlck1vZGVsID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmQudXNlck1vZGVsXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0RXJyb3JXaGlsZVVzZXJJc0xvZ2dpbmdJbiA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxuICAoYXV0aGVudGljYXRpb25SZWNvcmQpID0+IGF1dGhlbnRpY2F0aW9uUmVjb3JkLmVycm9yV2hpbGVMb2dnaW5nSW5cbik7XG5cbmV4cG9ydCBjb25zdCBnZXRBbGxSb2xlRmVhdHVyZXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSA9PiBhdXRoZW50aWNhdGlvblJlY29yZC5yb2xlRmVhdHVyZXNcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRBbGxFbnRpdHlUeXBlUm9sZUZlYXR1cmVzID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmQuZW50aXR5VHlwZVJvbGVGZWF0dXJlc1xuKTtcblxuZXhwb3J0IGNvbnN0IGdldEFsbFJvbGVGZWF0dXJlc0J5VXNlcklkID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmQucm9sZVBlcm1pc3Npb25zTGlzdFxuKTtcblxuZXhwb3J0IGNvbnN0IGdldERlbW9SZWNvcmRzRGF0YURlbGV0aW9uID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmQuZGVsZXRpbmdEZW1vRGF0YVxuKTtcblxuXG5leHBvcnQgY29uc3QgZ2V0VGhlbWVNb2RlbCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxuICBhdXRoZW50aWNhdGlvblJlY29yZCA9PiBhdXRoZW50aWNhdGlvblJlY29yZC50aGVtZU1vZGVsXG4pO1xuXG5cbmV4cG9ydCBjb25zdCBnZXRDb21wYW55U2V0dGluZ3MgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcbiAgYXV0aGVudGljYXRpb25SZWNvcmQgPT4gYXV0aGVudGljYXRpb25SZWNvcmQuY29tcGFueVNldHRpbmdzTW9kZWxcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRFbnRpdHlSb2xlUGVybWlzc2lvbnNCeVByb2plY3RJZCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxuICAoYXV0aGVudGljYXRpb25SZWNvcmQsIHByb3BzKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogb25seS1hcnJvdy1mdW5jdGlvbnNcbiAgICAgIGF1dGhlbnRpY2F0aW9uUmVjb3JkLnJvbGVQZXJtaXNzaW9uc0xpc3QuZmlsdGVyKGZ1bmN0aW9uIChcbiAgICAgICAgcm9sZUZlYXR1cmVNb2RlbDogRW50aXR5Um9sZUZlYXR1cmVNb2RlbFxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgcm9sZUZlYXR1cmVNb2RlbC5wcm9qZWN0SWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PVxuICAgICAgICAgIHByb3BzLnByb2plY3RJZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGdldFVzZXJTdG9yZUlkID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXG4gIGF1dGhlbnRpY2F0aW9uUmVjb3JkID0+IGF1dGhlbnRpY2F0aW9uUmVjb3JkLnVzZXJTdG9yZUlkXG4pO1xuXG4vLyBSb2xlIEZlYXR1cmUgU2VsZWN0b3JzXG5leHBvcnQgY29uc3QgZG9lc1VzZXJIYXZlUGVybWlzc2lvbiA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxuICAoYXV0aGVudGljYXRpb25SZWNvcmQsIHByb3BzKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogb25seS1hcnJvdy1mdW5jdGlvbnNcbiAgICAgIGF1dGhlbnRpY2F0aW9uUmVjb3JkLnJvbGVGZWF0dXJlcy5maWx0ZXIoZnVuY3Rpb24gKFxuICAgICAgICByb2xlRmVhdHVyZU1vZGVsOiBhbnlcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHJvbGVGZWF0dXJlTW9kZWwuZmVhdHVyZUlkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PT1cbiAgICAgICAgICBwcm9wcy5mZWF0dXJlSWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICk7XG4gICAgICB9KS5sZW5ndGggPiAwXG4gICAgKTtcbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGdldFJvbGVGZWF0dXJlc0xvYWRpbmcgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSA9PiBhdXRoZW50aWNhdGlvblJlY29yZC5sb2FkaW5nUm9sZUZlYXR1cmVzXG4pO1xuXG4vLyBFbnRpdHkgUm9sZSBGZWF0dXJlIFNlbGVjdG9yc1xuZXhwb3J0IGNvbnN0IGRvZXNVc2VySGF2ZVBlcm1pc3Npb25Gb3JFbnRpdHlUeXBlRmVhdHVyZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxuICAoYXV0aGVudGljYXRpb25SZWNvcmQsIHByb3BzKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogb25seS1hcnJvdy1mdW5jdGlvbnNcbiAgICAgIGF1dGhlbnRpY2F0aW9uUmVjb3JkLmVudGl0eVR5cGVSb2xlRmVhdHVyZXMuZmlsdGVyKGZ1bmN0aW9uIChcbiAgICAgICAgcm9sZUZlYXR1cmVNb2RlbDogRW50aXR5Um9sZUZlYXR1cmVNb2RlbFxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgcm9sZUZlYXR1cmVNb2RlbC5lbnRpdHlGZWF0dXJlSWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PVxuICAgICAgICAgIHByb3BzLmVudGl0eUZlYXR1cmVJZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgKTtcbiAgICAgIH0pLmxlbmd0aCA+IDBcbiAgICApO1xuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0RW50aXR5RmVhdHVyZXNMb2FkaW5nID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmQubG9hZGluZ0VudGl0eUZlYXR1cmVzXG4pO1xuXG5cbmV4cG9ydCBjb25zdCBnZXRVc2VyRW50aXR5RmVhdHVyZXNMb2FkaW5nID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmQubG9hZGluZ1VzZXJFbnRpdHlGZWF0dXJlc1xuKTtcblxuLy8gTWVudSBJdGVtcyBTZWxlY3RvcnNcbmV4cG9ydCBjb25zdCBnZXRNZW51SXRlbXNTdGF0ZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRTaGFyZWRTdGF0ZSxcbiAgKHN0YXRlKSA9PiBzdGF0ZS5tZW51SXRlbXNcbik7XG5cbmV4cG9ydCBjb25zdCB7XG4gIHNlbGVjdElkczogZ2V0TWVudUl0ZW1zSWRzLFxuICBzZWxlY3RFbnRpdGllczogZ2V0TWVudUl0ZW1zRW50aXRpZXMsXG4gIHNlbGVjdEFsbDogZ2V0TWVudUl0ZW1zQWxsLFxuICBzZWxlY3RUb3RhbDogZ2V0TWVudUl0ZW1zVG90YWxcbn0gPSBmcm9tTWVudUl0ZW1zLm1lbnVJdGVtc0FkYXB0ZXIuZ2V0U2VsZWN0b3JzKGdldE1lbnVJdGVtc1N0YXRlKTtcblxuZXhwb3J0IGNvbnN0IGdldE1lbnVJdGVtc0xvYWRpbmcgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0TWVudUl0ZW1zU3RhdGUsXG4gIChzdGF0ZSkgPT4gc3RhdGUubWVudUl0ZW1zTG9hZGluZ1xuKTtcblxuZXhwb3J0IGNvbnN0IGdldE1lbnVDYXRlZ29yeSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRNZW51SXRlbXNTdGF0ZSxcbiAgKHN0YXRlKSA9PiBzdGF0ZS5tZW51Q2F0ZWdvcnlcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRDdXJyZW50QWN0aXZlTWVudUNhdGVnb3J5TWVudUl0ZW1zID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldE1lbnVJdGVtc0FsbCxcbiAgZ2V0TWVudUNhdGVnb3J5LFxuICAobWVudUl0ZW1zLCBtZW51Q2F0ZWdvcnkpID0+XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBvbmx5LWFycm93LWZ1bmN0aW9uc1xuICAgIG1lbnVJdGVtcy5maWx0ZXIoZnVuY3Rpb24gKHgpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHgubWVudUNhdGVnb3J5ICYmXG4gICAgICAgIG1lbnVDYXRlZ29yeSAmJlxuICAgICAgICB4Lm1lbnVDYXRlZ29yeS50b0xvd2VyQ2FzZSgpID09PSBtZW51Q2F0ZWdvcnkudG9Mb3dlckNhc2UoKVxuICAgICAgKTtcbiAgICB9KVxuKTtcblxuLy8gTm90aWZpY2F0aW9ucyBTZWxlY3RvcnNcbmV4cG9ydCBjb25zdCBnZXROb3RpZmljYXRpb25zU3RhdGUgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0U2hhcmVkU3RhdGUsXG4gIChzdGF0ZSkgPT4gc3RhdGUubm90aWZpY2F0aW9uc1xuKTtcblxuZXhwb3J0IGNvbnN0IHtcbiAgc2VsZWN0SWRzOiBnZXROb3RpZmljYXRpb25JZHMsXG4gIHNlbGVjdEVudGl0aWVzOiBnZXROb3RpZmljYXRpb25FbnRpdGllcyxcbiAgc2VsZWN0QWxsOiBnZXROb3RpZmljYXRpb25BbGwsXG4gIHNlbGVjdFRvdGFsOiBnZXROb3RpZmljYXRpb25Ub3RhbFxufSA9IGZyb21Ob3RpZmljYXRpb25zLm5vdGlmaWNhdGlvbnNBZGFwdGVyLmdldFNlbGVjdG9ycyhnZXROb3RpZmljYXRpb25zU3RhdGUpO1xuXG5leHBvcnQgY29uc3QgZ2V0Tm90aWZpY2F0aW9uVW5yZWFkVG90YWwgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Tm90aWZpY2F0aW9uQWxsLFxuICAoZW50aXRpZXMpID0+IGVudGl0aWVzLmZpbHRlcigobm90aWZpY2F0aW9uKSA9PiAhbm90aWZpY2F0aW9uLmlzUmVhZCkubGVuZ3RoXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0Tm90aWZpY2F0aW9uc0xvYWRpbmcgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0U2hhcmVkU3RhdGUsXG4gIChzdGF0ZSkgPT4gc3RhdGUubm90aWZpY2F0aW9ucy5sb2FkaW5nTm90aWZpY2F0aW9uc1xuKTtcblxuZXhwb3J0IGNvbnN0IGdldENoYXRNZXNzZW5nZXJTdGF0ZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRTaGFyZWRTdGF0ZSxcbiAgKHN0YXRlKSA9PiBzdGF0ZS5jaGF0TWVzc2VuZ2VyXG4pOyJdfQ==
|
|
1
|
+
import { createFeatureSelector, createSelector } from "@ngrx/store";
|
|
2
|
+
import * as fromAuthentication from "./authentication.reducers";
|
|
3
|
+
import * as fromMenuItems from "./menuitems.reducers";
|
|
4
|
+
import * as fromNotifications from "./notifications.reducers";
|
|
5
|
+
import * as fromNotificationValidator from "./notification-validator.reducers";
|
|
6
|
+
import * as fromChatMessenger from "./chat.reducers";
|
|
7
|
+
export const reducers = {
|
|
8
|
+
notifications: fromNotifications.reducer,
|
|
9
|
+
authenticationRecord: fromAuthentication.reducer,
|
|
10
|
+
menuItems: fromMenuItems.reducer,
|
|
11
|
+
notificationValidator: fromNotificationValidator.reducer,
|
|
12
|
+
chatMessenger: fromChatMessenger.reducer
|
|
13
|
+
// tags: fromTags.reducer
|
|
14
|
+
};
|
|
15
|
+
export const getSharedState = createFeatureSelector("sharedManagement");
|
|
16
|
+
// Authentication Selectors
|
|
17
|
+
export const getAuthenticationState = createSelector(getSharedState, (state) => state.authenticationRecord);
|
|
18
|
+
export const getTimeShettButtonDetails = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.TimeSheetRestrictedData);
|
|
19
|
+
export const isTimeSheetFetching = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.isTimeSheetFetching);
|
|
20
|
+
export const getIsStartEnabled = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.isStartEnabled);
|
|
21
|
+
export const getIfUserIsAuthenticated = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.userLoggedIn);
|
|
22
|
+
export const getIfUserIsLoggingIn = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.userLoggingIn);
|
|
23
|
+
export const getAuthenticatedUserRecord = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord);
|
|
24
|
+
export const getAuthenticatedUserModel = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.userModel);
|
|
25
|
+
export const getErrorWhileUserIsLoggingIn = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.errorWhileLoggingIn);
|
|
26
|
+
export const getAllRoleFeatures = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.roleFeatures);
|
|
27
|
+
export const getAllEntityTypeRoleFeatures = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.entityTypeRoleFeatures);
|
|
28
|
+
export const getAllRoleFeaturesByUserId = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.rolePermissionsList);
|
|
29
|
+
export const getDemoRecordsDataDeletion = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.deletingDemoData);
|
|
30
|
+
export const getThemeModel = createSelector(getAuthenticationState, authenticationRecord => authenticationRecord.themeModel);
|
|
31
|
+
export const getCompanySettings = createSelector(getAuthenticationState, authenticationRecord => authenticationRecord.companySettingsModel);
|
|
32
|
+
export const getEntityRolePermissionsByProjectId = createSelector(getAuthenticationState, (authenticationRecord, props) => {
|
|
33
|
+
return (
|
|
34
|
+
// tslint:disable-next-line: only-arrow-functions
|
|
35
|
+
authenticationRecord.rolePermissionsList.filter(function (roleFeatureModel) {
|
|
36
|
+
return (roleFeatureModel.projectId.toString().toLowerCase() ===
|
|
37
|
+
props.projectId.toString().toLowerCase());
|
|
38
|
+
}));
|
|
39
|
+
});
|
|
40
|
+
export const getUserStoreId = createSelector(getAuthenticationState, authenticationRecord => authenticationRecord.userStoreId);
|
|
41
|
+
// Role Feature Selectors
|
|
42
|
+
export const doesUserHavePermission = createSelector(getAuthenticationState, (authenticationRecord, props) => {
|
|
43
|
+
return (
|
|
44
|
+
// tslint:disable-next-line: only-arrow-functions
|
|
45
|
+
authenticationRecord.roleFeatures.filter(function (roleFeatureModel) {
|
|
46
|
+
return (roleFeatureModel.featureId.toString().toLowerCase() ===
|
|
47
|
+
props.featureId.toString().toLowerCase());
|
|
48
|
+
}).length > 0);
|
|
49
|
+
});
|
|
50
|
+
export const getRoleFeaturesLoading = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.loadingRoleFeatures);
|
|
51
|
+
// Entity Role Feature Selectors
|
|
52
|
+
export const doesUserHavePermissionForEntityTypeFeature = createSelector(getAuthenticationState, (authenticationRecord, props) => {
|
|
53
|
+
return (
|
|
54
|
+
// tslint:disable-next-line: only-arrow-functions
|
|
55
|
+
authenticationRecord.entityTypeRoleFeatures.filter(function (roleFeatureModel) {
|
|
56
|
+
return (roleFeatureModel.entityFeatureId.toString().toLowerCase() ===
|
|
57
|
+
props.entityFeatureId.toString().toLowerCase());
|
|
58
|
+
}).length > 0);
|
|
59
|
+
});
|
|
60
|
+
export const getEntityFeaturesLoading = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.loadingEntityFeatures);
|
|
61
|
+
export const getUserEntityFeaturesLoading = createSelector(getAuthenticationState, (authenticationRecord) => authenticationRecord.loadingUserEntityFeatures);
|
|
62
|
+
// Menu Items Selectors
|
|
63
|
+
export const getMenuItemsState = createSelector(getSharedState, (state) => state.menuItems);
|
|
64
|
+
export const { selectIds: getMenuItemsIds, selectEntities: getMenuItemsEntities, selectAll: getMenuItemsAll, selectTotal: getMenuItemsTotal } = fromMenuItems.menuItemsAdapter.getSelectors(getMenuItemsState);
|
|
65
|
+
export const getMenuItemsLoading = createSelector(getMenuItemsState, (state) => state.menuItemsLoading);
|
|
66
|
+
export const getMenuCategory = createSelector(getMenuItemsState, (state) => state.menuCategory);
|
|
67
|
+
export const getCurrentActiveMenuCategoryMenuItems = createSelector(getMenuItemsAll, getMenuCategory, (menuItems, menuCategory) =>
|
|
68
|
+
// tslint:disable-next-line: only-arrow-functions
|
|
69
|
+
menuItems.filter(function (x) {
|
|
70
|
+
return (x.menuCategory &&
|
|
71
|
+
menuCategory &&
|
|
72
|
+
x.menuCategory.toLowerCase() === menuCategory.toLowerCase());
|
|
73
|
+
}));
|
|
74
|
+
// Notifications Selectors
|
|
75
|
+
export const getNotificationsState = createSelector(getSharedState, (state) => state.notifications);
|
|
76
|
+
export const { selectIds: getNotificationIds, selectEntities: getNotificationEntities, selectAll: getNotificationAll, selectTotal: getNotificationTotal } = fromNotifications.notificationsAdapter.getSelectors(getNotificationsState);
|
|
77
|
+
export const getNotificationUnreadTotal = createSelector(getNotificationAll, (entities) => entities.filter((notification) => !notification.isRead).length);
|
|
78
|
+
export const getNotificationsLoading = createSelector(getSharedState, (state) => state.notifications.loadingNotifications);
|
|
79
|
+
export const getChatMessengerState = createSelector(getSharedState, (state) => state.chatMessenger);
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zaGVsbC1tb2R1bGUtY29tcG9uZW50cy9zaGVsbC1jb21wb25lbnRzL3NyYy9saWIvc2hlbGwtY29tcG9uZW50cy9zdG9yZS9yZWR1Y2Vycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLHFCQUFxQixFQUFFLGNBQWMsRUFBb0IsTUFBTSxhQUFhLENBQUM7QUFheEcsT0FBTyxLQUFLLGtCQUFrQixNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxhQUFhLE1BQU0sc0JBQXNCLENBQUM7QUFHdEQsT0FBTyxLQUFLLGlCQUFpQixNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sS0FBSyx5QkFBeUIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssaUJBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFrQnJELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBd0M7SUFDM0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLE9BQU87SUFDeEMsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUMsT0FBTztJQUNoRCxTQUFTLEVBQUUsYUFBYSxDQUFDLE9BQU87SUFDaEMscUJBQXFCLEVBQUUseUJBQXlCLENBQUMsT0FBTztJQUN4RCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsT0FBTztJQUN4Qyx5QkFBeUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBMkIsa0JBQWtCLENBQUMsQ0FBQztBQUVsRywyQkFBMkI7QUFDM0IsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUNsRCxjQUFjLEVBQ2QsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FDdEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLGNBQWMsQ0FDckQsc0JBQXNC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b25SZWR1Y2VyTWFwLCBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yLCBNZW1vaXplZFNlbGVjdG9yIH0gZnJvbSBcIkBuZ3J4L3N0b3JlXCI7XHJcbmltcG9ydCB7IE1lbW9pemVkU2VsZWN0b3JXaXRoUHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZS9zcmMvc2VsZWN0b3InO1xyXG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnQG5ncngvZW50aXR5JztcclxuXHJcbmltcG9ydCB7IFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyJztcclxuaW1wb3J0IHsgVGhlbWVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy90aGVtZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBJTWVudUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvSU1lbnVJdGVtJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uT3V0cHV0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvTm90aWZpY2F0aW9uc091dFB1dE1vZGVsJztcclxuXHJcbmltcG9ydCAqIGFzIF8gZnJvbSBcInVuZGVyc2NvcmVcIjtcclxuXHJcbmltcG9ydCAqIGFzIGZyb21Sb290IGZyb20gXCIuLi8uLi8uLi8uLi9zdG9yZS9yZWR1Y2Vycy9pbmRleFwiO1xyXG5cclxuaW1wb3J0ICogYXMgZnJvbUF1dGhlbnRpY2F0aW9uIGZyb20gXCIuL2F1dGhlbnRpY2F0aW9uLnJlZHVjZXJzXCI7XHJcbmltcG9ydCAqIGFzIGZyb21NZW51SXRlbXMgZnJvbSBcIi4vbWVudWl0ZW1zLnJlZHVjZXJzXCI7XHJcbmltcG9ydCB7IEVudGl0eVJvbGVGZWF0dXJlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZW50aXR5Um9sZUZlYXR1cmUnO1xyXG5pbXBvcnQgeyBUaW1lc2hlZXREaXNhYmxlb3JFbmFibGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGltZXNoZWV0ZW5hYmxlZGlzYWJsZSc7XHJcbmltcG9ydCAqIGFzIGZyb21Ob3RpZmljYXRpb25zIGZyb20gXCIuL25vdGlmaWNhdGlvbnMucmVkdWNlcnNcIjtcclxuaW1wb3J0ICogYXMgZnJvbU5vdGlmaWNhdGlvblZhbGlkYXRvciBmcm9tIFwiLi9ub3RpZmljYXRpb24tdmFsaWRhdG9yLnJlZHVjZXJzXCI7XHJcbmltcG9ydCAqIGFzIGZyb21DaGF0TWVzc2VuZ2VyIGZyb20gXCIuL2NoYXQucmVkdWNlcnNcIjtcclxuLy8gaW1wb3J0ICogYXMgZnJvbVRhZ3MgZnJvbSBcIi4vdGFncy5yZWR1Y2Vyc1wiO1xyXG5cclxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBpbnRlcmZhY2UtbmFtZVxyXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlZE1vZHVsZVN0YXRlIHtcclxuICBub3RpZmljYXRpb25zOiBmcm9tTm90aWZpY2F0aW9ucy5TdGF0ZTtcclxuICBhdXRoZW50aWNhdGlvblJlY29yZDogZnJvbUF1dGhlbnRpY2F0aW9uLlN0YXRlO1xyXG4gIG1lbnVJdGVtczogZnJvbU1lbnVJdGVtcy5TdGF0ZTtcclxuICBub3RpZmljYXRpb25WYWxpZGF0b3I6IGZyb21Ob3RpZmljYXRpb25WYWxpZGF0b3IuU3RhdGU7XHJcbiAgY2hhdE1lc3NlbmdlcjogZnJvbUNoYXRNZXNzZW5nZXIuU3RhdGU7XHJcbiAgLy8gdGFnczogZnJvbVRhZ3MuU3RhdGU7XHJcbn1cclxuXHJcbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogaW50ZXJmYWNlLW5hbWVcclxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZSBleHRlbmRzIGZyb21Sb290LlN0YXRlIHtcclxuICBzaGFyZWRNYW5hZ2VtZW50OiBTaGFyZWRNb2R1bGVTdGF0ZTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IHJlZHVjZXJzOiBBY3Rpb25SZWR1Y2VyTWFwPFNoYXJlZE1vZHVsZVN0YXRlPiA9IHtcclxuICBub3RpZmljYXRpb25zOiBmcm9tTm90aWZpY2F0aW9ucy5yZWR1Y2VyLFxyXG4gIGF1dGhlbnRpY2F0aW9uUmVjb3JkOiBmcm9tQXV0aGVudGljYXRpb24ucmVkdWNlcixcclxuICBtZW51SXRlbXM6IGZyb21NZW51SXRlbXMucmVkdWNlcixcclxuICBub3RpZmljYXRpb25WYWxpZGF0b3I6IGZyb21Ob3RpZmljYXRpb25WYWxpZGF0b3IucmVkdWNlcixcclxuICBjaGF0TWVzc2VuZ2VyOiBmcm9tQ2hhdE1lc3Nlbmdlci5yZWR1Y2VyXHJcbiAgLy8gdGFnczogZnJvbVRhZ3MucmVkdWNlclxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldFNoYXJlZFN0YXRlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPFN0YXRlLCBTaGFyZWRNb2R1bGVTdGF0ZT4oXCJzaGFyZWRNYW5hZ2VtZW50XCIpO1xyXG5cclxuLy8gQXV0aGVudGljYXRpb24gU2VsZWN0b3JzXHJcbmV4cG9ydCBjb25zdCBnZXRBdXRoZW50aWNhdGlvblN0YXRlID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgZ2V0U2hhcmVkU3RhdGUsXHJcbiAgKHN0YXRlKSA9PiBzdGF0ZS5hdXRoZW50aWNhdGlvblJlY29yZFxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldFRpbWVTaGV0dEJ1dHRvbkRldGFpbHMgPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxyXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgID0+IGF1dGhlbnRpY2F0aW9uUmVjb3JkLlRpbWVTaGVldFJlc3RyaWN0ZWREYXRhXHJcbilcclxuXHJcbmV4cG9ydCBjb25zdCBpc1RpbWVTaGVldEZldGNoaW5nID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcclxuICAoYXV0aGVudGljYXRpb25SZWNvcmQpICA9PiBhdXRoZW50aWNhdGlvblJlY29yZC5pc1RpbWVTaGVldEZldGNoaW5nXHJcbilcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRJc1N0YXJ0RW5hYmxlZCA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXHJcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSA9PiBhdXRoZW50aWNhdGlvblJlY29yZC5pc1N0YXJ0RW5hYmxlZFxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldElmVXNlcklzQXV0aGVudGljYXRlZCA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXHJcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSA9PiBhdXRoZW50aWNhdGlvblJlY29yZC51c2VyTG9nZ2VkSW5cclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRJZlVzZXJJc0xvZ2dpbmdJbiA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXHJcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSA9PiBhdXRoZW50aWNhdGlvblJlY29yZC51c2VyTG9nZ2luZ0luXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0QXV0aGVudGljYXRlZFVzZXJSZWNvcmQgPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxyXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmRcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRBdXRoZW50aWNhdGVkVXNlck1vZGVsID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcclxuICAoYXV0aGVudGljYXRpb25SZWNvcmQpID0+IGF1dGhlbnRpY2F0aW9uUmVjb3JkLnVzZXJNb2RlbFxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldEVycm9yV2hpbGVVc2VySXNMb2dnaW5nSW4gPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxyXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmQuZXJyb3JXaGlsZUxvZ2dpbmdJblxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldEFsbFJvbGVGZWF0dXJlcyA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXHJcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSA9PiBhdXRoZW50aWNhdGlvblJlY29yZC5yb2xlRmVhdHVyZXNcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRBbGxFbnRpdHlUeXBlUm9sZUZlYXR1cmVzID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcclxuICAoYXV0aGVudGljYXRpb25SZWNvcmQpID0+IGF1dGhlbnRpY2F0aW9uUmVjb3JkLmVudGl0eVR5cGVSb2xlRmVhdHVyZXNcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRBbGxSb2xlRmVhdHVyZXNCeVVzZXJJZCA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXHJcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSA9PiBhdXRoZW50aWNhdGlvblJlY29yZC5yb2xlUGVybWlzc2lvbnNMaXN0XHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0RGVtb1JlY29yZHNEYXRhRGVsZXRpb24gPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxyXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCkgPT4gYXV0aGVudGljYXRpb25SZWNvcmQuZGVsZXRpbmdEZW1vRGF0YVxyXG4pO1xyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBnZXRUaGVtZU1vZGVsID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcclxuICBhdXRoZW50aWNhdGlvblJlY29yZCA9PiBhdXRoZW50aWNhdGlvblJlY29yZC50aGVtZU1vZGVsXHJcbik7XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IGdldENvbXBhbnlTZXR0aW5ncyA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXHJcbiAgYXV0aGVudGljYXRpb25SZWNvcmQgPT4gYXV0aGVudGljYXRpb25SZWNvcmQuY29tcGFueVNldHRpbmdzTW9kZWxcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRFbnRpdHlSb2xlUGVybWlzc2lvbnNCeVByb2plY3RJZCA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXHJcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkLCBwcm9wcykgPT4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBvbmx5LWFycm93LWZ1bmN0aW9uc1xyXG4gICAgICBhdXRoZW50aWNhdGlvblJlY29yZC5yb2xlUGVybWlzc2lvbnNMaXN0LmZpbHRlcihmdW5jdGlvbiAoXHJcbiAgICAgICAgcm9sZUZlYXR1cmVNb2RlbDogRW50aXR5Um9sZUZlYXR1cmVNb2RlbFxyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgcm9sZUZlYXR1cmVNb2RlbC5wcm9qZWN0SWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PVxyXG4gICAgICAgICAgcHJvcHMucHJvamVjdElkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRVc2VyU3RvcmVJZCA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXHJcbiAgYXV0aGVudGljYXRpb25SZWNvcmQgPT4gYXV0aGVudGljYXRpb25SZWNvcmQudXNlclN0b3JlSWRcclxuKTtcclxuXHJcbi8vIFJvbGUgRmVhdHVyZSBTZWxlY3RvcnNcclxuZXhwb3J0IGNvbnN0IGRvZXNVc2VySGF2ZVBlcm1pc3Npb24gPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRBdXRoZW50aWNhdGlvblN0YXRlLFxyXG4gIChhdXRoZW50aWNhdGlvblJlY29yZCwgcHJvcHMpID0+IHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogb25seS1hcnJvdy1mdW5jdGlvbnNcclxuICAgICAgYXV0aGVudGljYXRpb25SZWNvcmQucm9sZUZlYXR1cmVzLmZpbHRlcihmdW5jdGlvbiAoXHJcbiAgICAgICAgcm9sZUZlYXR1cmVNb2RlbDogYW55XHJcbiAgICAgICkge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICByb2xlRmVhdHVyZU1vZGVsLmZlYXR1cmVJZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09XHJcbiAgICAgICAgICBwcm9wcy5mZWF0dXJlSWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgKTtcclxuICAgICAgfSkubGVuZ3RoID4gMFxyXG4gICAgKTtcclxuICB9XHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0Um9sZUZlYXR1cmVzTG9hZGluZyA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldEF1dGhlbnRpY2F0aW9uU3RhdGUsXHJcbiAgKGF1dGhlbnRpY2F0aW9uUmVjb3JkKSA9PiBhdXRoZW50aWNhdGlvblJlY29yZC5sb2FkaW5nUm9sZUZlYXR1cmVzXHJcbik7XHJcblxyXG4vLyBFbnRpdHkgUm9sZSBGZWF0dXJlIFNlbGVjdG9yc1xyXG5leHBvcnQgY29uc3QgZG9lc1VzZXJIYXZlUGVybWlzc2lvbkZvckVudGl0eVR5cGVGZWF0dXJlID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcclxuICAoYXV0aGVudGljYXRpb25SZWNvcmQsIHByb3BzKSA9PiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG9ubHktYXJyb3ctZnVuY3Rpb25zXHJcbiAgICAgIGF1dGhlbnRpY2F0aW9uUmVjb3JkLmVudGl0eVR5cGVSb2xlRmVhdHVyZXMuZmlsdGVyKGZ1bmN0aW9uIChcclxuICAgICAgICByb2xlRmVhdHVyZU1vZGVsOiBFbnRpdHlSb2xlRmVhdHVyZU1vZGVsXHJcbiAgICAgICkge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICByb2xlRmVhdHVyZU1vZGVsLmVudGl0eUZlYXR1cmVJZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09XHJcbiAgICAgICAgICBwcm9wcy5lbnRpdHlGZWF0dXJlSWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgKTtcclxuICAgICAgfSkubGVuZ3RoID4gMFxyXG4gICAgKTtcclxuICB9XHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0RW50aXR5RmVhdHVyZXNMb2FkaW5nID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcclxuICAoYXV0aGVudGljYXRpb25SZWNvcmQpID0+IGF1dGhlbnRpY2F0aW9uUmVjb3JkLmxvYWRpbmdFbnRpdHlGZWF0dXJlc1xyXG4pO1xyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBnZXRVc2VyRW50aXR5RmVhdHVyZXNMb2FkaW5nID0gY3JlYXRlU2VsZWN0b3IoXHJcbiAgZ2V0QXV0aGVudGljYXRpb25TdGF0ZSxcclxuICAoYXV0aGVudGljYXRpb25SZWNvcmQpID0+IGF1dGhlbnRpY2F0aW9uUmVjb3JkLmxvYWRpbmdVc2VyRW50aXR5RmVhdHVyZXNcclxuKTtcclxuXHJcbi8vIE1lbnUgSXRlbXMgU2VsZWN0b3JzXHJcbmV4cG9ydCBjb25zdCBnZXRNZW51SXRlbXNTdGF0ZSA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldFNoYXJlZFN0YXRlLFxyXG4gIChzdGF0ZSkgPT4gc3RhdGUubWVudUl0ZW1zXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3Qge1xyXG4gIHNlbGVjdElkczogZ2V0TWVudUl0ZW1zSWRzLFxyXG4gIHNlbGVjdEVudGl0aWVzOiBnZXRNZW51SXRlbXNFbnRpdGllcyxcclxuICBzZWxlY3RBbGw6IGdldE1lbnVJdGVtc0FsbCxcclxuICBzZWxlY3RUb3RhbDogZ2V0TWVudUl0ZW1zVG90YWxcclxufSA9IGZyb21NZW51SXRlbXMubWVudUl0ZW1zQWRhcHRlci5nZXRTZWxlY3RvcnMoZ2V0TWVudUl0ZW1zU3RhdGUpO1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldE1lbnVJdGVtc0xvYWRpbmcgPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRNZW51SXRlbXNTdGF0ZSxcclxuICAoc3RhdGUpID0+IHN0YXRlLm1lbnVJdGVtc0xvYWRpbmdcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRNZW51Q2F0ZWdvcnkgPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRNZW51SXRlbXNTdGF0ZSxcclxuICAoc3RhdGUpID0+IHN0YXRlLm1lbnVDYXRlZ29yeVxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldEN1cnJlbnRBY3RpdmVNZW51Q2F0ZWdvcnlNZW51SXRlbXMgPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRNZW51SXRlbXNBbGwsXHJcbiAgZ2V0TWVudUNhdGVnb3J5LFxyXG4gIChtZW51SXRlbXMsIG1lbnVDYXRlZ29yeSkgPT5cclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogb25seS1hcnJvdy1mdW5jdGlvbnNcclxuICAgIG1lbnVJdGVtcy5maWx0ZXIoZnVuY3Rpb24gKHgpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICB4Lm1lbnVDYXRlZ29yeSAmJlxyXG4gICAgICAgIG1lbnVDYXRlZ29yeSAmJlxyXG4gICAgICAgIHgubWVudUNhdGVnb3J5LnRvTG93ZXJDYXNlKCkgPT09IG1lbnVDYXRlZ29yeS50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICk7XHJcbiAgICB9KVxyXG4pO1xyXG5cclxuLy8gTm90aWZpY2F0aW9ucyBTZWxlY3RvcnNcclxuZXhwb3J0IGNvbnN0IGdldE5vdGlmaWNhdGlvbnNTdGF0ZSA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldFNoYXJlZFN0YXRlLFxyXG4gIChzdGF0ZSkgPT4gc3RhdGUubm90aWZpY2F0aW9uc1xyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IHtcclxuICBzZWxlY3RJZHM6IGdldE5vdGlmaWNhdGlvbklkcyxcclxuICBzZWxlY3RFbnRpdGllczogZ2V0Tm90aWZpY2F0aW9uRW50aXRpZXMsXHJcbiAgc2VsZWN0QWxsOiBnZXROb3RpZmljYXRpb25BbGwsXHJcbiAgc2VsZWN0VG90YWw6IGdldE5vdGlmaWNhdGlvblRvdGFsXHJcbn0gPSBmcm9tTm90aWZpY2F0aW9ucy5ub3RpZmljYXRpb25zQWRhcHRlci5nZXRTZWxlY3RvcnMoZ2V0Tm90aWZpY2F0aW9uc1N0YXRlKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXROb3RpZmljYXRpb25VbnJlYWRUb3RhbCA9IGNyZWF0ZVNlbGVjdG9yKFxyXG4gIGdldE5vdGlmaWNhdGlvbkFsbCxcclxuICAoZW50aXRpZXMpID0+IGVudGl0aWVzLmZpbHRlcigobm90aWZpY2F0aW9uKSA9PiAhbm90aWZpY2F0aW9uLmlzUmVhZCkubGVuZ3RoXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0Tm90aWZpY2F0aW9uc0xvYWRpbmcgPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRTaGFyZWRTdGF0ZSxcclxuICAoc3RhdGUpID0+IHN0YXRlLm5vdGlmaWNhdGlvbnMubG9hZGluZ05vdGlmaWNhdGlvbnNcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRDaGF0TWVzc2VuZ2VyU3RhdGUgPSBjcmVhdGVTZWxlY3RvcihcclxuICBnZXRTaGFyZWRTdGF0ZSxcclxuICAoc3RhdGUpID0+IHN0YXRlLmNoYXRNZXNzZW5nZXJcclxuKTsiXX0=
|
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
import { MenuItemActionTypes } from "../actions/menuitems.actions";
|
|
2
|
-
import { createEntityAdapter } from "@ngrx/entity";
|
|
3
|
-
export const menuItemsAdapter = createEntityAdapter({
|
|
4
|
-
selectId: (appMenuItemModel) => appMenuItemModel.id
|
|
5
|
-
});
|
|
6
|
-
export const initialState = menuItemsAdapter.getInitialState({
|
|
7
|
-
error: null,
|
|
8
|
-
menuItemsLoading: false,
|
|
9
|
-
menuCategory: "Main"
|
|
10
|
-
});
|
|
11
|
-
export function reducer(state = initialState, action) {
|
|
12
|
-
switch (action.type) {
|
|
13
|
-
case MenuItemActionTypes.GetAllMenuItemsTriggered:
|
|
14
|
-
return Object.assign(Object.assign({}, state), { menuItemsLoading: true, error: null, menuCategory: action.menuCategory });
|
|
15
|
-
case MenuItemActionTypes.GetAllMenuItemsCompleted:
|
|
16
|
-
var allFetchedMenuItems = action.menuItems;
|
|
17
|
-
// var allParentMenuItems: IMenuItem[] = [];
|
|
18
|
-
// for (let menuItemFromServer of allFetchedMenuItems) {
|
|
19
|
-
// if (menuItemFromServer.parentMenu === null) {
|
|
20
|
-
// allParentMenuItems.push({
|
|
21
|
-
// id: menuItemFromServer.id,
|
|
22
|
-
// type: menuItemFromServer.type,
|
|
23
|
-
// menu: menuItemFromServer.menu,
|
|
24
|
-
// state: menuItemFromServer.state,
|
|
25
|
-
// icon: menuItemFromServer.icon,
|
|
26
|
-
// tooltip: menuItemFromServer.toolTip,
|
|
27
|
-
// disabled: false,
|
|
28
|
-
// sub: [],
|
|
29
|
-
// badges: [],
|
|
30
|
-
// menuCategory: menuItemFromServer.menuCategory
|
|
31
|
-
// });
|
|
32
|
-
// }
|
|
33
|
-
// }
|
|
34
|
-
// for (let parentMenuItem of allParentMenuItems) {
|
|
35
|
-
// for (let menuItemFromServer of allFetchedMenuItems) {
|
|
36
|
-
// if (parentMenuItem.id == menuItemFromServer.parentMenuItemId) {
|
|
37
|
-
// parentMenuItem.sub.push({
|
|
38
|
-
// type: menuItemFromServer.type,
|
|
39
|
-
// name: menuItemFromServer.menu,
|
|
40
|
-
// state: menuItemFromServer.state,
|
|
41
|
-
// icon: menuItemFromServer.icon,
|
|
42
|
-
// sub: []
|
|
43
|
-
// });
|
|
44
|
-
// }
|
|
45
|
-
// }
|
|
46
|
-
// }
|
|
47
|
-
return menuItemsAdapter.addAll(allFetchedMenuItems, Object.assign(Object.assign({}, state), { menuItemsLoading: false, error: null }));
|
|
48
|
-
case MenuItemActionTypes.GetAllMenuItemsFailed:
|
|
49
|
-
return menuItemsAdapter.removeAll(Object.assign(Object.assign({}, state), { menuItemsLoading: false, error: action.errorMessage }));
|
|
50
|
-
case MenuItemActionTypes.CategoryChangeRequested:
|
|
51
|
-
return Object.assign(Object.assign({}, state), { menuCategory: action.menuCategory });
|
|
52
|
-
default:
|
|
53
|
-
return state;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { MenuItemActionTypes } from "../actions/menuitems.actions";
|
|
2
|
+
import { createEntityAdapter } from "@ngrx/entity";
|
|
3
|
+
export const menuItemsAdapter = createEntityAdapter({
|
|
4
|
+
selectId: (appMenuItemModel) => appMenuItemModel.id
|
|
5
|
+
});
|
|
6
|
+
export const initialState = menuItemsAdapter.getInitialState({
|
|
7
|
+
error: null,
|
|
8
|
+
menuItemsLoading: false,
|
|
9
|
+
menuCategory: "Main"
|
|
10
|
+
});
|
|
11
|
+
export function reducer(state = initialState, action) {
|
|
12
|
+
switch (action.type) {
|
|
13
|
+
case MenuItemActionTypes.GetAllMenuItemsTriggered:
|
|
14
|
+
return Object.assign(Object.assign({}, state), { menuItemsLoading: true, error: null, menuCategory: action.menuCategory });
|
|
15
|
+
case MenuItemActionTypes.GetAllMenuItemsCompleted:
|
|
16
|
+
var allFetchedMenuItems = action.menuItems;
|
|
17
|
+
// var allParentMenuItems: IMenuItem[] = [];
|
|
18
|
+
// for (let menuItemFromServer of allFetchedMenuItems) {
|
|
19
|
+
// if (menuItemFromServer.parentMenu === null) {
|
|
20
|
+
// allParentMenuItems.push({
|
|
21
|
+
// id: menuItemFromServer.id,
|
|
22
|
+
// type: menuItemFromServer.type,
|
|
23
|
+
// menu: menuItemFromServer.menu,
|
|
24
|
+
// state: menuItemFromServer.state,
|
|
25
|
+
// icon: menuItemFromServer.icon,
|
|
26
|
+
// tooltip: menuItemFromServer.toolTip,
|
|
27
|
+
// disabled: false,
|
|
28
|
+
// sub: [],
|
|
29
|
+
// badges: [],
|
|
30
|
+
// menuCategory: menuItemFromServer.menuCategory
|
|
31
|
+
// });
|
|
32
|
+
// }
|
|
33
|
+
// }
|
|
34
|
+
// for (let parentMenuItem of allParentMenuItems) {
|
|
35
|
+
// for (let menuItemFromServer of allFetchedMenuItems) {
|
|
36
|
+
// if (parentMenuItem.id == menuItemFromServer.parentMenuItemId) {
|
|
37
|
+
// parentMenuItem.sub.push({
|
|
38
|
+
// type: menuItemFromServer.type,
|
|
39
|
+
// name: menuItemFromServer.menu,
|
|
40
|
+
// state: menuItemFromServer.state,
|
|
41
|
+
// icon: menuItemFromServer.icon,
|
|
42
|
+
// sub: []
|
|
43
|
+
// });
|
|
44
|
+
// }
|
|
45
|
+
// }
|
|
46
|
+
// }
|
|
47
|
+
return menuItemsAdapter.addAll(allFetchedMenuItems, Object.assign(Object.assign({}, state), { menuItemsLoading: false, error: null }));
|
|
48
|
+
case MenuItemActionTypes.GetAllMenuItemsFailed:
|
|
49
|
+
return menuItemsAdapter.removeAll(Object.assign(Object.assign({}, state), { menuItemsLoading: false, error: action.errorMessage }));
|
|
50
|
+
case MenuItemActionTypes.CategoryChangeRequested:
|
|
51
|
+
return Object.assign(Object.assign({}, state), { menuCategory: action.menuCategory });
|
|
52
|
+
default:
|
|
53
|
+
return state;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudWl0ZW1zLnJlZHVjZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc2hlbGwtbW9kdWxlLWNvbXBvbmVudHMvc2hlbGwtY29tcG9uZW50cy9zcmMvbGliL3NoZWxsLWNvbXBvbmVudHMvc3RvcmUvcmVkdWNlcnMvbWVudWl0ZW1zLnJlZHVjZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxtQkFBbUIsRUFFcEIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQThCLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBUy9FLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUE2QixtQkFBbUIsQ0FFM0U7SUFDQSxRQUFRLEVBQUUsQ0FBQyxnQkFBMkIsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtDQUMvRCxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQVUsZ0JBQWdCLENBQUMsZUFBZSxDQUFDO0lBQ2xFLEtBQUssRUFBRSxJQUFJO0lBQ1gsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixZQUFZLEVBQUUsTUFBTTtDQUNyQixDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsT0FBTyxDQUFDLFFBQWUsWUFBWSxFQUFFLE1BQWM7SUFDakUsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ25CLEtBQUssbUJBQW1CLENBQUMsd0JBQXdCO1lBQy9DLHVDQUNLLEtBQUssS0FDUixnQkFBZ0IsRUFBRSxJQUFJLEVBQ3RCLEtBQUssRUFBRSxJQUFJLEVBQ1gsWUFBWSxFQUFHLE1BQTJCLENBQUMsWUFBWSxJQUN2RDtRQUVKLEtBQUssbUJBQW1CLENBQUMsd0JBQXdCO1lBQy9DLElBQUksbUJBQW1CLEdBQUksTUFBMkIsQ0FBQyxTQUFTLENBQUM7WUFDakUsNENBQTRDO1lBRTVDLHdEQUF3RDtZQUN4RCxrREFBa0Q7WUFDbEQsZ0NBQWdDO1lBQ2hDLG1DQUFtQztZQUNuQyx1Q0FBdUM7WUFDdkMsdUNBQXVDO1lBQ3ZDLHlDQUF5QztZQUN6Qyx1Q0FBdUM7WUFDdkMsNkNBQTZDO1lBQzdDLHlCQUF5QjtZQUN6QixpQkFBaUI7WUFDakIsb0JBQW9CO1lBQ3BCLHNEQUFzRDtZQUN0RCxVQUFVO1lBQ1YsTUFBTTtZQUNOLElBQUk7WUFFSixtREFBbUQ7WUFDbkQsMERBQTBEO1lBQzFELHNFQUFzRTtZQUN0RSxrQ0FBa0M7WUFDbEMseUNBQXlDO1lBQ3pDLHlDQUF5QztZQUN6QywyQ0FBMkM7WUFDM0MseUNBQXlDO1lBQ3pDLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osUUFBUTtZQUNSLE1BQU07WUFDTixJQUFJO1lBRUosT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLGtDQUM3QyxLQUFLLEtBQ1IsZ0JBQWdCLEVBQUUsS0FBSyxFQUN2QixLQUFLLEVBQUUsSUFBSSxJQUNYLENBQUM7UUFFTCxLQUFLLG1CQUFtQixDQUFDLHFCQUFxQjtZQUM1QyxPQUFPLGdCQUFnQixDQUFDLFNBQVMsaUNBQzVCLEtBQUssS0FDUixnQkFBZ0IsRUFBRSxLQUFLLEVBQ3ZCLEtBQUssRUFBRyxNQUEyQixDQUFDLFlBQVksSUFDaEQsQ0FBQztRQUVMLEtBQUssbUJBQW1CLENBQUMsdUJBQXVCO1lBQzlDLHVDQUNLLEtBQUssS0FDUixZQUFZLEVBQUcsTUFBMkIsQ0FBQyxZQUFZLElBQ3ZEO1FBRUo7WUFDRSxPQUFPLEtBQUssQ0FBQztLQUNoQjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24gfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHtcclxuICBNZW51SXRlbUFjdGlvblR5cGVzLFxyXG4gIE1lbnVJdGVtc0FjdGlvbnNcclxufSBmcm9tIFwiLi4vYWN0aW9ucy9tZW51aXRlbXMuYWN0aW9uc1wiO1xyXG5pbXBvcnQgeyBFbnRpdHlTdGF0ZSwgRW50aXR5QWRhcHRlciwgY3JlYXRlRW50aXR5QWRhcHRlciB9IGZyb20gXCJAbmdyeC9lbnRpdHlcIjtcclxuaW1wb3J0IHsgSU1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0lNZW51SXRlbSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlIGV4dGVuZHMgRW50aXR5U3RhdGU8SU1lbnVJdGVtPiB7XHJcbiAgZXJyb3I6IHN0cmluZztcclxuICBtZW51SXRlbXNMb2FkaW5nOiBib29sZWFuO1xyXG4gIG1lbnVDYXRlZ29yeTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgbWVudUl0ZW1zQWRhcHRlcjogRW50aXR5QWRhcHRlcjxJTWVudUl0ZW0+ID0gY3JlYXRlRW50aXR5QWRhcHRlcjxcclxuICBJTWVudUl0ZW1cclxuPih7XHJcbiAgc2VsZWN0SWQ6IChhcHBNZW51SXRlbU1vZGVsOiBJTWVudUl0ZW0pID0+IGFwcE1lbnVJdGVtTW9kZWwuaWRcclxufSk7XHJcblxyXG5leHBvcnQgY29uc3QgaW5pdGlhbFN0YXRlOiBTdGF0ZSA9IG1lbnVJdGVtc0FkYXB0ZXIuZ2V0SW5pdGlhbFN0YXRlKHtcclxuICBlcnJvcjogbnVsbCxcclxuICBtZW51SXRlbXNMb2FkaW5nOiBmYWxzZSxcclxuICBtZW51Q2F0ZWdvcnk6IFwiTWFpblwiXHJcbn0pO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlZHVjZXIoc3RhdGU6IFN0YXRlID0gaW5pdGlhbFN0YXRlLCBhY3Rpb246IEFjdGlvbik6IFN0YXRlIHtcclxuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XHJcbiAgICBjYXNlIE1lbnVJdGVtQWN0aW9uVHlwZXMuR2V0QWxsTWVudUl0ZW1zVHJpZ2dlcmVkOlxyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgIG1lbnVJdGVtc0xvYWRpbmc6IHRydWUsXHJcbiAgICAgICAgZXJyb3I6IG51bGwsXHJcbiAgICAgICAgbWVudUNhdGVnb3J5OiAoYWN0aW9uIGFzIE1lbnVJdGVtc0FjdGlvbnMpLm1lbnVDYXRlZ29yeVxyXG4gICAgICB9O1xyXG5cclxuICAgIGNhc2UgTWVudUl0ZW1BY3Rpb25UeXBlcy5HZXRBbGxNZW51SXRlbXNDb21wbGV0ZWQ6XHJcbiAgICAgIHZhciBhbGxGZXRjaGVkTWVudUl0ZW1zID0gKGFjdGlvbiBhcyBNZW51SXRlbXNBY3Rpb25zKS5tZW51SXRlbXM7XHJcbiAgICAgIC8vIHZhciBhbGxQYXJlbnRNZW51SXRlbXM6IElNZW51SXRlbVtdID0gW107XHJcblxyXG4gICAgICAvLyBmb3IgKGxldCBtZW51SXRlbUZyb21TZXJ2ZXIgb2YgYWxsRmV0Y2hlZE1lbnVJdGVtcykge1xyXG4gICAgICAvLyAgIGlmIChtZW51SXRlbUZyb21TZXJ2ZXIucGFyZW50TWVudSA9PT0gbnVsbCkge1xyXG4gICAgICAvLyAgICAgYWxsUGFyZW50TWVudUl0ZW1zLnB1c2goe1xyXG4gICAgICAvLyAgICAgICBpZDogbWVudUl0ZW1Gcm9tU2VydmVyLmlkLFxyXG4gICAgICAvLyAgICAgICB0eXBlOiBtZW51SXRlbUZyb21TZXJ2ZXIudHlwZSxcclxuICAgICAgLy8gICAgICAgbWVudTogbWVudUl0ZW1Gcm9tU2VydmVyLm1lbnUsXHJcbiAgICAgIC8vICAgICAgIHN0YXRlOiBtZW51SXRlbUZyb21TZXJ2ZXIuc3RhdGUsXHJcbiAgICAgIC8vICAgICAgIGljb246IG1lbnVJdGVtRnJvbVNlcnZlci5pY29uLFxyXG4gICAgICAvLyAgICAgICB0b29sdGlwOiBtZW51SXRlbUZyb21TZXJ2ZXIudG9vbFRpcCxcclxuICAgICAgLy8gICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICAvLyAgICAgICBzdWI6IFtdLFxyXG4gICAgICAvLyAgICAgICBiYWRnZXM6IFtdLFxyXG4gICAgICAvLyAgICAgICBtZW51Q2F0ZWdvcnk6IG1lbnVJdGVtRnJvbVNlcnZlci5tZW51Q2F0ZWdvcnlcclxuICAgICAgLy8gICAgIH0pO1xyXG4gICAgICAvLyAgIH1cclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgLy8gZm9yIChsZXQgcGFyZW50TWVudUl0ZW0gb2YgYWxsUGFyZW50TWVudUl0ZW1zKSB7XHJcbiAgICAgIC8vICAgZm9yIChsZXQgbWVudUl0ZW1Gcm9tU2VydmVyIG9mIGFsbEZldGNoZWRNZW51SXRlbXMpIHtcclxuICAgICAgLy8gICAgIGlmIChwYXJlbnRNZW51SXRlbS5pZCA9PSBtZW51SXRlbUZyb21TZXJ2ZXIucGFyZW50TWVudUl0ZW1JZCkge1xyXG4gICAgICAvLyAgICAgICBwYXJlbnRNZW51SXRlbS5zdWIucHVzaCh7XHJcbiAgICAgIC8vICAgICAgICAgdHlwZTogbWVudUl0ZW1Gcm9tU2VydmVyLnR5cGUsXHJcbiAgICAgIC8vICAgICAgICAgbmFtZTogbWVudUl0ZW1Gcm9tU2VydmVyLm1lbnUsXHJcbiAgICAgIC8vICAgICAgICAgc3RhdGU6IG1lbnVJdGVtRnJvbVNlcnZlci5zdGF0ZSxcclxuICAgICAgLy8gICAgICAgICBpY29uOiBtZW51SXRlbUZyb21TZXJ2ZXIuaWNvbixcclxuICAgICAgLy8gICAgICAgICBzdWI6IFtdXHJcbiAgICAgIC8vICAgICAgIH0pO1xyXG4gICAgICAvLyAgICAgfVxyXG4gICAgICAvLyAgIH1cclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgcmV0dXJuIG1lbnVJdGVtc0FkYXB0ZXIuYWRkQWxsKGFsbEZldGNoZWRNZW51SXRlbXMsIHtcclxuICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICBtZW51SXRlbXNMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICBlcnJvcjogbnVsbFxyXG4gICAgICB9KTtcclxuXHJcbiAgICBjYXNlIE1lbnVJdGVtQWN0aW9uVHlwZXMuR2V0QWxsTWVudUl0ZW1zRmFpbGVkOlxyXG4gICAgICByZXR1cm4gbWVudUl0ZW1zQWRhcHRlci5yZW1vdmVBbGwoe1xyXG4gICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgIG1lbnVJdGVtc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgIGVycm9yOiAoYWN0aW9uIGFzIE1lbnVJdGVtc0FjdGlvbnMpLmVycm9yTWVzc2FnZVxyXG4gICAgICB9KTtcclxuXHJcbiAgICBjYXNlIE1lbnVJdGVtQWN0aW9uVHlwZXMuQ2F0ZWdvcnlDaGFuZ2VSZXF1ZXN0ZWQ6XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgbWVudUNhdGVnb3J5OiAoYWN0aW9uIGFzIE1lbnVJdGVtc0FjdGlvbnMpLm1lbnVDYXRlZ29yeVxyXG4gICAgICB9O1xyXG5cclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIHJldHVybiBzdGF0ZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { ValidationActionTypes, } from "../actions/notification-validator.action";
|
|
2
|
-
const initialState = {
|
|
3
|
-
show: false
|
|
4
|
-
};
|
|
5
|
-
export function reducer(state = initialState, action) {
|
|
6
|
-
switch (action.type) {
|
|
7
|
-
case ValidationActionTypes.ShowExceptionMessages:
|
|
8
|
-
return Object.assign(Object.assign({}, state), { show: true });
|
|
9
|
-
default:
|
|
10
|
-
return state;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { ValidationActionTypes, } from "../actions/notification-validator.action";
|
|
2
|
+
const initialState = {
|
|
3
|
+
show: false
|
|
4
|
+
};
|
|
5
|
+
export function reducer(state = initialState, action) {
|
|
6
|
+
switch (action.type) {
|
|
7
|
+
case ValidationActionTypes.ShowExceptionMessages:
|
|
8
|
+
return Object.assign(Object.assign({}, state), { show: true });
|
|
9
|
+
default:
|
|
10
|
+
return state;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXZhbGlkYXRvci5yZWR1Y2Vycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9zaGVsbC1jb21wb25lbnRzL3N0b3JlL3JlZHVjZXJzL25vdGlmaWNhdGlvbi12YWxpZGF0b3IucmVkdWNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHFCQUFxQixHQUV4QixNQUFNLDBDQUEwQyxDQUFBO0FBTS9DLE1BQU0sWUFBWSxHQUFVO0lBQzFCLElBQUksRUFBRSxLQUFLO0NBQ1osQ0FBQztBQUVGLE1BQU0sVUFBVSxPQUFPLENBQUMsUUFBZSxZQUFZLEVBQUUsTUFBd0I7SUFDM0UsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ25CLEtBQUsscUJBQXFCLENBQUMscUJBQXFCO1lBQzlDLHVDQUFZLEtBQUssS0FBRSxJQUFJLEVBQUUsSUFBSSxJQUFHO1FBRWxDO1lBQ0UsT0FBTyxLQUFLLENBQUM7S0FDaEI7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIFZhbGlkYXRpb25BY3Rpb25UeXBlcyxcclxuICAgIFZhbGlkYXRpb25BY3Rpb24sXHJcbn0gZnJvbSBcIi4uL2FjdGlvbnMvbm90aWZpY2F0aW9uLXZhbGlkYXRvci5hY3Rpb25cIlxyXG4gIFxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgU3RhdGUge1xyXG4gICAgc2hvdzogYm9vbGVhbjtcclxuICB9XHJcbiAgXHJcbiAgY29uc3QgaW5pdGlhbFN0YXRlOiBTdGF0ZSA9IHtcclxuICAgIHNob3c6IGZhbHNlXHJcbiAgfTtcclxuICBcclxuICBleHBvcnQgZnVuY3Rpb24gcmVkdWNlcihzdGF0ZTogU3RhdGUgPSBpbml0aWFsU3RhdGUsIGFjdGlvbjogVmFsaWRhdGlvbkFjdGlvbikge1xyXG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xyXG4gICAgICBjYXNlIFZhbGlkYXRpb25BY3Rpb25UeXBlcy5TaG93RXhjZXB0aW9uTWVzc2FnZXM6XHJcbiAgICAgICAgcmV0dXJuIHsgLi4uc3RhdGUsIHNob3c6IHRydWUgfTtcclxuICAgXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHN0YXRlO1xyXG4gICAgfVxyXG4gIH1cclxuICAiXX0=
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { createEntityAdapter } from "@ngrx/entity";
|
|
2
|
-
import { NotificationsActionTypes } from "../actions/notifications.actions";
|
|
3
|
-
export function sortByDateTime(a, b) {
|
|
4
|
-
return b.notificationCreatedDateTime - a.notificationCreatedDateTime;
|
|
5
|
-
}
|
|
6
|
-
export const notificationsAdapter = createEntityAdapter({
|
|
7
|
-
selectId: (notifications) => notifications.notificationId,
|
|
8
|
-
sortComparer: sortByDateTime
|
|
9
|
-
});
|
|
10
|
-
export const initialState = notificationsAdapter.getInitialState({
|
|
11
|
-
loadingNotifications: false,
|
|
12
|
-
});
|
|
13
|
-
export function reducer(state = initialState, action) {
|
|
14
|
-
switch (action.type) {
|
|
15
|
-
case NotificationsActionTypes.NewNotificationReceived:
|
|
16
|
-
return notificationsAdapter.addOne(action.notification, state);
|
|
17
|
-
case NotificationsActionTypes.ClearAllNotifications:
|
|
18
|
-
return notificationsAdapter.removeAll(state);
|
|
19
|
-
case NotificationsActionTypes.UpsertUnreadNotificationsCompleted:
|
|
20
|
-
state = notificationsAdapter.removeOne(action.notificationId, state);
|
|
21
|
-
return Object.assign({}, state);
|
|
22
|
-
case NotificationsActionTypes.ClearAllUnreadNotificationsCompleted:
|
|
23
|
-
return notificationsAdapter.addMany(action.notifications, Object.assign(Object.assign({}, state), { loadingNotifications: false }));
|
|
24
|
-
case NotificationsActionTypes.ClearAllUnreadNotificationsTriggered:
|
|
25
|
-
return Object.assign(Object.assign({}, initialState), { loadingNotifications: true });
|
|
26
|
-
case NotificationsActionTypes.ClearUnreadNotificationsTriggered:
|
|
27
|
-
return notificationsAdapter.updateMany([...state.ids].map((NotificationId) => ({
|
|
28
|
-
id: NotificationId,
|
|
29
|
-
changes: {
|
|
30
|
-
isRead: false
|
|
31
|
-
},
|
|
32
|
-
loadingNotifications: true
|
|
33
|
-
})), state);
|
|
34
|
-
default:
|
|
35
|
-
return state;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { createEntityAdapter } from "@ngrx/entity";
|
|
2
|
+
import { NotificationsActionTypes } from "../actions/notifications.actions";
|
|
3
|
+
export function sortByDateTime(a, b) {
|
|
4
|
+
return b.notificationCreatedDateTime - a.notificationCreatedDateTime;
|
|
5
|
+
}
|
|
6
|
+
export const notificationsAdapter = createEntityAdapter({
|
|
7
|
+
selectId: (notifications) => notifications.notificationId,
|
|
8
|
+
sortComparer: sortByDateTime
|
|
9
|
+
});
|
|
10
|
+
export const initialState = notificationsAdapter.getInitialState({
|
|
11
|
+
loadingNotifications: false,
|
|
12
|
+
});
|
|
13
|
+
export function reducer(state = initialState, action) {
|
|
14
|
+
switch (action.type) {
|
|
15
|
+
case NotificationsActionTypes.NewNotificationReceived:
|
|
16
|
+
return notificationsAdapter.addOne(action.notification, state);
|
|
17
|
+
case NotificationsActionTypes.ClearAllNotifications:
|
|
18
|
+
return notificationsAdapter.removeAll(state);
|
|
19
|
+
case NotificationsActionTypes.UpsertUnreadNotificationsCompleted:
|
|
20
|
+
state = notificationsAdapter.removeOne(action.notificationId, state);
|
|
21
|
+
return Object.assign({}, state);
|
|
22
|
+
case NotificationsActionTypes.ClearAllUnreadNotificationsCompleted:
|
|
23
|
+
return notificationsAdapter.addMany(action.notifications, Object.assign(Object.assign({}, state), { loadingNotifications: false }));
|
|
24
|
+
case NotificationsActionTypes.ClearAllUnreadNotificationsTriggered:
|
|
25
|
+
return Object.assign(Object.assign({}, initialState), { loadingNotifications: true });
|
|
26
|
+
case NotificationsActionTypes.ClearUnreadNotificationsTriggered:
|
|
27
|
+
return notificationsAdapter.updateMany([...state.ids].map((NotificationId) => ({
|
|
28
|
+
id: NotificationId,
|
|
29
|
+
changes: {
|
|
30
|
+
isRead: false
|
|
31
|
+
},
|
|
32
|
+
loadingNotifications: true
|
|
33
|
+
})), state);
|
|
34
|
+
default:
|
|
35
|
+
return state;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5yZWR1Y2Vycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9zaGVsbC1jb21wb25lbnRzL3N0b3JlL3JlZHVjZXJzL25vdGlmaWNhdGlvbnMucmVkdWNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLG1CQUFtQixFQUFpQixNQUFNLGNBQWMsQ0FBQztBQUMvRSxPQUFPLEVBQ0wsd0JBQXdCLEVBR3pCLE1BQU0sa0NBQWtDLENBQUM7QUFPMUMsTUFBTSxVQUFVLGNBQWMsQ0FBQyxDQUEwQixFQUFFLENBQTBCO0lBQ25GLE9BQU8sQ0FBQyxDQUFDLDJCQUEyQixHQUFHLENBQUMsQ0FBQywyQkFBMkIsQ0FBQTtBQUN0RSxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBRTdCLG1CQUFtQixDQUEwQjtJQUMvQyxRQUFRLEVBQUUsQ0FBQyxhQUFzQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsY0FBYztJQUNsRixZQUFZLEVBQUUsY0FBYztDQUM3QixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQVUsb0JBQW9CLENBQUMsZUFBZSxDQUFDO0lBQ3RFLG9CQUFvQixFQUFFLEtBQUs7Q0FDNUIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLE9BQU8sQ0FBQyxRQUFlLFlBQVksRUFBRSxNQUEyQjtJQUM5RSxRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUU7UUFDbkIsS0FBSyx3QkFBd0IsQ0FBQyx1QkFBdUI7WUFDbkQsT0FBTyxvQkFBb0IsQ0FBQyxNQUFNLENBQy9CLE1BQWtDLENBQUMsWUFBWSxFQUNoRCxLQUFLLENBQ04sQ0FBQztRQUNKLEtBQUssd0JBQXdCLENBQUMscUJBQXFCO1lBQ2pELE9BQU8sb0JBQW9CLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLEtBQUssd0JBQXdCLENBQUMsa0NBQWtDO1lBQzlELEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNyRSx5QkFBWSxLQUFLLEVBQUc7UUFDdEIsS0FBSyx3QkFBd0IsQ0FBQyxvQ0FBb0M7WUFDaEUsT0FBTyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsa0NBQ25ELEtBQUssS0FBRSxvQkFBb0IsRUFBRSxLQUFLLElBQ3JDLENBQUM7UUFDTCxLQUFLLHdCQUF3QixDQUFDLG9DQUFvQztZQUNoRSx1Q0FBWSxZQUFZLEtBQUUsb0JBQW9CLEVBQUUsSUFBSSxJQUFHO1FBQ3pELEtBQUssd0JBQXdCLENBQUMsaUNBQWlDO1lBQzdELE9BQU8sb0JBQW9CLENBQUMsVUFBVSxDQUNwQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQXNCLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzlDLEVBQUUsRUFBRSxjQUFjO2dCQUNsQixPQUFPLEVBQUU7b0JBQ1AsTUFBTSxFQUFFLEtBQUs7aUJBQ2Q7Z0JBQ0Qsb0JBQW9CLEVBQUUsSUFBSTthQUMzQixDQUFDLENBQUMsRUFDSCxLQUFLLENBQ04sQ0FBQztRQUVKO1lBQ0UsT0FBTyxLQUFLLENBQUM7S0FDaEI7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5U3RhdGUsIGNyZWF0ZUVudGl0eUFkYXB0ZXIsIEVudGl0eUFkYXB0ZXIgfSBmcm9tIFwiQG5ncngvZW50aXR5XCI7XHJcbmltcG9ydCB7XHJcbiAgTm90aWZpY2F0aW9uc0FjdGlvblR5cGVzLFxyXG4gIE5ld05vdGlmaWNhdGlvblJlY2VpdmVkLFxyXG4gIE5vdGlmaWNhdGlvbkFjdGlvbnNcclxufSBmcm9tIFwiLi4vYWN0aW9ucy9ub3RpZmljYXRpb25zLmFjdGlvbnNcIjtcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uT3V0cHV0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvTm90aWZpY2F0aW9uc091dFB1dE1vZGVsJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGUgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxOb3RpZmljYXRpb25PdXRwdXRNb2RlbD4ge1xyXG4gIGxvYWRpbmdOb3RpZmljYXRpb25zOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc29ydEJ5RGF0ZVRpbWUoYTogTm90aWZpY2F0aW9uT3V0cHV0TW9kZWwsIGI6IE5vdGlmaWNhdGlvbk91dHB1dE1vZGVsKTogYW55IHtcclxuICByZXR1cm4gYi5ub3RpZmljYXRpb25DcmVhdGVkRGF0ZVRpbWUgLSBhLm5vdGlmaWNhdGlvbkNyZWF0ZWREYXRlVGltZVxyXG59XHJcblxyXG5leHBvcnQgY29uc3Qgbm90aWZpY2F0aW9uc0FkYXB0ZXI6IEVudGl0eUFkYXB0ZXI8XHJcbiAgTm90aWZpY2F0aW9uT3V0cHV0TW9kZWxcclxuPiA9IGNyZWF0ZUVudGl0eUFkYXB0ZXI8Tm90aWZpY2F0aW9uT3V0cHV0TW9kZWw+KHtcclxuICBzZWxlY3RJZDogKG5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbk91dHB1dE1vZGVsKSA9PiBub3RpZmljYXRpb25zLm5vdGlmaWNhdGlvbklkLFxyXG4gIHNvcnRDb21wYXJlcjogc29ydEJ5RGF0ZVRpbWVcclxufSk7XHJcblxyXG5leHBvcnQgY29uc3QgaW5pdGlhbFN0YXRlOiBTdGF0ZSA9IG5vdGlmaWNhdGlvbnNBZGFwdGVyLmdldEluaXRpYWxTdGF0ZSh7XHJcbiAgbG9hZGluZ05vdGlmaWNhdGlvbnM6IGZhbHNlLFxyXG59KTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZWR1Y2VyKHN0YXRlOiBTdGF0ZSA9IGluaXRpYWxTdGF0ZSwgYWN0aW9uOiBOb3RpZmljYXRpb25BY3Rpb25zKTogU3RhdGUge1xyXG4gIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcclxuICAgIGNhc2UgTm90aWZpY2F0aW9uc0FjdGlvblR5cGVzLk5ld05vdGlmaWNhdGlvblJlY2VpdmVkOlxyXG4gICAgICByZXR1cm4gbm90aWZpY2F0aW9uc0FkYXB0ZXIuYWRkT25lKFxyXG4gICAgICAgIChhY3Rpb24gYXMgTmV3Tm90aWZpY2F0aW9uUmVjZWl2ZWQpLm5vdGlmaWNhdGlvbixcclxuICAgICAgICBzdGF0ZVxyXG4gICAgICApO1xyXG4gICAgY2FzZSBOb3RpZmljYXRpb25zQWN0aW9uVHlwZXMuQ2xlYXJBbGxOb3RpZmljYXRpb25zOlxyXG4gICAgICByZXR1cm4gbm90aWZpY2F0aW9uc0FkYXB0ZXIucmVtb3ZlQWxsKHN0YXRlKTtcclxuICAgIGNhc2UgTm90aWZpY2F0aW9uc0FjdGlvblR5cGVzLlVwc2VydFVucmVhZE5vdGlmaWNhdGlvbnNDb21wbGV0ZWQ6XHJcbiAgICAgIHN0YXRlID0gbm90aWZpY2F0aW9uc0FkYXB0ZXIucmVtb3ZlT25lKGFjdGlvbi5ub3RpZmljYXRpb25JZCwgc3RhdGUpO1xyXG4gICAgICByZXR1cm4geyAuLi5zdGF0ZSB9O1xyXG4gICAgY2FzZSBOb3RpZmljYXRpb25zQWN0aW9uVHlwZXMuQ2xlYXJBbGxVbnJlYWROb3RpZmljYXRpb25zQ29tcGxldGVkOlxyXG4gICAgICByZXR1cm4gbm90aWZpY2F0aW9uc0FkYXB0ZXIuYWRkTWFueShhY3Rpb24ubm90aWZpY2F0aW9ucywge1xyXG4gICAgICAgIC4uLnN0YXRlLCBsb2FkaW5nTm90aWZpY2F0aW9uczogZmFsc2VcclxuICAgICAgfSk7XHJcbiAgICBjYXNlIE5vdGlmaWNhdGlvbnNBY3Rpb25UeXBlcy5DbGVhckFsbFVucmVhZE5vdGlmaWNhdGlvbnNUcmlnZ2VyZWQ6XHJcbiAgICAgIHJldHVybiB7IC4uLmluaXRpYWxTdGF0ZSwgbG9hZGluZ05vdGlmaWNhdGlvbnM6IHRydWUgfTtcclxuICAgIGNhc2UgTm90aWZpY2F0aW9uc0FjdGlvblR5cGVzLkNsZWFyVW5yZWFkTm90aWZpY2F0aW9uc1RyaWdnZXJlZDpcclxuICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbnNBZGFwdGVyLnVwZGF0ZU1hbnkoXHJcbiAgICAgICAgWy4uLnN0YXRlLmlkc10ubWFwKChOb3RpZmljYXRpb25JZDogc3RyaW5nKSA9PiAoe1xyXG4gICAgICAgICAgaWQ6IE5vdGlmaWNhdGlvbklkLFxyXG4gICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICBpc1JlYWQ6IGZhbHNlXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZGluZ05vdGlmaWNhdGlvbnM6IHRydWVcclxuICAgICAgICB9KSksXHJcbiAgICAgICAgc3RhdGVcclxuICAgICAgKTtcclxuXHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICByZXR1cm4gc3RhdGU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|