@softheon/armature 10.45.4 → 15.0.0
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/assets/styles/material-overrides.scss +103 -88
- package/assets/styles/sof-styles.scss +442 -376
- package/esm2020/lib/alert-banner/alert-banner-api.mjs +10 -0
- package/esm2020/lib/alert-banner/alert-banner.module.mjs +41 -0
- package/esm2020/lib/alert-banner/components/alert-banner/alert-banner.component.mjs +83 -0
- package/esm2020/lib/alert-banner/models/alert-banner-config.mjs +2 -0
- package/esm2020/lib/alert-banner/models/alert-banner-context.mjs +2 -0
- package/esm2020/lib/alert-banner/models/constants.mjs +16 -0
- package/esm2020/lib/alert-banner/services/alert-banner.service.mjs +44 -0
- package/esm2020/lib/armature.module.mjs +176 -0
- package/esm2020/lib/base-components/base-component-api.mjs +9 -0
- package/esm2020/lib/base-components/base-component.module.mjs +93 -0
- package/esm2020/lib/base-components/sof-alert/sof-alert.component.mjs +79 -0
- package/esm2020/lib/base-components/sof-banner/sof-banner.component.mjs +49 -0
- package/esm2020/lib/base-components/sof-button-toggle-group/sof-button-toggle-group.component.mjs +188 -0
- package/esm2020/lib/base-components/sof-modal/sof-modal.component.mjs +58 -0
- package/esm2020/lib/base-components/sof-progress-bar/sof-progress-bar.component.mjs +79 -0
- package/esm2020/lib/component-save-print/components/component-save-print/component-save-print.component.mjs +91 -0
- package/esm2020/lib/component-save-print/services/component-save-print.service.mjs +30 -0
- package/esm2020/lib/component-save-print/sof-ar-component-save-print.module.mjs +32 -0
- package/esm2020/lib/core/client-generated/api/session.service.mjs +242 -0
- package/esm2020/lib/core/client-generated/configuration.mjs +59 -0
- package/esm2020/lib/core/client-generated/encoder.mjs +17 -0
- package/esm2020/lib/core/client-generated/model/applicationUserModel.mjs +20 -0
- package/esm2020/lib/core/client-generated/model/assertedUserModel.mjs +2 -0
- package/esm2020/lib/core/client-generated/model/brandingModel.mjs +2 -0
- package/esm2020/lib/core/client-generated/model/errorModel.mjs +13 -0
- package/esm2020/lib/core/client-generated/model/folderLink.mjs +13 -0
- package/esm2020/lib/core/client-generated/model/identityProfile.mjs +2 -0
- package/esm2020/lib/core/client-generated/model/models.mjs +20 -0
- package/esm2020/lib/core/client-generated/model/oAuthModel.mjs +13 -0
- package/esm2020/lib/core/client-generated/model/preferencesRow.mjs +13 -0
- package/esm2020/lib/core/client-generated/model/rolesRow.mjs +13 -0
- package/esm2020/lib/core/client-generated/model/sessionGetResponseModel.mjs +2 -0
- package/esm2020/lib/core/client-generated/model/sessionPostRequestModel.mjs +2 -0
- package/esm2020/lib/core/client-generated/model/sessionPostResponseModel.mjs +2 -0
- package/esm2020/lib/core/client-generated/model/sessionPutRequestModel.mjs +2 -0
- package/esm2020/lib/core/client-generated/model/sessionPutResponseModel.mjs +2 -0
- package/esm2020/lib/core/client-generated/model/sessionResponseModel.mjs +2 -0
- package/esm2020/lib/core/client-generated/model/settingsProfile.mjs +2 -0
- package/esm2020/lib/core/client-generated/model/themePaletteColorsModel.mjs +13 -0
- package/esm2020/lib/core/client-generated/model/themePaletteModel.mjs +2 -0
- package/esm2020/lib/core/client-generated/model/trackingModel.mjs +13 -0
- package/esm2020/lib/core/client-generated/model/validationRecordsRow.mjs +13 -0
- package/esm2020/lib/core/client-generated/variables.mjs +9 -0
- package/esm2020/lib/core/components/app-template/app-template.component.mjs +250 -0
- package/esm2020/lib/core/functions/guid.mjs +11 -0
- package/esm2020/lib/core/functions/naming-convention.mjs +33 -0
- package/esm2020/lib/core/initializer/abstract-startup-service.mjs +4 -0
- package/esm2020/lib/core/initializer/initializer.service.mjs +189 -0
- package/esm2020/lib/core/interceptors/armature-auth-token-append.interceptor.mjs +73 -0
- package/esm2020/lib/core/models/base-config.mjs +2 -0
- package/esm2020/lib/core/models/constants.mjs +13 -0
- package/esm2020/lib/core/models/data-store-config.mjs +4 -0
- package/esm2020/lib/core/models/header-config.mjs +2 -0
- package/esm2020/lib/core/models/http-verbs.mjs +9 -0
- package/esm2020/lib/core/models/navigation-config.mjs +2 -0
- package/esm2020/lib/core/models/oidc-auth-settings.mjs +2 -0
- package/esm2020/lib/core/models/route-path.mjs +7 -0
- package/esm2020/lib/core/models/session-config.mjs +4 -0
- package/esm2020/lib/core/models/styles.mjs +2 -0
- package/esm2020/lib/core/models/typed-session.mjs +4 -0
- package/esm2020/lib/core/models/user-entity-service-config.mjs +12 -0
- package/esm2020/lib/core/services/authorization.service.mjs +175 -0
- package/esm2020/lib/core/services/banner.service.mjs +43 -0
- package/esm2020/lib/core/services/base-config.service.mjs +32 -0
- package/esm2020/lib/core/services/custom-auth-config.service.mjs +4 -0
- package/esm2020/lib/core/services/default-config.service.mjs +19 -0
- package/esm2020/lib/core/services/session.service.mjs +385 -0
- package/esm2020/lib/core/services/user-entity.service.mjs +140 -0
- package/esm2020/lib/distributed-cache/client-generated/api/api.mjs +4 -0
- package/esm2020/lib/distributed-cache/client-generated/api/cache.service.mjs +213 -0
- package/esm2020/lib/distributed-cache/client-generated/configuration.mjs +59 -0
- package/esm2020/lib/distributed-cache/client-generated/encoder.mjs +17 -0
- package/esm2020/lib/distributed-cache/client-generated/model/cacheExpirationType.mjs +16 -0
- package/esm2020/lib/distributed-cache/client-generated/model/createCacheEntryRequestModel.mjs +2 -0
- package/esm2020/lib/distributed-cache/client-generated/model/models.mjs +5 -0
- package/esm2020/lib/distributed-cache/client-generated/model/retrieveCacheEntryResponseModel.mjs +13 -0
- package/esm2020/lib/distributed-cache/client-generated/model/updateCacheEntryRequestModel.mjs +13 -0
- package/esm2020/lib/distributed-cache/client-generated/variables.mjs +9 -0
- package/esm2020/lib/distributed-cache/distributed-cache-api.mjs +8 -0
- package/esm2020/lib/distributed-cache/distributed-cache.module.mjs +38 -0
- package/esm2020/lib/distributed-cache/models/constants.mjs +3 -0
- package/esm2020/lib/distributed-cache/models/policy-person.mjs +9 -0
- package/esm2020/lib/distributed-cache/services/server-cache.service.mjs +48 -0
- package/esm2020/lib/error/components/error-common/error-common.component.mjs +25 -0
- package/esm2020/lib/error/error-api.mjs +7 -0
- package/esm2020/lib/error/error.module.mjs +31 -0
- package/esm2020/lib/error/models/error-common-config.mjs +8 -0
- package/esm2020/lib/faq/components/faq/faq.component.mjs +40 -0
- package/esm2020/lib/faq/faq-api.mjs +8 -0
- package/esm2020/lib/faq/faq.module.mjs +41 -0
- package/esm2020/lib/faq/models/faq-config.mjs +4 -0
- package/esm2020/lib/faq/models/faq.mjs +8 -0
- package/esm2020/lib/footer/components/footer/footer.component.mjs +25 -0
- package/esm2020/lib/footer/components/site-map/site-map.component.mjs +25 -0
- package/esm2020/lib/footer/footer-api.mjs +10 -0
- package/esm2020/lib/footer/footer.module.mjs +45 -0
- package/esm2020/lib/footer/models/enum/site-map-direction.mjs +15 -0
- package/esm2020/lib/footer/models/footer-config.mjs +4 -0
- package/esm2020/lib/footer/models/site-map-models.mjs +2 -0
- package/esm2020/lib/forms/components/sof-address/sof-address.component.mjs +110 -0
- package/esm2020/lib/forms/directives/alphanumeric/alphanumeric.directive.mjs +78 -0
- package/esm2020/lib/forms/directives/input-trim/input-trim.directive.mjs +110 -0
- package/esm2020/lib/forms/directives/letters-only/letters-only.directive.mjs +72 -0
- package/esm2020/lib/forms/directives/numbers-only/numbers-only.directive.mjs +60 -0
- package/esm2020/lib/forms/forms-api.mjs +19 -0
- package/esm2020/lib/forms/forms.module.mjs +83 -0
- package/esm2020/lib/forms/models/address.mjs +2 -0
- package/esm2020/lib/forms/models/constants.mjs +10 -0
- package/esm2020/lib/forms/models/county.mjs +2 -0
- package/esm2020/lib/forms/models/enums/states.mjs +58 -0
- package/esm2020/lib/forms/pipes/phone-format.pipe.mjs +33 -0
- package/esm2020/lib/forms/services/alert.service.mjs +167 -0
- package/esm2020/lib/header/components/header/header.component.mjs +161 -0
- package/esm2020/lib/header/components/mobile-header-menu/mobile-header-menu.component.mjs +39 -0
- package/esm2020/lib/header/header-api.mjs +12 -0
- package/esm2020/lib/header/header.module.mjs +85 -0
- package/esm2020/lib/header/models/header-auth.settings.mjs +32 -0
- package/esm2020/lib/header/models/header-language.settings.mjs +2 -0
- package/esm2020/lib/header/models/header-theme.settings.mjs +2 -0
- package/esm2020/lib/header/models/header.settings.mjs +2 -0
- package/esm2020/lib/header/models/mobile-header-nav.settings.mjs +2 -0
- package/esm2020/lib/navigation/components/navigation/navigation.component.mjs +555 -0
- package/esm2020/lib/navigation/models/nav-theme.settings.mjs +2 -0
- package/esm2020/lib/navigation/models/nav.settings.mjs +2 -0
- package/esm2020/lib/navigation/models/navigation.mjs +2 -0
- package/esm2020/lib/navigation/navigation-api.mjs +9 -0
- package/esm2020/lib/navigation/navigation.module.mjs +126 -0
- package/esm2020/lib/oauth/models/constants.mjs +6 -0
- package/esm2020/lib/oauth/models/generated/accountManagementAssertionModel.mjs +2 -0
- package/esm2020/lib/oauth/models/generated/accountManagementRefreshRequestModel.mjs +2 -0
- package/esm2020/lib/oauth/models/generated/accountManagementResponseModel.mjs +2 -0
- package/esm2020/lib/oauth/models/generated/coverageDetail.mjs +19 -0
- package/esm2020/lib/oauth/models/generated/finance.mjs +13 -0
- package/esm2020/lib/oauth/models/generated/iSsoResponseModel.mjs +13 -0
- package/esm2020/lib/oauth/models/generated/iSsoResponseModelAccountManagementAssertionModel.mjs +2 -0
- package/esm2020/lib/oauth/models/generated/person.mjs +13 -0
- package/esm2020/lib/oauth/models/generated/policy.mjs +2 -0
- package/esm2020/lib/oauth/models/generated/refreshResponseModel.mjs +13 -0
- package/esm2020/lib/oauth/models/hybrid-saml-oauth-config.mjs +4 -0
- package/esm2020/lib/oauth/oauth-api.mjs +15 -0
- package/esm2020/lib/oauth/oauth.module.mjs +29 -0
- package/esm2020/lib/oauth/services/hybrid-saml-oauth.service.mjs +201 -0
- package/esm2020/lib/rbac/directives/rbac-action.directive.mjs +50 -0
- package/esm2020/lib/rbac/models/access-token-claims.mjs +23 -0
- package/esm2020/lib/rbac/models/constants.mjs +4 -0
- package/esm2020/lib/rbac/models/decoded-access-token.mjs +69 -0
- package/esm2020/lib/rbac/models/rbac-config.mjs +4 -0
- package/esm2020/lib/rbac/models/role-access.mjs +10 -0
- package/esm2020/lib/rbac/rbac-api.mjs +15 -0
- package/esm2020/lib/rbac/rbac.module.mjs +51 -0
- package/esm2020/lib/rbac/services/ar-role-nav.service.mjs +91 -0
- package/esm2020/lib/rbac/services/oauth2-role.service.mjs +114 -0
- package/esm2020/lib/rbac/services/role-nav.service.mjs +4 -0
- package/esm2020/lib/resize-panels/components/resize-panels/resize-panels.component.mjs +156 -0
- package/esm2020/lib/resize-panels/models/resize-event.mjs +2 -0
- package/esm2020/lib/resize-panels/resize-panels-api.mjs +5 -0
- package/esm2020/lib/resize-panels/resize-panels.module.mjs +23 -0
- package/esm2020/lib/rum/models/arm-error.mjs +29 -0
- package/esm2020/lib/rum/models/rum-config.mjs +4 -0
- package/esm2020/lib/rum/rum-api.mjs +10 -0
- package/esm2020/lib/rum/rum.module.mjs +48 -0
- package/esm2020/lib/rum/services/rum.service.mjs +115 -0
- package/esm2020/lib/rum/services/shared-error.service.mjs +45 -0
- package/esm2020/lib/rum/services/softheon-error-handler.service.mjs +76 -0
- package/esm2020/lib/saml/components/redirect-saml/redirect-saml.component.mjs +79 -0
- package/esm2020/lib/saml/models/i-saml-request.mjs +2 -0
- package/esm2020/lib/saml/models/i-saml-response.mjs +2 -0
- package/esm2020/lib/saml/models/redirect-saml-request.mjs +4 -0
- package/esm2020/lib/saml/models/sso-gateway-model.mjs +4 -0
- package/esm2020/lib/saml/saml-api.mjs +15 -0
- package/esm2020/lib/saml/saml.module.mjs +43 -0
- package/esm2020/lib/saml/services/entry/abstract-saml-entry.service.mjs +4 -0
- package/esm2020/lib/saml/services/entry/sso-gateway-entry.service.mjs +36 -0
- package/esm2020/lib/saml/services/send-off/abstract-saml.service.mjs +4 -0
- package/esm2020/lib/saml/services/send-off/saml.service.mjs +39 -0
- package/esm2020/lib/sof-pipe/constants/constants.mjs +17 -0
- package/esm2020/lib/sof-pipe/models/sof-date-pipe-format.mjs +2 -0
- package/esm2020/lib/sof-pipe/pipes/sof-blank/sof-blank.pipe.mjs +39 -0
- package/esm2020/lib/sof-pipe/pipes/sof-date/sof-date.pipe.mjs +59 -0
- package/esm2020/lib/sof-pipe/pipes/sof-ssn/sof-ssn.pipe.mjs +28 -0
- package/esm2020/lib/sof-pipe/sof-pipe.api.mjs +9 -0
- package/esm2020/lib/sof-pipe/sof-pipe.module.mjs +39 -0
- package/esm2020/lib/theming/directives/css-override.directive.mjs +69 -0
- package/esm2020/lib/theming/models/css-override.mjs +11 -0
- package/esm2020/lib/theming/services/theme.service.mjs +167 -0
- package/esm2020/lib/theming/theme-api.mjs +6 -0
- package/esm2020/lib/theming/theme.module.mjs +31 -0
- package/esm2020/public-api.mjs +48 -0
- package/esm2020/softheon-armature.mjs +5 -0
- package/fesm2015/softheon-armature.mjs +6767 -0
- package/fesm2015/softheon-armature.mjs.map +1 -0
- package/fesm2020/softheon-armature.mjs +6829 -0
- package/fesm2020/softheon-armature.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/alert-banner/alert-banner.module.d.ts +9 -0
- package/lib/alert-banner/components/alert-banner/alert-banner.component.d.ts +3 -0
- package/lib/alert-banner/services/alert-banner.service.d.ts +3 -0
- package/lib/armature.module.d.ts +15 -0
- package/lib/base-components/base-component.module.d.ts +24 -0
- package/lib/base-components/sof-alert/sof-alert.component.d.ts +3 -0
- package/lib/base-components/sof-banner/sof-banner.component.d.ts +3 -0
- package/lib/base-components/sof-button-toggle-group/sof-button-toggle-group.component.d.ts +3 -0
- package/lib/base-components/sof-modal/sof-modal.component.d.ts +3 -0
- package/lib/base-components/sof-progress-bar/sof-progress-bar.component.d.ts +3 -0
- package/lib/component-save-print/components/component-save-print/component-save-print.component.d.ts +3 -0
- package/lib/component-save-print/services/component-save-print.service.d.ts +3 -0
- package/lib/component-save-print/sof-ar-component-save-print.module.d.ts +6 -0
- package/lib/core/client-generated/api/session.service.d.ts +3 -11
- package/lib/core/components/app-template/app-template.component.d.ts +3 -0
- package/lib/core/initializer/initializer.service.d.ts +3 -0
- package/lib/core/interceptors/armature-auth-token-append.interceptor.d.ts +3 -0
- package/lib/core/models/http-verbs.d.ts +1 -1
- package/lib/core/services/authorization.service.d.ts +3 -0
- package/lib/core/services/banner.service.d.ts +3 -0
- package/lib/core/services/base-config.service.d.ts +3 -0
- package/lib/core/services/default-config.service.d.ts +3 -0
- package/lib/core/services/session.service.d.ts +3 -0
- package/lib/core/services/user-entity.service.d.ts +3 -0
- package/lib/distributed-cache/client-generated/api/cache.service.d.ts +3 -11
- package/lib/distributed-cache/client-generated/model/cacheExpirationType.d.ts +1 -1
- package/lib/distributed-cache/distributed-cache.module.d.ts +5 -0
- package/lib/distributed-cache/services/server-cache.service.d.ts +3 -0
- package/lib/error/components/error-common/error-common.component.d.ts +3 -0
- package/lib/error/error.module.d.ts +8 -0
- package/lib/faq/components/faq/faq.component.d.ts +3 -0
- package/lib/faq/faq.module.d.ts +12 -0
- package/lib/footer/components/footer/footer.component.d.ts +3 -0
- package/lib/footer/components/site-map/site-map.component.d.ts +3 -0
- package/lib/footer/footer.module.d.ts +11 -0
- package/lib/forms/components/sof-address/sof-address.component.d.ts +3 -0
- package/lib/forms/directives/alphanumeric/alphanumeric.directive.d.ts +3 -0
- package/lib/forms/directives/input-trim/input-trim.directive.d.ts +3 -0
- package/lib/forms/directives/letters-only/letters-only.directive.d.ts +3 -0
- package/lib/forms/directives/numbers-only/numbers-only.directive.d.ts +3 -0
- package/lib/forms/forms.module.d.ts +17 -0
- package/lib/forms/pipes/phone-format.pipe.d.ts +3 -0
- package/lib/forms/services/alert.service.d.ts +3 -0
- package/lib/header/components/header/header.component.d.ts +4 -1
- package/lib/header/components/mobile-header-menu/mobile-header-menu.component.d.ts +3 -0
- package/lib/header/header.module.d.ts +18 -0
- package/lib/navigation/components/navigation/navigation.component.d.ts +6 -3
- package/lib/navigation/navigation.module.d.ts +22 -0
- package/lib/oauth/oauth.module.d.ts +6 -0
- package/lib/oauth/services/hybrid-saml-oauth.service.d.ts +3 -0
- package/lib/rbac/directives/rbac-action.directive.d.ts +3 -0
- package/lib/rbac/rbac.module.d.ts +6 -0
- package/lib/rbac/services/ar-role-nav.service.d.ts +3 -0
- package/lib/rbac/services/oauth2-role.service.d.ts +3 -0
- package/lib/resize-panels/components/resize-panels/resize-panels.component.d.ts +3 -0
- package/lib/resize-panels/resize-panels.module.d.ts +6 -0
- package/lib/rum/rum.module.d.ts +5 -0
- package/lib/rum/services/rum.service.d.ts +3 -0
- package/lib/rum/services/shared-error.service.d.ts +3 -0
- package/lib/rum/services/softheon-error-handler.service.d.ts +3 -0
- package/lib/saml/components/redirect-saml/redirect-saml.component.d.ts +3 -0
- package/lib/saml/saml.module.d.ts +6 -0
- package/lib/saml/services/entry/sso-gateway-entry.service.d.ts +3 -0
- package/lib/saml/services/send-off/saml.service.d.ts +3 -0
- package/lib/sof-pipe/pipes/sof-blank/sof-blank.pipe.d.ts +3 -0
- package/lib/sof-pipe/pipes/sof-date/sof-date.pipe.d.ts +3 -0
- package/lib/sof-pipe/pipes/sof-ssn/sof-ssn.pipe.d.ts +3 -0
- package/lib/sof-pipe/sof-pipe.module.d.ts +8 -0
- package/lib/theming/directives/css-override.directive.d.ts +3 -0
- package/lib/theming/services/theme.service.d.ts +3 -0
- package/lib/theming/theme.module.d.ts +6 -0
- package/package.json +39 -27
- package/bundles/softheon-armature.umd.js +0 -7212
- package/bundles/softheon-armature.umd.js.map +0 -1
- package/bundles/softheon-armature.umd.min.js +0 -16
- package/bundles/softheon-armature.umd.min.js.map +0 -1
- package/esm2015/lib/alert-banner/alert-banner-api.js +0 -10
- package/esm2015/lib/alert-banner/alert-banner.module.js +0 -30
- package/esm2015/lib/alert-banner/components/alert-banner/alert-banner.component.js +0 -78
- package/esm2015/lib/alert-banner/models/alert-banner-config.js +0 -2
- package/esm2015/lib/alert-banner/models/alert-banner-context.js +0 -2
- package/esm2015/lib/alert-banner/models/constants.js +0 -16
- package/esm2015/lib/alert-banner/services/alert-banner.service.js +0 -43
- package/esm2015/lib/armature.module.js +0 -142
- package/esm2015/lib/base-components/base-component-api.js +0 -9
- package/esm2015/lib/base-components/base-component.module.js +0 -61
- package/esm2015/lib/base-components/sof-alert/sof-alert.component.js +0 -67
- package/esm2015/lib/base-components/sof-banner/sof-banner.component.js +0 -44
- package/esm2015/lib/base-components/sof-button-toggle-group/sof-button-toggle-group.component.js +0 -169
- package/esm2015/lib/base-components/sof-modal/sof-modal.component.js +0 -49
- package/esm2015/lib/base-components/sof-progress-bar/sof-progress-bar.component.js +0 -76
- package/esm2015/lib/component-save-print/components/component-save-print/component-save-print.component.js +0 -97
- package/esm2015/lib/component-save-print/services/component-save-print.service.js +0 -29
- package/esm2015/lib/component-save-print/sof-ar-component-save-print.module.js +0 -25
- package/esm2015/lib/core/client-generated/api/session.service.js +0 -235
- package/esm2015/lib/core/client-generated/configuration.js +0 -59
- package/esm2015/lib/core/client-generated/encoder.js +0 -17
- package/esm2015/lib/core/client-generated/model/applicationUserModel.js +0 -20
- package/esm2015/lib/core/client-generated/model/assertedUserModel.js +0 -2
- package/esm2015/lib/core/client-generated/model/brandingModel.js +0 -2
- package/esm2015/lib/core/client-generated/model/errorModel.js +0 -13
- package/esm2015/lib/core/client-generated/model/folderLink.js +0 -13
- package/esm2015/lib/core/client-generated/model/identityProfile.js +0 -2
- package/esm2015/lib/core/client-generated/model/models.js +0 -20
- package/esm2015/lib/core/client-generated/model/oAuthModel.js +0 -13
- package/esm2015/lib/core/client-generated/model/preferencesRow.js +0 -13
- package/esm2015/lib/core/client-generated/model/rolesRow.js +0 -13
- package/esm2015/lib/core/client-generated/model/sessionGetResponseModel.js +0 -2
- package/esm2015/lib/core/client-generated/model/sessionPostRequestModel.js +0 -2
- package/esm2015/lib/core/client-generated/model/sessionPostResponseModel.js +0 -2
- package/esm2015/lib/core/client-generated/model/sessionPutRequestModel.js +0 -2
- package/esm2015/lib/core/client-generated/model/sessionPutResponseModel.js +0 -2
- package/esm2015/lib/core/client-generated/model/sessionResponseModel.js +0 -2
- package/esm2015/lib/core/client-generated/model/settingsProfile.js +0 -2
- package/esm2015/lib/core/client-generated/model/themePaletteColorsModel.js +0 -13
- package/esm2015/lib/core/client-generated/model/themePaletteModel.js +0 -2
- package/esm2015/lib/core/client-generated/model/trackingModel.js +0 -13
- package/esm2015/lib/core/client-generated/model/validationRecordsRow.js +0 -13
- package/esm2015/lib/core/client-generated/variables.js +0 -9
- package/esm2015/lib/core/components/app-template/app-template.component.js +0 -249
- package/esm2015/lib/core/functions/guid.js +0 -11
- package/esm2015/lib/core/functions/naming-convention.js +0 -33
- package/esm2015/lib/core/initializer/abstract-startup-service.js +0 -4
- package/esm2015/lib/core/initializer/initializer.service.js +0 -206
- package/esm2015/lib/core/interceptors/armature-auth-token-append.interceptor.js +0 -75
- package/esm2015/lib/core/models/base-config.js +0 -2
- package/esm2015/lib/core/models/constants.js +0 -13
- package/esm2015/lib/core/models/data-store-config.js +0 -4
- package/esm2015/lib/core/models/header-config.js +0 -2
- package/esm2015/lib/core/models/http-verbs.js +0 -9
- package/esm2015/lib/core/models/navigation-config.js +0 -2
- package/esm2015/lib/core/models/oidc-auth-settings.js +0 -2
- package/esm2015/lib/core/models/route-path.js +0 -7
- package/esm2015/lib/core/models/session-config.js +0 -4
- package/esm2015/lib/core/models/styles.js +0 -2
- package/esm2015/lib/core/models/typed-session.js +0 -4
- package/esm2015/lib/core/models/user-entity-service-config.js +0 -12
- package/esm2015/lib/core/services/authorization.service.js +0 -178
- package/esm2015/lib/core/services/banner.service.js +0 -42
- package/esm2015/lib/core/services/base-config.service.js +0 -31
- package/esm2015/lib/core/services/custom-auth-config.service.js +0 -4
- package/esm2015/lib/core/services/default-config.service.js +0 -18
- package/esm2015/lib/core/services/session.service.js +0 -386
- package/esm2015/lib/core/services/user-entity.service.js +0 -147
- package/esm2015/lib/distributed-cache/client-generated/api/api.js +0 -4
- package/esm2015/lib/distributed-cache/client-generated/api/cache.service.js +0 -206
- package/esm2015/lib/distributed-cache/client-generated/configuration.js +0 -59
- package/esm2015/lib/distributed-cache/client-generated/encoder.js +0 -17
- package/esm2015/lib/distributed-cache/client-generated/model/cacheExpirationType.js +0 -16
- package/esm2015/lib/distributed-cache/client-generated/model/createCacheEntryRequestModel.js +0 -2
- package/esm2015/lib/distributed-cache/client-generated/model/models.js +0 -5
- package/esm2015/lib/distributed-cache/client-generated/model/retrieveCacheEntryResponseModel.js +0 -13
- package/esm2015/lib/distributed-cache/client-generated/model/updateCacheEntryRequestModel.js +0 -13
- package/esm2015/lib/distributed-cache/client-generated/variables.js +0 -9
- package/esm2015/lib/distributed-cache/distributed-cache-api.js +0 -8
- package/esm2015/lib/distributed-cache/distributed-cache.module.js +0 -26
- package/esm2015/lib/distributed-cache/models/constants.js +0 -3
- package/esm2015/lib/distributed-cache/models/policy-person.js +0 -9
- package/esm2015/lib/distributed-cache/services/server-cache.service.js +0 -52
- package/esm2015/lib/error/components/error-common/error-common.component.js +0 -24
- package/esm2015/lib/error/error-api.js +0 -7
- package/esm2015/lib/error/error.module.js +0 -22
- package/esm2015/lib/error/models/error-common-config.js +0 -8
- package/esm2015/lib/faq/components/faq/faq.component.js +0 -35
- package/esm2015/lib/faq/faq-api.js +0 -8
- package/esm2015/lib/faq/faq.module.js +0 -32
- package/esm2015/lib/faq/models/faq-config.js +0 -4
- package/esm2015/lib/faq/models/faq.js +0 -8
- package/esm2015/lib/footer/components/footer/footer.component.js +0 -25
- package/esm2015/lib/footer/components/site-map/site-map.component.js +0 -23
- package/esm2015/lib/footer/footer-api.js +0 -10
- package/esm2015/lib/footer/footer.module.js +0 -30
- package/esm2015/lib/footer/models/enum/site-map-direction.js +0 -15
- package/esm2015/lib/footer/models/footer-config.js +0 -4
- package/esm2015/lib/footer/models/site-map-models.js +0 -2
- package/esm2015/lib/forms/components/sof-address/sof-address.component.js +0 -99
- package/esm2015/lib/forms/directives/alphanumeric/alphanumeric.directive.js +0 -75
- package/esm2015/lib/forms/directives/input-trim/input-trim.directive.js +0 -97
- package/esm2015/lib/forms/directives/letters-only/letters-only.directive.js +0 -68
- package/esm2015/lib/forms/directives/numbers-only/numbers-only.directive.js +0 -58
- package/esm2015/lib/forms/forms-api.js +0 -19
- package/esm2015/lib/forms/forms.module.js +0 -63
- package/esm2015/lib/forms/models/address.js +0 -2
- package/esm2015/lib/forms/models/constants.js +0 -10
- package/esm2015/lib/forms/models/county.js +0 -2
- package/esm2015/lib/forms/models/enums/states.js +0 -58
- package/esm2015/lib/forms/pipes/phone-format.pipe.js +0 -29
- package/esm2015/lib/forms/services/alert.service.js +0 -170
- package/esm2015/lib/header/components/header/header.component.js +0 -157
- package/esm2015/lib/header/components/mobile-header-menu/mobile-header-menu.component.js +0 -37
- package/esm2015/lib/header/header-api.js +0 -12
- package/esm2015/lib/header/header.module.js +0 -51
- package/esm2015/lib/header/models/header-auth.settings.js +0 -32
- package/esm2015/lib/header/models/header-language.settings.js +0 -2
- package/esm2015/lib/header/models/header-theme.settings.js +0 -2
- package/esm2015/lib/header/models/header.settings.js +0 -2
- package/esm2015/lib/header/models/mobile-header-nav.settings.js +0 -2
- package/esm2015/lib/navigation/components/navigation/navigation.component.js +0 -544
- package/esm2015/lib/navigation/models/nav-theme.settings.js +0 -2
- package/esm2015/lib/navigation/models/nav.settings.js +0 -2
- package/esm2015/lib/navigation/models/navigation.js +0 -2
- package/esm2015/lib/navigation/navigation-api.js +0 -9
- package/esm2015/lib/navigation/navigation.module.js +0 -67
- package/esm2015/lib/oauth/models/constants.js +0 -6
- package/esm2015/lib/oauth/models/generated/accountManagementAssertionModel.js +0 -2
- package/esm2015/lib/oauth/models/generated/accountManagementRefreshRequestModel.js +0 -2
- package/esm2015/lib/oauth/models/generated/accountManagementResponseModel.js +0 -2
- package/esm2015/lib/oauth/models/generated/coverageDetail.js +0 -19
- package/esm2015/lib/oauth/models/generated/finance.js +0 -13
- package/esm2015/lib/oauth/models/generated/iSsoResponseModel.js +0 -13
- package/esm2015/lib/oauth/models/generated/iSsoResponseModelAccountManagementAssertionModel.js +0 -2
- package/esm2015/lib/oauth/models/generated/person.js +0 -13
- package/esm2015/lib/oauth/models/generated/policy.js +0 -2
- package/esm2015/lib/oauth/models/generated/refreshResponseModel.js +0 -13
- package/esm2015/lib/oauth/models/hybrid-saml-oauth-config.js +0 -4
- package/esm2015/lib/oauth/oauth-api.js +0 -15
- package/esm2015/lib/oauth/oauth.module.js +0 -20
- package/esm2015/lib/oauth/services/hybrid-saml-oauth.service.js +0 -202
- package/esm2015/lib/rbac/directives/rbac-action.directive.js +0 -52
- package/esm2015/lib/rbac/models/access-token-claims.js +0 -23
- package/esm2015/lib/rbac/models/constants.js +0 -4
- package/esm2015/lib/rbac/models/decoded-access-token.js +0 -69
- package/esm2015/lib/rbac/models/rbac-config.js +0 -4
- package/esm2015/lib/rbac/models/role-access.js +0 -10
- package/esm2015/lib/rbac/rbac-api.js +0 -15
- package/esm2015/lib/rbac/rbac.module.js +0 -43
- package/esm2015/lib/rbac/services/ar-role-nav.service.js +0 -90
- package/esm2015/lib/rbac/services/oauth2-role.service.js +0 -120
- package/esm2015/lib/rbac/services/role-nav.service.js +0 -4
- package/esm2015/lib/resize-panels/components/resize-panels/resize-panels.component.js +0 -142
- package/esm2015/lib/resize-panels/models/resize-event.js +0 -2
- package/esm2015/lib/resize-panels/resize-panels-api.js +0 -5
- package/esm2015/lib/resize-panels/resize-panels.module.js +0 -18
- package/esm2015/lib/rum/models/arm-error.js +0 -29
- package/esm2015/lib/rum/models/rum-config.js +0 -4
- package/esm2015/lib/rum/rum-api.js +0 -10
- package/esm2015/lib/rum/rum.module.js +0 -40
- package/esm2015/lib/rum/services/rum.service.js +0 -118
- package/esm2015/lib/rum/services/shared-error.service.js +0 -46
- package/esm2015/lib/rum/services/softheon-error-handler.service.js +0 -81
- package/esm2015/lib/saml/components/redirect-saml/redirect-saml.component.js +0 -76
- package/esm2015/lib/saml/models/i-saml-request.js +0 -2
- package/esm2015/lib/saml/models/i-saml-response.js +0 -2
- package/esm2015/lib/saml/models/redirect-saml-request.js +0 -4
- package/esm2015/lib/saml/models/sso-gateway-model.js +0 -4
- package/esm2015/lib/saml/saml-api.js +0 -15
- package/esm2015/lib/saml/saml.module.js +0 -36
- package/esm2015/lib/saml/services/entry/abstract-saml-entry.service.js +0 -4
- package/esm2015/lib/saml/services/entry/sso-gateway-entry.service.js +0 -35
- package/esm2015/lib/saml/services/send-off/abstract-saml.service.js +0 -9
- package/esm2015/lib/saml/services/send-off/saml.service.js +0 -41
- package/esm2015/lib/sof-pipe/constants/constants.js +0 -17
- package/esm2015/lib/sof-pipe/models/sof-date-pipe-format.js +0 -2
- package/esm2015/lib/sof-pipe/pipes/sof-blank/sof-blank.pipe.js +0 -33
- package/esm2015/lib/sof-pipe/pipes/sof-date/sof-date.pipe.js +0 -54
- package/esm2015/lib/sof-pipe/pipes/sof-ssn/sof-ssn.pipe.js +0 -24
- package/esm2015/lib/sof-pipe/sof-pipe.api.js +0 -9
- package/esm2015/lib/sof-pipe/sof-pipe.module.js +0 -28
- package/esm2015/lib/theming/directives/css-override.directive.js +0 -67
- package/esm2015/lib/theming/models/css-override.js +0 -11
- package/esm2015/lib/theming/services/theme.service.js +0 -166
- package/esm2015/lib/theming/theme-api.js +0 -6
- package/esm2015/lib/theming/theme.module.js +0 -24
- package/esm2015/public-api.js +0 -48
- package/esm2015/softheon-armature.js +0 -12
- package/fesm2015/softheon-armature.js +0 -6517
- package/fesm2015/softheon-armature.js.map +0 -1
- package/softheon-armature.d.ts +0 -11
- package/softheon-armature.metadata.json +0 -1
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
/** The Resize Panels Component */
|
|
5
|
+
export class ResizePanelsComponent {
|
|
6
|
+
/**
|
|
7
|
+
* Creates an instance of ResizePanelsComponent
|
|
8
|
+
*/
|
|
9
|
+
constructor() {
|
|
10
|
+
/** The panel split direction */
|
|
11
|
+
this.direction = 'vertical';
|
|
12
|
+
/** The panel split position */
|
|
13
|
+
this.splitPosition = 50;
|
|
14
|
+
/** Whether the panels should be resizable */
|
|
15
|
+
this.resizable = true;
|
|
16
|
+
/** The Resize Event */
|
|
17
|
+
this.onResize = new EventEmitter();
|
|
18
|
+
/** The Resize Start Event */
|
|
19
|
+
this.onResizeStart = new EventEmitter();
|
|
20
|
+
/** The Resize End Event */
|
|
21
|
+
this.onResizeEnd = new EventEmitter();
|
|
22
|
+
/** Whether the user is currently resizing */
|
|
23
|
+
this.isResizing = false;
|
|
24
|
+
/** The first panel max height */
|
|
25
|
+
this.firstPanelMaxHeight = 'none';
|
|
26
|
+
/** The second panel max height */
|
|
27
|
+
this.secondPanelMaxHeight = 'none';
|
|
28
|
+
}
|
|
29
|
+
/** Initializes the component */
|
|
30
|
+
ngOnInit() {
|
|
31
|
+
this.initialSplit = this.splitPosition;
|
|
32
|
+
}
|
|
33
|
+
/** On Changes Lifecycle Hook */
|
|
34
|
+
ngOnChanges() {
|
|
35
|
+
if (this.resizable && !!this.initialSplit) {
|
|
36
|
+
this.splitPosition = this.initialSplit;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/** Gets the style for the first panel */
|
|
40
|
+
getFirstPanelStyle() {
|
|
41
|
+
const contentHeight = this.firstPanel?.nativeElement?.children[0]?.getBoundingClientRect().height;
|
|
42
|
+
if (contentHeight < this.firstPanel?.nativeElement?.getBoundingClientRect().height) {
|
|
43
|
+
this.firstPanelMaxHeight = contentHeight + 'px';
|
|
44
|
+
}
|
|
45
|
+
if (contentHeight > this.firstPanel?.nativeElement?.getBoundingClientRect().height) {
|
|
46
|
+
this.firstPanelMaxHeight = 'none';
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
flex: this.splitPosition,
|
|
50
|
+
minWidth: this.direction === 'vertical' ? this.firstPanelMinSize : 'auto',
|
|
51
|
+
minHeight: this.direction === 'horizontal' ? this.firstPanelMinSize : 'auto',
|
|
52
|
+
maxHeight: this.direction === 'horizontal' ? this.firstPanelMaxHeight : 'none'
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/** Gets the style for the second panel */
|
|
56
|
+
getSecondPanelStyle() {
|
|
57
|
+
const contentHeight = this.secondPanel?.nativeElement?.children[0]?.getBoundingClientRect().height;
|
|
58
|
+
if (contentHeight < this.secondPanel?.nativeElement?.getBoundingClientRect().height) {
|
|
59
|
+
this.secondPanelMaxHeight = contentHeight + 'px';
|
|
60
|
+
}
|
|
61
|
+
if (contentHeight > this.secondPanel?.nativeElement?.getBoundingClientRect().height) {
|
|
62
|
+
this.secondPanelMaxHeight = 'none';
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
flex: 100 - this.splitPosition,
|
|
66
|
+
minWidth: this.direction === 'vertical' ? this.secondPanelMinSize : 'auto',
|
|
67
|
+
minHeight: this.direction === 'horizontal' ? this.secondPanelMinSize : 'auto',
|
|
68
|
+
maxHeight: this.direction === 'horizontal' ? this.secondPanelMaxHeight : 'none'
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/** Start resizing */
|
|
72
|
+
startResize() {
|
|
73
|
+
this.onResizeStart.emit({
|
|
74
|
+
splitPosition: this.splitPosition,
|
|
75
|
+
firstPanelSize: this.direction === 'vertical' ? this.firstPanel.nativeElement.clientWidth : this.firstPanel.nativeElement.clientHeight,
|
|
76
|
+
secondPanelSize: this.direction === 'vertical' ? this.secondPanel.nativeElement.clientWidth : this.secondPanel.nativeElement.clientHeight
|
|
77
|
+
});
|
|
78
|
+
this.isResizing = true;
|
|
79
|
+
}
|
|
80
|
+
/** Stop resizing on mouse up */
|
|
81
|
+
stopResize() {
|
|
82
|
+
if (this.isResizing) {
|
|
83
|
+
this.isResizing = false;
|
|
84
|
+
this.onResizeEnd.emit({
|
|
85
|
+
splitPosition: this.splitPosition,
|
|
86
|
+
firstPanelSize: this.direction === 'vertical' ? this.firstPanel.nativeElement.clientWidth : this.firstPanel.nativeElement.clientHeight,
|
|
87
|
+
secondPanelSize: this.direction === 'vertical' ? this.secondPanel.nativeElement.clientWidth : this.secondPanel.nativeElement.clientHeight
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* The mouse move listener
|
|
93
|
+
* @param event the mouse event
|
|
94
|
+
*/
|
|
95
|
+
onMouseMove(event) {
|
|
96
|
+
if (this.isResizing) {
|
|
97
|
+
event.preventDefault();
|
|
98
|
+
event.stopPropagation();
|
|
99
|
+
this.resize(event);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Resize the panels based on the mouse position relative to the container
|
|
104
|
+
* @param event the mouse event
|
|
105
|
+
*/
|
|
106
|
+
resize(event) {
|
|
107
|
+
const containerSize = this.direction === 'vertical' ? this.container.nativeElement.clientWidth : this.container.nativeElement.clientHeight;
|
|
108
|
+
const containerPos = this.direction === 'vertical' ? this.container.nativeElement.getBoundingClientRect().x : this.container.nativeElement.getBoundingClientRect().y;
|
|
109
|
+
const mousePos = this.direction === 'vertical' ? event.x : event.y;
|
|
110
|
+
const pos = ((mousePos - containerPos) / containerSize) * 100;
|
|
111
|
+
this.splitPosition = Math.min(Math.max(pos, 1), 99);
|
|
112
|
+
this.onResize.emit({
|
|
113
|
+
splitPosition: this.splitPosition,
|
|
114
|
+
firstPanelSize: this.direction === 'vertical' ? this.firstPanel.nativeElement.clientWidth : this.firstPanel.nativeElement.clientHeight,
|
|
115
|
+
secondPanelSize: this.direction === 'vertical' ? this.secondPanel.nativeElement.clientWidth : this.secondPanel.nativeElement.clientHeight
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
ResizePanelsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ResizePanelsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
120
|
+
ResizePanelsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: ResizePanelsComponent, selector: "sof-ar-resize-panels", inputs: { direction: "direction", splitPosition: "splitPosition", firstPanelMinSize: "firstPanelMinSize", secondPanelMinSize: "secondPanelMinSize", resizable: "resizable" }, outputs: { onResize: "onResize", onResizeStart: "onResizeStart", onResizeEnd: "onResizeEnd" }, host: { listeners: { "window:mouseup": "stopResize()", "window:mousemove": "onMouseMove($event)" } }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "firstPanel", first: true, predicate: ["firstPanel"], descendants: true }, { propertyName: "secondPanel", first: true, predicate: ["secondPanel"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #container class=\"sof-ar-resize-panels-container\"\r\n [ngClass]=\"{\r\n 'vertical': direction === 'vertical',\r\n 'horizontal': direction === 'horizontal',\r\n 'resizing': isResizing\r\n }\">\r\n\r\n <!-- First Panel -->\r\n <div [ngStyle]=\"getFirstPanelStyle()\" #firstPanel class=\"sof-ar-resize-panels-panel-content\">\r\n <ng-content select=\"[sof-ar-resize-panel-first]\"></ng-content>\r\n </div>\r\n\r\n <!-- Drag Handle / Border -->\r\n <div class=\"sof-ar-resize-panels-border\" [ngClass]=\"direction\" *ngIf=\"resizable\">\r\n <div class=\"sof-ar-resize-panels-drag-handle\" (mousedown)=\"startResize()\" \r\n [ngClass]=\"{ \r\n 'vertical': direction === 'vertical',\r\n 'horizontal': direction === 'horizontal',\r\n 'resizing': isResizing\r\n }\">\r\n </div>\r\n </div>\r\n \r\n <!-- Second Panel -->\r\n <div [ngStyle]=\"getSecondPanelStyle()\" #secondPanel class=\"sof-ar-resize-panels-panel-content\">\r\n <ng-content select=\"[sof-ar-resize-panel-second]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".sof-ar-resize-panels-container{width:100%;height:100%;display:flex}.sof-ar-resize-panels-container.vertical{flex-direction:row}.sof-ar-resize-panels-container.horizontal{flex-direction:column}.sof-ar-resize-panels-container.vertical.resizing{cursor:ew-resize}.sof-ar-resize-panels-container.horizontal.resizing{cursor:ns-resize}.sof-ar-resize-panels-drag-handle{background-color:transparent;position:relative;transition:background-color .1s linear;transition-delay:0s;z-index:1000}.sof-ar-resize-panels-drag-handle:hover,.sof-ar-resize-panels-drag-handle.resizing{background-color:var(--primary-color-500-parts);transition-delay:.25s}.sof-ar-resize-panels-drag-handle.vertical:hover{cursor:ew-resize}.sof-ar-resize-panels-drag-handle.horizontal:hover{cursor:ns-resize}.sof-ar-resize-panels-drag-handle.vertical{width:5px;height:100%;right:2px}.sof-ar-resize-panels-drag-handle.horizontal{width:100%;height:5px;bottom:2px}.sof-ar-resize-panels-border{background-color:#000}.sof-ar-resize-panels-border.vertical{width:1px}.sof-ar-resize-panels-border.horizontal{height:1px}.sof-ar-resize-panels-panel-content{overflow:auto}.sof-ar-resize-panels-panel-content:empty{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ResizePanelsComponent, decorators: [{
|
|
122
|
+
type: Component,
|
|
123
|
+
args: [{ selector: 'sof-ar-resize-panels', template: "<div #container class=\"sof-ar-resize-panels-container\"\r\n [ngClass]=\"{\r\n 'vertical': direction === 'vertical',\r\n 'horizontal': direction === 'horizontal',\r\n 'resizing': isResizing\r\n }\">\r\n\r\n <!-- First Panel -->\r\n <div [ngStyle]=\"getFirstPanelStyle()\" #firstPanel class=\"sof-ar-resize-panels-panel-content\">\r\n <ng-content select=\"[sof-ar-resize-panel-first]\"></ng-content>\r\n </div>\r\n\r\n <!-- Drag Handle / Border -->\r\n <div class=\"sof-ar-resize-panels-border\" [ngClass]=\"direction\" *ngIf=\"resizable\">\r\n <div class=\"sof-ar-resize-panels-drag-handle\" (mousedown)=\"startResize()\" \r\n [ngClass]=\"{ \r\n 'vertical': direction === 'vertical',\r\n 'horizontal': direction === 'horizontal',\r\n 'resizing': isResizing\r\n }\">\r\n </div>\r\n </div>\r\n \r\n <!-- Second Panel -->\r\n <div [ngStyle]=\"getSecondPanelStyle()\" #secondPanel class=\"sof-ar-resize-panels-panel-content\">\r\n <ng-content select=\"[sof-ar-resize-panel-second]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".sof-ar-resize-panels-container{width:100%;height:100%;display:flex}.sof-ar-resize-panels-container.vertical{flex-direction:row}.sof-ar-resize-panels-container.horizontal{flex-direction:column}.sof-ar-resize-panels-container.vertical.resizing{cursor:ew-resize}.sof-ar-resize-panels-container.horizontal.resizing{cursor:ns-resize}.sof-ar-resize-panels-drag-handle{background-color:transparent;position:relative;transition:background-color .1s linear;transition-delay:0s;z-index:1000}.sof-ar-resize-panels-drag-handle:hover,.sof-ar-resize-panels-drag-handle.resizing{background-color:var(--primary-color-500-parts);transition-delay:.25s}.sof-ar-resize-panels-drag-handle.vertical:hover{cursor:ew-resize}.sof-ar-resize-panels-drag-handle.horizontal:hover{cursor:ns-resize}.sof-ar-resize-panels-drag-handle.vertical{width:5px;height:100%;right:2px}.sof-ar-resize-panels-drag-handle.horizontal{width:100%;height:5px;bottom:2px}.sof-ar-resize-panels-border{background-color:#000}.sof-ar-resize-panels-border.vertical{width:1px}.sof-ar-resize-panels-border.horizontal{height:1px}.sof-ar-resize-panels-panel-content{overflow:auto}.sof-ar-resize-panels-panel-content:empty{display:none}\n"] }]
|
|
124
|
+
}], ctorParameters: function () { return []; }, propDecorators: { direction: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], splitPosition: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], firstPanelMinSize: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}], secondPanelMinSize: [{
|
|
131
|
+
type: Input
|
|
132
|
+
}], resizable: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], onResize: [{
|
|
135
|
+
type: Output
|
|
136
|
+
}], onResizeStart: [{
|
|
137
|
+
type: Output
|
|
138
|
+
}], onResizeEnd: [{
|
|
139
|
+
type: Output
|
|
140
|
+
}], container: [{
|
|
141
|
+
type: ViewChild,
|
|
142
|
+
args: ['container']
|
|
143
|
+
}], firstPanel: [{
|
|
144
|
+
type: ViewChild,
|
|
145
|
+
args: ['firstPanel']
|
|
146
|
+
}], secondPanel: [{
|
|
147
|
+
type: ViewChild,
|
|
148
|
+
args: ['secondPanel']
|
|
149
|
+
}], stopResize: [{
|
|
150
|
+
type: HostListener,
|
|
151
|
+
args: ['window:mouseup']
|
|
152
|
+
}], onMouseMove: [{
|
|
153
|
+
type: HostListener,
|
|
154
|
+
args: ['window:mousemove', ['$event']]
|
|
155
|
+
}] } });
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLXBhbmVscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL3Jlc2l6ZS1wYW5lbHMvY29tcG9uZW50cy9yZXNpemUtcGFuZWxzL3Jlc2l6ZS1wYW5lbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9yZXNpemUtcGFuZWxzL2NvbXBvbmVudHMvcmVzaXplLXBhbmVscy9yZXNpemUtcGFuZWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBR3BILGtDQUFrQztBQU1sQyxNQUFNLE9BQU8scUJBQXFCO0lBK0NoQzs7T0FFRztJQUNIO1FBaERBLGdDQUFnQztRQUNoQixjQUFTLEdBQThCLFVBQVUsQ0FBQztRQUVsRSwrQkFBK0I7UUFDZixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQVEzQyw2Q0FBNkM7UUFDN0IsY0FBUyxHQUFZLElBQUksQ0FBQztRQUUxQyx1QkFBdUI7UUFDTixhQUFRLEdBQThCLElBQUksWUFBWSxFQUFlLENBQUM7UUFFdkYsNkJBQTZCO1FBQ1osa0JBQWEsR0FBOEIsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUU1RiwyQkFBMkI7UUFDVixnQkFBVyxHQUE4QixJQUFJLFlBQVksRUFBZSxDQUFDO1FBVzFGLDZDQUE2QztRQUN0QyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRW5DLGlDQUFpQztRQUN6Qix3QkFBbUIsR0FBRyxNQUFNLENBQUM7UUFFckMsa0NBQWtDO1FBQzFCLHlCQUFvQixHQUFHLE1BQU0sQ0FBQztJQVF0QixDQUFDO0lBRWpCLGdDQUFnQztJQUN6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QUFVLENBQUMsYUFBYSxDQUFDLFlBQVk7WUFDdEksZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFlBQVk7U0FDMUksQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7a0hBMUpVLHFCQUFxQjtzR0FBckIscUJBQXFCLG91QkNUbEMsb3BDQTRCQTsyRkRuQmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLHNCQUFzQjswRUFPaEIsU0FBUztzQkFBeEIsS0FBSztnQkFHVSxhQUFhO3NCQUE1QixLQUFLO2dCQUdVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFHVSxrQkFBa0I7c0JBQWpDLEtBQUs7Z0JBR1UsU0FBUztzQkFBeEIsS0FBSztnQkFHVyxRQUFRO3NCQUF4QixNQUFNO2dCQUdVLGFBQWE7c0JBQTdCLE1BQU07Z0JBR1UsV0FBVztzQkFBM0IsTUFBTTtnQkFHeUIsU0FBUztzQkFBeEMsU0FBUzt1QkFBQyxXQUFXO2dCQUdXLFVBQVU7c0JBQTFDLFNBQVM7dUJBQUMsWUFBWTtnQkFHVyxXQUFXO3NCQUE1QyxTQUFTO3VCQUFDLGFBQWE7Z0JBaUZqQixVQUFVO3NCQURoQixZQUFZO3VCQUFDLGdCQUFnQjtnQkFpQnZCLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZXNpemVFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9yZXNpemUtZXZlbnQnO1xyXG5cclxuLyoqIFRoZSBSZXNpemUgUGFuZWxzIENvbXBvbmVudCAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NvZi1hci1yZXNpemUtcGFuZWxzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVzaXplLXBhbmVscy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmVzaXplLXBhbmVscy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXNpemVQYW5lbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvKiogVGhlIHBhbmVsIHNwbGl0IGRpcmVjdGlvbiAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXJlY3Rpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcgPSAndmVydGljYWwnO1xyXG5cclxuICAvKiogVGhlIHBhbmVsIHNwbGl0IHBvc2l0aW9uICovXHJcbiAgQElucHV0KCkgcHVibGljIHNwbGl0UG9zaXRpb246IG51bWJlciA9IDUwO1xyXG5cclxuICAvKiogVGhlIG1pbiB3aWR0aCBvciBoZWlnaHQgb2YgdGhlIGZpcnN0IHBhbmVsICovXHJcbiAgQElucHV0KCkgcHVibGljIGZpcnN0UGFuZWxNaW5TaXplOiBzdHJpbmc7XHJcblxyXG4gIC8qKiBUaGUgbWluIHdpZHRoIG9yIGhlaWdodCBvZiB0aGUgc2Vjb25kIHBhbmVsICovXHJcbiAgQElucHV0KCkgcHVibGljIHNlY29uZFBhbmVsTWluU2l6ZTogc3RyaW5nO1xyXG5cclxuICAvKiogV2hldGhlciB0aGUgcGFuZWxzIHNob3VsZCBiZSByZXNpemFibGUgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgcmVzaXphYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqIFRoZSBSZXNpemUgRXZlbnQgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIG9uUmVzaXplOiBFdmVudEVtaXR0ZXI8UmVzaXplRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXNpemVFdmVudD4oKTtcclxuXHJcbiAgLyoqIFRoZSBSZXNpemUgU3RhcnQgRXZlbnQgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIG9uUmVzaXplU3RhcnQ6IEV2ZW50RW1pdHRlcjxSZXNpemVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlc2l6ZUV2ZW50PigpO1xyXG4gIFxyXG4gIC8qKiBUaGUgUmVzaXplIEVuZCBFdmVudCAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25SZXNpemVFbmQ6IEV2ZW50RW1pdHRlcjxSZXNpemVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlc2l6ZUV2ZW50PigpO1xyXG5cclxuICAvKiogVGhlIGNvbnRhaW5lciBlbGVtZW50ICovXHJcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJykgcHJpdmF0ZSBjb250YWluZXI6IEVsZW1lbnRSZWY7XHJcblxyXG4gIC8qKiBUaGUgZmlyc3QgcGFuZWwgKi9cclxuICBAVmlld0NoaWxkKCdmaXJzdFBhbmVsJykgcHJpdmF0ZSBmaXJzdFBhbmVsOiBFbGVtZW50UmVmO1xyXG5cclxuICAvKiogVGhlIHNlY29uZCBwYW5lbCAqL1xyXG4gIEBWaWV3Q2hpbGQoJ3NlY29uZFBhbmVsJykgcHJpdmF0ZSBzZWNvbmRQYW5lbDogRWxlbWVudFJlZjtcclxuXHJcbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaXMgY3VycmVudGx5IHJlc2l6aW5nICovXHJcbiAgcHVibGljIGlzUmVzaXppbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFRoZSBmaXJzdCBwYW5lbCBtYXggaGVpZ2h0ICovXHJcbiAgcHJpdmF0ZSBmaXJzdFBhbmVsTWF4SGVpZ2h0ID0gJ25vbmUnO1xyXG4gIFxyXG4gIC8qKiBUaGUgc2Vjb25kIHBhbmVsIG1heCBoZWlnaHQgKi9cclxuICBwcml2YXRlIHNlY29uZFBhbmVsTWF4SGVpZ2h0ID0gJ25vbmUnO1xyXG5cclxuICAvKiogVGhlIGluaXRpYWwgc3BsaXQgcG9zaXRpb24gKi9cclxuICBwcml2YXRlIGluaXRpYWxTcGxpdDogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIFJlc2l6ZVBhbmVsc0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIC8qKiBJbml0aWFsaXplcyB0aGUgY29tcG9uZW50ICovXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0aWFsU3BsaXQgPSB0aGlzLnNwbGl0UG9zaXRpb247XHJcbiAgfVxyXG5cclxuICAvKiogT24gQ2hhbmdlcyBMaWZlY3ljbGUgSG9vayAqL1xyXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJlc2l6YWJsZSAmJiAhIXRoaXMuaW5pdGlhbFNwbGl0KSB7XHJcbiAgICAgIHRoaXMuc3BsaXRQb3NpdGlvbiA9IHRoaXMuaW5pdGlhbFNwbGl0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIEdldHMgdGhlIHN0eWxlIGZvciB0aGUgZmlyc3QgcGFuZWwgKi9cclxuICBwdWJsaWMgZ2V0Rmlyc3RQYW5lbFN0eWxlKCk6IGFueSB7XHJcbiAgICBjb25zdCBjb250ZW50SGVpZ2h0ID0gdGhpcy5maXJzdFBhbmVsPy5uYXRpdmVFbGVtZW50Py5jaGlsZHJlblswXT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xyXG5cclxuICAgIGlmIChjb250ZW50SGVpZ2h0IDwgdGhpcy5maXJzdFBhbmVsPy5uYXRpdmVFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQpIHtcclxuICAgICAgdGhpcy5maXJzdFBhbmVsTWF4SGVpZ2h0ID0gY29udGVudEhlaWdodCArICdweCc7XHJcbiAgICB9XHJcbiAgICBpZiAoY29udGVudEhlaWdodCA+IHRoaXMuZmlyc3RQYW5lbD8ubmF0aXZlRWxlbWVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0KSB7XHJcbiAgICAgIHRoaXMuZmlyc3RQYW5lbE1heEhlaWdodCA9ICdub25lJztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBmbGV4OiB0aGlzLnNwbGl0UG9zaXRpb24sXHJcbiAgICAgIG1pbldpZHRoOiB0aGlzLmRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJyA/IHRoaXMuZmlyc3RQYW5lbE1pblNpemUgOiAnYXV0bycsXHJcbiAgICAgIG1pbkhlaWdodDogdGhpcy5kaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJyA/IHRoaXMuZmlyc3RQYW5lbE1pblNpemUgOiAnYXV0bycsXHJcbiAgICAgIG1heEhlaWdodDogdGhpcy5kaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJyA/IHRoaXMuZmlyc3RQYW5lbE1heEhlaWdodCA6ICdub25lJ1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIEdldHMgdGhlIHN0eWxlIGZvciB0aGUgc2Vjb25kIHBhbmVsICovXHJcbiAgcHVibGljIGdldFNlY29uZFBhbmVsU3R5bGUoKTogYW55IHtcclxuICAgIGNvbnN0IGNvbnRlbnRIZWlnaHQgPSB0aGlzLnNlY29uZFBhbmVsPy5uYXRpdmVFbGVtZW50Py5jaGlsZHJlblswXT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xyXG5cclxuICAgIGlmIChjb250ZW50SGVpZ2h0IDwgdGhpcy5zZWNvbmRQYW5lbD8ubmF0aXZlRWxlbWVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0KSB7XHJcbiAgICAgIHRoaXMuc2Vjb25kUGFuZWxNYXhIZWlnaHQgPSBjb250ZW50SGVpZ2h0ICsgJ3B4JztcclxuICAgIH1cclxuICAgIGlmIChjb250ZW50SGVpZ2h0ID4gdGhpcy5zZWNvbmRQYW5lbD8ubmF0aXZlRWxlbWVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0KSB7XHJcbiAgICAgIHRoaXMuc2Vjb25kUGFuZWxNYXhIZWlnaHQgPSAnbm9uZSc7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZmxleDogMTAwIC0gdGhpcy5zcGxpdFBvc2l0aW9uLFxyXG4gICAgICBtaW5XaWR0aDogdGhpcy5kaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcgPyB0aGlzLnNlY29uZFBhbmVsTWluU2l6ZSA6ICdhdXRvJyxcclxuICAgICAgbWluSGVpZ2h0OiB0aGlzLmRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnID8gdGhpcy5zZWNvbmRQYW5lbE1pblNpemUgOiAnYXV0bycsXHJcbiAgICAgIG1heEhlaWdodDogdGhpcy5kaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJyA/IHRoaXMuc2Vjb25kUGFuZWxNYXhIZWlnaHQgOiAnbm9uZSdcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBTdGFydCByZXNpemluZyAqL1xyXG4gIHB1YmxpYyBzdGFydFJlc2l6ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMub25SZXNpemVTdGFydC5lbWl0KHtcclxuICAgICAgc3BsaXRQb3NpdGlvbjogdGhpcy5zcGxpdFBvc2l0aW9uLFxyXG4gICAgICBmaXJzdFBhbmVsU2l6ZTogdGhpcy5kaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcgPyB0aGlzLmZpcnN0UGFuZWwubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCA6IHRoaXMuZmlyc3RQYW5lbC5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCxcclxuICAgICAgc2Vjb25kUGFuZWxTaXplOiB0aGlzLmRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJyA/IHRoaXMuc2Vjb25kUGFuZWwubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCA6IHRoaXMuc2Vjb25kUGFuZWwubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHRcclxuICAgIH0pO1xyXG4gICAgdGhpcy5pc1Jlc2l6aW5nID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKiBTdG9wIHJlc2l6aW5nIG9uIG1vdXNlIHVwICovXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93Om1vdXNldXAnKVxyXG4gIHB1YmxpYyBzdG9wUmVzaXplKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNSZXNpemluZykge1xyXG4gICAgICB0aGlzLmlzUmVzaXppbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5vblJlc2l6ZUVuZC5lbWl0KHtcclxuICAgICAgICBzcGxpdFBvc2l0aW9uOiB0aGlzLnNwbGl0UG9zaXRpb24sXHJcbiAgICAgICAgZmlyc3RQYW5lbFNpemU6IHRoaXMuZGlyZWN0aW9uID09PSAndmVydGljYWwnID8gdGhpcy5maXJzdFBhbmVsLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggOiB0aGlzLmZpcnN0UGFuZWwubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQsXHJcbiAgICAgICAgc2Vjb25kUGFuZWxTaXplOiB0aGlzLmRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJyA/IHRoaXMuc2Vjb25kUGFuZWwubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCA6IHRoaXMuc2Vjb25kUGFuZWwubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHRcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUaGUgbW91c2UgbW92ZSBsaXN0ZW5lclxyXG4gICAqIEBwYXJhbSBldmVudCB0aGUgbW91c2UgZXZlbnRcclxuICAgKi9cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bW91c2Vtb3ZlJywgWyckZXZlbnQnXSkgXHJcbiAgcHVibGljIG9uTW91c2VNb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc1Jlc2l6aW5nKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB0aGlzLnJlc2l6ZShldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXNpemUgdGhlIHBhbmVscyBiYXNlZCBvbiB0aGUgbW91c2UgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIGNvbnRhaW5lclxyXG4gICAqIEBwYXJhbSBldmVudCB0aGUgbW91c2UgZXZlbnRcclxuICAgKi9cclxuICBwcml2YXRlIHJlc2l6ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgY29udGFpbmVyU2l6ZSA9IHRoaXMuZGlyZWN0aW9uID09PSAndmVydGljYWwnID8gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCA6IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgY29uc3QgY29udGFpbmVyUG9zID0gdGhpcy5kaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcgPyB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnggOiB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnk7XHJcbiAgICBjb25zdCBtb3VzZVBvcyA9IHRoaXMuZGlyZWN0aW9uID09PSAndmVydGljYWwnID8gZXZlbnQueCA6IGV2ZW50Lnk7XHJcbiAgICBjb25zdCBwb3MgPSAoKG1vdXNlUG9zIC0gY29udGFpbmVyUG9zKSAvIGNvbnRhaW5lclNpemUpICogMTAwO1xyXG4gICAgdGhpcy5zcGxpdFBvc2l0aW9uID0gTWF0aC5taW4oTWF0aC5tYXgocG9zLCAxKSwgOTkpO1xyXG5cclxuICAgIHRoaXMub25SZXNpemUuZW1pdCh7XHJcbiAgICAgIHNwbGl0UG9zaXRpb246IHRoaXMuc3BsaXRQb3NpdGlvbixcclxuICAgICAgZmlyc3RQYW5lbFNpemU6IHRoaXMuZGlyZWN0aW9uID09PSAndmVydGljYWwnID8gdGhpcy5maXJzdFBhbmVsLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggOiB0aGlzLmZpcnN0UGFuZWwubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQsXHJcbiAgICAgIHNlY29uZFBhbmVsU2l6ZTogdGhpcy5kaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcgPyB0aGlzLnNlY29uZFBhbmVsLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggOiB0aGlzLnNlY29uZFBhbmVsLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0XHJcbiAgICB9KTtcclxuICB9XHJcbn0iLCI8ZGl2ICNjb250YWluZXIgY2xhc3M9XCJzb2YtYXItcmVzaXplLXBhbmVscy1jb250YWluZXJcIlxyXG4gICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICd2ZXJ0aWNhbCc6IGRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJyxcclxuICAgICAgICAnaG9yaXpvbnRhbCc6IGRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnLFxyXG4gICAgICAgICdyZXNpemluZyc6IGlzUmVzaXppbmdcclxuICAgIH1cIj5cclxuXHJcbiAgICA8IS0tIEZpcnN0IFBhbmVsIC0tPlxyXG4gICAgPGRpdiBbbmdTdHlsZV09XCJnZXRGaXJzdFBhbmVsU3R5bGUoKVwiICNmaXJzdFBhbmVsIGNsYXNzPVwic29mLWFyLXJlc2l6ZS1wYW5lbHMtcGFuZWwtY29udGVudFwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzb2YtYXItcmVzaXplLXBhbmVsLWZpcnN0XVwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gRHJhZyBIYW5kbGUgLyBCb3JkZXIgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwic29mLWFyLXJlc2l6ZS1wYW5lbHMtYm9yZGVyXCIgW25nQ2xhc3NdPVwiZGlyZWN0aW9uXCIgKm5nSWY9XCJyZXNpemFibGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic29mLWFyLXJlc2l6ZS1wYW5lbHMtZHJhZy1oYW5kbGVcIiAobW91c2Vkb3duKT1cInN0YXJ0UmVzaXplKClcIiBcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAgXHJcbiAgICAgICAgICAgICAgICAndmVydGljYWwnOiBkaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcsXHJcbiAgICAgICAgICAgICAgICAnaG9yaXpvbnRhbCc6IGRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnLFxyXG4gICAgICAgICAgICAgICAgJ3Jlc2l6aW5nJzogaXNSZXNpemluZ1xyXG4gICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgPCEtLSBTZWNvbmQgUGFuZWwgLS0+XHJcbiAgICA8ZGl2IFtuZ1N0eWxlXT1cImdldFNlY29uZFBhbmVsU3R5bGUoKVwiICNzZWNvbmRQYW5lbCBjbGFzcz1cInNvZi1hci1yZXNpemUtcGFuZWxzLXBhbmVsLWNvbnRlbnRcIj5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc29mLWFyLXJlc2l6ZS1wYW5lbC1zZWNvbmRdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9yZXNpemUtcGFuZWxzL21vZGVscy9yZXNpemUtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBUaGUgUmVzaXplIEV2ZW50IEludGVyZmFjZSAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFJlc2l6ZUV2ZW50IHtcclxuICAgIHNwbGl0UG9zaXRpb246IG51bWJlcjtcclxuICAgIGZpcnN0UGFuZWxTaXplOiBudW1iZXI7XHJcbiAgICBzZWNvbmRQYW5lbFNpemU6IG51bWJlcjtcclxufSJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Public API surface for components */
|
|
2
|
+
export * from './resize-panels.module';
|
|
3
|
+
// components
|
|
4
|
+
export * from './components/resize-panels/resize-panels.component';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLXBhbmVscy1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL3Jlc2l6ZS1wYW5lbHMvcmVzaXplLXBhbmVscy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0NBQXdDO0FBQ3hDLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsYUFBYTtBQUNiLGNBQWMsb0RBQW9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUHVibGljIEFQSSBzdXJmYWNlIGZvciBjb21wb25lbnRzICovXHJcbmV4cG9ydCAqIGZyb20gJy4vcmVzaXplLXBhbmVscy5tb2R1bGUnO1xyXG5cclxuLy8gY29tcG9uZW50c1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcmVzaXplLXBhbmVscy9yZXNpemUtcGFuZWxzLmNvbXBvbmVudCc7XHJcblxyXG4vLyBtb2RlbHNcclxuZXhwb3J0IHsgUmVzaXplRXZlbnQgfSBmcm9tICcuL21vZGVscy9yZXNpemUtZXZlbnQnOyJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ResizePanelsComponent } from './components/resize-panels/resize-panels.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/** The Resize Panels Module */
|
|
6
|
+
export class ArmatureResizePanelsModule {
|
|
7
|
+
}
|
|
8
|
+
ArmatureResizePanelsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ArmatureResizePanelsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
ArmatureResizePanelsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.5", ngImport: i0, type: ArmatureResizePanelsModule, declarations: [ResizePanelsComponent], imports: [CommonModule], exports: [ResizePanelsComponent] });
|
|
10
|
+
ArmatureResizePanelsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ArmatureResizePanelsModule, imports: [CommonModule] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ArmatureResizePanelsModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
declarations: [ResizePanelsComponent],
|
|
15
|
+
imports: [
|
|
16
|
+
CommonModule
|
|
17
|
+
],
|
|
18
|
+
exports: [
|
|
19
|
+
ResizePanelsComponent
|
|
20
|
+
]
|
|
21
|
+
}]
|
|
22
|
+
}] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLXBhbmVscy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL3Jlc2l6ZS1wYW5lbHMvcmVzaXplLXBhbmVscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7O0FBRzNGLCtCQUErQjtBQVUvQixNQUFNLE9BQU8sMEJBQTBCOzt1SEFBMUIsMEJBQTBCO3dIQUExQiwwQkFBMEIsaUJBUnJCLHFCQUFxQixhQUVuQyxZQUFZLGFBR1oscUJBQXFCO3dIQUdaLDBCQUEwQixZQU5uQyxZQUFZOzJGQU1ILDBCQUEwQjtrQkFUdEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBRSxxQkFBcUIsQ0FBRTtvQkFDdkMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHFCQUFxQjtxQkFDdEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSZXNpemVQYW5lbHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVzaXplLXBhbmVscy9yZXNpemUtcGFuZWxzLmNvbXBvbmVudCc7XHJcblxyXG5cclxuLyoqIFRoZSBSZXNpemUgUGFuZWxzIE1vZHVsZSAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogWyBSZXNpemVQYW5lbHNDb21wb25lbnQgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFJlc2l6ZVBhbmVsc0NvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFybWF0dXJlUmVzaXplUGFuZWxzTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** The armature error class */
|
|
2
|
+
export class ArmError {
|
|
3
|
+
/**
|
|
4
|
+
* Constructs the component
|
|
5
|
+
* @param error The error
|
|
6
|
+
* @param route The route
|
|
7
|
+
* @param userId The user ID
|
|
8
|
+
* @param populateOriginalError True if keeping the original error
|
|
9
|
+
*/
|
|
10
|
+
constructor(err, route, userId, populateOriginalError = true) {
|
|
11
|
+
/** The secondary errors */
|
|
12
|
+
this.secondaryErrors = [];
|
|
13
|
+
/** The original secondary error */
|
|
14
|
+
this.originalSecondaryErrors = [];
|
|
15
|
+
let errStr = err.toString();
|
|
16
|
+
if (errStr === '[object Object]') {
|
|
17
|
+
errStr = JSON.stringify(err);
|
|
18
|
+
}
|
|
19
|
+
this.message = errStr;
|
|
20
|
+
this.stack = err.stack;
|
|
21
|
+
this.route = route;
|
|
22
|
+
this.userId = userId;
|
|
23
|
+
this.name = err.name;
|
|
24
|
+
if (populateOriginalError) {
|
|
25
|
+
this.originalError = err;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJtLWVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9ydW0vbW9kZWxzL2FybS1lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsTUFBTSxPQUFPLFFBQVE7SUFrQmpCOzs7Ozs7T0FNRztJQUNILFlBQVksR0FBVSxFQUFFLEtBQWMsRUFBRSxNQUFlLEVBQUUsd0JBQWlDLElBQUk7UUFkOUYsMkJBQTJCO1FBQ3BCLG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztRQUc3QyxtQ0FBbUM7UUFDNUIsNEJBQXVCLEdBQWlCLEVBQUUsQ0FBQztRQVU5QyxJQUFJLE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsSUFBSSxNQUFNLEtBQUssaUJBQWlCLEVBQUU7WUFDOUIsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDaEM7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ3JCLElBQUkscUJBQXFCLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7U0FDNUI7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogVGhlIGFybWF0dXJlIGVycm9yIGNsYXNzICovXHJcbmV4cG9ydCBjbGFzcyBBcm1FcnJvciB7XHJcbiAgICAvKiogVGhlIG1lc3NhZ2UgKi9cclxuICAgIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgICAvKiogVGhlIGVycm9yIG5hbWUgKi9cclxuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XHJcbiAgICAvKiogVGhlIHN0YWNrIHRyYWNlICovXHJcbiAgICBwdWJsaWMgc3RhY2s6IHN0cmluZztcclxuICAgIC8qKiBUaGUgY3VycmVudCBhcHBsaWNhdGlvbiByb3V0ZSAqL1xyXG4gICAgcHVibGljIHJvdXRlOiBzdHJpbmc7XHJcbiAgICAvKiogVGhlIHVzZXIgc2Vzc2lvbiBJZCAqL1xyXG4gICAgcHVibGljIHVzZXJJZDogc3RyaW5nO1xyXG4gICAgLyoqIFRoZSBzZWNvbmRhcnkgZXJyb3JzICovXHJcbiAgICBwdWJsaWMgc2Vjb25kYXJ5RXJyb3JzOiBBcnJheTxBcm1FcnJvcj4gPSBbXTtcclxuICAgIC8qKiBUaGUgb3JpZ2luYWwgZXJyb3IgKi9cclxuICAgIHB1YmxpYyBvcmlnaW5hbEVycm9yOiBFcnJvcjtcclxuICAgIC8qKiBUaGUgb3JpZ2luYWwgc2Vjb25kYXJ5IGVycm9yICovXHJcbiAgICBwdWJsaWMgb3JpZ2luYWxTZWNvbmRhcnlFcnJvcnM6IEFycmF5PEVycm9yPiA9IFtdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RydWN0cyB0aGUgY29tcG9uZW50XHJcbiAgICAgKiBAcGFyYW0gZXJyb3IgVGhlIGVycm9yXHJcbiAgICAgKiBAcGFyYW0gcm91dGUgVGhlIHJvdXRlXHJcbiAgICAgKiBAcGFyYW0gdXNlcklkIFRoZSB1c2VyIElEXHJcbiAgICAgKiBAcGFyYW0gcG9wdWxhdGVPcmlnaW5hbEVycm9yIFRydWUgaWYga2VlcGluZyB0aGUgb3JpZ2luYWwgZXJyb3JcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoZXJyOiBFcnJvciwgcm91dGU/OiBzdHJpbmcsIHVzZXJJZD86IHN0cmluZywgcG9wdWxhdGVPcmlnaW5hbEVycm9yOiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgICAgIGxldCBlcnJTdHIgPSBlcnIudG9TdHJpbmcoKTtcclxuICAgICAgICBpZiAoZXJyU3RyID09PSAnW29iamVjdCBPYmplY3RdJykge1xyXG4gICAgICAgICAgICBlcnJTdHIgPSBKU09OLnN0cmluZ2lmeShlcnIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gZXJyU3RyO1xyXG4gICAgICAgIHRoaXMuc3RhY2sgPSBlcnIuc3RhY2s7XHJcbiAgICAgICAgdGhpcy5yb3V0ZSA9IHJvdXRlO1xyXG4gICAgICAgIHRoaXMudXNlcklkID0gdXNlcklkO1xyXG4gICAgICAgIHRoaXMubmFtZSA9IGVyci5uYW1lO1xyXG4gICAgICAgIGlmIChwb3B1bGF0ZU9yaWdpbmFsRXJyb3IpIHtcclxuICAgICAgICAgICAgdGhpcy5vcmlnaW5hbEVycm9yID0gZXJyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** The rum configurations */
|
|
2
|
+
export class RumConfig {
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvcnVtL21vZGVscy9ydW0tY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLDZCQUE2QjtBQUM3QixNQUFNLE9BQU8sU0FBUztDQVNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKiogVGhlIHJ1bSBjb25maWd1cmF0aW9ucyAqL1xyXG5leHBvcnQgY2xhc3MgUnVtQ29uZmlnIHtcclxuICAgIC8qKiBUaGUgc2VydmljZSBOYW1lICovXHJcbiAgICBwdWJsaWMgc2VydmljZU5hbWU6IHN0cmluZztcclxuXHJcbiAgICAvKiogVGhlIHNlcnZlciB1cmwgKi9cclxuICAgIHB1YmxpYyBzZXJ2ZXJVcmw6IHN0cmluZztcclxuXHJcbiAgICAvKiogdGhlIHNlY29uZGFyeSBlcnJvciB3aW5kb3cgaW4gTWlsbGlzZWNvbmRzICovXHJcbiAgICBwdWJsaWMgc2Vjb25kYXJ5RXJyb3JXaW5kb3dNczogbnVtYmVyO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Public api service the rum modules */
|
|
2
|
+
export * from './rum.module';
|
|
3
|
+
// services
|
|
4
|
+
export * from './services/rum.service';
|
|
5
|
+
export * from './services/softheon-error-handler.service';
|
|
6
|
+
export * from './services/shared-error.service';
|
|
7
|
+
// models
|
|
8
|
+
export * from './models/rum-config';
|
|
9
|
+
export * from './models/arm-error';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvcnVtL3J1bS1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBQXlDO0FBQ3pDLGNBQWMsY0FBYyxDQUFDO0FBRTdCLFdBQVc7QUFDWCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxTQUFTO0FBQ1QsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFB1YmxpYyBhcGkgc2VydmljZSB0aGUgcnVtIG1vZHVsZXMgKi9cclxuZXhwb3J0ICogZnJvbSAnLi9ydW0ubW9kdWxlJztcclxuXHJcbi8vIHNlcnZpY2VzXHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvcnVtLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3NvZnRoZW9uLWVycm9yLWhhbmRsZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvc2hhcmVkLWVycm9yLnNlcnZpY2UnO1xyXG5cclxuLy8gbW9kZWxzXHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3J1bS1jb25maWcnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9hcm0tZXJyb3InO1xyXG5cclxuIl19
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ErrorHandler, Inject, Injector, NgModule } from '@angular/core';
|
|
2
|
+
import { RumService } from './services/rum.service';
|
|
3
|
+
import { SharedErrorService } from './services/shared-error.service';
|
|
4
|
+
import { RouterModule } from '@angular/router';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/** The real user monitoring */
|
|
7
|
+
export class RumModule {
|
|
8
|
+
/**
|
|
9
|
+
* Constructs the module
|
|
10
|
+
* @param injector The injector
|
|
11
|
+
*/
|
|
12
|
+
constructor(injector) {
|
|
13
|
+
// Hack: The generic error handler causes problems so we use the service directly
|
|
14
|
+
const handler = injector.get(ErrorHandler);
|
|
15
|
+
const original = console.error;
|
|
16
|
+
console.error = (error) => {
|
|
17
|
+
let e = error;
|
|
18
|
+
if (typeof (error) === 'string') {
|
|
19
|
+
e = new Error(error);
|
|
20
|
+
}
|
|
21
|
+
handler.handleError(error);
|
|
22
|
+
original(error);
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
RumModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RumModule, deps: [{ token: Injector }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
27
|
+
RumModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.5", ngImport: i0, type: RumModule, imports: [RouterModule] });
|
|
28
|
+
RumModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RumModule, providers: [
|
|
29
|
+
RumService,
|
|
30
|
+
SharedErrorService
|
|
31
|
+
], imports: [RouterModule] });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RumModule, decorators: [{
|
|
33
|
+
type: NgModule,
|
|
34
|
+
args: [{
|
|
35
|
+
declarations: [],
|
|
36
|
+
imports: [
|
|
37
|
+
RouterModule
|
|
38
|
+
],
|
|
39
|
+
providers: [
|
|
40
|
+
RumService,
|
|
41
|
+
SharedErrorService
|
|
42
|
+
]
|
|
43
|
+
}]
|
|
44
|
+
}], ctorParameters: function () { return [{ type: i0.Injector, decorators: [{
|
|
45
|
+
type: Inject,
|
|
46
|
+
args: [Injector]
|
|
47
|
+
}] }]; } });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvcnVtL3J1bS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUUvQywrQkFBK0I7QUFXL0IsTUFBTSxPQUFPLFNBQVM7SUFDcEI7OztPQUdHO0lBQ0gsWUFBOEIsUUFBa0I7UUFDOUMsaUZBQWlGO1FBQ2pGLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDM0MsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUMvQixPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ2QsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUSxFQUFFO2dCQUMvQixDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdEI7WUFDRCxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNCLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUM7SUFDSixDQUFDOztzR0FqQlUsU0FBUyxrQkFLQSxRQUFRO3VHQUxqQixTQUFTLFlBUGxCLFlBQVk7dUdBT0gsU0FBUyxhQUxUO1FBQ1QsVUFBVTtRQUNWLGtCQUFrQjtLQUNuQixZQUxDLFlBQVk7MkZBT0gsU0FBUztrQkFWckIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULFVBQVU7d0JBQ1Ysa0JBQWtCO3FCQUNuQjtpQkFDRjs7MEJBTWMsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3QsIEluamVjdG9yLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSdW1TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9ydW0uc2VydmljZSc7XHJcbmltcG9ydCB7IFNoYXJlZEVycm9yU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2hhcmVkLWVycm9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuLyoqIFRoZSByZWFsIHVzZXIgbW9uaXRvcmluZyAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW10sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgUm91dGVyTW9kdWxlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIFJ1bVNlcnZpY2UsXHJcbiAgICBTaGFyZWRFcnJvclNlcnZpY2VcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSdW1Nb2R1bGUge1xyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdHMgdGhlIG1vZHVsZVxyXG4gICAqIEBwYXJhbSBpbmplY3RvciBUaGUgaW5qZWN0b3JcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEluamVjdG9yKSBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIC8vIEhhY2s6IFRoZSBnZW5lcmljIGVycm9yIGhhbmRsZXIgY2F1c2VzIHByb2JsZW1zIHNvIHdlIHVzZSB0aGUgc2VydmljZSBkaXJlY3RseVxyXG4gICAgY29uc3QgaGFuZGxlciA9IGluamVjdG9yLmdldChFcnJvckhhbmRsZXIpO1xyXG4gICAgY29uc3Qgb3JpZ2luYWwgPSBjb25zb2xlLmVycm9yO1xyXG4gICAgY29uc29sZS5lcnJvciA9IChlcnJvcikgPT4ge1xyXG4gICAgICBsZXQgZSA9IGVycm9yO1xyXG4gICAgICBpZiAodHlwZW9mIChlcnJvcikgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgZSA9IG5ldyBFcnJvcihlcnJvcik7XHJcbiAgICAgIH1cclxuICAgICAgaGFuZGxlci5oYW5kbGVFcnJvcihlcnJvcik7XHJcbiAgICAgIG9yaWdpbmFsKGVycm9yKTtcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { NavigationEnd, NavigationError, NavigationStart } from '@angular/router';
|
|
3
|
+
import { Subscription } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/router";
|
|
6
|
+
import * as i2 from "../../core/services/session.service";
|
|
7
|
+
/** The rum service */
|
|
8
|
+
export class RumService {
|
|
9
|
+
/**
|
|
10
|
+
* Constructs the service
|
|
11
|
+
* @param router The router
|
|
12
|
+
* @param session The session
|
|
13
|
+
*/
|
|
14
|
+
constructor(router, session) {
|
|
15
|
+
this.router = router;
|
|
16
|
+
this.session = session;
|
|
17
|
+
/** The service subscription */
|
|
18
|
+
this.serviceSub = new Subscription();
|
|
19
|
+
}
|
|
20
|
+
/** Life cycle hook for service destruction */
|
|
21
|
+
ngOnDestroy() {
|
|
22
|
+
this.serviceSub.unsubscribe();
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Initializes rum
|
|
26
|
+
* @param config The config
|
|
27
|
+
* @param user The user info
|
|
28
|
+
*/
|
|
29
|
+
initializeRum(config, user) {
|
|
30
|
+
// TODO: Rum support for angular 10+ not supported
|
|
31
|
+
// const apm = this.apmService.init({
|
|
32
|
+
// serviceName: config.serviceName,
|
|
33
|
+
// serverUrl: config.serverUrl,
|
|
34
|
+
// });
|
|
35
|
+
// apm.setUserContext({
|
|
36
|
+
// username: !!user ? user.userName : this.session.sessionId,
|
|
37
|
+
// id: !!user ? user.userId : this.session.sessionId
|
|
38
|
+
// });
|
|
39
|
+
// this.apmService.apm = apm;
|
|
40
|
+
// this.initRouteTracking();
|
|
41
|
+
}
|
|
42
|
+
/** initializes route tracking */
|
|
43
|
+
initRouteTracking() {
|
|
44
|
+
let transaction;
|
|
45
|
+
let span;
|
|
46
|
+
this.serviceSub.add(this.router.events.subscribe(event => {
|
|
47
|
+
if (event instanceof NavigationStart) {
|
|
48
|
+
const name = event.url;
|
|
49
|
+
// TODO: no elastic support for angular 10
|
|
50
|
+
// transaction = this.apmService.apm.startTransaction(name, 'route-change', {
|
|
51
|
+
// managed: true,
|
|
52
|
+
// canReuse: false
|
|
53
|
+
// });
|
|
54
|
+
// span = transaction.startSpan(name, 'router');
|
|
55
|
+
}
|
|
56
|
+
else if (event instanceof NavigationError) {
|
|
57
|
+
span.end();
|
|
58
|
+
transaction && transaction.end();
|
|
59
|
+
}
|
|
60
|
+
else if (event instanceof NavigationEnd) {
|
|
61
|
+
if (!transaction) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const route = this.router.routerState.root.firstChild;
|
|
65
|
+
if (route) {
|
|
66
|
+
let child = route;
|
|
67
|
+
let path = `/ ${child.routeConfig.path}`;
|
|
68
|
+
while (child) {
|
|
69
|
+
child = child.firstChild;
|
|
70
|
+
if (child && child.routeConfig) {
|
|
71
|
+
const currentPath = child.routeConfig.path;
|
|
72
|
+
if (currentPath) {
|
|
73
|
+
path = `${path}/${currentPath}`;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
transaction.name = path;
|
|
78
|
+
}
|
|
79
|
+
span.end();
|
|
80
|
+
transaction.end();
|
|
81
|
+
}
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Gets a custom event
|
|
86
|
+
* @param data The data
|
|
87
|
+
* @param type The even type
|
|
88
|
+
*/
|
|
89
|
+
getCustomEvent(data, type) {
|
|
90
|
+
// TODO: Elastic support for angular 10+
|
|
91
|
+
// const transaction = this.apmService.apm.startTransaction(data, type, {
|
|
92
|
+
// managed: true,
|
|
93
|
+
// canReuse: false
|
|
94
|
+
// });
|
|
95
|
+
// const span = transaction.startSpan(data, type);
|
|
96
|
+
// return { transaction, span };
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Ends the custom event
|
|
100
|
+
* @param event The event
|
|
101
|
+
*/
|
|
102
|
+
endCustomEvent(event) {
|
|
103
|
+
event.span.end();
|
|
104
|
+
event.transaction.end();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
RumService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RumService, deps: [{ token: i1.Router }, { token: i2.SessionService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
108
|
+
RumService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RumService, providedIn: 'root' });
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RumService, decorators: [{
|
|
110
|
+
type: Injectable,
|
|
111
|
+
args: [{
|
|
112
|
+
providedIn: 'root'
|
|
113
|
+
}]
|
|
114
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.SessionService }]; } });
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL3J1bS9zZXJ2aWNlcy9ydW0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFJcEMsc0JBQXNCO0FBSXRCLE1BQU0sT0FBTyxVQUFVO0lBS3JCOzs7O09BSUc7SUFDSCxZQUNtQixNQUFjLEVBQ2QsT0FBdUI7UUFEdkIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBVjFDLCtCQUErQjtRQUNkLGVBQVUsR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQVUzRCxDQUFDO0lBRUwsOENBQThDO0lBQ3ZDLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGFBQWEsQ0FBQyxNQUFpQixFQUFFLElBQTJDO1FBQ2pGLGtEQUFrRDtRQUNsRCxxQ0FBcUM7UUFDckMscUNBQXFDO1FBQ3JDLGlDQUFpQztRQUNqQyxNQUFNO1FBQ04sdUJBQXVCO1FBQ3ZCLCtEQUErRDtRQUMvRCxzREFBc0Q7UUFDdEQsTUFBTTtRQUNOLDZCQUE2QjtRQUM3Qiw0QkFBNEI7SUFDOUIsQ0FBQztJQUVELGlDQUFpQztJQUN6QixpQkFBaUI7UUFDdkIsSUFBSSxXQUFXLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUM7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25DLElBQUksS0FBSyxZQUFZLGVBQWUsRUFBRTtnQkFDcEMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztnQkFDdkIsMENBQTBDO2dCQUMxQyw2RUFBNkU7Z0JBQzdFLG1CQUFtQjtnQkFDbkIsb0JBQW9CO2dCQUNwQixNQUFNO2dCQUNOLGdEQUFnRDthQUNqRDtpQkFFSSxJQUFJLEtBQUssWUFBWSxlQUFlLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDWCxXQUFXLElBQUksV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ2xDO2lCQUVJLElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLFdBQVcsRUFBRTtvQkFDaEIsT0FBTztpQkFDUjtnQkFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUV0RCxJQUFJLEtBQUssRUFBRTtvQkFDVCxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7b0JBQ2xCLElBQUksSUFBSSxHQUFHLEtBQUssS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFFekMsT0FBTyxLQUFLLEVBQUU7d0JBQ1osS0FBSyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7d0JBQ3pCLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7NEJBRTlCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDOzRCQUMzQyxJQUFJLFdBQVcsRUFBRTtnQ0FDZixJQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksV0FBVyxFQUFFLENBQUM7NkJBQ2pDO3lCQUVGO3FCQUNGO29CQUNELFdBQVcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2lCQUN6QjtnQkFDRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ1gsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ25CO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksY0FBYyxDQUFDLElBQVMsRUFBRSxJQUFZO1FBQzNDLHdDQUF3QztRQUN4Qyx5RUFBeUU7UUFDekUsbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUNwQixNQUFNO1FBQ04sa0RBQWtEO1FBRWxELGdDQUFnQztJQUNsQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksY0FBYyxDQUFDLEtBQXNDO1FBQzFELEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDakIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDOzt1R0FqSFUsVUFBVTsyR0FBVixVQUFVLGNBRlQsTUFBTTsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25FcnJvciwgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFJ1bUNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9ydW0tY29uZmlnJztcclxuXHJcbi8qKiBUaGUgcnVtIHNlcnZpY2UgKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUnVtU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIC8qKiBUaGUgc2VydmljZSBzdWJzY3JpcHRpb24gKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2VTdWI6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29uc3RydWN0cyB0aGUgc2VydmljZVxyXG4gICAqIEBwYXJhbSByb3V0ZXIgVGhlIHJvdXRlclxyXG4gICAqIEBwYXJhbSBzZXNzaW9uIFRoZSBzZXNzaW9uXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uOiBTZXNzaW9uU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIC8qKiBMaWZlIGN5Y2xlIGhvb2sgZm9yIHNlcnZpY2UgZGVzdHJ1Y3Rpb24gKi9cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2VTdWIudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemVzIHJ1bVxyXG4gICAqIEBwYXJhbSBjb25maWcgVGhlIGNvbmZpZ1xyXG4gICAqIEBwYXJhbSB1c2VyIFRoZSB1c2VyIGluZm9cclxuICAgKi9cclxuICBwdWJsaWMgaW5pdGlhbGl6ZVJ1bShjb25maWc6IFJ1bUNvbmZpZywgdXNlcj86IHsgdXNlck5hbWU6IHN0cmluZywgdXNlcklkOiBzdHJpbmcgfSk6IHZvaWQge1xyXG4gICAgLy8gVE9ETzogUnVtIHN1cHBvcnQgZm9yIGFuZ3VsYXIgMTArIG5vdCBzdXBwb3J0ZWRcclxuICAgIC8vIGNvbnN0IGFwbSA9IHRoaXMuYXBtU2VydmljZS5pbml0KHtcclxuICAgIC8vICAgc2VydmljZU5hbWU6IGNvbmZpZy5zZXJ2aWNlTmFtZSxcclxuICAgIC8vICAgc2VydmVyVXJsOiBjb25maWcuc2VydmVyVXJsLFxyXG4gICAgLy8gfSk7XHJcbiAgICAvLyBhcG0uc2V0VXNlckNvbnRleHQoe1xyXG4gICAgLy8gICB1c2VybmFtZTogISF1c2VyID8gdXNlci51c2VyTmFtZSA6IHRoaXMuc2Vzc2lvbi5zZXNzaW9uSWQsXHJcbiAgICAvLyAgIGlkOiAhIXVzZXIgPyB1c2VyLnVzZXJJZCA6IHRoaXMuc2Vzc2lvbi5zZXNzaW9uSWRcclxuICAgIC8vIH0pO1xyXG4gICAgLy8gdGhpcy5hcG1TZXJ2aWNlLmFwbSA9IGFwbTtcclxuICAgIC8vIHRoaXMuaW5pdFJvdXRlVHJhY2tpbmcoKTtcclxuICB9XHJcblxyXG4gIC8qKiBpbml0aWFsaXplcyByb3V0ZSB0cmFja2luZyAqL1xyXG4gIHByaXZhdGUgaW5pdFJvdXRlVHJhY2tpbmcoKTogdm9pZCB7XHJcbiAgICBsZXQgdHJhbnNhY3Rpb247XHJcbiAgICBsZXQgc3BhbjtcclxuICAgIHRoaXMuc2VydmljZVN1Yi5hZGQoXHJcbiAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xyXG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xyXG4gICAgICAgICAgY29uc3QgbmFtZSA9IGV2ZW50LnVybDtcclxuICAgICAgICAgIC8vIFRPRE86IG5vIGVsYXN0aWMgc3VwcG9ydCBmb3IgYW5ndWxhciAxMFxyXG4gICAgICAgICAgLy8gdHJhbnNhY3Rpb24gPSB0aGlzLmFwbVNlcnZpY2UuYXBtLnN0YXJ0VHJhbnNhY3Rpb24obmFtZSwgJ3JvdXRlLWNoYW5nZScsIHtcclxuICAgICAgICAgIC8vICAgbWFuYWdlZDogdHJ1ZSxcclxuICAgICAgICAgIC8vICAgY2FuUmV1c2U6IGZhbHNlXHJcbiAgICAgICAgICAvLyB9KTtcclxuICAgICAgICAgIC8vIHNwYW4gPSB0cmFuc2FjdGlvbi5zdGFydFNwYW4obmFtZSwgJ3JvdXRlcicpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRXJyb3IpIHtcclxuICAgICAgICAgIHNwYW4uZW5kKCk7XHJcbiAgICAgICAgICB0cmFuc2FjdGlvbiAmJiB0cmFuc2FjdGlvbi5lbmQoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgICAgICAgaWYgKCF0cmFuc2FjdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb25zdCByb3V0ZSA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnJvb3QuZmlyc3RDaGlsZDtcclxuXHJcbiAgICAgICAgICBpZiAocm91dGUpIHtcclxuICAgICAgICAgICAgbGV0IGNoaWxkID0gcm91dGU7XHJcbiAgICAgICAgICAgIGxldCBwYXRoID0gYC8gJHtjaGlsZC5yb3V0ZUNvbmZpZy5wYXRofWA7XHJcblxyXG4gICAgICAgICAgICB3aGlsZSAoY2hpbGQpIHtcclxuICAgICAgICAgICAgICBjaGlsZCA9IGNoaWxkLmZpcnN0Q2hpbGQ7XHJcbiAgICAgICAgICAgICAgaWYgKGNoaWxkICYmIGNoaWxkLnJvdXRlQ29uZmlnKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFBhdGggPSBjaGlsZC5yb3V0ZUNvbmZpZy5wYXRoO1xyXG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRQYXRoKSB7XHJcbiAgICAgICAgICAgICAgICAgIHBhdGggPSBgJHtwYXRofS8ke2N1cnJlbnRQYXRofWA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2FjdGlvbi5uYW1lID0gcGF0aDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHNwYW4uZW5kKCk7XHJcbiAgICAgICAgICB0cmFuc2FjdGlvbi5lbmQoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyBhIGN1c3RvbSBldmVudFxyXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBkYXRhXHJcbiAgICogQHBhcmFtIHR5cGUgVGhlIGV2ZW4gdHlwZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRDdXN0b21FdmVudChkYXRhOiBhbnksIHR5cGU6IHN0cmluZyk6IGFueSB7XHJcbiAgICAvLyBUT0RPOiBFbGFzdGljIHN1cHBvcnQgZm9yIGFuZ3VsYXIgMTArXHJcbiAgICAvLyBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuYXBtU2VydmljZS5hcG0uc3RhcnRUcmFuc2FjdGlvbihkYXRhLCB0eXBlLCB7XHJcbiAgICAvLyAgIG1hbmFnZWQ6IHRydWUsXHJcbiAgICAvLyAgIGNhblJldXNlOiBmYWxzZVxyXG4gICAgLy8gfSk7XHJcbiAgICAvLyBjb25zdCBzcGFuID0gdHJhbnNhY3Rpb24uc3RhcnRTcGFuKGRhdGEsIHR5cGUpO1xyXG5cclxuICAgIC8vIHJldHVybiB7IHRyYW5zYWN0aW9uLCBzcGFuIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbmRzIHRoZSBjdXN0b20gZXZlbnRcclxuICAgKiBAcGFyYW0gZXZlbnQgVGhlIGV2ZW50XHJcbiAgICovXHJcbiAgcHVibGljIGVuZEN1c3RvbUV2ZW50KGV2ZW50OiB7IHRyYW5zYWN0aW9uOiBhbnksIHNwYW46IGFueSB9KTogdm9pZCB7XHJcbiAgICBldmVudC5zcGFuLmVuZCgpO1xyXG4gICAgZXZlbnQudHJhbnNhY3Rpb24uZW5kKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { SessionService } from '../../core/services/session.service';
|
|
3
|
+
import { ArmError } from '../models/arm-error';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class SharedErrorService {
|
|
6
|
+
/**
|
|
7
|
+
* constructs the service
|
|
8
|
+
* @param injector the injector
|
|
9
|
+
*/
|
|
10
|
+
constructor(injector) {
|
|
11
|
+
this.injector = injector;
|
|
12
|
+
/** The error set */
|
|
13
|
+
this.errorSet = new Set();
|
|
14
|
+
this.sessionService = this.injector.get(SessionService);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Determines if the error has been encountered before
|
|
18
|
+
* @param err The error
|
|
19
|
+
*/
|
|
20
|
+
isNewError(err) {
|
|
21
|
+
const error = new ArmError(err);
|
|
22
|
+
if (this.errorSet.has(error.message)) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
this.errorSet.add(error.message);
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Formats the error
|
|
30
|
+
* @param error The error
|
|
31
|
+
*/
|
|
32
|
+
formatError(error, populateOriginalError = true) {
|
|
33
|
+
console.warn(error);
|
|
34
|
+
return new ArmError(error, window.location.pathname, this.sessionService.sessionId, populateOriginalError);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
SharedErrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SharedErrorService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
38
|
+
SharedErrorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SharedErrorService, providedIn: 'root' });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SharedErrorService, decorators: [{
|
|
40
|
+
type: Injectable,
|
|
41
|
+
args: [{
|
|
42
|
+
providedIn: 'root'
|
|
43
|
+
}]
|
|
44
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWVycm9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL3J1bS9zZXJ2aWNlcy9zaGFyZWQtZXJyb3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBSy9DLE1BQU0sT0FBTyxrQkFBa0I7SUFRN0I7OztPQUdHO0lBQ0gsWUFDbUIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQVJyQyxvQkFBb0I7UUFDSCxhQUFRLEdBQWdCLElBQUksR0FBRyxFQUFVLENBQUM7UUFTekQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksVUFBVSxDQUFDLEdBQVU7UUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDcEMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVqQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7O09BR0c7SUFDSSxXQUFXLENBQUMsS0FBWSxFQUFFLHdCQUFpQyxJQUFJO1FBQ3BFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsT0FBTyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUscUJBQXFCLENBQUMsQ0FBQztJQUM3RyxDQUFDOzsrR0F2Q1Usa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEFybUVycm9yIH0gZnJvbSAnLi4vbW9kZWxzL2FybS1lcnJvcic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaGFyZWRFcnJvclNlcnZpY2Uge1xyXG5cclxuICAvKiogVGhlIHNlc3Npb24gc2VydmljZSAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblNlcnZpY2U6IFNlc3Npb25TZXJ2aWNlO1xyXG5cclxuICAvKiogVGhlIGVycm9yIHNldCAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JTZXQ6IFNldDxzdHJpbmc+ID0gbmV3IFNldDxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIGNvbnN0cnVjdHMgdGhlIHNlcnZpY2VcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgdGhlIGluamVjdG9yXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcclxuICApIHtcclxuICAgIHRoaXMuc2Vzc2lvblNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChTZXNzaW9uU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBlcnJvciBoYXMgYmVlbiBlbmNvdW50ZXJlZCBiZWZvcmVcclxuICAgKiBAcGFyYW0gZXJyIFRoZSBlcnJvclxyXG4gICAqL1xyXG4gIHB1YmxpYyBpc05ld0Vycm9yKGVycjogRXJyb3IpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGVycm9yID0gbmV3IEFybUVycm9yKGVycik7XHJcbiAgICBpZiAodGhpcy5lcnJvclNldC5oYXMoZXJyb3IubWVzc2FnZSkpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5lcnJvclNldC5hZGQoZXJyb3IubWVzc2FnZSk7XHJcblxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGb3JtYXRzIHRoZSBlcnJvclxyXG4gICAqIEBwYXJhbSBlcnJvciBUaGUgZXJyb3JcclxuICAgKi9cclxuICBwdWJsaWMgZm9ybWF0RXJyb3IoZXJyb3I6IEVycm9yLCBwb3B1bGF0ZU9yaWdpbmFsRXJyb3I6IGJvb2xlYW4gPSB0cnVlKTogQXJtRXJyb3Ige1xyXG4gICAgY29uc29sZS53YXJuKGVycm9yKTtcclxuICAgIHJldHVybiBuZXcgQXJtRXJyb3IoZXJyb3IsIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSwgdGhpcy5zZXNzaW9uU2VydmljZS5zZXNzaW9uSWQsIHBvcHVsYXRlT3JpZ2luYWxFcnJvcik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { of } from 'rxjs';
|
|
3
|
+
import { catchError } from 'rxjs/operators';
|
|
4
|
+
import { SessionService } from '../../core/services/session.service';
|
|
5
|
+
import { SharedErrorService } from './shared-error.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../models/rum-config";
|
|
8
|
+
import * as i2 from "@angular/common/http";
|
|
9
|
+
/** The softheon error handler service */
|
|
10
|
+
export class SoftheonErrorHandlerService {
|
|
11
|
+
/**
|
|
12
|
+
* Constructs the service
|
|
13
|
+
* @param rumConfig The rum config
|
|
14
|
+
* @param httpClient The http client
|
|
15
|
+
* @param injector The injector
|
|
16
|
+
*/
|
|
17
|
+
constructor(rumConfig, httpClient, injector) {
|
|
18
|
+
this.rumConfig = rumConfig;
|
|
19
|
+
this.httpClient = httpClient;
|
|
20
|
+
this.injector = injector;
|
|
21
|
+
/** The secondary error window in ms */
|
|
22
|
+
this.secondaryErrorWindowMs = 500;
|
|
23
|
+
this.sessionService = this.injector.get(SessionService);
|
|
24
|
+
this.sharedErrorService = this.injector.get(SharedErrorService);
|
|
25
|
+
if (this.rumConfig && this.rumConfig.secondaryErrorWindowMs) {
|
|
26
|
+
this.secondaryErrorWindowMs = this.rumConfig.secondaryErrorWindowMs;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Handles the error
|
|
31
|
+
* @param error The error
|
|
32
|
+
*/
|
|
33
|
+
handleError(error) {
|
|
34
|
+
let e = error;
|
|
35
|
+
if (typeof (error) === 'string') {
|
|
36
|
+
e = new Error(e);
|
|
37
|
+
}
|
|
38
|
+
const err = e;
|
|
39
|
+
const appName = `${this.rumConfig.serviceName}`;
|
|
40
|
+
if (!this.sharedErrorService.isNewError(err)) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const errObj = this.sharedErrorService.formatError(err, false);
|
|
44
|
+
if (!this.currentError) {
|
|
45
|
+
this.currentError = errObj;
|
|
46
|
+
setTimeout(() => {
|
|
47
|
+
const errStr = JSON.stringify(this.currentError);
|
|
48
|
+
this.httpClient.post(this.rumConfig.serverUrl, { error: errStr, applicationName: appName, logLevel: 'Warn' })
|
|
49
|
+
.pipe(catchError(error => {
|
|
50
|
+
console.warn(error);
|
|
51
|
+
return of(error);
|
|
52
|
+
}))
|
|
53
|
+
.subscribe(() => {
|
|
54
|
+
this.currentError = undefined;
|
|
55
|
+
});
|
|
56
|
+
}, this.secondaryErrorWindowMs);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
try {
|
|
60
|
+
this.currentError.secondaryErrors.push(errObj);
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
console.error('Race condition hit where current error was cleared as a secondary error was thrown, re-throwing error', e);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
SoftheonErrorHandlerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoftheonErrorHandlerService, deps: [{ token: i1.RumConfig }, { token: i2.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
69
|
+
SoftheonErrorHandlerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoftheonErrorHandlerService, providedIn: 'root' });
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoftheonErrorHandlerService, decorators: [{
|
|
71
|
+
type: Injectable,
|
|
72
|
+
args: [{
|
|
73
|
+
providedIn: 'root'
|
|
74
|
+
}]
|
|
75
|
+
}], ctorParameters: function () { return [{ type: i1.RumConfig }, { type: i2.HttpClient }, { type: i0.Injector }]; } });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdGhlb24tZXJyb3ItaGFuZGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9ydW0vc2VydmljZXMvc29mdGhlb24tZXJyb3ItaGFuZGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0IsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUc1RCx5Q0FBeUM7QUFJekMsTUFBTSxPQUFPLDJCQUEyQjtJQWN0Qzs7Ozs7T0FLRztJQUNILFlBQ1MsU0FBb0IsRUFDVixVQUFzQixFQUN0QixRQUFrQjtRQUY1QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ1YsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBZnJDLHVDQUF1QztRQUN0QiwyQkFBc0IsR0FBVyxHQUFHLENBQUM7UUFnQnBELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFxQixrQkFBa0IsQ0FBQyxDQUFDO1FBQ3BGLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixFQUFFO1lBQzNELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDO1NBQ3JFO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFdBQVcsQ0FBQyxLQUFVO1FBQzNCLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUNkLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLFFBQVEsRUFBRTtZQUMvQixDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEI7UUFDRCxNQUFNLEdBQUcsR0FBRyxDQUFVLENBQUM7UUFDdkIsTUFBTSxPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWhELElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzVDLE9BQU87U0FDUjtRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1lBQzNCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztxQkFDMUcsSUFBSSxDQUNILFVBQVUsQ0FDUixLQUFLLENBQUMsRUFBRTtvQkFDTixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUVwQixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkIsQ0FBQyxDQUNGLENBQ0Y7cUJBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztnQkFDaEMsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDakM7YUFDSTtZQUNILElBQUk7Z0JBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2hEO1lBQ0QsT0FBTyxDQUFDLEVBQUU7Z0JBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyx1R0FBdUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMzSDtTQUNGO0lBQ0gsQ0FBQzs7d0hBM0VVLDJCQUEyQjs0SEFBM0IsMkJBQTJCLGNBRjFCLE1BQU07MkZBRVAsMkJBQTJCO2tCQUh2QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEVycm9ySGFuZGxlciwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFJ1bUNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9ydW0tY29uZmlnJztcclxuaW1wb3J0IHsgU2hhcmVkRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQtZXJyb3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IEFybUVycm9yIH0gZnJvbSAnLi4vbW9kZWxzL2FybS1lcnJvcic7XHJcblxyXG4vKiogVGhlIHNvZnRoZW9uIGVycm9yIGhhbmRsZXIgc2VydmljZSAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTb2Z0aGVvbkVycm9ySGFuZGxlclNlcnZpY2UgaW1wbGVtZW50cyBFcnJvckhhbmRsZXIge1xyXG5cclxuICAvKiogVGhlIHNlc3Npb24gU2VydmljZSAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblNlcnZpY2U6IFNlc3Npb25TZXJ2aWNlO1xyXG5cclxuICAvKiogVGhlIHNoYXJlZCBlcnJvciBzZXJ2aWNlICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBzaGFyZWRFcnJvclNlcnZpY2U6IFNoYXJlZEVycm9yU2VydmljZTtcclxuXHJcbiAgLyoqIFRoZSBzZWNvbmRhcnkgZXJyb3Igd2luZG93IGluIG1zICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBzZWNvbmRhcnlFcnJvcldpbmRvd01zOiBudW1iZXIgPSA1MDA7XHJcblxyXG4gIC8qKiBUaGUgY3VycmVudCBlcnJvciAqL1xyXG4gIHByaXZhdGUgY3VycmVudEVycm9yOiBBcm1FcnJvcjtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29uc3RydWN0cyB0aGUgc2VydmljZVxyXG4gICAqIEBwYXJhbSBydW1Db25maWcgVGhlIHJ1bSBjb25maWdcclxuICAgKiBAcGFyYW0gaHR0cENsaWVudCBUaGUgaHR0cCBjbGllbnRcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgVGhlIGluamVjdG9yXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcnVtQ29uZmlnOiBSdW1Db25maWcsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvclxyXG4gICkge1xyXG4gICAgdGhpcy5zZXNzaW9uU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KFNlc3Npb25TZXJ2aWNlKTtcclxuICAgIHRoaXMuc2hhcmVkRXJyb3JTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQ8U2hhcmVkRXJyb3JTZXJ2aWNlPihTaGFyZWRFcnJvclNlcnZpY2UpO1xyXG4gICAgaWYgKHRoaXMucnVtQ29uZmlnICYmIHRoaXMucnVtQ29uZmlnLnNlY29uZGFyeUVycm9yV2luZG93TXMpIHtcclxuICAgICAgdGhpcy5zZWNvbmRhcnlFcnJvcldpbmRvd01zID0gdGhpcy5ydW1Db25maWcuc2Vjb25kYXJ5RXJyb3JXaW5kb3dNcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgdGhlIGVycm9yXHJcbiAgICogQHBhcmFtIGVycm9yIFRoZSBlcnJvclxyXG4gICAqL1xyXG4gIHB1YmxpYyBoYW5kbGVFcnJvcihlcnJvcjogYW55KTogdm9pZCB7XHJcbiAgICBsZXQgZSA9IGVycm9yO1xyXG4gICAgaWYgKHR5cGVvZiAoZXJyb3IpID09PSAnc3RyaW5nJykge1xyXG4gICAgICBlID0gbmV3IEVycm9yKGUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZXJyID0gZSBhcyBFcnJvcjtcclxuICAgIGNvbnN0IGFwcE5hbWUgPSBgJHt0aGlzLnJ1bUNvbmZpZy5zZXJ2aWNlTmFtZX1gO1xyXG5cclxuICAgIGlmICghdGhpcy5zaGFyZWRFcnJvclNlcnZpY2UuaXNOZXdFcnJvcihlcnIpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGVyck9iaiA9IHRoaXMuc2hhcmVkRXJyb3JTZXJ2aWNlLmZvcm1hdEVycm9yKGVyciwgZmFsc2UpO1xyXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRFcnJvcikge1xyXG4gICAgICB0aGlzLmN1cnJlbnRFcnJvciA9IGVyck9iajtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZXJyU3RyID0gSlNPTi5zdHJpbmdpZnkodGhpcy5jdXJyZW50RXJyb3IpO1xyXG4gICAgICAgIHRoaXMuaHR0cENsaWVudC5wb3N0KHRoaXMucnVtQ29uZmlnLnNlcnZlclVybCwgeyBlcnJvcjogZXJyU3RyLCBhcHBsaWNhdGlvbk5hbWU6IGFwcE5hbWUsIGxvZ0xldmVsOiAnV2FybicgfSlcclxuICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICBjYXRjaEVycm9yKFxyXG4gICAgICAgICAgICAgIGVycm9yID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihlcnJvcik7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKGVycm9yKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgIClcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRFcnJvciA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9LCB0aGlzLnNlY29uZGFyeUVycm9yV2luZG93TXMpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50RXJyb3Iuc2Vjb25kYXJ5RXJyb3JzLnB1c2goZXJyT2JqKTtcclxuICAgICAgfVxyXG4gICAgICBjYXRjaCAoZSkge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1JhY2UgY29uZGl0aW9uIGhpdCB3aGVyZSBjdXJyZW50IGVycm9yIHdhcyBjbGVhcmVkIGFzIGEgc2Vjb25kYXJ5IGVycm9yIHdhcyB0aHJvd24sIHJlLXRocm93aW5nIGVycm9yJywgZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|