@reusa/ngx-reusa-app-lib 0.0.731 → 0.1.731
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2020 → esm2022}/lib/annimations/app-animations.mjs +36 -36
- package/esm2022/lib/components/add-employer/add-employer.component.mjs +3027 -0
- package/esm2022/lib/components/add-participant/add-participant.component.mjs +394 -0
- package/esm2022/lib/components/add-payment/add-payment.component.mjs +187 -0
- package/esm2022/lib/components/address/address.component.mjs +487 -0
- package/esm2022/lib/components/bank-details/bank-details.component.mjs +276 -0
- package/esm2022/lib/components/captcha/captcha.component.mjs +181 -0
- package/esm2022/lib/components/card/card.component.mjs +55 -0
- package/esm2022/lib/components/contact-us/contact-us.component.mjs +970 -0
- package/esm2022/lib/components/content/content.component.mjs +61 -0
- package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +83 -0
- package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +223 -0
- package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +292 -0
- package/esm2022/lib/components/disclosure/disclosure.component.mjs +60 -0
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +1974 -0
- package/esm2022/lib/components/dropdown/dropdown.interface.mjs +2 -0
- package/esm2022/lib/components/email-update/email-update.component.mjs +283 -0
- package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +794 -0
- package/esm2022/lib/components/error/error.component.mjs +86 -0
- package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +163 -0
- package/{esm2020 → esm2022}/lib/components/file-download/file-download.component.mjs +104 -104
- package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +315 -0
- package/esm2022/lib/components/footer/footer.component.mjs +332 -0
- package/esm2022/lib/components/header/header.component.mjs +558 -0
- package/esm2022/lib/components/help/help.component.mjs +49 -0
- package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +65 -0
- package/{esm2020 → esm2022}/lib/components/info/info.component.mjs +187 -188
- package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +206 -0
- package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +193 -0
- package/esm2022/lib/components/maintenance-detector/maintenance-detector.component.mjs +43 -0
- package/esm2022/lib/components/mask/mask.component.mjs +48 -0
- package/esm2022/lib/components/menu/menu.component.mjs +423 -0
- package/esm2022/lib/components/mfa/mfa.component.mjs +444 -0
- package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +50 -0
- package/esm2022/lib/components/money-expect/money-expect.component.mjs +90 -0
- package/esm2022/lib/components/msg/msg.component.mjs +48 -0
- package/esm2022/lib/components/news/news.component.mjs +90 -0
- package/esm2022/lib/components/overlay-info/overlay-info.component.mjs +213 -0
- package/esm2022/lib/components/page/page.component.mjs +136 -0
- package/esm2022/lib/components/profile/profile.component.mjs +177 -0
- package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +63 -0
- package/esm2022/lib/components/questionnaire/AppValidators.mjs +487 -0
- package/{esm2020 → esm2022}/lib/components/questionnaire/FbConstants.mjs +7 -7
- package/{esm2020 → esm2022}/lib/components/questionnaire/SelectItem.mjs +1 -1
- package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +256 -0
- package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +475 -0
- package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +1094 -0
- package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1882 -0
- package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +1263 -0
- package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +244 -0
- package/{esm2020 → esm2022}/lib/components/questionnaire/input-focus.directive.mjs +44 -44
- package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +256 -0
- package/{esm2020 → esm2022}/lib/components/questionnaire/question-base.mjs +2 -2
- package/{esm2020 → esm2022}/lib/components/questionnaire/question-control.service.mjs +420 -419
- package/{esm2020 → esm2022}/lib/components/questionnaire/question.service.mjs +33 -33
- package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +262 -0
- package/{esm2020 → esm2022}/lib/components/read-more/read-more.component.mjs +67 -67
- package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +690 -0
- package/esm2022/lib/components/search-employer/search-employer.component.mjs +142 -0
- package/esm2022/lib/components/select/select.component.mjs +154 -0
- package/esm2022/lib/components/ssn/ssn.component.mjs +44 -0
- package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +151 -0
- package/esm2022/lib/components/test/test.component.mjs +19 -0
- package/esm2022/lib/components/user-login/user-login.component.mjs +398 -0
- package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +442 -0
- package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +307 -0
- package/{esm2020 → esm2022}/lib/directives/auto-focus/auto-focus.directive.mjs +31 -31
- package/{esm2020 → esm2022}/lib/directives/caps-lock.directive.mjs +38 -38
- package/{esm2020 → esm2022}/lib/directives/required-roles/required-roles.directive.mjs +30 -30
- package/{esm2020 → esm2022}/lib/enums/EmailStatusEnum.mjs +8 -8
- package/{esm2020 → esm2022}/lib/guards/auth.guard.mjs +138 -138
- package/esm2022/lib/guards/no-login/no-login.guard.mjs +21 -0
- package/{esm2020 → esm2022}/lib/interceptors/error-interceptor/http-error-interceptor.mjs +107 -107
- package/{esm2020 → esm2022}/lib/interceptors/header-interceptor/http-header.interceptor.mjs +99 -99
- package/{esm2020 → esm2022}/lib/models/AddressComponentModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/BankDetailsComponentModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/BankDetailsModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/CinRequalificationCriteriaModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/EmployerDetailSearchResult.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/ErrorModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/FileModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/LibConstants.mjs +119 -119
- package/{esm2020 → esm2022}/lib/models/NewsAndAnnouncementModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/NotificationModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/OtpAuthModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/PaymentComponentModel.mjs +2 -2
- package/esm2022/lib/models/RequalifyLiftPageModel.mjs +11 -0
- package/{esm2020 → esm2022}/lib/models/SsaVerificationModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/TrendModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/UserDetailsModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/UserModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/case/CaseAttachmentModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/claimant/ClaimantModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/claimant/JobResultsData.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/claimant/MatchingJobs.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/claimant/ResetPasswordModel.mjs +2 -2
- package/esm2022/lib/models/cmp/CaseCoreModel.mjs +3 -0
- package/{esm2020 → esm2022}/lib/models/cmp/ComplaintCategoryModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/cmp/ComplaintCategoryOutputModel.mjs +5 -5
- package/esm2022/lib/models/cmp/ContactUsModel.mjs +3 -0
- package/{esm2020 → esm2022}/lib/models/cmp/EmailTemplateModel.mjs +3 -3
- package/esm2022/lib/models/cmp/contactUsInqueryModel.mjs +7 -0
- package/{esm2020 → esm2022}/lib/models/cmp/messageRourceModel.mjs +3 -3
- package/esm2022/lib/models/dashboard-model.mjs +3 -0
- package/esm2022/lib/models/dependent.model.mjs +8 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmpRequestModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +2 -2
- package/esm2022/lib/models/questionnaire/ComboModel.mjs +337 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/ElementsModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/models/questionnaire/EmployerDetailSearchResult.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/EmployerWagesModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/questionnaire/FBConfigModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/questionnaire/KeyValueModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/LegalDiscaimarModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/LoaderModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/PollingStatusModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/questionnaire/QtrYearEmployerWageModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireQueryModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireReturnModel.mjs +10 -10
- package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireSaveModel.mjs +2 -2
- package/esm2022/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +3 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/ServiceActionResponseModel.mjs +3 -3
- package/esm2022/lib/models/questionnaire/StatusModel.mjs +6 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/SuccessPageElement.mjs +2 -2
- package/esm2022/lib/models/questionnaire/UI512AResponseModel.mjs +3 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/ValidationModel.mjs +2 -2
- package/esm2022/lib/ngx-reusa-app-lib.component.mjs +23 -0
- package/esm2022/lib/ngx-reusa-app-lib.module.mjs +402 -0
- package/{esm2020 → esm2022}/lib/ngx-reusa-app-lib.service.mjs +14 -14
- package/{esm2020 → esm2022}/lib/pages/BasePage.mjs +76 -76
- package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +81 -0
- package/esm2022/lib/pages/common/change-password/change-password.page.mjs +463 -0
- package/esm2022/lib/pages/common/landing/landing.component.mjs +208 -0
- package/esm2022/lib/pages/common/landing2/landing2.component.mjs +244 -0
- package/esm2022/lib/pages/common/login/login.component.mjs +526 -0
- package/esm2022/lib/pages/common/not-found/not-found.page.mjs +24 -0
- package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +306 -0
- package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +61 -0
- package/esm2022/lib/pages/common/unauthorized/unauthorized.page.mjs +24 -0
- package/esm2022/lib/pages/popovers/language/language.page.mjs +61 -0
- package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +204 -0
- package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +129 -0
- package/esm2022/lib/pages/popovers/user-search/user-search.component.mjs +251 -0
- package/{esm2020 → esm2022}/lib/pipes/filter.pipe.mjs +30 -30
- package/{esm2020 → esm2022}/lib/pipes/mask/mask.email.pipe.mjs +23 -23
- package/{esm2020 → esm2022}/lib/pipes/proper-case/proper-case.pipe.mjs +27 -27
- package/{esm2020 → esm2022}/lib/pipes/translate/dynamic-translate.pipe.mjs +44 -44
- package/{esm2020 → esm2022}/lib/pipes/trust-html/trust-html.pipe.mjs +20 -20
- package/{esm2020 → esm2022}/lib/services/base-service.mjs +49 -49
- package/{esm2020 → esm2022}/lib/services/captcha/captcha.service.mjs +46 -46
- package/{esm2020 → esm2022}/lib/services/case-service/case.service.mjs +47 -47
- package/{esm2020 → esm2022}/lib/services/chatbot/chatbot.service.mjs +257 -257
- package/esm2022/lib/services/chatbot/script.const.mjs +42 -0
- package/{esm2020 → esm2022}/lib/services/claimant/claimant.service.mjs +31 -31
- package/esm2022/lib/services/claimant-context/claimant-context.service.mjs +48 -0
- package/{esm2020 → esm2022}/lib/services/claimant-service/claimant.service.mjs +47 -47
- package/{esm2020 → esm2022}/lib/services/claims/claims.service.mjs +99 -99
- package/{esm2020 → esm2022}/lib/services/cmp-service/cmp.service.mjs +84 -84
- package/{esm2020 → esm2022}/lib/services/dms-service/dms.service.mjs +60 -60
- package/{esm2020 → esm2022}/lib/services/fpjs/fingerprint.service.mjs +70 -70
- package/{esm2020 → esm2022}/lib/services/google-analytics/google-analytics.service.mjs +29 -29
- package/{esm2020 → esm2022}/lib/services/help/help.service.mjs +63 -63
- package/{esm2020 → esm2022}/lib/services/idle/idle.service.mjs +159 -159
- package/{esm2020 → esm2022}/lib/services/logger/logger.service.mjs +67 -67
- package/esm2022/lib/services/login/login.service.mjs +330 -0
- package/{esm2020 → esm2022}/lib/services/maintenance/maintenance.service.mjs +21 -21
- package/{esm2020 → esm2022}/lib/services/notification/notification.service.mjs +113 -113
- package/{esm2020 → esm2022}/lib/services/questionnaire/questionnaire.service.mjs +69 -69
- package/{esm2020 → esm2022}/lib/services/questionnaire/validation.service.mjs +59 -59
- package/{esm2020 → esm2022}/lib/services/security-service/security.service.mjs +35 -35
- package/{esm2020 → esm2022}/lib/services/tour/tour.service.mjs +60 -60
- package/{esm2020 → esm2022}/lib/services/util/util.service.mjs +424 -424
- package/esm2022/lib/validations/AppRegex.mjs +45 -0
- package/{esm2020 → esm2022}/lib/validations/AppValidators.mjs +165 -165
- package/{esm2020 → esm2022}/public-api.mjs +131 -131
- package/{esm2020 → esm2022}/reusa-ngx-reusa-app-lib.mjs +4 -4
- package/{fesm2020 → fesm2022}/reusa-ngx-reusa-app-lib.mjs +27966 -27877
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/annimations/app-animations.d.ts +3 -3
- package/lib/components/add-employer/add-employer.component.d.ts +276 -276
- package/lib/components/add-participant/add-participant.component.d.ts +45 -45
- package/lib/components/add-payment/add-payment.component.d.ts +33 -33
- package/lib/components/address/address.component.d.ts +68 -68
- package/lib/components/address/address.component.d.ts.map +1 -1
- package/lib/components/bank-details/bank-details.component.d.ts +39 -39
- package/lib/components/captcha/captcha.component.d.ts +44 -44
- package/lib/components/card/card.component.d.ts +11 -11
- package/lib/components/contact-us/contact-us.component.d.ts +105 -107
- package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
- package/lib/components/content/content.component.d.ts +13 -13
- package/lib/components/correspondence-download/correspondence-download.component.d.ts +21 -21
- package/lib/components/dashboard-card/dashboard-card.component.d.ts +25 -25
- package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
- package/lib/components/dependent-grid/dependent-grid.component.d.ts +35 -35
- package/lib/components/disclosure/disclosure.component.d.ts +12 -12
- package/lib/components/dropdown/dropdown.component.d.ts +581 -207
- package/lib/components/dropdown/dropdown.component.d.ts.map +1 -1
- package/lib/components/dropdown/dropdown.interface.d.ts +155 -0
- package/lib/components/dropdown/dropdown.interface.d.ts.map +1 -0
- package/lib/components/email-update/email-update.component.d.ts +31 -31
- package/lib/components/employer-grid/employer-grid.component.d.ts +95 -94
- package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
- package/lib/components/error/error.component.d.ts +17 -17
- package/lib/components/fav-menu/fav-menu.component.d.ts +21 -21
- package/lib/components/file-download/file-download.component.d.ts +22 -22
- package/lib/components/file-uploader/file-uploader.component.d.ts +47 -47
- package/lib/components/footer/footer.component.d.ts +36 -36
- package/lib/components/header/header.component.d.ts +59 -58
- package/lib/components/header/header.component.d.ts.map +1 -1
- package/lib/components/help/help.component.d.ts +10 -10
- package/lib/components/idle-detector/idle-detector.component.d.ts +15 -15
- package/lib/components/info/info.component.d.ts +22 -22
- package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +21 -21
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +33 -33
- package/lib/components/maintenance-detector/maintenance-detector.component.d.ts +15 -15
- package/lib/components/mask/mask.component.d.ts +11 -11
- package/lib/components/menu/menu.component.d.ts +43 -43
- package/lib/components/mfa/mfa.component.d.ts +59 -59
- package/lib/components/mfa-popup/mfa-popup.component.d.ts +16 -16
- package/lib/components/money-expect/money-expect.component.d.ts +18 -18
- package/lib/components/msg/msg.component.d.ts +10 -10
- package/lib/components/news/news.component.d.ts +14 -14
- package/lib/components/overlay-info/overlay-info.component.d.ts +34 -34
- package/lib/components/page/page.component.d.ts +23 -23
- package/lib/components/profile/profile.component.d.ts +28 -28
- package/lib/components/profile-redirect/profile-redirect.component.d.ts +13 -13
- package/lib/components/questionnaire/AppValidators.d.ts +14 -14
- package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
- package/lib/components/questionnaire/FbConstants.d.ts +7 -7
- package/lib/components/questionnaire/SelectItem.d.ts +4 -4
- package/lib/components/questionnaire/account-success/account-success.page.d.ts +53 -53
- package/lib/components/questionnaire/common-success/common-success.page.d.ts +75 -75
- package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +46 -46
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts +82 -82
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form.component.d.ts +130 -130
- package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +66 -64
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
- package/lib/components/questionnaire/input-focus.directive.d.ts +11 -11
- package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +38 -38
- package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
- package/lib/components/questionnaire/question-base.d.ts +16 -16
- package/lib/components/questionnaire/question-control.service.d.ts +19 -19
- package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
- package/lib/components/questionnaire/question.service.d.ts +18 -18
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +75 -74
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
- package/lib/components/read-more/read-more.component.d.ts +14 -14
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +67 -67
- package/lib/components/search-employer/search-employer.component.d.ts +37 -36
- package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
- package/lib/components/select/select.component.d.ts +55 -55
- package/lib/components/ssn/ssn.component.d.ts +11 -11
- package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +22 -22
- package/lib/components/test/test.component.d.ts +8 -8
- package/lib/components/user-login/user-login.component.d.ts +48 -48
- package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +59 -59
- package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +45 -45
- package/lib/directives/auto-focus/auto-focus.directive.d.ts +12 -12
- package/lib/directives/caps-lock.directive.d.ts +11 -11
- package/lib/directives/required-roles/required-roles.directive.d.ts +14 -14
- package/lib/enums/EmailStatusEnum.d.ts +7 -7
- package/lib/guards/auth.guard.d.ts +28 -28
- package/lib/guards/auth.guard.d.ts.map +1 -1
- package/lib/guards/no-login/no-login.guard.d.ts +11 -11
- package/lib/guards/no-login/no-login.guard.d.ts.map +1 -1
- package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts +22 -22
- package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts +21 -21
- package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts.map +1 -1
- package/lib/models/AddressComponentModel.d.ts +12 -12
- package/lib/models/BankDetailsComponentModel.d.ts +11 -11
- package/lib/models/BankDetailsModel.d.ts +4 -4
- package/lib/models/CinRequalificationCriteriaModel.d.ts +10 -10
- package/lib/models/EmployerDetailSearchResult.d.ts +47 -47
- package/lib/models/ErrorModel.d.ts +6 -6
- package/lib/models/FileModel.d.ts +4 -4
- package/lib/models/LibConstants.d.ts +112 -112
- package/lib/models/NewsAndAnnouncementModel.d.ts +5 -5
- package/lib/models/NotificationModel.d.ts +10 -10
- package/lib/models/OtpAuthModel.d.ts +6 -6
- package/lib/models/PaymentComponentModel.d.ts +7 -7
- package/lib/models/RequalifyLiftPageModel.d.ts +11 -11
- package/lib/models/SsaVerificationModel.d.ts +8 -8
- package/lib/models/TrendModel.d.ts +13 -13
- package/lib/models/UserDetailsModel.d.ts +9 -9
- package/lib/models/UserModel.d.ts +46 -46
- package/lib/models/case/CaseAttachmentModel.d.ts +5 -5
- package/lib/models/claimant/ClaimantModel.d.ts +22 -22
- package/lib/models/claimant/JobResultsData.d.ts +7 -7
- package/lib/models/claimant/MatchingJobs.d.ts +12 -12
- package/lib/models/claimant/ResetPasswordModel.d.ts +8 -8
- package/lib/models/cmp/CaseCoreModel.d.ts +20 -20
- package/lib/models/cmp/ComplaintCategoryModel.d.ts +8 -8
- package/lib/models/cmp/ComplaintCategoryOutputModel.d.ts +5 -5
- package/lib/models/cmp/ContactUsModel.d.ts +22 -22
- package/lib/models/cmp/EmailTemplateModel.d.ts +6 -6
- package/lib/models/cmp/contactUsInqueryModel.d.ts +46 -46
- package/lib/models/cmp/messageRourceModel.d.ts +5 -5
- package/lib/models/dashboard-model.d.ts +43 -43
- package/lib/models/dependent.model.d.ts +11 -18
- package/lib/models/dependent.model.d.ts.map +1 -1
- package/lib/models/questionnaire/ClaimAppEmpRequestModel.d.ts +8 -8
- package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +16 -16
- package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +151 -151
- package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +16 -16
- package/lib/models/questionnaire/ComboModel.d.ts +85 -85
- package/lib/models/questionnaire/ElementsModel.d.ts +68 -68
- package/lib/models/questionnaire/EmployerDetailSearchResult.d.ts +17 -17
- package/lib/models/questionnaire/EmployerWagesModel.d.ts +4 -4
- package/lib/models/questionnaire/FBConfigModel.d.ts +11 -11
- package/lib/models/questionnaire/KeyValueModel.d.ts +10 -10
- package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +10 -10
- package/lib/models/questionnaire/LoaderModel.d.ts +4 -4
- package/lib/models/questionnaire/PollingStatusModel.d.ts +6 -6
- package/lib/models/questionnaire/QtrYearEmployerWageModel.d.ts +8 -8
- package/lib/models/questionnaire/QuestionnaireQueryModel.d.ts +23 -23
- package/lib/models/questionnaire/QuestionnaireReturnModel.d.ts +20 -20
- package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +24 -24
- package/lib/models/questionnaire/RequalifyLiftIssuesModel.d.ts +13 -13
- package/lib/models/questionnaire/ServiceActionResponseModel.d.ts +6 -6
- package/lib/models/questionnaire/StatusModel.d.ts +15 -15
- package/lib/models/questionnaire/SuccessPageElement.d.ts +8 -8
- package/lib/models/questionnaire/UI512AResponseModel.d.ts +12 -12
- package/lib/models/questionnaire/ValidationModel.d.ts +17 -17
- package/lib/ngx-reusa-app-lib.component.d.ts +8 -8
- package/lib/ngx-reusa-app-lib.module.d.ts +148 -145
- package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
- package/lib/ngx-reusa-app-lib.service.d.ts +6 -6
- package/lib/pages/BasePage.d.ts +26 -26
- package/lib/pages/common/accessibility-policy/accessibility-policy.page.d.ts +11 -11
- package/lib/pages/common/change-password/change-password.page.d.ts +40 -40
- package/lib/pages/common/landing/landing.component.d.ts +24 -24
- package/lib/pages/common/landing2/landing2.component.d.ts +30 -30
- package/lib/pages/common/login/login.component.d.ts +64 -64
- package/lib/pages/common/not-found/not-found.page.d.ts +8 -8
- package/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.d.ts +11 -11
- package/lib/pages/common/security-policy/security-policy.page.d.ts +11 -11
- package/lib/pages/common/unauthorized/unauthorized.page.d.ts +8 -8
- package/lib/pages/popovers/language/language.page.d.ts +16 -16
- package/lib/pages/popovers/my-notifications/my-notifications.page.d.ts +21 -21
- package/lib/pages/popovers/my-profile/my-profile.page.d.ts +20 -20
- package/lib/pages/popovers/user-search/user-search.component.d.ts +31 -31
- package/lib/pipes/filter.pipe.d.ts +7 -7
- package/lib/pipes/mask/mask.email.pipe.d.ts +10 -10
- package/lib/pipes/proper-case/proper-case.pipe.d.ts +8 -8
- package/lib/pipes/translate/dynamic-translate.pipe.d.ts +10 -10
- package/lib/pipes/trust-html/trust-html.pipe.d.ts +10 -10
- package/lib/services/base-service.d.ts +92 -92
- package/lib/services/captcha/captcha.service.d.ts +15 -15
- package/lib/services/case-service/case.service.d.ts +19 -19
- package/lib/services/chatbot/chatbot.service.d.ts +60 -60
- package/lib/services/chatbot/script.const.d.ts +15 -15
- package/lib/services/claimant/claimant.service.d.ts +17 -17
- package/lib/services/claimant-context/claimant-context.service.d.ts +18 -18
- package/lib/services/claimant-context/claimant-context.service.d.ts.map +1 -1
- package/lib/services/claimant-service/claimant.service.d.ts +19 -19
- package/lib/services/claims/claims.service.d.ts +39 -39
- package/lib/services/cmp-service/cmp.service.d.ts +33 -33
- package/lib/services/dms-service/dms.service.d.ts +23 -23
- package/lib/services/fpjs/fingerprint.service.d.ts +18 -18
- package/lib/services/google-analytics/google-analytics.service.d.ts +8 -8
- package/lib/services/help/help.service.d.ts +25 -25
- package/lib/services/help/help.service.d.ts.map +1 -1
- package/lib/services/idle/idle.service.d.ts +43 -43
- package/lib/services/logger/logger.service.d.ts +31 -31
- package/lib/services/logger/logger.service.d.ts.map +1 -1
- package/lib/services/login/login.service.d.ts +75 -75
- package/lib/services/login/login.service.d.ts.map +1 -1
- package/lib/services/maintenance/maintenance.service.d.ts +15 -15
- package/lib/services/notification/notification.service.d.ts +38 -38
- package/lib/services/questionnaire/questionnaire.service.d.ts +35 -35
- package/lib/services/questionnaire/validation.service.d.ts +81 -81
- package/lib/services/security-service/security.service.d.ts +14 -14
- package/lib/services/tour/tour.service.d.ts +24 -24
- package/lib/services/util/util.service.d.ts +190 -190
- package/lib/validations/AppRegex.d.ts +43 -43
- package/lib/validations/AppValidators.d.ts +53 -53
- package/package.json +6 -11
- package/public-api.d.ts +121 -121
- package/esm2020/lib/components/add-employer/add-employer.component.mjs +0 -3099
- package/esm2020/lib/components/add-participant/add-participant.component.mjs +0 -396
- package/esm2020/lib/components/add-payment/add-payment.component.mjs +0 -186
- package/esm2020/lib/components/address/address.component.mjs +0 -480
- package/esm2020/lib/components/bank-details/bank-details.component.mjs +0 -275
- package/esm2020/lib/components/captcha/captcha.component.mjs +0 -180
- package/esm2020/lib/components/card/card.component.mjs +0 -54
- package/esm2020/lib/components/contact-us/contact-us.component.mjs +0 -1004
- package/esm2020/lib/components/content/content.component.mjs +0 -60
- package/esm2020/lib/components/correspondence-download/correspondence-download.component.mjs +0 -82
- package/esm2020/lib/components/dashboard-card/dashboard-card.component.mjs +0 -219
- package/esm2020/lib/components/dependent-grid/dependent-grid.component.mjs +0 -297
- package/esm2020/lib/components/disclosure/disclosure.component.mjs +0 -59
- package/esm2020/lib/components/dropdown/dropdown.component.mjs +0 -1552
- package/esm2020/lib/components/email-update/email-update.component.mjs +0 -287
- package/esm2020/lib/components/employer-grid/employer-grid.component.mjs +0 -800
- package/esm2020/lib/components/error/error.component.mjs +0 -85
- package/esm2020/lib/components/fav-menu/fav-menu.component.mjs +0 -163
- package/esm2020/lib/components/file-uploader/file-uploader.component.mjs +0 -317
- package/esm2020/lib/components/footer/footer.component.mjs +0 -337
- package/esm2020/lib/components/header/header.component.mjs +0 -566
- package/esm2020/lib/components/help/help.component.mjs +0 -48
- package/esm2020/lib/components/idle-detector/idle-detector.component.mjs +0 -64
- package/esm2020/lib/components/job-search-result-page/job-search-result-page.component.mjs +0 -209
- package/esm2020/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +0 -192
- package/esm2020/lib/components/maintenance-detector/maintenance-detector.component.mjs +0 -42
- package/esm2020/lib/components/mask/mask.component.mjs +0 -48
- package/esm2020/lib/components/menu/menu.component.mjs +0 -430
- package/esm2020/lib/components/mfa/mfa.component.mjs +0 -451
- package/esm2020/lib/components/mfa-popup/mfa-popup.component.mjs +0 -49
- package/esm2020/lib/components/money-expect/money-expect.component.mjs +0 -89
- package/esm2020/lib/components/msg/msg.component.mjs +0 -48
- package/esm2020/lib/components/news/news.component.mjs +0 -89
- package/esm2020/lib/components/overlay-info/overlay-info.component.mjs +0 -235
- package/esm2020/lib/components/page/page.component.mjs +0 -138
- package/esm2020/lib/components/profile/profile.component.mjs +0 -182
- package/esm2020/lib/components/profile-redirect/profile-redirect.component.mjs +0 -62
- package/esm2020/lib/components/questionnaire/AppValidators.mjs +0 -523
- package/esm2020/lib/components/questionnaire/account-success/account-success.page.mjs +0 -259
- package/esm2020/lib/components/questionnaire/common-success/common-success.page.mjs +0 -483
- package/esm2020/lib/components/questionnaire/dynamic-form-panel.component.mjs +0 -1137
- package/esm2020/lib/components/questionnaire/dynamic-form-question.component.mjs +0 -1948
- package/esm2020/lib/components/questionnaire/dynamic-form.component.mjs +0 -1257
- package/esm2020/lib/components/questionnaire/form-builder/form-builder.page.mjs +0 -240
- package/esm2020/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +0 -259
- package/esm2020/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +0 -260
- package/esm2020/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +0 -703
- package/esm2020/lib/components/search-employer/search-employer.component.mjs +0 -142
- package/esm2020/lib/components/select/select.component.mjs +0 -153
- package/esm2020/lib/components/ssn/ssn.component.mjs +0 -43
- package/esm2020/lib/components/ssn-reverify/ssn-reverify.component.mjs +0 -150
- package/esm2020/lib/components/test/test.component.mjs +0 -18
- package/esm2020/lib/components/user-login/user-login.component.mjs +0 -401
- package/esm2020/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +0 -445
- package/esm2020/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +0 -308
- package/esm2020/lib/guards/no-login/no-login.guard.mjs +0 -21
- package/esm2020/lib/models/RequalifyLiftPageModel.mjs +0 -11
- package/esm2020/lib/models/cmp/CaseCoreModel.mjs +0 -3
- package/esm2020/lib/models/cmp/ContactUsModel.mjs +0 -3
- package/esm2020/lib/models/cmp/contactUsInqueryModel.mjs +0 -7
- package/esm2020/lib/models/dashboard-model.mjs +0 -3
- package/esm2020/lib/models/dependent.model.mjs +0 -8
- package/esm2020/lib/models/questionnaire/ComboModel.mjs +0 -337
- package/esm2020/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +0 -3
- package/esm2020/lib/models/questionnaire/StatusModel.mjs +0 -6
- package/esm2020/lib/models/questionnaire/UI512AResponseModel.mjs +0 -3
- package/esm2020/lib/ngx-reusa-app-lib.component.mjs +0 -22
- package/esm2020/lib/ngx-reusa-app-lib.module.mjs +0 -390
- package/esm2020/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +0 -80
- package/esm2020/lib/pages/common/change-password/change-password.page.mjs +0 -477
- package/esm2020/lib/pages/common/landing/landing.component.mjs +0 -207
- package/esm2020/lib/pages/common/landing2/landing2.component.mjs +0 -244
- package/esm2020/lib/pages/common/login/login.component.mjs +0 -542
- package/esm2020/lib/pages/common/not-found/not-found.page.mjs +0 -23
- package/esm2020/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +0 -305
- package/esm2020/lib/pages/common/security-policy/security-policy.page.mjs +0 -60
- package/esm2020/lib/pages/common/unauthorized/unauthorized.page.mjs +0 -23
- package/esm2020/lib/pages/popovers/language/language.page.mjs +0 -60
- package/esm2020/lib/pages/popovers/my-notifications/my-notifications.page.mjs +0 -205
- package/esm2020/lib/pages/popovers/my-profile/my-profile.page.mjs +0 -129
- package/esm2020/lib/pages/popovers/user-search/user-search.component.mjs +0 -253
- package/esm2020/lib/services/chatbot/script.const.mjs +0 -42
- package/esm2020/lib/services/claimant-context/claimant-context.service.mjs +0 -47
- package/esm2020/lib/services/login/login.service.mjs +0 -330
- package/esm2020/lib/validations/AppRegex.mjs +0 -45
- package/fesm2015/reusa-ngx-reusa-app-lib.mjs +0 -30728
- package/fesm2015/reusa-ngx-reusa-app-lib.mjs.map +0 -1
- package/fesm2020/reusa-ngx-reusa-app-lib.mjs.map +0 -1
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@ionic/storage";
|
|
5
|
-
export class HelpService {
|
|
6
|
-
constructor(storage) {
|
|
7
|
-
this.storage = storage;
|
|
8
|
-
this.showing = false;
|
|
9
|
-
this.showHelpButton = new BehaviorSubject(false);
|
|
10
|
-
}
|
|
11
|
-
setupDefaultHelpBehaviour(preferences) {
|
|
12
|
-
this.helpPreferences = preferences;
|
|
13
|
-
this.setupPreferenceInStorageIfNotPresent();
|
|
14
|
-
}
|
|
15
|
-
setupPreferenceInStorageIfNotPresent() {
|
|
16
|
-
this.helpPreferences
|
|
17
|
-
.forEach(async (preference) => {
|
|
18
|
-
let pref = await this.storage.get(preference.name);
|
|
19
|
-
if (pref == null || pref == undefined) {
|
|
20
|
-
this.storage.set(preference.name, preference.showOnLoad);
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
show() {
|
|
25
|
-
this.showing = true;
|
|
26
|
-
}
|
|
27
|
-
hide() {
|
|
28
|
-
this.showing = false;
|
|
29
|
-
}
|
|
30
|
-
isShowing() {
|
|
31
|
-
return this.showing;
|
|
32
|
-
}
|
|
33
|
-
setHelpAvailability(isAvailable) {
|
|
34
|
-
if (!isAvailable) {
|
|
35
|
-
this.hide();
|
|
36
|
-
}
|
|
37
|
-
this.showHelpButton.next(isAvailable);
|
|
38
|
-
}
|
|
39
|
-
shouldDisplayHelpButton() {
|
|
40
|
-
return this.showHelpButton;
|
|
41
|
-
}
|
|
42
|
-
setPreference(name, value) {
|
|
43
|
-
this.storage.set(name, value);
|
|
44
|
-
}
|
|
45
|
-
getPreference(name) {
|
|
46
|
-
return this.storage.get(name);
|
|
47
|
-
}
|
|
48
|
-
async showDialogIfPreferenceAllow(name) {
|
|
49
|
-
let pref = await this.getPreference(name);
|
|
50
|
-
if (pref) {
|
|
51
|
-
this.show();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
(
|
|
58
|
-
type: Injectable,
|
|
59
|
-
args: [{
|
|
60
|
-
providedIn: 'root'
|
|
61
|
-
}]
|
|
62
|
-
}],
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@ionic/storage-angular";
|
|
5
|
+
export class HelpService {
|
|
6
|
+
constructor(storage) {
|
|
7
|
+
this.storage = storage;
|
|
8
|
+
this.showing = false;
|
|
9
|
+
this.showHelpButton = new BehaviorSubject(false);
|
|
10
|
+
}
|
|
11
|
+
setupDefaultHelpBehaviour(preferences) {
|
|
12
|
+
this.helpPreferences = preferences;
|
|
13
|
+
this.setupPreferenceInStorageIfNotPresent();
|
|
14
|
+
}
|
|
15
|
+
setupPreferenceInStorageIfNotPresent() {
|
|
16
|
+
this.helpPreferences
|
|
17
|
+
.forEach(async (preference) => {
|
|
18
|
+
let pref = await this.storage.get(preference.name);
|
|
19
|
+
if (pref == null || pref == undefined) {
|
|
20
|
+
this.storage.set(preference.name, preference.showOnLoad);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
show() {
|
|
25
|
+
this.showing = true;
|
|
26
|
+
}
|
|
27
|
+
hide() {
|
|
28
|
+
this.showing = false;
|
|
29
|
+
}
|
|
30
|
+
isShowing() {
|
|
31
|
+
return this.showing;
|
|
32
|
+
}
|
|
33
|
+
setHelpAvailability(isAvailable) {
|
|
34
|
+
if (!isAvailable) {
|
|
35
|
+
this.hide();
|
|
36
|
+
}
|
|
37
|
+
this.showHelpButton.next(isAvailable);
|
|
38
|
+
}
|
|
39
|
+
shouldDisplayHelpButton() {
|
|
40
|
+
return this.showHelpButton;
|
|
41
|
+
}
|
|
42
|
+
setPreference(name, value) {
|
|
43
|
+
this.storage.set(name, value);
|
|
44
|
+
}
|
|
45
|
+
getPreference(name) {
|
|
46
|
+
return this.storage.get(name);
|
|
47
|
+
}
|
|
48
|
+
async showDialogIfPreferenceAllow(name) {
|
|
49
|
+
let pref = await this.getPreference(name);
|
|
50
|
+
if (pref) {
|
|
51
|
+
this.show();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
static { this.ɵfac = function HelpService_Factory(t) { return new (t || HelpService)(i0.ɵɵinject(i1.Storage)); }; }
|
|
55
|
+
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: HelpService, factory: HelpService.ɵfac, providedIn: 'root' }); }
|
|
56
|
+
}
|
|
57
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HelpService, [{
|
|
58
|
+
type: Injectable,
|
|
59
|
+
args: [{
|
|
60
|
+
providedIn: 'root'
|
|
61
|
+
}]
|
|
62
|
+
}], () => [{ type: i1.Storage }], null); })();
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9oZWxwL2hlbHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUt2QyxNQUFNLE9BQU8sV0FBVztJQVF0QixZQUFtQixPQUFpQjtRQUFqQixZQUFPLEdBQVAsT0FBTyxDQUFVO1FBSjVCLFlBQU8sR0FBYSxLQUFLLENBQUM7UUFFMUIsbUJBQWMsR0FBOEIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFaEQsQ0FBQztJQUV6Qyx5QkFBeUIsQ0FBQyxXQUFxRDtRQUM3RSxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztRQUVuQyxJQUFJLENBQUMsb0NBQW9DLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRU8sb0NBQW9DO1FBQzFDLElBQUksQ0FBQyxlQUFlO2FBQ2YsT0FBTyxDQUFDLEtBQUssRUFBQyxVQUFVLEVBQUMsRUFBRTtZQUMxQixJQUFJLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuRCxJQUFHLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLFNBQVMsRUFBQztnQkFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUE7YUFDekQ7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsV0FBcUI7UUFDdkMsSUFBRyxDQUFDLFdBQVcsRUFBQztZQUNkLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFhLEVBQUUsS0FBZTtRQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFhO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxJQUFhO1FBQzdDLElBQUksSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUxQyxJQUFHLElBQUksRUFBRTtZQUNQLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQzs0RUEvRFUsV0FBVzt1RUFBWCxXQUFXLFdBQVgsV0FBVyxtQkFGVixNQUFNOztpRkFFUCxXQUFXO2NBSHZCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tICdAaW9uaWMvc3RvcmFnZS1hbmd1bGFyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBIZWxwU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBoZWxwUHJlZmVyZW5jZXMgOiB7bmFtZSA6IHN0cmluZywgc2hvd09uTG9hZCA6IGJvb2xlYW59W107XG5cbiAgcHJpdmF0ZSBzaG93aW5nIDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgc2hvd0hlbHBCdXR0b24gOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc3RvcmFnZSA6IFN0b3JhZ2UpIHsgfVxuXG4gIHNldHVwRGVmYXVsdEhlbHBCZWhhdmlvdXIocHJlZmVyZW5jZXMgOiB7bmFtZSA6IHN0cmluZywgc2hvd09uTG9hZCA6IGJvb2xlYW59W10pe1xuICAgIHRoaXMuaGVscFByZWZlcmVuY2VzID0gcHJlZmVyZW5jZXM7XG5cbiAgICB0aGlzLnNldHVwUHJlZmVyZW5jZUluU3RvcmFnZUlmTm90UHJlc2VudCgpO1xuICB9XG4gIFxuICBwcml2YXRlIHNldHVwUHJlZmVyZW5jZUluU3RvcmFnZUlmTm90UHJlc2VudCgpIHtcbiAgICB0aGlzLmhlbHBQcmVmZXJlbmNlc1xuICAgICAgICAuZm9yRWFjaChhc3luYyBwcmVmZXJlbmNlID0+IHtcbiAgICAgICAgICBsZXQgcHJlZiA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQocHJlZmVyZW5jZS5uYW1lKTtcbiAgICAgICAgICBpZihwcmVmID09IG51bGwgfHwgcHJlZiA9PSB1bmRlZmluZWQpe1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlLnNldChwcmVmZXJlbmNlLm5hbWUsIHByZWZlcmVuY2Uuc2hvd09uTG9hZClcbiAgICAgICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzaG93KCl7XG4gICAgdGhpcy5zaG93aW5nID0gdHJ1ZTtcbiAgfVxuXG4gIGhpZGUoKXtcbiAgICB0aGlzLnNob3dpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIGlzU2hvd2luZygpe1xuICAgIHJldHVybiB0aGlzLnNob3dpbmc7XG4gIH1cblxuICBzZXRIZWxwQXZhaWxhYmlsaXR5KGlzQXZhaWxhYmxlIDogYm9vbGVhbil7XG4gICAgaWYoIWlzQXZhaWxhYmxlKXtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgICB0aGlzLnNob3dIZWxwQnV0dG9uLm5leHQoaXNBdmFpbGFibGUpO1xuICB9XG5cbiAgc2hvdWxkRGlzcGxheUhlbHBCdXR0b24oKXtcbiAgICByZXR1cm4gdGhpcy5zaG93SGVscEJ1dHRvbjtcbiAgfVxuXG4gIHNldFByZWZlcmVuY2UobmFtZSA6IHN0cmluZywgdmFsdWUgOiBib29sZWFuKXtcbiAgICB0aGlzLnN0b3JhZ2Uuc2V0KG5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIGdldFByZWZlcmVuY2UobmFtZSA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5nZXQobmFtZSk7XG4gIH1cblxuICBhc3luYyBzaG93RGlhbG9nSWZQcmVmZXJlbmNlQWxsb3cobmFtZSA6IHN0cmluZyl7XG4gICAgbGV0IHByZWYgPSBhd2FpdCB0aGlzLmdldFByZWZlcmVuY2UobmFtZSk7XG5cbiAgICBpZihwcmVmKSB7XG4gICAgICB0aGlzLnNob3coKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,159 +1,159 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';
|
|
3
|
-
import { BehaviorSubject, interval, timer } from 'rxjs';
|
|
4
|
-
import { take } from 'rxjs/operators';
|
|
5
|
-
import { LibConstants } from '../../models/LibConstants';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../logger/logger.service";
|
|
8
|
-
import * as i2 from "@ng-idle/core";
|
|
9
|
-
import * as i3 from "../login/login.service";
|
|
10
|
-
import * as i4 from "@ionic/angular";
|
|
11
|
-
import * as i5 from "@ng-idle/keepalive";
|
|
12
|
-
/**
|
|
13
|
-
* This service will automatically extend user's session by refreshing access_token if the validity of access token is less than 120s and
|
|
14
|
-
* user is not idle on the screen.
|
|
15
|
-
*
|
|
16
|
-
* @author Prerak Tiwari
|
|
17
|
-
*/
|
|
18
|
-
export class IdleService {
|
|
19
|
-
constructor(logger, idle, ls, nav, keepalive) {
|
|
20
|
-
this.logger = logger;
|
|
21
|
-
this.idle = idle;
|
|
22
|
-
this.ls = ls;
|
|
23
|
-
this.nav = nav;
|
|
24
|
-
this.keepalive = keepalive;
|
|
25
|
-
this.timerInterval = interval(1000); //1s
|
|
26
|
-
this.timer = timer(120000); //30s
|
|
27
|
-
this.time = 120;
|
|
28
|
-
this.countDown = this.timerInterval.pipe(take(this.time));
|
|
29
|
-
this.counter = new BehaviorSubject(0);
|
|
30
|
-
this.lastPing = null;
|
|
31
|
-
this.showSessionTimeoutWarning = new BehaviorSubject(false);
|
|
32
|
-
this.logger.log('[IdleService] IdleService Initialized');
|
|
33
|
-
}
|
|
34
|
-
setupIdalTimeout() {
|
|
35
|
-
// sets an idle timeout of 180 seconds
|
|
36
|
-
this.idle.setIdle(LibConstants.idleTime);
|
|
37
|
-
// sets a timeout period of 120 seconds. after 300 seconds of inactivity, the user will be considered timed out.
|
|
38
|
-
this.idle.setTimeout(LibConstants.timeOutPeriod);
|
|
39
|
-
// sets the default interrupts, in this case, things like clicks, scrolls, touches to the document
|
|
40
|
-
this.idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);
|
|
41
|
-
this.idle.onIdleStart.subscribe(() => {
|
|
42
|
-
this.unsubscribe();
|
|
43
|
-
this.showSessionTimeoutWarning.next(true);
|
|
44
|
-
this.counterSubscription = this.countDown.subscribe(val => {
|
|
45
|
-
this.counter.next(this.time - val);
|
|
46
|
-
});
|
|
47
|
-
this.counterEndSubscription = this.timer.subscribe(val => {
|
|
48
|
-
this.logout();
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
// sets the ping interval to 15 seconds
|
|
52
|
-
this.keepalive.interval(15);
|
|
53
|
-
this.keepalive.onPing.subscribe(() => this.lastPing = new Date());
|
|
54
|
-
this.ls.getUserBs().subscribe(user => {
|
|
55
|
-
if (user) {
|
|
56
|
-
this.logger.log('IdleService watching');
|
|
57
|
-
this.sessionValidityTill = this.addSeconds(new Date(), user.expires_in);
|
|
58
|
-
this.idle.watch();
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
this.idle.stop();
|
|
62
|
-
this.logger.log('IdleService stopped');
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
reset() {
|
|
67
|
-
this.idle.watch();
|
|
68
|
-
this.showSessionTimeoutWarning.next(false);
|
|
69
|
-
if (this.counterSubscription) {
|
|
70
|
-
this.counterSubscription.unsubscribe();
|
|
71
|
-
}
|
|
72
|
-
if (this.counterEndSubscription) {
|
|
73
|
-
this.counterEndSubscription.unsubscribe();
|
|
74
|
-
}
|
|
75
|
-
this.setupSessionObserver();
|
|
76
|
-
this.checkSessionValidity();
|
|
77
|
-
}
|
|
78
|
-
stay() {
|
|
79
|
-
//this.childModal.hide();
|
|
80
|
-
this.reset();
|
|
81
|
-
}
|
|
82
|
-
setupSessionTimeoutObserver() {
|
|
83
|
-
this.ls.getUserBs().subscribe(user => {
|
|
84
|
-
if (user) {
|
|
85
|
-
this.logger.log('[IdleService] Subscribing Session Observer');
|
|
86
|
-
this.sessionValidityTill = this.addSeconds(new Date(), user.expires_in);
|
|
87
|
-
this.setupSessionObserver();
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
this.logger.log('[IdleService] Unsubscribing Session Observer');
|
|
91
|
-
this.unsubscribe();
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
setupSessionObserver() {
|
|
96
|
-
this.unsubscribe();
|
|
97
|
-
const source = interval(15000);
|
|
98
|
-
this.sessionValiditysubscription = source.subscribe(val => this.checkSessionValidity());
|
|
99
|
-
}
|
|
100
|
-
unsubscribe() {
|
|
101
|
-
if (this.sessionValiditysubscription) {
|
|
102
|
-
this.sessionValiditysubscription.unsubscribe();
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
checkSessionValidity() {
|
|
106
|
-
let isIdle = this.idle.isIdling();
|
|
107
|
-
if (!isIdle) {
|
|
108
|
-
let tokenExpTime = this.sessionValidityTill;
|
|
109
|
-
let now = new Date();
|
|
110
|
-
let diffInSec = Math.ceil((tokenExpTime.getTime() - now.getTime()) / 1000);
|
|
111
|
-
this.logger.log('[IdleService] diffInSec', diffInSec);
|
|
112
|
-
if (diffInSec < 120) {
|
|
113
|
-
this.unsubscribe();
|
|
114
|
-
this.logger.log('[IdleService] Initiating Refresh Token as session is active and user is active');
|
|
115
|
-
this.ls
|
|
116
|
-
.refreshToken(this.ls.getUser().refresh_token)
|
|
117
|
-
.then(async (res) => {
|
|
118
|
-
await this.ls.setUser(res).then(res => res);
|
|
119
|
-
return true;
|
|
120
|
-
})
|
|
121
|
-
.catch(err => {
|
|
122
|
-
this.logger.error('[IdleService] error while refreshing token', err);
|
|
123
|
-
return false;
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
this.logger.log('[IdleService] NOT Initiating Refresh Token as session is active');
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
this.logger.log('[IdleService] NOT Initiating Refresh Token as session is idle and it will be timeout automatically.');
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
logout() {
|
|
135
|
-
//this.childModal.hide();
|
|
136
|
-
this.ls.logout();
|
|
137
|
-
this.nav.navigateRoot('/login');
|
|
138
|
-
this.showSessionTimeoutWarning.next(false);
|
|
139
|
-
if (this.counterSubscription) {
|
|
140
|
-
this.counterSubscription.unsubscribe();
|
|
141
|
-
}
|
|
142
|
-
if (this.counterEndSubscription) {
|
|
143
|
-
this.counterEndSubscription.unsubscribe();
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
addSeconds(date, secToAdd) {
|
|
147
|
-
date.setSeconds(date.getSeconds() + secToAdd);
|
|
148
|
-
return date;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
(
|
|
154
|
-
type: Injectable,
|
|
155
|
-
args: [{
|
|
156
|
-
providedIn: 'root'
|
|
157
|
-
}]
|
|
158
|
-
}],
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9pZGxlL2lkbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUUvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBZ0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7QUFJekQ7Ozs7O0dBS0c7QUFJSCxNQUFNLE9BQU8sV0FBVztJQWV0QixZQUFxQixNQUFxQixFQUFTLElBQVUsRUFBVSxFQUFpQixFQUFVLEdBQWtCLEVBQVUsU0FBb0I7UUFBN0gsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUFTLFNBQUksR0FBSixJQUFJLENBQU07UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFlO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFiM0ksa0JBQWEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQ3BDLFVBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNO1FBQ3BDLFNBQUksR0FBRyxHQUFHLENBQUM7UUFDSixjQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3JELFlBQU8sR0FBNkIsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEUs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QUFDO1FBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsSUFBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUM7WUFDMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3hDO1FBQ0QsSUFBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUM7WUFDN0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZLEVBQUUsUUFBaUI7UUFDeEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDOUMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztzRUFoSlUsV0FBVztpRUFBWCxXQUFXLFdBQVgsV0FBVyxtQkFGVixNQUFNO3VGQUVQLFdBQVc7Y0FIdkIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IERFRkFVTFRfSU5URVJSVVBUU09VUkNFUywgSWRsZSB9IGZyb20gJ0BuZy1pZGxlL2NvcmUnO1xuaW1wb3J0IHsgS2VlcGFsaXZlIH0gZnJvbSAnQG5nLWlkbGUva2VlcGFsaXZlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbiwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vbG9naW4vbG9naW4uc2VydmljZSc7XG5cbi8qKlxuICogVGhpcyBzZXJ2aWNlIHdpbGwgYXV0b21hdGljYWxseSBleHRlbmQgdXNlcidzIHNlc3Npb24gYnkgcmVmcmVzaGluZyBhY2Nlc3NfdG9rZW4gaWYgdGhlIHZhbGlkaXR5IG9mIGFjY2VzcyB0b2tlbiBpcyBsZXNzIHRoYW4gMTIwcyBhbmQgXG4gKiB1c2VyIGlzIG5vdCBpZGxlIG9uIHRoZSBzY3JlZW4uXG4gKiBcbiAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJZGxlU2VydmljZSB7XG4gIHByaXZhdGUgc2Vzc2lvblZhbGlkaXR5VGlsbCA6IERhdGU7XG4gIHB1YmxpYyB0aW1lckludGVydmFsID0gaW50ZXJ2YWwoMTAwMCk7IC8vMXNcbiAgcHVibGljIHRpbWVyID0gdGltZXIoMTIwMDAwKTsgLy8zMHMgXG4gIHRpbWUgPSAxMjA7XG4gIHB1YmxpYyBjb3VudERvd24gPSB0aGlzLnRpbWVySW50ZXJ2YWwucGlwZSh0YWtlKHRoaXMudGltZSkpO1xuICBwdWJsaWMgY291bnRlciA6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcbiAgbGFzdFBpbmc/OiBEYXRlID0gbnVsbDtcblxuICBjb3VudGVyU3Vic2NyaXB0aW9uIDogU3Vic2NyaXB0aW9uO1xuICBjb3VudGVyRW5kU3Vic2NyaXB0aW9uIDogU3Vic2NyaXB0aW9uO1xuICBzZXNzaW9uVmFsaWRpdHlzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBwdWJsaWMgc2hvd1Nlc3Npb25UaW1lb3V0V2FybmluZyA6IEJlaGF2aW9yU3ViamVjdDxCb29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKCBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSAscHVibGljIGlkbGU6IElkbGUsIHByaXZhdGUgbHMgOiBMb2dpblNlcnZpY2UsIHByaXZhdGUgbmF2OiBOYXZDb250cm9sbGVyLCBwcml2YXRlIGtlZXBhbGl2ZTogS2VlcGFsaXZlKSB7IFxuICAgIHRoaXMubG9nZ2VyLmxvZygnW0lkbGVTZXJ2aWNlXSBJZGxlU2VydmljZSBJbml0aWFsaXplZCcpO1xuICB9XG5cbiAgc2V0dXBJZGFsVGltZW91dCgpe1xuICAgIC8vIHNldHMgYW4gaWRsZSB0aW1lb3V0IG9mIDE4MCBzZWNvbmRzXG4gICAgdGhpcy5pZGxlLnNldElkbGUoTGliQ29uc3RhbnRzLmlkbGVUaW1lKTtcbiAgICAvLyBzZXRzIGEgdGltZW91dCBwZXJpb2Qgb2YgMTIwIHNlY29uZHMuIGFmdGVyIDMwMCBzZWNvbmRzIG9mIGluYWN0aXZpdHksIHRoZSB1c2VyIHdpbGwgYmUgY29uc2lkZXJlZCB0aW1lZCBvdXQuXG4gICAgdGhpcy5pZGxlLnNldFRpbWVvdXQoTGliQ29uc3RhbnRzLnRpbWVPdXRQZXJpb2QpO1xuICAgIC8vIHNldHMgdGhlIGRlZmF1bHQgaW50ZXJydXB0cywgaW4gdGhpcyBjYXNlLCB0aGluZ3MgbGlrZSBjbGlja3MsIHNjcm9sbHMsIHRvdWNoZXMgdG8gdGhlIGRvY3VtZW50XG4gICAgdGhpcy5pZGxlLnNldEludGVycnVwdHMoREVGQVVMVF9JTlRFUlJVUFRTT1VSQ0VTKTtcblxuICAgIHRoaXMuaWRsZS5vbklkbGVTdGFydC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuc2hvd1Nlc3Npb25UaW1lb3V0V2FybmluZy5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmNvdW50ZXJTdWJzY3JpcHRpb24gPSB0aGlzLmNvdW50RG93bi5zdWJzY3JpYmUodmFsID0+e1xuICAgICAgICAgIHRoaXMuY291bnRlci5uZXh0KHRoaXMudGltZSAtIHZhbCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY291bnRlckVuZFN1YnNjcmlwdGlvbiA9IHRoaXMudGltZXIuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICAgICAgdGhpcy5sb2dvdXQoKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICAvLyBzZXRzIHRoZSBwaW5nIGludGVydmFsIHRvIDE1IHNlY29uZHNcbiAgICB0aGlzLmtlZXBhbGl2ZS5pbnRlcnZhbCgxNSk7XG5cbiAgICB0aGlzLmtlZXBhbGl2ZS5vblBpbmcuc3Vic2NyaWJlKCgpID0+IHRoaXMubGFzdFBpbmcgPSBuZXcgRGF0ZSgpKTtcblxuICAgIHRoaXMubHMuZ2V0VXNlckJzKCkuc3Vic2NyaWJlKHVzZXIgPT4ge1xuICAgICAgaWYodXNlcil7XG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZygnSWRsZVNlcnZpY2Ugd2F0Y2hpbmcnKTtcbiAgICAgICAgdGhpcy5zZXNzaW9uVmFsaWRpdHlUaWxsID0gdGhpcy5hZGRTZWNvbmRzKG5ldyBEYXRlKCksIHVzZXIuZXhwaXJlc19pbik7XG4gICAgICAgIHRoaXMuaWRsZS53YXRjaCgpXG4gICAgICB9ZWxzZSB7XG4gICAgICAgIHRoaXMuaWRsZS5zdG9wKCk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZygnSWRsZVNlcnZpY2Ugc3RvcHBlZCcpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy5pZGxlLndhdGNoKCk7XG4gICAgdGhpcy5zaG93U2Vzc2lvblRpbWVvdXRXYXJuaW5nLm5leHQoZmFsc2UpO1xuICAgIGlmKHRoaXMuY291bnRlclN1YnNjcmlwdGlvbil7XG4gICAgICB0aGlzLmNvdW50ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYodGhpcy5jb3VudGVyRW5kU3Vic2NyaXB0aW9uKXtcbiAgICAgIHRoaXMuY291bnRlckVuZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLnNldHVwU2Vzc2lvbk9ic2VydmVyKCk7XG4gICAgdGhpcy5jaGVja1Nlc3Npb25WYWxpZGl0eSgpO1xuICB9XG5cbiAgc3RheSgpIHtcbiAgICAvL3RoaXMuY2hpbGRNb2RhbC5oaWRlKCk7XG4gICAgdGhpcy5yZXNldCgpO1xuICB9XG4gIFxuXG4gIHNldHVwU2Vzc2lvblRpbWVvdXRPYnNlcnZlcigpe1xuICAgIHRoaXMubHMuZ2V0VXNlckJzKCkuc3Vic2NyaWJlKHVzZXIgPT4ge1xuICAgICAgaWYodXNlcil7XG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZygnW0lkbGVTZXJ2aWNlXSBTdWJzY3JpYmluZyBTZXNzaW9uIE9ic2VydmVyJyk7XG4gICAgICAgIHRoaXMuc2Vzc2lvblZhbGlkaXR5VGlsbCA9IHRoaXMuYWRkU2Vjb25kcyhuZXcgRGF0ZSgpLCB1c2VyLmV4cGlyZXNfaW4pO1xuICAgICAgICB0aGlzLnNldHVwU2Vzc2lvbk9ic2VydmVyKCk7XG4gICAgICB9ZWxzZSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZygnW0lkbGVTZXJ2aWNlXSBVbnN1YnNjcmliaW5nIFNlc3Npb24gT2JzZXJ2ZXInKTtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0dXBTZXNzaW9uT2JzZXJ2ZXIoKXtcbiAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgY29uc3Qgc291cmNlID0gaW50ZXJ2YWwoMTUwMDApO1xuICAgIHRoaXMuc2Vzc2lvblZhbGlkaXR5c3Vic2NyaXB0aW9uID0gc291cmNlLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5jaGVja1Nlc3Npb25WYWxpZGl0eSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmUoKSB7XG4gICAgaWYgKHRoaXMuc2Vzc2lvblZhbGlkaXR5c3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnNlc3Npb25WYWxpZGl0eXN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIGNoZWNrU2Vzc2lvblZhbGlkaXR5KCl7XG4gICAgbGV0IGlzSWRsZSA9IHRoaXMuaWRsZS5pc0lkbGluZygpO1xuICAgIGlmKCFpc0lkbGUpe1xuICAgICAgbGV0IHRva2VuRXhwVGltZSA9IHRoaXMuc2Vzc2lvblZhbGlkaXR5VGlsbDtcbiAgICAgIGxldCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgICAgbGV0IGRpZmZJblNlYyA9IE1hdGguY2VpbCgodG9rZW5FeHBUaW1lLmdldFRpbWUoKSAtIG5vdy5nZXRUaW1lKCkpLzEwMDApO1xuICAgICAgdGhpcy5sb2dnZXIubG9nKCdbSWRsZVNlcnZpY2VdIGRpZmZJblNlYycsIGRpZmZJblNlYyk7XG4gICAgICBpZihkaWZmSW5TZWMgPCAxMjApe1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZygnW0lkbGVTZXJ2aWNlXSBJbml0aWF0aW5nIFJlZnJlc2ggVG9rZW4gYXMgc2Vzc2lvbiBpcyBhY3RpdmUgYW5kIHVzZXIgaXMgYWN0aXZlJyk7XG4gICAgICAgIHRoaXMubHNcbiAgICAgICAgICAgIC5yZWZyZXNoVG9rZW4odGhpcy5scy5nZXRVc2VyKCkucmVmcmVzaF90b2tlbilcbiAgICAgICAgICAgIC50aGVuKGFzeW5jIHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5scy5zZXRVc2VyKHJlcykudGhlbihyZXMgPT4gcmVzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignW0lkbGVTZXJ2aWNlXSBlcnJvciB3aGlsZSByZWZyZXNoaW5nIHRva2VuJywgZXJyKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgIH1lbHNle1xuICAgICAgICB0aGlzLmxvZ2dlci5sb2coJ1tJZGxlU2VydmljZV0gTk9UIEluaXRpYXRpbmcgUmVmcmVzaCBUb2tlbiBhcyBzZXNzaW9uIGlzIGFjdGl2ZScpO1xuICAgICAgfVxuICAgIH1lbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmxvZygnW0lkbGVTZXJ2aWNlXSBOT1QgSW5pdGlhdGluZyBSZWZyZXNoIFRva2VuIGFzIHNlc3Npb24gaXMgaWRsZSBhbmQgaXQgd2lsbCBiZSB0aW1lb3V0IGF1dG9tYXRpY2FsbHkuJyk7XG4gICAgfVxuICB9XG5cbiAgbG9nb3V0KCkge1xuICAgIC8vdGhpcy5jaGlsZE1vZGFsLmhpZGUoKTtcbiAgICB0aGlzLmxzLmxvZ291dCgpO1xuICAgIHRoaXMubmF2Lm5hdmlnYXRlUm9vdCgnL2xvZ2luJyk7XG4gICAgdGhpcy5zaG93U2Vzc2lvblRpbWVvdXRXYXJuaW5nLm5leHQoZmFsc2UpO1xuICAgIGlmKHRoaXMuY291bnRlclN1YnNjcmlwdGlvbil7XG4gICAgICB0aGlzLmNvdW50ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYodGhpcy5jb3VudGVyRW5kU3Vic2NyaXB0aW9uKXtcbiAgICAgIHRoaXMuY291bnRlckVuZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFkZFNlY29uZHMoZGF0ZSA6ICBEYXRlLCBzZWNUb0FkZCA6IG51bWJlcil7XG4gICAgZGF0ZS5zZXRTZWNvbmRzKGRhdGUuZ2V0U2Vjb25kcygpICsgc2VjVG9BZGQpO1xuICAgIHJldHVybiBkYXRlO1xuICB9XG59XG4iXX0=
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';
|
|
3
|
+
import { BehaviorSubject, interval, timer } from 'rxjs';
|
|
4
|
+
import { take } from 'rxjs/operators';
|
|
5
|
+
import { LibConstants } from '../../models/LibConstants';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../logger/logger.service";
|
|
8
|
+
import * as i2 from "@ng-idle/core";
|
|
9
|
+
import * as i3 from "../login/login.service";
|
|
10
|
+
import * as i4 from "@ionic/angular";
|
|
11
|
+
import * as i5 from "@ng-idle/keepalive";
|
|
12
|
+
/**
|
|
13
|
+
* This service will automatically extend user's session by refreshing access_token if the validity of access token is less than 120s and
|
|
14
|
+
* user is not idle on the screen.
|
|
15
|
+
*
|
|
16
|
+
* @author Prerak Tiwari
|
|
17
|
+
*/
|
|
18
|
+
export class IdleService {
|
|
19
|
+
constructor(logger, idle, ls, nav, keepalive) {
|
|
20
|
+
this.logger = logger;
|
|
21
|
+
this.idle = idle;
|
|
22
|
+
this.ls = ls;
|
|
23
|
+
this.nav = nav;
|
|
24
|
+
this.keepalive = keepalive;
|
|
25
|
+
this.timerInterval = interval(1000); //1s
|
|
26
|
+
this.timer = timer(120000); //30s
|
|
27
|
+
this.time = 120;
|
|
28
|
+
this.countDown = this.timerInterval.pipe(take(this.time));
|
|
29
|
+
this.counter = new BehaviorSubject(0);
|
|
30
|
+
this.lastPing = null;
|
|
31
|
+
this.showSessionTimeoutWarning = new BehaviorSubject(false);
|
|
32
|
+
this.logger.log('[IdleService] IdleService Initialized');
|
|
33
|
+
}
|
|
34
|
+
setupIdalTimeout() {
|
|
35
|
+
// sets an idle timeout of 180 seconds
|
|
36
|
+
this.idle.setIdle(LibConstants.idleTime);
|
|
37
|
+
// sets a timeout period of 120 seconds. after 300 seconds of inactivity, the user will be considered timed out.
|
|
38
|
+
this.idle.setTimeout(LibConstants.timeOutPeriod);
|
|
39
|
+
// sets the default interrupts, in this case, things like clicks, scrolls, touches to the document
|
|
40
|
+
this.idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);
|
|
41
|
+
this.idle.onIdleStart.subscribe(() => {
|
|
42
|
+
this.unsubscribe();
|
|
43
|
+
this.showSessionTimeoutWarning.next(true);
|
|
44
|
+
this.counterSubscription = this.countDown.subscribe(val => {
|
|
45
|
+
this.counter.next(this.time - val);
|
|
46
|
+
});
|
|
47
|
+
this.counterEndSubscription = this.timer.subscribe(val => {
|
|
48
|
+
this.logout();
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
// sets the ping interval to 15 seconds
|
|
52
|
+
this.keepalive.interval(15);
|
|
53
|
+
this.keepalive.onPing.subscribe(() => this.lastPing = new Date());
|
|
54
|
+
this.ls.getUserBs().subscribe(user => {
|
|
55
|
+
if (user) {
|
|
56
|
+
this.logger.log('IdleService watching');
|
|
57
|
+
this.sessionValidityTill = this.addSeconds(new Date(), user.expires_in);
|
|
58
|
+
this.idle.watch();
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
this.idle.stop();
|
|
62
|
+
this.logger.log('IdleService stopped');
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
reset() {
|
|
67
|
+
this.idle.watch();
|
|
68
|
+
this.showSessionTimeoutWarning.next(false);
|
|
69
|
+
if (this.counterSubscription) {
|
|
70
|
+
this.counterSubscription.unsubscribe();
|
|
71
|
+
}
|
|
72
|
+
if (this.counterEndSubscription) {
|
|
73
|
+
this.counterEndSubscription.unsubscribe();
|
|
74
|
+
}
|
|
75
|
+
this.setupSessionObserver();
|
|
76
|
+
this.checkSessionValidity();
|
|
77
|
+
}
|
|
78
|
+
stay() {
|
|
79
|
+
//this.childModal.hide();
|
|
80
|
+
this.reset();
|
|
81
|
+
}
|
|
82
|
+
setupSessionTimeoutObserver() {
|
|
83
|
+
this.ls.getUserBs().subscribe(user => {
|
|
84
|
+
if (user) {
|
|
85
|
+
this.logger.log('[IdleService] Subscribing Session Observer');
|
|
86
|
+
this.sessionValidityTill = this.addSeconds(new Date(), user.expires_in);
|
|
87
|
+
this.setupSessionObserver();
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
this.logger.log('[IdleService] Unsubscribing Session Observer');
|
|
91
|
+
this.unsubscribe();
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
setupSessionObserver() {
|
|
96
|
+
this.unsubscribe();
|
|
97
|
+
const source = interval(15000);
|
|
98
|
+
this.sessionValiditysubscription = source.subscribe(val => this.checkSessionValidity());
|
|
99
|
+
}
|
|
100
|
+
unsubscribe() {
|
|
101
|
+
if (this.sessionValiditysubscription) {
|
|
102
|
+
this.sessionValiditysubscription.unsubscribe();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
checkSessionValidity() {
|
|
106
|
+
let isIdle = this.idle.isIdling();
|
|
107
|
+
if (!isIdle) {
|
|
108
|
+
let tokenExpTime = this.sessionValidityTill;
|
|
109
|
+
let now = new Date();
|
|
110
|
+
let diffInSec = Math.ceil((tokenExpTime.getTime() - now.getTime()) / 1000);
|
|
111
|
+
this.logger.log('[IdleService] diffInSec', diffInSec);
|
|
112
|
+
if (diffInSec < 120) {
|
|
113
|
+
this.unsubscribe();
|
|
114
|
+
this.logger.log('[IdleService] Initiating Refresh Token as session is active and user is active');
|
|
115
|
+
this.ls
|
|
116
|
+
.refreshToken(this.ls.getUser().refresh_token)
|
|
117
|
+
.then(async (res) => {
|
|
118
|
+
await this.ls.setUser(res).then(res => res);
|
|
119
|
+
return true;
|
|
120
|
+
})
|
|
121
|
+
.catch(err => {
|
|
122
|
+
this.logger.error('[IdleService] error while refreshing token', err);
|
|
123
|
+
return false;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
this.logger.log('[IdleService] NOT Initiating Refresh Token as session is active');
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
this.logger.log('[IdleService] NOT Initiating Refresh Token as session is idle and it will be timeout automatically.');
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
logout() {
|
|
135
|
+
//this.childModal.hide();
|
|
136
|
+
this.ls.logout();
|
|
137
|
+
this.nav.navigateRoot('/login');
|
|
138
|
+
this.showSessionTimeoutWarning.next(false);
|
|
139
|
+
if (this.counterSubscription) {
|
|
140
|
+
this.counterSubscription.unsubscribe();
|
|
141
|
+
}
|
|
142
|
+
if (this.counterEndSubscription) {
|
|
143
|
+
this.counterEndSubscription.unsubscribe();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
addSeconds(date, secToAdd) {
|
|
147
|
+
date.setSeconds(date.getSeconds() + secToAdd);
|
|
148
|
+
return date;
|
|
149
|
+
}
|
|
150
|
+
static { this.ɵfac = function IdleService_Factory(t) { return new (t || IdleService)(i0.ɵɵinject(i1.LoggerService), i0.ɵɵinject(i2.Idle), i0.ɵɵinject(i3.LoginService), i0.ɵɵinject(i4.NavController), i0.ɵɵinject(i5.Keepalive)); }; }
|
|
151
|
+
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: IdleService, factory: IdleService.ɵfac, providedIn: 'root' }); }
|
|
152
|
+
}
|
|
153
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IdleService, [{
|
|
154
|
+
type: Injectable,
|
|
155
|
+
args: [{
|
|
156
|
+
providedIn: 'root'
|
|
157
|
+
}]
|
|
158
|
+
}], () => [{ type: i1.LoggerService }, { type: i2.Idle }, { type: i3.LoginService }, { type: i4.NavController }, { type: i5.Keepalive }], null); })();
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9pZGxlL2lkbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUUvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBZ0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7QUFJekQ7Ozs7O0dBS0c7QUFJSCxNQUFNLE9BQU8sV0FBVztJQWV0QixZQUFxQixNQUFxQixFQUFTLElBQVUsRUFBVSxFQUFpQixFQUFVLEdBQWtCLEVBQVUsU0FBb0I7UUFBN0gsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUFTLFNBQUksR0FBSixJQUFJLENBQU07UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFlO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFiM0ksa0JBQWEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQ3BDLFVBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNO1FBQ3BDLFNBQUksR0FBRyxHQUFHLENBQUM7UUFDSixjQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3JELFlBQU8sR0FBNkIsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEUs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QUFDO1FBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsSUFBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUM7WUFDMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3hDO1FBQ0QsSUFBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUM7WUFDN0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZLEVBQUUsUUFBaUI7UUFDeEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDOUMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzRFQWhKVSxXQUFXO3VFQUFYLFdBQVcsV0FBWCxXQUFXLG1CQUZWLE1BQU07O2lGQUVQLFdBQVc7Y0FIdkIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IERFRkFVTFRfSU5URVJSVVBUU09VUkNFUywgSWRsZSB9IGZyb20gJ0BuZy1pZGxlL2NvcmUnO1xuaW1wb3J0IHsgS2VlcGFsaXZlIH0gZnJvbSAnQG5nLWlkbGUva2VlcGFsaXZlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbiwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vbG9naW4vbG9naW4uc2VydmljZSc7XG5cbi8qKlxuICogVGhpcyBzZXJ2aWNlIHdpbGwgYXV0b21hdGljYWxseSBleHRlbmQgdXNlcidzIHNlc3Npb24gYnkgcmVmcmVzaGluZyBhY2Nlc3NfdG9rZW4gaWYgdGhlIHZhbGlkaXR5IG9mIGFjY2VzcyB0b2tlbiBpcyBsZXNzIHRoYW4gMTIwcyBhbmQgXG4gKiB1c2VyIGlzIG5vdCBpZGxlIG9uIHRoZSBzY3JlZW4uXG4gKiBcbiAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJZGxlU2VydmljZSB7XG4gIHByaXZhdGUgc2Vzc2lvblZhbGlkaXR5VGlsbCA6IERhdGU7XG4gIHB1YmxpYyB0aW1lckludGVydmFsID0gaW50ZXJ2YWwoMTAwMCk7IC8vMXNcbiAgcHVibGljIHRpbWVyID0gdGltZXIoMTIwMDAwKTsgLy8zMHMgXG4gIHRpbWUgPSAxMjA7XG4gIHB1YmxpYyBjb3VudERvd24gPSB0aGlzLnRpbWVySW50ZXJ2YWwucGlwZSh0YWtlKHRoaXMudGltZSkpO1xuICBwdWJsaWMgY291bnRlciA6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcbiAgbGFzdFBpbmc/OiBEYXRlID0gbnVsbDtcblxuICBjb3VudGVyU3Vic2NyaXB0aW9uIDogU3Vic2NyaXB0aW9uO1xuICBjb3VudGVyRW5kU3Vic2NyaXB0aW9uIDogU3Vic2NyaXB0aW9uO1xuICBzZXNzaW9uVmFsaWRpdHlzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBwdWJsaWMgc2hvd1Nlc3Npb25UaW1lb3V0V2FybmluZyA6IEJlaGF2aW9yU3ViamVjdDxCb29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKCBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSAscHVibGljIGlkbGU6IElkbGUsIHByaXZhdGUgbHMgOiBMb2dpblNlcnZpY2UsIHByaXZhdGUgbmF2OiBOYXZDb250cm9sbGVyLCBwcml2YXRlIGtlZXBhbGl2ZTogS2VlcGFsaXZlKSB7IFxuICAgIHRoaXMubG9nZ2VyLmxvZygnW0lkbGVTZXJ2aWNlXSBJZGxlU2VydmljZSBJbml0aWFsaXplZCcpO1xuICB9XG5cbiAgc2V0dXBJZGFsVGltZW91dCgpe1xuICAgIC8vIHNldHMgYW4gaWRsZSB0aW1lb3V0IG9mIDE4MCBzZWNvbmRzXG4gICAgdGhpcy5pZGxlLnNldElkbGUoTGliQ29uc3RhbnRzLmlkbGVUaW1lKTtcbiAgICAvLyBzZXRzIGEgdGltZW91dCBwZXJpb2Qgb2YgMTIwIHNlY29uZHMuIGFmdGVyIDMwMCBzZWNvbmRzIG9mIGluYWN0aXZpdHksIHRoZSB1c2VyIHdpbGwgYmUgY29uc2lkZXJlZCB0aW1lZCBvdXQuXG4gICAgdGhpcy5pZGxlLnNldFRpbWVvdXQoTGliQ29uc3RhbnRzLnRpbWVPdXRQZXJpb2QpO1xuICAgIC8vIHNldHMgdGhlIGRlZmF1bHQgaW50ZXJydXB0cywgaW4gdGhpcyBjYXNlLCB0aGluZ3MgbGlrZSBjbGlja3MsIHNjcm9sbHMsIHRvdWNoZXMgdG8gdGhlIGRvY3VtZW50XG4gICAgdGhpcy5pZGxlLnNldEludGVycnVwdHMoREVGQVVMVF9JTlRFUlJVUFRTT1VSQ0VTKTtcblxuICAgIHRoaXMuaWRsZS5vbklkbGVTdGFydC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuc2hvd1Nlc3Npb25UaW1lb3V0V2FybmluZy5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmNvdW50ZXJTdWJzY3JpcHRpb24gPSB0aGlzLmNvdW50RG93bi5zdWJzY3JpYmUodmFsID0+e1xuICAgICAgICAgIHRoaXMuY291bnRlci5uZXh0KHRoaXMudGltZSAtIHZhbCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY291bnRlckVuZFN1YnNjcmlwdGlvbiA9IHRoaXMudGltZXIuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICAgICAgdGhpcy5sb2dvdXQoKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICAvLyBzZXRzIHRoZSBwaW5nIGludGVydmFsIHRvIDE1IHNlY29uZHNcbiAgICB0aGlzLmtlZXBhbGl2ZS5pbnRlcnZhbCgxNSk7XG5cbiAgICB0aGlzLmtlZXBhbGl2ZS5vblBpbmcuc3Vic2NyaWJlKCgpID0+IHRoaXMubGFzdFBpbmcgPSBuZXcgRGF0ZSgpKTtcblxuICAgIHRoaXMubHMuZ2V0VXNlckJzKCkuc3Vic2NyaWJlKHVzZXIgPT4ge1xuICAgICAgaWYodXNlcil7XG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZygnSWRsZVNlcnZpY2Ugd2F0Y2hpbmcnKTtcbiAgICAgICAgdGhpcy5zZXNzaW9uVmFsaWRpdHlUaWxsID0gdGhpcy5hZGRTZWNvbmRzKG5ldyBEYXRlKCksIHVzZXIuZXhwaXJlc19pbik7XG4gICAgICAgIHRoaXMuaWRsZS53YXRjaCgpXG4gICAgICB9ZWxzZSB7XG4gICAgICAgIHRoaXMuaWRsZS5zdG9wKCk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZygnSWRsZVNlcnZpY2Ugc3RvcHBlZCcpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy5pZGxlLndhdGNoKCk7XG4gICAgdGhpcy5zaG93U2Vzc2lvblRpbWVvdXRXYXJuaW5nLm5leHQoZmFsc2UpO1xuICAgIGlmKHRoaXMuY291bnRlclN1YnNjcmlwdGlvbil7XG4gICAgICB0aGlzLmNvdW50ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYodGhpcy5jb3VudGVyRW5kU3Vic2NyaXB0aW9uKXtcbiAgICAgIHRoaXMuY291bnRlckVuZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLnNldHVwU2Vzc2lvbk9ic2VydmVyKCk7XG4gICAgdGhpcy5jaGVja1Nlc3Npb25WYWxpZGl0eSgpO1xuICB9XG5cbiAgc3RheSgpIHtcbiAgICAvL3RoaXMuY2hpbGRNb2RhbC5oaWRlKCk7XG4gICAgdGhpcy5yZXNldCgpO1xuICB9XG4gIFxuXG4gIHNldHVwU2Vzc2lvblRpbWVvdXRPYnNlcnZlcigpe1xuICAgIHRoaXMubHMuZ2V0VXNlckJzKCkuc3Vic2NyaWJlKHVzZXIgPT4ge1xuICAgICAgaWYodXNlcil7XG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZygnW0lkbGVTZXJ2aWNlXSBTdWJzY3JpYmluZyBTZXNzaW9uIE9ic2VydmVyJyk7XG4gICAgICAgIHRoaXMuc2Vzc2lvblZhbGlkaXR5VGlsbCA9IHRoaXMuYWRkU2Vjb25kcyhuZXcgRGF0ZSgpLCB1c2VyLmV4cGlyZXNfaW4pO1xuICAgICAgICB0aGlzLnNldHVwU2Vzc2lvbk9ic2VydmVyKCk7XG4gICAgICB9ZWxzZSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZygnW0lkbGVTZXJ2aWNlXSBVbnN1YnNjcmliaW5nIFNlc3Npb24gT2JzZXJ2ZXInKTtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0dXBTZXNzaW9uT2JzZXJ2ZXIoKXtcbiAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgY29uc3Qgc291cmNlID0gaW50ZXJ2YWwoMTUwMDApO1xuICAgIHRoaXMuc2Vzc2lvblZhbGlkaXR5c3Vic2NyaXB0aW9uID0gc291cmNlLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5jaGVja1Nlc3Npb25WYWxpZGl0eSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmUoKSB7XG4gICAgaWYgKHRoaXMuc2Vzc2lvblZhbGlkaXR5c3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnNlc3Npb25WYWxpZGl0eXN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIGNoZWNrU2Vzc2lvblZhbGlkaXR5KCl7XG4gICAgbGV0IGlzSWRsZSA9IHRoaXMuaWRsZS5pc0lkbGluZygpO1xuICAgIGlmKCFpc0lkbGUpe1xuICAgICAgbGV0IHRva2VuRXhwVGltZSA9IHRoaXMuc2Vzc2lvblZhbGlkaXR5VGlsbDtcbiAgICAgIGxldCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgICAgbGV0IGRpZmZJblNlYyA9IE1hdGguY2VpbCgodG9rZW5FeHBUaW1lLmdldFRpbWUoKSAtIG5vdy5nZXRUaW1lKCkpLzEwMDApO1xuICAgICAgdGhpcy5sb2dnZXIubG9nKCdbSWRsZVNlcnZpY2VdIGRpZmZJblNlYycsIGRpZmZJblNlYyk7XG4gICAgICBpZihkaWZmSW5TZWMgPCAxMjApe1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZygnW0lkbGVTZXJ2aWNlXSBJbml0aWF0aW5nIFJlZnJlc2ggVG9rZW4gYXMgc2Vzc2lvbiBpcyBhY3RpdmUgYW5kIHVzZXIgaXMgYWN0aXZlJyk7XG4gICAgICAgIHRoaXMubHNcbiAgICAgICAgICAgIC5yZWZyZXNoVG9rZW4odGhpcy5scy5nZXRVc2VyKCkucmVmcmVzaF90b2tlbilcbiAgICAgICAgICAgIC50aGVuKGFzeW5jIHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5scy5zZXRVc2VyKHJlcykudGhlbihyZXMgPT4gcmVzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignW0lkbGVTZXJ2aWNlXSBlcnJvciB3aGlsZSByZWZyZXNoaW5nIHRva2VuJywgZXJyKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgIH1lbHNle1xuICAgICAgICB0aGlzLmxvZ2dlci5sb2coJ1tJZGxlU2VydmljZV0gTk9UIEluaXRpYXRpbmcgUmVmcmVzaCBUb2tlbiBhcyBzZXNzaW9uIGlzIGFjdGl2ZScpO1xuICAgICAgfVxuICAgIH1lbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmxvZygnW0lkbGVTZXJ2aWNlXSBOT1QgSW5pdGlhdGluZyBSZWZyZXNoIFRva2VuIGFzIHNlc3Npb24gaXMgaWRsZSBhbmQgaXQgd2lsbCBiZSB0aW1lb3V0IGF1dG9tYXRpY2FsbHkuJyk7XG4gICAgfVxuICB9XG5cbiAgbG9nb3V0KCkge1xuICAgIC8vdGhpcy5jaGlsZE1vZGFsLmhpZGUoKTtcbiAgICB0aGlzLmxzLmxvZ291dCgpO1xuICAgIHRoaXMubmF2Lm5hdmlnYXRlUm9vdCgnL2xvZ2luJyk7XG4gICAgdGhpcy5zaG93U2Vzc2lvblRpbWVvdXRXYXJuaW5nLm5leHQoZmFsc2UpO1xuICAgIGlmKHRoaXMuY291bnRlclN1YnNjcmlwdGlvbil7XG4gICAgICB0aGlzLmNvdW50ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYodGhpcy5jb3VudGVyRW5kU3Vic2NyaXB0aW9uKXtcbiAgICAgIHRoaXMuY291bnRlckVuZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFkZFNlY29uZHMoZGF0ZSA6ICBEYXRlLCBzZWNUb0FkZCA6IG51bWJlcil7XG4gICAgZGF0ZS5zZXRTZWNvbmRzKGRhdGUuZ2V0U2Vjb25kcygpICsgc2VjVG9BZGQpO1xuICAgIHJldHVybiBkYXRlO1xuICB9XG59XG4iXX0=
|