monkey-front-core 0.0.458 → 0.0.461
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/esm2020/lib/components/alerts/alerts.component.mjs +45 -45
- package/esm2020/lib/components/alerts/alerts.module.mjs +21 -21
- package/esm2020/lib/components/alerts/index.mjs +3 -3
- package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.component.mjs +29 -29
- package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.module.mjs +43 -43
- package/esm2020/lib/components/closed-to-maintenance/index.mjs +3 -3
- package/esm2020/lib/components/currency-config/currency-config.component.mjs +39 -39
- package/esm2020/lib/components/currency-config/currency-config.module.mjs +39 -39
- package/esm2020/lib/components/currency-config/index.mjs +3 -3
- package/esm2020/lib/components/index.mjs +6 -6
- package/esm2020/lib/components/progress-bar/index.mjs +4 -4
- package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +23 -23
- package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +18 -18
- package/esm2020/lib/components/progress-bar/progress-bar.service.mjs +50 -50
- package/esm2020/lib/components/version-changed/index.mjs +3 -3
- package/esm2020/lib/components/version-changed/version-changed.component.mjs +24 -24
- package/esm2020/lib/components/version-changed/version-changed.module.mjs +39 -39
- package/esm2020/lib/core/decorators/index.mjs +5 -5
- package/esm2020/lib/core/decorators/monkeyecx-charts-decorators.mjs +40 -40
- package/esm2020/lib/core/decorators/monkeyecx-decorators.mjs +111 -111
- package/esm2020/lib/core/decorators/monkeyecx-download-decorators.mjs +26 -26
- package/esm2020/lib/core/decorators/monkeyecx-upload-decorators.mjs +26 -26
- package/esm2020/lib/core/directives/index.mjs +13 -13
- package/esm2020/lib/core/directives/monkeyecx-directives-module.mjs +73 -73
- package/esm2020/lib/core/directives/monkeyecx-drag-drop.mjs +57 -57
- package/esm2020/lib/core/directives/monkeyecx-feature-by-program-directive.mjs +54 -54
- package/esm2020/lib/core/directives/monkeyecx-feature-directive.mjs +68 -68
- package/esm2020/lib/core/directives/monkeyecx-format-currency.mjs +44 -44
- package/esm2020/lib/core/directives/monkeyecx-format-upper.mjs +67 -67
- package/esm2020/lib/core/directives/monkeyecx-only-alpha-numeric-directive.mjs +28 -28
- package/esm2020/lib/core/directives/monkeyecx-only-number-directive.mjs +28 -28
- package/esm2020/lib/core/directives/monkeyecx-popover-options.directive.mjs +39 -39
- package/esm2020/lib/core/directives/monkeyecx-popover.directive.mjs +212 -212
- package/esm2020/lib/core/directives/monkeyecx-security-directive.mjs +75 -75
- package/esm2020/lib/core/directives/monkeyecx-tooltip-directive.mjs +123 -123
- package/esm2020/lib/core/index.mjs +10 -10
- package/esm2020/lib/core/interceptors/index.mjs +6 -6
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-error.interceptor.mjs +49 -49
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-header.interceptor.mjs +59 -59
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-interceptor.module.mjs +47 -47
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.mjs +43 -43
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.mjs +37 -37
- package/esm2020/lib/core/interfaces/index.mjs +35 -35
- package/esm2020/lib/core/interfaces/monkeyecx-auth-credentials.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-company-pendencies.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-company.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-config-bootstrap.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-config.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-country-security.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-error-response.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-filter.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-handled-error-response.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-header-credentials.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-intercom-options.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-interface.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-me-credentials.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-navigation.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-pagination.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-program.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-releases.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-request-in-progress.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-request-paged.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-resolver.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-response-links.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-response-paged.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-saved-state.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-scroll-options.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-service-credentials.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-storage.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-store.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-support-options.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-token-credentials.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-translate-options.mjs +2 -2
- package/esm2020/lib/core/interfaces/request-download/index.mjs +4 -4
- package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-download.mjs +2 -2
- package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-downloaded.mjs +2 -2
- package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-item-download.mjs +2 -2
- package/esm2020/lib/core/interfaces/request-queue/index.mjs +4 -4
- package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.mjs +2 -2
- package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.mjs +2 -2
- package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-queue.mjs +2 -2
- package/esm2020/lib/core/interfaces/request-upload/index.mjs +3 -3
- package/esm2020/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.mjs +2 -2
- package/esm2020/lib/core/interfaces/request-upload/monkeyecx-request-upload.mjs +2 -2
- package/esm2020/lib/core/interfaces/schedules/index.mjs +2 -2
- package/esm2020/lib/core/interfaces/schedules/monkeyecx-request-schedule.mjs +2 -2
- package/esm2020/lib/core/model/index.mjs +3 -3
- package/esm2020/lib/core/model/monkeyecx-links.model.mjs +8 -8
- package/esm2020/lib/core/model/monkeyecx-model.mjs +25 -25
- package/esm2020/lib/core/pipes/index.mjs +22 -22
- package/esm2020/lib/core/pipes/monkeyecx-blob-secure.mjs +26 -26
- package/esm2020/lib/core/pipes/monkeyecx-display-first-name.mjs +19 -19
- package/esm2020/lib/core/pipes/monkeyecx-display-initials.mjs +21 -21
- package/esm2020/lib/core/pipes/monkeyecx-display-support-phone.mjs +33 -33
- package/esm2020/lib/core/pipes/monkeyecx-format-address.mjs +20 -20
- package/esm2020/lib/core/pipes/monkeyecx-format-beautify-json.mjs +38 -38
- package/esm2020/lib/core/pipes/monkeyecx-format-currency.mjs +27 -27
- package/esm2020/lib/core/pipes/monkeyecx-format-date-group.mjs +45 -45
- package/esm2020/lib/core/pipes/monkeyecx-format-date-timelapse.mjs +32 -32
- package/esm2020/lib/core/pipes/monkeyecx-format-date-unix-timelapse.mjs +36 -36
- package/esm2020/lib/core/pipes/monkeyecx-format-document.mjs +20 -20
- package/esm2020/lib/core/pipes/monkeyecx-format-number.mjs +20 -20
- package/esm2020/lib/core/pipes/monkeyecx-format-phone.mjs +42 -42
- package/esm2020/lib/core/pipes/monkeyecx-format-size.mjs +20 -20
- package/esm2020/lib/core/pipes/monkeyecx-format-tax.mjs +23 -23
- package/esm2020/lib/core/pipes/monkeyecx-format-type-document.mjs +19 -19
- package/esm2020/lib/core/pipes/monkeyecx-format-value.mjs +19 -19
- package/esm2020/lib/core/pipes/monkeyecx-format-zipcode.mjs +19 -19
- package/esm2020/lib/core/pipes/monkeyecx-pipes.module.mjs +117 -117
- package/esm2020/lib/core/pipes/monkeyecx-text-truncate.mjs +23 -23
- package/esm2020/lib/core/pipes/monkeyecx-truncate-qtd.mjs +16 -16
- package/esm2020/lib/core/services/alerts/index.mjs +2 -2
- package/esm2020/lib/core/services/alerts/monkeyecx-alerts.service.mjs +42 -42
- package/esm2020/lib/core/services/auth/index.mjs +6 -6
- package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-company.service.mjs +28 -28
- package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-login.service.mjs +27 -27
- package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-role.service.mjs +79 -79
- package/esm2020/lib/core/services/auth/monkeyecx-auth-guard.service.mjs +26 -26
- package/esm2020/lib/core/services/auth/monkeyecx-authentication.service.mjs +78 -78
- package/esm2020/lib/core/services/commons/index.mjs +3 -3
- package/esm2020/lib/core/services/commons/monkeyecx-commons-resolve.service.mjs +121 -121
- package/esm2020/lib/core/services/commons/monkeyecx-commons.service.mjs +362 -362
- package/esm2020/lib/core/services/config/monkeyecx-alerts-config.service.mjs +42 -42
- package/esm2020/lib/core/services/config/monkeyecx-config.module.mjs +28 -28
- package/esm2020/lib/core/services/config/monkeyecx-config.service.mjs +107 -107
- package/esm2020/lib/core/services/config/monkeyecx-currency-config.service.mjs +84 -84
- package/esm2020/lib/core/services/config/monkeyecx-error-config.service.mjs +85 -85
- package/esm2020/lib/core/services/config/monkeyecx-feature-toggle.service.mjs +76 -76
- package/esm2020/lib/core/services/config/monkeyecx-gtm-config.service.mjs +50 -50
- package/esm2020/lib/core/services/config/monkeyecx-i18n-config.service.mjs +152 -152
- package/esm2020/lib/core/services/config/monkeyecx-logs-config.service.mjs +34 -34
- package/esm2020/lib/core/services/config/monkeyecx-maintenance-config.service.mjs +37 -37
- package/esm2020/lib/core/services/config/monkeyecx-security-console-config.service.mjs +47 -47
- package/esm2020/lib/core/services/config/monkeyecx-service-worker-config.service.mjs +53 -53
- package/esm2020/lib/core/services/error/index.mjs +5 -5
- package/esm2020/lib/core/services/error/monkeyecx-error-handling.module.mjs +27 -27
- package/esm2020/lib/core/services/error/monkeyecx-error-handling.service.mjs +37 -37
- package/esm2020/lib/core/services/error/monkeyecx-http-error-handling.service.mjs +138 -138
- package/esm2020/lib/core/services/error/monkeyecx-others-errors-handling.service.mjs +29 -29
- package/esm2020/lib/core/services/index.mjs +26 -26
- package/esm2020/lib/core/services/logged/index.mjs +2 -2
- package/esm2020/lib/core/services/logged/monkeyecx-logged-handling.service.mjs +40 -40
- package/esm2020/lib/core/services/monkeyecx-handling.service.mjs +50 -50
- package/esm2020/lib/core/services/monkeyecx-service.service.mjs +104 -104
- package/esm2020/lib/core/services/pagination/index.mjs +2 -2
- package/esm2020/lib/core/services/pagination/monkeyecx-pagination.service.mjs +29 -29
- package/esm2020/lib/core/services/request-download/index.mjs +3 -3
- package/esm2020/lib/core/services/request-download/monkeyecx-request-download-handling.service.mjs +93 -93
- package/esm2020/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.mjs +61 -61
- package/esm2020/lib/core/services/request-paged/index.mjs +2 -2
- package/esm2020/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.mjs +42 -42
- package/esm2020/lib/core/services/request-queue/index.mjs +3 -3
- package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.mjs +114 -114
- package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.mjs +119 -119
- package/esm2020/lib/core/services/routes/index.mjs +2 -2
- package/esm2020/lib/core/services/routes/monkeyecx-dicovery-params.service.mjs +54 -54
- package/esm2020/lib/core/services/schedules/index.mjs +2 -2
- package/esm2020/lib/core/services/schedules/monkeyecx-request-schedule.service.mjs +188 -188
- package/esm2020/lib/core/services/storage/index.mjs +3 -3
- package/esm2020/lib/core/services/storage/monkeyecx-cookie-storage.service.mjs +32 -32
- package/esm2020/lib/core/services/storage/monkeyecx-token-storage.service.mjs +236 -236
- package/esm2020/lib/core/services/store/index.mjs +4 -2
- package/esm2020/lib/core/services/store/monkeyecx-store.actions.mjs +24 -0
- package/esm2020/lib/core/services/store/monkeyecx-store.selector.mjs +68 -0
- package/esm2020/lib/core/services/store/monkeyecx-store.service.mjs +189 -189
- package/esm2020/lib/core/specification-search/index.mjs +2 -2
- package/esm2020/lib/core/specification-search/monkeyecx-specification-search.mjs +108 -108
- package/esm2020/lib/core/utils/decorators-utils.mjs +40 -40
- package/esm2020/lib/core/utils/index.mjs +8 -8
- package/esm2020/lib/core/utils/statics.mjs +45 -45
- package/esm2020/lib/core/utils/utils.mjs +267 -267
- package/esm2020/lib/core/utils/validate-utils.mjs +205 -205
- package/esm2020/lib/core/utils/validators.mjs +268 -268
- package/esm2020/lib/monkey-front-core.module.mjs +71 -71
- package/esm2020/lib/store/actions/index.mjs +2 -2
- package/esm2020/lib/store/actions/monkeyecx-storage.actions.mjs +8 -8
- package/esm2020/lib/store/index.mjs +4 -4
- package/esm2020/lib/store/reducers/index.mjs +3 -3
- package/esm2020/lib/store/reducers/monkeyecx-seeder.reducer.mjs +53 -53
- package/esm2020/lib/store/reducers/monkeyecx-storage.reducer.mjs +40 -40
- package/esm2020/lib/store/selectors/index.mjs +2 -2
- package/esm2020/lib/store/selectors/monkeyecx-storage.selector.mjs +17 -17
- package/esm2020/monkey-front-core.mjs +4 -4
- package/esm2020/public-api.mjs +8 -8
- package/fesm2015/monkey-front-core.mjs +5953 -5859
- package/fesm2015/monkey-front-core.mjs.map +1 -1
- package/fesm2020/monkey-front-core.mjs +6011 -5921
- package/fesm2020/monkey-front-core.mjs.map +1 -1
- package/lib/components/alerts/alerts.component.d.ts +22 -22
- package/lib/components/alerts/alerts.module.d.ts +10 -10
- package/lib/components/alerts/index.d.ts +2 -2
- package/lib/components/closed-to-maintenance/closed-to-maintenance.component.d.ts +13 -13
- package/lib/components/closed-to-maintenance/closed-to-maintenance.module.d.ts +11 -11
- package/lib/components/closed-to-maintenance/index.d.ts +2 -2
- package/lib/components/currency-config/currency-config.component.d.ts +17 -17
- package/lib/components/currency-config/currency-config.module.d.ts +10 -10
- package/lib/components/currency-config/index.d.ts +2 -2
- package/lib/components/index.d.ts +5 -5
- package/lib/components/progress-bar/index.d.ts +3 -3
- package/lib/components/progress-bar/progress-bar.component.d.ts +11 -11
- package/lib/components/progress-bar/progress-bar.module.d.ts +8 -8
- package/lib/components/progress-bar/progress-bar.service.d.ts +14 -14
- package/lib/components/version-changed/index.d.ts +2 -2
- package/lib/components/version-changed/version-changed.component.d.ts +9 -9
- package/lib/components/version-changed/version-changed.module.d.ts +10 -10
- package/lib/core/decorators/index.d.ts +4 -4
- package/lib/core/decorators/monkeyecx-charts-decorators.d.ts +1 -1
- package/lib/core/decorators/monkeyecx-decorators.d.ts +7 -7
- package/lib/core/decorators/monkeyecx-download-decorators.d.ts +2 -2
- package/lib/core/decorators/monkeyecx-upload-decorators.d.ts +2 -2
- package/lib/core/directives/index.d.ts +12 -12
- package/lib/core/directives/monkeyecx-directives-module.d.ts +19 -19
- package/lib/core/directives/monkeyecx-drag-drop.d.ts +12 -12
- package/lib/core/directives/monkeyecx-feature-by-program-directive.d.ts +16 -16
- package/lib/core/directives/monkeyecx-feature-directive.d.ts +17 -17
- package/lib/core/directives/monkeyecx-format-currency.d.ts +16 -16
- package/lib/core/directives/monkeyecx-format-upper.d.ts +18 -18
- package/lib/core/directives/monkeyecx-only-alpha-numeric-directive.d.ts +9 -9
- package/lib/core/directives/monkeyecx-only-number-directive.d.ts +9 -9
- package/lib/core/directives/monkeyecx-popover-options.directive.d.ts +19 -19
- package/lib/core/directives/monkeyecx-popover.directive.d.ts +43 -43
- package/lib/core/directives/monkeyecx-security-directive.d.ts +18 -18
- package/lib/core/directives/monkeyecx-tooltip-directive.d.ts +23 -23
- package/lib/core/index.d.ts +9 -9
- package/lib/core/interceptors/index.d.ts +5 -5
- package/lib/core/interceptors/monkeyecx-http-config-error.interceptor.d.ts +18 -18
- package/lib/core/interceptors/monkeyecx-http-config-header.interceptor.d.ts +16 -16
- package/lib/core/interceptors/monkeyecx-http-config-interceptor.module.d.ts +9 -9
- package/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.d.ts +12 -12
- package/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.d.ts +14 -14
- package/lib/core/interfaces/index.d.ts +34 -34
- package/lib/core/interfaces/monkeyecx-auth-credentials.d.ts +15 -15
- package/lib/core/interfaces/monkeyecx-company-pendencies.d.ts +14 -14
- package/lib/core/interfaces/monkeyecx-company.d.ts +10 -10
- package/lib/core/interfaces/monkeyecx-config-bootstrap.d.ts +14 -14
- package/lib/core/interfaces/monkeyecx-config.d.ts +132 -132
- package/lib/core/interfaces/monkeyecx-country-security.d.ts +4 -4
- package/lib/core/interfaces/monkeyecx-error-response.d.ts +5 -5
- package/lib/core/interfaces/monkeyecx-filter.d.ts +42 -42
- package/lib/core/interfaces/monkeyecx-handled-error-response.d.ts +10 -10
- package/lib/core/interfaces/monkeyecx-header-credentials.d.ts +4 -4
- package/lib/core/interfaces/monkeyecx-intercom-options.d.ts +4 -4
- package/lib/core/interfaces/monkeyecx-interface.d.ts +11 -11
- package/lib/core/interfaces/monkeyecx-me-credentials.d.ts +22 -22
- package/lib/core/interfaces/monkeyecx-navigation.d.ts +27 -27
- package/lib/core/interfaces/monkeyecx-pagination.d.ts +26 -25
- package/lib/core/interfaces/monkeyecx-program.d.ts +10 -10
- package/lib/core/interfaces/monkeyecx-releases.d.ts +9 -9
- package/lib/core/interfaces/monkeyecx-request-in-progress.d.ts +3 -3
- package/lib/core/interfaces/monkeyecx-request-paged.d.ts +23 -23
- package/lib/core/interfaces/monkeyecx-resolver.d.ts +39 -39
- package/lib/core/interfaces/monkeyecx-response-links.d.ts +11 -11
- package/lib/core/interfaces/monkeyecx-response-paged.d.ts +6 -6
- package/lib/core/interfaces/monkeyecx-saved-state.d.ts +5 -5
- package/lib/core/interfaces/monkeyecx-scroll-options.d.ts +5 -5
- package/lib/core/interfaces/monkeyecx-service-credentials.d.ts +12 -12
- package/lib/core/interfaces/monkeyecx-storage.d.ts +38 -38
- package/lib/core/interfaces/monkeyecx-store.d.ts +34 -31
- package/lib/core/interfaces/monkeyecx-support-options.d.ts +4 -4
- package/lib/core/interfaces/monkeyecx-token-credentials.d.ts +21 -21
- package/lib/core/interfaces/monkeyecx-translate-options.d.ts +4 -4
- package/lib/core/interfaces/request-download/index.d.ts +3 -3
- package/lib/core/interfaces/request-download/monkeyecx-request-download.d.ts +10 -10
- package/lib/core/interfaces/request-download/monkeyecx-request-downloaded.d.ts +7 -7
- package/lib/core/interfaces/request-download/monkeyecx-request-item-download.d.ts +7 -7
- package/lib/core/interfaces/request-queue/index.d.ts +3 -3
- package/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.d.ts +7 -7
- package/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.d.ts +6 -6
- package/lib/core/interfaces/request-queue/monkeyecx-request-queue.d.ts +8 -8
- package/lib/core/interfaces/request-upload/index.d.ts +2 -2
- package/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.d.ts +5 -5
- package/lib/core/interfaces/request-upload/monkeyecx-request-upload.d.ts +10 -10
- package/lib/core/interfaces/schedules/index.d.ts +1 -1
- package/lib/core/interfaces/schedules/monkeyecx-request-schedule.d.ts +13 -13
- package/lib/core/model/index.d.ts +2 -2
- package/lib/core/model/monkeyecx-links.model.d.ts +4 -4
- package/lib/core/model/monkeyecx-model.d.ts +13 -13
- package/lib/core/pipes/index.d.ts +21 -21
- package/lib/core/pipes/monkeyecx-blob-secure.d.ts +13 -13
- package/lib/core/pipes/monkeyecx-display-first-name.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-display-initials.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-display-support-phone.d.ts +18 -18
- package/lib/core/pipes/monkeyecx-format-address.d.ts +14 -14
- package/lib/core/pipes/monkeyecx-format-beautify-json.d.ts +8 -8
- package/lib/core/pipes/monkeyecx-format-currency.d.ts +11 -11
- package/lib/core/pipes/monkeyecx-format-date-group.d.ts +11 -11
- package/lib/core/pipes/monkeyecx-format-date-timelapse.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-date-unix-timelapse.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-document.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-number.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-phone.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-size.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-tax.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-type-document.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-value.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-zipcode.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-pipes.module.d.ts +26 -26
- package/lib/core/pipes/monkeyecx-text-truncate.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-truncate-qtd.d.ts +7 -7
- package/lib/core/services/alerts/index.d.ts +1 -1
- package/lib/core/services/alerts/monkeyecx-alerts.service.d.ts +21 -21
- package/lib/core/services/auth/index.d.ts +5 -5
- package/lib/core/services/auth/monkeyecx-auth-guard-company.service.d.ts +10 -10
- package/lib/core/services/auth/monkeyecx-auth-guard-login.service.d.ts +10 -10
- package/lib/core/services/auth/monkeyecx-auth-guard-role.service.d.ts +16 -16
- package/lib/core/services/auth/monkeyecx-auth-guard.service.d.ts +10 -10
- package/lib/core/services/auth/monkeyecx-authentication.service.d.ts +35 -35
- package/lib/core/services/commons/index.d.ts +2 -2
- package/lib/core/services/commons/monkeyecx-commons-resolve.service.d.ts +53 -53
- package/lib/core/services/commons/monkeyecx-commons.service.d.ts +120 -120
- package/lib/core/services/config/monkeyecx-alerts-config.service.d.ts +11 -11
- package/lib/core/services/config/monkeyecx-config.module.d.ts +9 -9
- package/lib/core/services/config/monkeyecx-config.service.d.ts +36 -36
- package/lib/core/services/config/monkeyecx-currency-config.service.d.ts +15 -15
- package/lib/core/services/config/monkeyecx-error-config.service.d.ts +8 -8
- package/lib/core/services/config/monkeyecx-feature-toggle.service.d.ts +16 -16
- package/lib/core/services/config/monkeyecx-gtm-config.service.d.ts +8 -8
- package/lib/core/services/config/monkeyecx-i18n-config.service.d.ts +18 -18
- package/lib/core/services/config/monkeyecx-logs-config.service.d.ts +7 -7
- package/lib/core/services/config/monkeyecx-maintenance-config.service.d.ts +13 -13
- package/lib/core/services/config/monkeyecx-security-console-config.service.d.ts +12 -12
- package/lib/core/services/config/monkeyecx-service-worker-config.service.d.ts +16 -16
- package/lib/core/services/error/index.d.ts +4 -4
- package/lib/core/services/error/monkeyecx-error-handling.module.d.ts +9 -9
- package/lib/core/services/error/monkeyecx-error-handling.service.d.ts +9 -9
- package/lib/core/services/error/monkeyecx-http-error-handling.service.d.ts +26 -26
- package/lib/core/services/error/monkeyecx-others-errors-handling.service.d.ts +9 -9
- package/lib/core/services/index.d.ts +25 -25
- package/lib/core/services/logged/index.d.ts +1 -1
- package/lib/core/services/logged/monkeyecx-logged-handling.service.d.ts +14 -14
- package/lib/core/services/monkeyecx-handling.service.d.ts +22 -22
- package/lib/core/services/monkeyecx-service.service.d.ts +18 -18
- package/lib/core/services/pagination/index.d.ts +1 -1
- package/lib/core/services/pagination/monkeyecx-pagination.service.d.ts +9 -9
- package/lib/core/services/request-download/index.d.ts +2 -2
- package/lib/core/services/request-download/monkeyecx-request-download-handling.service.d.ts +18 -18
- package/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.d.ts +16 -16
- package/lib/core/services/request-paged/index.d.ts +1 -1
- package/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.d.ts +11 -11
- package/lib/core/services/request-queue/index.d.ts +2 -2
- package/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.d.ts +21 -21
- package/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.d.ts +23 -23
- package/lib/core/services/routes/index.d.ts +1 -1
- package/lib/core/services/routes/monkeyecx-dicovery-params.service.d.ts +13 -13
- package/lib/core/services/schedules/index.d.ts +1 -1
- package/lib/core/services/schedules/monkeyecx-request-schedule.service.d.ts +47 -47
- package/lib/core/services/storage/index.d.ts +2 -2
- package/lib/core/services/storage/monkeyecx-cookie-storage.service.d.ts +11 -11
- package/lib/core/services/storage/monkeyecx-token-storage.service.d.ts +30 -30
- package/lib/core/services/store/index.d.ts +3 -1
- package/lib/core/services/store/monkeyecx-store.actions.d.ts +51 -0
- package/lib/core/services/store/monkeyecx-store.selector.d.ts +28 -0
- package/lib/core/services/store/monkeyecx-store.service.d.ts +50 -50
- package/lib/core/specification-search/index.d.ts +1 -1
- package/lib/core/specification-search/monkeyecx-specification-search.d.ts +20 -20
- package/lib/core/utils/decorators-utils.d.ts +5 -5
- package/lib/core/utils/index.d.ts +6 -6
- package/lib/core/utils/statics.d.ts +34 -34
- package/lib/core/utils/utils.d.ts +26 -26
- package/lib/core/utils/validate-utils.d.ts +66 -66
- package/lib/core/utils/validators.d.ts +36 -36
- package/lib/monkey-front-core.module.d.ts +19 -19
- package/lib/store/actions/index.d.ts +1 -1
- package/lib/store/actions/monkeyecx-storage.actions.d.ts +23 -23
- package/lib/store/index.d.ts +3 -3
- package/lib/store/reducers/index.d.ts +2 -2
- package/lib/store/reducers/monkeyecx-seeder.reducer.d.ts +2 -2
- package/lib/store/reducers/monkeyecx-storage.reducer.d.ts +13 -13
- package/lib/store/selectors/index.d.ts +1 -1
- package/lib/store/selectors/monkeyecx-storage.selector.d.ts +8 -8
- package/monkey-front-core-0.0.461.tgz +0 -0
- package/monkey-front-core.d.ts +5 -5
- package/package.json +4 -3
- package/public-api.d.ts +4 -4
- package/monkey-front-core-0.0.458.tgz +0 -0
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
/* eslint-disable no-console */
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class MonkeyEcxGTMConfigService {
|
|
5
|
-
constructor() {
|
|
6
|
-
// not to do
|
|
7
|
-
}
|
|
8
|
-
handleCode(key) {
|
|
9
|
-
try {
|
|
10
|
-
window.dataLayer = window.dataLayer || [];
|
|
11
|
-
window.dataLayer.push({
|
|
12
|
-
'gtm.start': new Date().getTime(),
|
|
13
|
-
event: 'gtm.js'
|
|
14
|
-
});
|
|
15
|
-
const head = document.querySelector('head');
|
|
16
|
-
const script = document.createElement('script');
|
|
17
|
-
script.async = true;
|
|
18
|
-
script.src = `https://www.googletagmanager.com/gtm.js?id=GTM-${key}`;
|
|
19
|
-
head?.appendChild(script);
|
|
20
|
-
const body = document.querySelector('body');
|
|
21
|
-
const noscript = document.createElement('noscript');
|
|
22
|
-
const iframe = document.createElement('iframe');
|
|
23
|
-
iframe.src = `https://www.googletagmanager.com/ns.html?id=GTM-${key}`;
|
|
24
|
-
iframe.height = '0';
|
|
25
|
-
iframe.width = '0';
|
|
26
|
-
iframe.style.display = 'none';
|
|
27
|
-
iframe.style.visibility = 'hidden';
|
|
28
|
-
noscript.appendChild(iframe);
|
|
29
|
-
body?.appendChild(noscript);
|
|
30
|
-
}
|
|
31
|
-
catch (e) {
|
|
32
|
-
console.error('GTM Configuration Error!');
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
apply(environment) {
|
|
36
|
-
const { gtm } = environment;
|
|
37
|
-
const { enabled, key } = gtm || { enabled: false, key: '' };
|
|
38
|
-
if (enabled && environment.environment !== 'dev') {
|
|
39
|
-
this.handleCode(key);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
MonkeyEcxGTMConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxGTMConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
44
|
-
MonkeyEcxGTMConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxGTMConfigService, providedIn: 'root' });
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxGTMConfigService, decorators: [{
|
|
46
|
-
type: Injectable,
|
|
47
|
-
args: [{
|
|
48
|
-
providedIn: 'root'
|
|
49
|
-
}]
|
|
50
|
-
}], ctorParameters: function () { return []; } });
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class MonkeyEcxGTMConfigService {
|
|
5
|
+
constructor() {
|
|
6
|
+
// not to do
|
|
7
|
+
}
|
|
8
|
+
handleCode(key) {
|
|
9
|
+
try {
|
|
10
|
+
window.dataLayer = window.dataLayer || [];
|
|
11
|
+
window.dataLayer.push({
|
|
12
|
+
'gtm.start': new Date().getTime(),
|
|
13
|
+
event: 'gtm.js'
|
|
14
|
+
});
|
|
15
|
+
const head = document.querySelector('head');
|
|
16
|
+
const script = document.createElement('script');
|
|
17
|
+
script.async = true;
|
|
18
|
+
script.src = `https://www.googletagmanager.com/gtm.js?id=GTM-${key}`;
|
|
19
|
+
head?.appendChild(script);
|
|
20
|
+
const body = document.querySelector('body');
|
|
21
|
+
const noscript = document.createElement('noscript');
|
|
22
|
+
const iframe = document.createElement('iframe');
|
|
23
|
+
iframe.src = `https://www.googletagmanager.com/ns.html?id=GTM-${key}`;
|
|
24
|
+
iframe.height = '0';
|
|
25
|
+
iframe.width = '0';
|
|
26
|
+
iframe.style.display = 'none';
|
|
27
|
+
iframe.style.visibility = 'hidden';
|
|
28
|
+
noscript.appendChild(iframe);
|
|
29
|
+
body?.appendChild(noscript);
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
console.error('GTM Configuration Error!');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
apply(environment) {
|
|
36
|
+
const { gtm } = environment;
|
|
37
|
+
const { enabled, key } = gtm || { enabled: false, key: '' };
|
|
38
|
+
if (enabled && environment.environment !== 'dev') {
|
|
39
|
+
this.handleCode(key);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
MonkeyEcxGTMConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxGTMConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
44
|
+
MonkeyEcxGTMConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxGTMConfigService, providedIn: 'root' });
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxGTMConfigService, decorators: [{
|
|
46
|
+
type: Injectable,
|
|
47
|
+
args: [{
|
|
48
|
+
providedIn: 'root'
|
|
49
|
+
}]
|
|
50
|
+
}], ctorParameters: function () { return []; } });
|
|
51
51
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWd0bS1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb25maWcvbW9ua2V5ZWN4LWd0bS1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQztRQUNFLFlBQVk7SUFDZCxDQUFDO0lBRU8sVUFBVSxDQUFDLEdBQVc7UUFDNUIsSUFBSTtZQUNGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7WUFDMUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BCLFdBQVcsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRTtnQkFDakMsS0FBSyxFQUFFLFFBQVE7YUFDaEIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsa0RBQWtELEdBQUcsRUFBRSxDQUFDO1lBQ3JFLElBQUksRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFMUIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEQsTUFBTSxDQUFDLEdBQUcsR0FBRyxtREFBbUQsR0FBRyxFQUFFLENBQUM7WUFDdEUsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7WUFDcEIsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7WUFDbkIsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztZQUNuQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdCLElBQUksRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDN0I7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUMzQztJQUNILENBQUM7SUFFTSxLQUFLLENBQUMsV0FBZ0I7UUFDM0IsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLFdBQVcsQ0FBQztRQUM1QixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzVELElBQUksT0FBTyxJQUFJLFdBQVcsQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFO1lBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdEI7SUFDSCxDQUFDOztzSEF2Q1UseUJBQXlCOzBIQUF6Qix5QkFBeUIsY0FGeEIsTUFBTTsyRkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogYW55O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hHVE1Db25maWdTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNvZGUoa2V5OiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgd2luZG93LmRhdGFMYXllciA9IHdpbmRvdy5kYXRhTGF5ZXIgfHwgW107XG4gICAgICB3aW5kb3cuZGF0YUxheWVyLnB1c2goe1xuICAgICAgICAnZ3RtLnN0YXJ0JzogbmV3IERhdGUoKS5nZXRUaW1lKCksXG4gICAgICAgIGV2ZW50OiAnZ3RtLmpzJ1xuICAgICAgfSk7XG4gICAgICBjb25zdCBoZWFkID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaGVhZCcpO1xuICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBzY3JpcHQuYXN5bmMgPSB0cnVlO1xuICAgICAgc2NyaXB0LnNyYyA9IGBodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndG0uanM/aWQ9R1RNLSR7a2V5fWA7XG4gICAgICBoZWFkPy5hcHBlbmRDaGlsZChzY3JpcHQpO1xuXG4gICAgICBjb25zdCBib2R5ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYm9keScpO1xuICAgICAgY29uc3Qgbm9zY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdub3NjcmlwdCcpO1xuICAgICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7XG4gICAgICBpZnJhbWUuc3JjID0gYGh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL25zLmh0bWw/aWQ9R1RNLSR7a2V5fWA7XG4gICAgICBpZnJhbWUuaGVpZ2h0ID0gJzAnO1xuICAgICAgaWZyYW1lLndpZHRoID0gJzAnO1xuICAgICAgaWZyYW1lLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICBpZnJhbWUuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgICAgbm9zY3JpcHQuYXBwZW5kQ2hpbGQoaWZyYW1lKTtcbiAgICAgIGJvZHk/LmFwcGVuZENoaWxkKG5vc2NyaXB0KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdHVE0gQ29uZmlndXJhdGlvbiBFcnJvciEnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXBwbHkoZW52aXJvbm1lbnQ6IGFueSkge1xuICAgIGNvbnN0IHsgZ3RtIH0gPSBlbnZpcm9ubWVudDtcbiAgICBjb25zdCB7IGVuYWJsZWQsIGtleSB9ID0gZ3RtIHx8IHsgZW5hYmxlZDogZmFsc2UsIGtleTogJycgfTtcbiAgICBpZiAoZW5hYmxlZCAmJiBlbnZpcm9ubWVudC5lbnZpcm9ubWVudCAhPT0gJ2RldicpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29kZShrZXkpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,153 +1,153 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
/* eslint-disable no-console */
|
|
3
|
-
/* eslint-disable import/no-named-default */
|
|
4
|
-
import { Injectable } from '@angular/core';
|
|
5
|
-
import { throwError } from 'rxjs';
|
|
6
|
-
import { take } from 'rxjs/operators';
|
|
7
|
-
import { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';
|
|
8
|
-
import { MonkeyEcxUtils } from '../../utils';
|
|
9
|
-
import { MonkeyEcxCommonsService } from '../commons';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "../monkeyecx-service.service";
|
|
12
|
-
import * as i2 from "@ngx-translate/core";
|
|
13
|
-
import * as i3 from "../storage/monkeyecx-cookie-storage.service";
|
|
14
|
-
import * as i4 from "../config/monkeyecx-error-config.service";
|
|
15
|
-
export class MonkeyEcxi18nConfigService extends MonkeyEcxCommonsService {
|
|
16
|
-
constructor(monkeyecxService, translateService, monkeyecxCookieStorageService, monkeyecxErrorConfigService) {
|
|
17
|
-
super(monkeyecxService);
|
|
18
|
-
this.translateService = translateService;
|
|
19
|
-
this.monkeyecxCookieStorageService = monkeyecxCookieStorageService;
|
|
20
|
-
this.monkeyecxErrorConfigService = monkeyecxErrorConfigService;
|
|
21
|
-
this.translateService.addLangs(['pt-BR', 'en-US']);
|
|
22
|
-
this.translateService.setDefaultLang('pt-BR');
|
|
23
|
-
this.translateService.use('pt-BR');
|
|
24
|
-
}
|
|
25
|
-
apply(params, environment, change = false) {
|
|
26
|
-
this.applyInternal(environment, params, change);
|
|
27
|
-
this.applyExternal(params, environment, change);
|
|
28
|
-
}
|
|
29
|
-
async applyInternal(environment, params = {}, change = false) {
|
|
30
|
-
const { monkeyecxService, monkeyecxErrorConfigService, monkeyecxCookieStorageService } = this;
|
|
31
|
-
let lang = '';
|
|
32
|
-
let i18n = { lang: '' };
|
|
33
|
-
try {
|
|
34
|
-
if (!change) {
|
|
35
|
-
const cookie = monkeyecxCookieStorageService.getCookie('monkey-app-locale');
|
|
36
|
-
if (cookie) {
|
|
37
|
-
i18n = JSON.parse(atob(cookie));
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
i18n = {
|
|
42
|
-
lang: params?.i18n?.lang
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
catch (e) {
|
|
47
|
-
// not to do
|
|
48
|
-
}
|
|
49
|
-
lang = i18n?.lang || `${environment?.lang || 'pt-BR'}`;
|
|
50
|
-
try {
|
|
51
|
-
const currenti18n = await monkeyecxService
|
|
52
|
-
?.get(`${environment.localAssets}/i18n/${lang}.json`)
|
|
53
|
-
.pipe(take(1))
|
|
54
|
-
.toPromise();
|
|
55
|
-
const { data } = currenti18n;
|
|
56
|
-
this.translateService.setTranslation('pt-BR', data, true);
|
|
57
|
-
this.translateService.setTranslation(lang, data, true);
|
|
58
|
-
this.translateService.use(lang);
|
|
59
|
-
}
|
|
60
|
-
catch (err) {
|
|
61
|
-
console.error(`i18n ${lang} not found!`);
|
|
62
|
-
monkeyecxErrorConfigService.apply('i18n');
|
|
63
|
-
throwError(err);
|
|
64
|
-
}
|
|
65
|
-
try {
|
|
66
|
-
const pathName = ['alerts', 'auth', 'register', 'shared'];
|
|
67
|
-
const services = pathName?.map((name) => {
|
|
68
|
-
const url = MonkeyEcxUtils.replaceVariables(environment.urli18nAssets, {
|
|
69
|
-
name, lang
|
|
70
|
-
});
|
|
71
|
-
return monkeyecxService
|
|
72
|
-
?.get(url)
|
|
73
|
-
.pipe(take(1))
|
|
74
|
-
.toPromise();
|
|
75
|
-
});
|
|
76
|
-
const externali18nData = await Promise.all(services);
|
|
77
|
-
externali18nData?.forEach((config) => {
|
|
78
|
-
const { data } = config;
|
|
79
|
-
this.translateService.setTranslation('pt-BR', data, true);
|
|
80
|
-
this.translateService.setTranslation(lang, data, true);
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
catch (err) {
|
|
84
|
-
// not to do
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
async applyExternal(params, environment, change = false) {
|
|
88
|
-
const { monkeyecxCookieStorageService, monkeyecxErrorConfigService, monkeyecxService } = this;
|
|
89
|
-
let { i18n } = params;
|
|
90
|
-
const cookie = monkeyecxCookieStorageService.getCookie('monkey-app-locale');
|
|
91
|
-
if (cookie && !change) {
|
|
92
|
-
i18n = JSON.parse(atob(cookie));
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
monkeyecxCookieStorageService.setCookie('monkey-app-locale', btoa(JSON.stringify(i18n)), environment);
|
|
96
|
-
}
|
|
97
|
-
try {
|
|
98
|
-
const lang = `${i18n?.lang || 'pt-BR'}`;
|
|
99
|
-
const currentExternali18n = params?.externali18n?.[`${lang}`];
|
|
100
|
-
let data = {};
|
|
101
|
-
if (currentExternali18n) {
|
|
102
|
-
data = {
|
|
103
|
-
EXTERNAL: currentExternali18n
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
this.translateService.setTranslation('pt-BR', data, true);
|
|
107
|
-
this.translateService.setTranslation(`${lang}`, data, true);
|
|
108
|
-
this.translateService.use(`${lang}`);
|
|
109
|
-
}
|
|
110
|
-
catch (err) {
|
|
111
|
-
console.error(`i18n ${i18n?.lang} not found!`);
|
|
112
|
-
monkeyecxErrorConfigService.apply('i18n');
|
|
113
|
-
throwError(err);
|
|
114
|
-
}
|
|
115
|
-
try {
|
|
116
|
-
const externali18nPaths = params?.i18n?.paths || [];
|
|
117
|
-
const services = externali18nPaths?.map((url) => {
|
|
118
|
-
return monkeyecxService?.get(`${url}/${i18n?.lang}.json`).pipe(take(1)).toPromise();
|
|
119
|
-
});
|
|
120
|
-
if (!services?.length)
|
|
121
|
-
return;
|
|
122
|
-
const externali18nData = await Promise.all(services);
|
|
123
|
-
externali18nData?.forEach((config) => {
|
|
124
|
-
const { lang } = config;
|
|
125
|
-
const { data } = config;
|
|
126
|
-
this.translateService.setTranslation('pt-BR', data, true);
|
|
127
|
-
this.translateService.setTranslation(lang, data, true);
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
catch (err) {
|
|
131
|
-
// not to do
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
MonkeyEcxi18nConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxi18nConfigService, deps: [{ token: i1.MonkeyEcxService }, { token: i2.TranslateService }, { token: i3.MonkeyEcxCookieStorageService }, { token: i4.MonkeyEcxErrorConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
136
|
-
MonkeyEcxi18nConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxi18nConfigService, providedIn: 'root' });
|
|
137
|
-
__decorate([
|
|
138
|
-
MonkeyEcxCoreService({
|
|
139
|
-
httpResponse: {
|
|
140
|
-
httpCodeIgnore: [404]
|
|
141
|
-
},
|
|
142
|
-
requestInProgress: {
|
|
143
|
-
showProgress: false
|
|
144
|
-
}
|
|
145
|
-
})
|
|
146
|
-
], MonkeyEcxi18nConfigService.prototype, "applyInternal", null);
|
|
147
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxi18nConfigService, decorators: [{
|
|
148
|
-
type: Injectable,
|
|
149
|
-
args: [{
|
|
150
|
-
providedIn: 'root'
|
|
151
|
-
}]
|
|
152
|
-
}], ctorParameters: function () { return [{ type: i1.MonkeyEcxService }, { type: i2.TranslateService }, { type: i3.MonkeyEcxCookieStorageService }, { type: i4.MonkeyEcxErrorConfigService }]; }, propDecorators: { applyInternal: [] } });
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
/* eslint-disable no-console */
|
|
3
|
+
/* eslint-disable import/no-named-default */
|
|
4
|
+
import { Injectable } from '@angular/core';
|
|
5
|
+
import { throwError } from 'rxjs';
|
|
6
|
+
import { take } from 'rxjs/operators';
|
|
7
|
+
import { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';
|
|
8
|
+
import { MonkeyEcxUtils } from '../../utils';
|
|
9
|
+
import { MonkeyEcxCommonsService } from '../commons';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "../monkeyecx-service.service";
|
|
12
|
+
import * as i2 from "@ngx-translate/core";
|
|
13
|
+
import * as i3 from "../storage/monkeyecx-cookie-storage.service";
|
|
14
|
+
import * as i4 from "../config/monkeyecx-error-config.service";
|
|
15
|
+
export class MonkeyEcxi18nConfigService extends MonkeyEcxCommonsService {
|
|
16
|
+
constructor(monkeyecxService, translateService, monkeyecxCookieStorageService, monkeyecxErrorConfigService) {
|
|
17
|
+
super(monkeyecxService);
|
|
18
|
+
this.translateService = translateService;
|
|
19
|
+
this.monkeyecxCookieStorageService = monkeyecxCookieStorageService;
|
|
20
|
+
this.monkeyecxErrorConfigService = monkeyecxErrorConfigService;
|
|
21
|
+
this.translateService.addLangs(['pt-BR', 'en-US']);
|
|
22
|
+
this.translateService.setDefaultLang('pt-BR');
|
|
23
|
+
this.translateService.use('pt-BR');
|
|
24
|
+
}
|
|
25
|
+
apply(params, environment, change = false) {
|
|
26
|
+
this.applyInternal(environment, params, change);
|
|
27
|
+
this.applyExternal(params, environment, change);
|
|
28
|
+
}
|
|
29
|
+
async applyInternal(environment, params = {}, change = false) {
|
|
30
|
+
const { monkeyecxService, monkeyecxErrorConfigService, monkeyecxCookieStorageService } = this;
|
|
31
|
+
let lang = '';
|
|
32
|
+
let i18n = { lang: '' };
|
|
33
|
+
try {
|
|
34
|
+
if (!change) {
|
|
35
|
+
const cookie = monkeyecxCookieStorageService.getCookie('monkey-app-locale');
|
|
36
|
+
if (cookie) {
|
|
37
|
+
i18n = JSON.parse(atob(cookie));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
i18n = {
|
|
42
|
+
lang: params?.i18n?.lang
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch (e) {
|
|
47
|
+
// not to do
|
|
48
|
+
}
|
|
49
|
+
lang = i18n?.lang || `${environment?.lang || 'pt-BR'}`;
|
|
50
|
+
try {
|
|
51
|
+
const currenti18n = await monkeyecxService
|
|
52
|
+
?.get(`${environment.localAssets}/i18n/${lang}.json`)
|
|
53
|
+
.pipe(take(1))
|
|
54
|
+
.toPromise();
|
|
55
|
+
const { data } = currenti18n;
|
|
56
|
+
this.translateService.setTranslation('pt-BR', data, true);
|
|
57
|
+
this.translateService.setTranslation(lang, data, true);
|
|
58
|
+
this.translateService.use(lang);
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
console.error(`i18n ${lang} not found!`);
|
|
62
|
+
monkeyecxErrorConfigService.apply('i18n');
|
|
63
|
+
throwError(err);
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
const pathName = ['alerts', 'auth', 'register', 'shared'];
|
|
67
|
+
const services = pathName?.map((name) => {
|
|
68
|
+
const url = MonkeyEcxUtils.replaceVariables(environment.urli18nAssets, {
|
|
69
|
+
name, lang
|
|
70
|
+
});
|
|
71
|
+
return monkeyecxService
|
|
72
|
+
?.get(url)
|
|
73
|
+
.pipe(take(1))
|
|
74
|
+
.toPromise();
|
|
75
|
+
});
|
|
76
|
+
const externali18nData = await Promise.all(services);
|
|
77
|
+
externali18nData?.forEach((config) => {
|
|
78
|
+
const { data } = config;
|
|
79
|
+
this.translateService.setTranslation('pt-BR', data, true);
|
|
80
|
+
this.translateService.setTranslation(lang, data, true);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
// not to do
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
async applyExternal(params, environment, change = false) {
|
|
88
|
+
const { monkeyecxCookieStorageService, monkeyecxErrorConfigService, monkeyecxService } = this;
|
|
89
|
+
let { i18n } = params;
|
|
90
|
+
const cookie = monkeyecxCookieStorageService.getCookie('monkey-app-locale');
|
|
91
|
+
if (cookie && !change) {
|
|
92
|
+
i18n = JSON.parse(atob(cookie));
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
monkeyecxCookieStorageService.setCookie('monkey-app-locale', btoa(JSON.stringify(i18n)), environment);
|
|
96
|
+
}
|
|
97
|
+
try {
|
|
98
|
+
const lang = `${i18n?.lang || 'pt-BR'}`;
|
|
99
|
+
const currentExternali18n = params?.externali18n?.[`${lang}`];
|
|
100
|
+
let data = {};
|
|
101
|
+
if (currentExternali18n) {
|
|
102
|
+
data = {
|
|
103
|
+
EXTERNAL: currentExternali18n
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
this.translateService.setTranslation('pt-BR', data, true);
|
|
107
|
+
this.translateService.setTranslation(`${lang}`, data, true);
|
|
108
|
+
this.translateService.use(`${lang}`);
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
console.error(`i18n ${i18n?.lang} not found!`);
|
|
112
|
+
monkeyecxErrorConfigService.apply('i18n');
|
|
113
|
+
throwError(err);
|
|
114
|
+
}
|
|
115
|
+
try {
|
|
116
|
+
const externali18nPaths = params?.i18n?.paths || [];
|
|
117
|
+
const services = externali18nPaths?.map((url) => {
|
|
118
|
+
return monkeyecxService?.get(`${url}/${i18n?.lang}.json`).pipe(take(1)).toPromise();
|
|
119
|
+
});
|
|
120
|
+
if (!services?.length)
|
|
121
|
+
return;
|
|
122
|
+
const externali18nData = await Promise.all(services);
|
|
123
|
+
externali18nData?.forEach((config) => {
|
|
124
|
+
const { lang } = config;
|
|
125
|
+
const { data } = config;
|
|
126
|
+
this.translateService.setTranslation('pt-BR', data, true);
|
|
127
|
+
this.translateService.setTranslation(lang, data, true);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
catch (err) {
|
|
131
|
+
// not to do
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
MonkeyEcxi18nConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxi18nConfigService, deps: [{ token: i1.MonkeyEcxService }, { token: i2.TranslateService }, { token: i3.MonkeyEcxCookieStorageService }, { token: i4.MonkeyEcxErrorConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
136
|
+
MonkeyEcxi18nConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxi18nConfigService, providedIn: 'root' });
|
|
137
|
+
__decorate([
|
|
138
|
+
MonkeyEcxCoreService({
|
|
139
|
+
httpResponse: {
|
|
140
|
+
httpCodeIgnore: [404]
|
|
141
|
+
},
|
|
142
|
+
requestInProgress: {
|
|
143
|
+
showProgress: false
|
|
144
|
+
}
|
|
145
|
+
})
|
|
146
|
+
], MonkeyEcxi18nConfigService.prototype, "applyInternal", null);
|
|
147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxi18nConfigService, decorators: [{
|
|
148
|
+
type: Injectable,
|
|
149
|
+
args: [{
|
|
150
|
+
providedIn: 'root'
|
|
151
|
+
}]
|
|
152
|
+
}], ctorParameters: function () { return [{ type: i1.MonkeyEcxService }, { type: i2.TranslateService }, { type: i3.MonkeyEcxCookieStorageService }, { type: i4.MonkeyEcxErrorConfigService }]; }, propDecorators: { applyInternal: [] } });
|
|
153
153
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWkxOG4tY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvY29uZmlnL21vbmtleWVjeC1pMThuLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQkFBK0I7QUFDL0IsNENBQTRDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7OztBQVFyRCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsdUJBQXVCO0lBQ3JFLFlBQ0UsZ0JBQWtDLEVBQzFCLGdCQUFrQyxFQUNsQyw2QkFBNEQsRUFDNUQsMkJBQXdEO1FBRWhFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBSmhCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUErQjtRQUM1RCxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBSWhFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENB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WUFFckQsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7Z0JBQ3hDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUM7Z0JBQ3hCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDMUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3pELENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLFlBQVk7U0FDYjtJQUNILENBQUM7O3VIQW5KVSwwQkFBMEI7MkhBQTFCLDBCQUEwQixjQUZ6QixNQUFNO0FBNkJsQjtJQVJDLG9CQUFvQixDQUFDO1FBQ3BCLFlBQVksRUFBRTtZQUNaLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQztTQUN0QjtRQUNELGlCQUFpQixFQUFFO1lBQ2pCLFlBQVksRUFBRSxLQUFLO1NBQ3BCO0tBQ0YsQ0FBQzsrREFnRUQ7MkZBMUZVLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7NE5BNEJjLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvbm8tbmFtZWQtZGVmYXVsdCAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1vbmtleUVjeENvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGVjb3JhdG9ycy9tb25rZXllY3gtZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1vbmtleUVjeFV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2UgfSBmcm9tICcuLi9jb21tb25zJztcbmltcG9ydCB7IE1vbmtleUVjeEVycm9yQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvbmZpZy9tb25rZXllY3gtZXJyb3ItY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4U2VydmljZSB9IGZyb20gJy4uL21vbmtleWVjeC1zZXJ2aWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4Q29va2llU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9zdG9yYWdlL21vbmtleWVjeC1jb29raWUtc3RvcmFnZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4aTE4bkNvbmZpZ1NlcnZpY2UgZXh0ZW5kcyBNb25rZXlFY3hDb21tb25zU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIG1vbmtleWVjeFNlcnZpY2U6IE1vbmtleUVjeFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9ua2V5ZWN4Q29va2llU3RvcmFnZVNlcnZpY2U6IE1vbmtleUVjeENvb2tpZVN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlOiBNb25rZXlFY3hFcnJvckNvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIobW9ua2V5ZWN4U2VydmljZSk7XG5cbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuYWRkTGFuZ3MoWydwdC1CUicsICdlbi1VUyddKTtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc2V0RGVmYXVsdExhbmcoJ3B0LUJSJyk7XG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZSgncHQtQlInKTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseShwYXJhbXM6IE1vbmtleUVjeENvbmZpZywgZW52aXJvbm1lbnQ6IGFueSwgY2hhbmdlID0gZmFsc2UpIHtcbiAgICB0aGlzLmFwcGx5SW50ZXJuYWwoZW52aXJvbm1lbnQsIHBhcmFtcywgY2hhbmdlKTtcbiAgICB0aGlzLmFwcGx5RXh0ZXJuYWwocGFyYW1zLCBlbnZpcm9ubWVudCwgY2hhbmdlKTtcbiAgfVxuXG4gIEBNb25rZXlFY3hDb3JlU2VydmljZSh7XG4gICAgaHR0cFJlc3BvbnNlOiB7XG4gICAgICBodHRwQ29kZUlnbm9yZTogWzQwNF1cbiAgICB9LFxuICAgIHJlcXVlc3RJblByb2dyZXNzOiB7XG4gICAgICBzaG93UHJvZ3Jlc3M6IGZhbHNlXG4gICAgfVxuICB9KVxuICBwdWJsaWMgYXN5bmMgYXBwbHlJbnRlcm5hbChlbnZpcm9ubWVudDogYW55LCBwYXJhbXM6IGFueSA9IHt9LCBjaGFuZ2UgPSBmYWxzZSkge1xuICAgIGNvbnN0IHsgbW9ua2V5ZWN4U2VydmljZSwgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlLCBtb25rZXllY3hDb29raWVTdG9yYWdlU2VydmljZSB9ID0gdGhpcztcblxuICAgIGxldCBsYW5nID0gJyc7XG4gICAgbGV0IGkxOG4gPSB7IGxhbmc6ICcnIH07XG4gICAgdHJ5IHtcbiAgICAgIGlmICghY2hhbmdlKSB7XG4gICAgICAgIGNvbnN0IGNvb2tpZSA9IG1vbmtleWVjeENvb2tpZVN0b3JhZ2VTZXJ2aWNlLmdldENvb2tpZSgnbW9ua2V5LWFwcC1sb2NhbGUnKTtcbiAgICAgICAgaWYgKGNvb2tpZSkge1xuICAgICAgICAgIGkxOG4gPSBKU09OLnBhcnNlKGF0b2IoY29va2llKSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGkxOG4gPSB7XG4gICAgICAgICAgbGFuZzogcGFyYW1zPy5pMThuPy5sYW5nXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gbm90IHRvIGRvXG4gICAgfVxuXG4gICAgbGFuZyA9IGkxOG4/LmxhbmcgfHwgYCR7ZW52aXJvbm1lbnQ/LmxhbmcgfHwgJ3B0LUJSJ31gO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRpMThuOiBhbnkgPSBhd2FpdCBtb25rZXllY3hTZXJ2aWNlXG4gICAgICAgID8uZ2V0KGAke2Vudmlyb25tZW50LmxvY2FsQXNzZXRzfS9pMThuLyR7bGFuZ30uanNvbmApXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC50b1Byb21pc2UoKTtcblxuICAgICAgY29uc3QgeyBkYXRhIH0gPSBjdXJyZW50aTE4bjtcblxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnNldFRyYW5zbGF0aW9uKCdwdC1CUicsIGRhdGEsIHRydWUpO1xuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnNldFRyYW5zbGF0aW9uKGxhbmcsIGRhdGEsIHRydWUpO1xuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZShsYW5nKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYGkxOG4gJHtsYW5nfSBub3QgZm91bmQhYCk7XG4gICAgICBtb25rZXllY3hFcnJvckNvbmZpZ1NlcnZpY2UuYXBwbHkoJ2kxOG4nKTtcbiAgICAgIHRocm93RXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcGF0aE5hbWUgPSBbJ2FsZXJ0cycsICdhdXRoJywgJ3JlZ2lzdGVyJywgJ3NoYXJlZCddO1xuXG4gICAgICBjb25zdCBzZXJ2aWNlcyA9IHBhdGhOYW1lPy5tYXAoKG5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB1cmwgPSBNb25rZXlFY3hVdGlscy5yZXBsYWNlVmFyaWFibGVzKGVudmlyb25tZW50LnVybGkxOG5Bc3NldHMsIHtcbiAgICAgICAgICBuYW1lLCBsYW5nXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBtb25rZXllY3hTZXJ2aWNlXG4gICAgICAgICAgPy5nZXQodXJsKVxuICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgLnRvUHJvbWlzZSgpO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGV4dGVybmFsaTE4bkRhdGEgPSBhd2FpdCBQcm9taXNlLmFsbChzZXJ2aWNlcyk7XG5cbiAgICAgIGV4dGVybmFsaTE4bkRhdGE/LmZvckVhY2goKGNvbmZpZzogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gY29uZmlnO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc2V0VHJhbnNsYXRpb24oJ3B0LUJSJywgZGF0YSwgdHJ1ZSk7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXRUcmFuc2xhdGlvbihsYW5nLCBkYXRhLCB0cnVlKTtcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gbm90IHRvIGRvXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGFwcGx5RXh0ZXJuYWwocGFyYW1zOiBNb25rZXlFY3hDb25maWcsIGVudmlyb25tZW50OiBhbnksIGNoYW5nZSA9IGZhbHNlKSB7XG4gICAgY29uc3QgeyBtb25rZXllY3hDb29raWVTdG9yYWdlU2VydmljZSwgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlLCBtb25rZXllY3hTZXJ2aWNlIH0gPSB0aGlzO1xuICAgIGxldCB7IGkxOG4gfSA9IHBhcmFtcztcblxuICAgIGNvbnN0IGNvb2tpZSA9IG1vbmtleWVjeENvb2tpZVN0b3JhZ2VTZXJ2aWNlLmdldENvb2tpZSgnbW9ua2V5LWFwcC1sb2NhbGUnKTtcbiAgICBpZiAoY29va2llICYmICFjaGFuZ2UpIHtcbiAgICAgIGkxOG4gPSBKU09OLnBhcnNlKGF0b2IoY29va2llKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1vbmtleWVjeENvb2tpZVN0b3JhZ2VTZXJ2aWNlLnNldENvb2tpZShcbiAgICAgICAgJ21vbmtleS1hcHAtbG9jYWxlJyxcbiAgICAgICAgYnRvYShKU09OLnN0cmluZ2lmeShpMThuKSksXG4gICAgICAgIGVudmlyb25tZW50XG4gICAgICApO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBsYW5nID0gYCR7aTE4bj8ubGFuZyB8fCAncHQtQlInfWA7XG5cbiAgICAgIGNvbnN0IGN1cnJlbnRFeHRlcm5hbGkxOG4gPSBwYXJhbXM/LmV4dGVybmFsaTE4bj8uW2Ake2xhbmd9YF07XG5cbiAgICAgIGxldCBkYXRhID0ge307XG4gICAgICBpZiAoY3VycmVudEV4dGVybmFsaTE4bikge1xuICAgICAgICBkYXRhID0ge1xuICAgICAgICAgIEVYVEVSTkFMOiBjdXJyZW50RXh0ZXJuYWxpMThuXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXRUcmFuc2xhdGlvbigncHQtQlInLCBkYXRhLCB0cnVlKTtcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXRUcmFuc2xhdGlvbihgJHtsYW5nfWAsIGRhdGEsIHRydWUpO1xuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZShgJHtsYW5nfWApO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcihgaTE4biAke2kxOG4/Lmxhbmd9IG5vdCBmb3VuZCFgKTtcbiAgICAgIG1vbmtleWVjeEVycm9yQ29uZmlnU2VydmljZS5hcHBseSgnaTE4bicpO1xuICAgICAgdGhyb3dFcnJvcihlcnIpO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBleHRlcm5hbGkxOG5QYXRoczogc3RyaW5nW10gPSBwYXJhbXM/LmkxOG4/LnBhdGhzIHx8IFtdO1xuXG4gICAgICBjb25zdCBzZXJ2aWNlcyA9IGV4dGVybmFsaTE4blBhdGhzPy5tYXAoKHVybDogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiBtb25rZXllY3hTZXJ2aWNlPy5nZXQoYCR7dXJsfS8ke2kxOG4/Lmxhbmd9Lmpzb25gKS5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpO1xuICAgICAgfSk7XG4gICAgICBpZiAoIXNlcnZpY2VzPy5sZW5ndGgpIHJldHVybjtcblxuICAgICAgY29uc3QgZXh0ZXJuYWxpMThuRGF0YSA9IGF3YWl0IFByb21pc2UuYWxsKHNlcnZpY2VzKTtcblxuICAgICAgZXh0ZXJuYWxpMThuRGF0YT8uZm9yRWFjaCgoY29uZmlnOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgeyBsYW5nIH0gPSBjb25maWc7XG4gICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gY29uZmlnO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc2V0VHJhbnNsYXRpb24oJ3B0LUJSJywgZGF0YSwgdHJ1ZSk7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXRUcmFuc2xhdGlvbihsYW5nLCBkYXRhLCB0cnVlKTtcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gbm90IHRvIGRvXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { datadogRum } from '@datadog/browser-rum';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class MonkeyEcxLogsConfigService {
|
|
5
|
-
apply(params, configBootstrap, environment, identifyCode) {
|
|
6
|
-
const { program, logs } = params;
|
|
7
|
-
if (logs?.enabled && environment.environment !== 'dev') {
|
|
8
|
-
datadogRum.init({
|
|
9
|
-
applicationId: environment?.dataDogApplicationId,
|
|
10
|
-
clientToken: environment?.dataDogClientToken,
|
|
11
|
-
service: program?.token,
|
|
12
|
-
site: 'datadoghq.com',
|
|
13
|
-
sampleRate: 100,
|
|
14
|
-
replaySampleRate: 100,
|
|
15
|
-
env: `monkey-front-${identifyCode}-${environment.environment}`,
|
|
16
|
-
version: configBootstrap?.version,
|
|
17
|
-
trackInteractions: true,
|
|
18
|
-
trackSessionAcrossSubdomains: true,
|
|
19
|
-
useSecureSessionCookie: true,
|
|
20
|
-
useCrossSiteSessionCookie: true
|
|
21
|
-
});
|
|
22
|
-
datadogRum.startSessionReplayRecording();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
MonkeyEcxLogsConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxLogsConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
27
|
-
MonkeyEcxLogsConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxLogsConfigService, providedIn: 'root' });
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxLogsConfigService, decorators: [{
|
|
29
|
-
type: Injectable,
|
|
30
|
-
args: [{
|
|
31
|
-
providedIn: 'root'
|
|
32
|
-
}]
|
|
33
|
-
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { datadogRum } from '@datadog/browser-rum';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class MonkeyEcxLogsConfigService {
|
|
5
|
+
apply(params, configBootstrap, environment, identifyCode) {
|
|
6
|
+
const { program, logs } = params;
|
|
7
|
+
if (logs?.enabled && environment.environment !== 'dev') {
|
|
8
|
+
datadogRum.init({
|
|
9
|
+
applicationId: environment?.dataDogApplicationId,
|
|
10
|
+
clientToken: environment?.dataDogClientToken,
|
|
11
|
+
service: program?.token,
|
|
12
|
+
site: 'datadoghq.com',
|
|
13
|
+
sampleRate: 100,
|
|
14
|
+
replaySampleRate: 100,
|
|
15
|
+
env: `monkey-front-${identifyCode}-${environment.environment}`,
|
|
16
|
+
version: configBootstrap?.version,
|
|
17
|
+
trackInteractions: true,
|
|
18
|
+
trackSessionAcrossSubdomains: true,
|
|
19
|
+
useSecureSessionCookie: true,
|
|
20
|
+
useCrossSiteSessionCookie: true
|
|
21
|
+
});
|
|
22
|
+
datadogRum.startSessionReplayRecording();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
MonkeyEcxLogsConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxLogsConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
27
|
+
MonkeyEcxLogsConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxLogsConfigService, providedIn: 'root' });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxLogsConfigService, decorators: [{
|
|
29
|
+
type: Injectable,
|
|
30
|
+
args: [{
|
|
31
|
+
providedIn: 'root'
|
|
32
|
+
}]
|
|
33
|
+
}] });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWxvZ3MtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvY29uZmlnL21vbmtleWVjeC1sb2dzLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQU1sRCxNQUFNLE9BQU8sMEJBQTBCO0lBQzlCLEtBQUssQ0FDVixNQUF1QixFQUN2QixlQUF5QyxFQUN6QyxXQUFnQixFQUNoQixZQUFvQjtRQUVwQixNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUNqQyxJQUFJLElBQUksRUFBRSxPQUFPLElBQUksV0FBVyxDQUFDLFdBQVcsS0FBSyxLQUFLLEVBQUU7WUFDdEQsVUFBVSxDQUFDLElBQUksQ0FBQztnQkFDZCxhQUFhLEVBQUUsV0FBVyxFQUFFLG9CQUFvQjtnQkFDaEQsV0FBVyxFQUFFLFdBQVcsRUFBRSxrQkFBa0I7Z0JBQzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSztnQkFDdkIsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLFVBQVUsRUFBRSxHQUFHO2dCQUNmLGdCQUFnQixFQUFFLEdBQUc7Z0JBQ3JCLEdBQUcsRUFBRSxnQkFBZ0IsWUFBWSxJQUFJLFdBQVcsQ0FBQyxXQUFXLEVBQUU7Z0JBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTztnQkFDakMsaUJBQWlCLEVBQUUsSUFBSTtnQkFDdkIsNEJBQTRCLEVBQUUsSUFBSTtnQkFDbEMsc0JBQXNCLEVBQUUsSUFBSTtnQkFDNUIseUJBQXlCLEVBQUUsSUFBSTthQUNoQyxDQUFDLENBQUM7WUFDSCxVQUFVLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztTQUMxQztJQUNILENBQUM7O3VIQXpCVSwwQkFBMEI7MkhBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzJGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGRhdGFkb2dSdW0gfSBmcm9tICdAZGF0YWRvZy9icm93c2VyLXJ1bSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZywgTW9ua2V5RWN4Q29uZmlnQm9vdHN0cmFwIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hMb2dzQ29uZmlnU2VydmljZSB7XHJcbiAgcHVibGljIGFwcGx5KFxyXG4gICAgcGFyYW1zOiBNb25rZXlFY3hDb25maWcsXHJcbiAgICBjb25maWdCb290c3RyYXA6IE1vbmtleUVjeENvbmZpZ0Jvb3RzdHJhcCxcclxuICAgIGVudmlyb25tZW50OiBhbnksXHJcbiAgICBpZGVudGlmeUNvZGU6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgY29uc3QgeyBwcm9ncmFtLCBsb2dzIH0gPSBwYXJhbXM7XHJcbiAgICBpZiAobG9ncz8uZW5hYmxlZCAmJiBlbnZpcm9ubWVudC5lbnZpcm9ubWVudCAhPT0gJ2RldicpIHtcclxuICAgICAgZGF0YWRvZ1J1bS5pbml0KHtcclxuICAgICAgICBhcHBsaWNhdGlvbklkOiBlbnZpcm9ubWVudD8uZGF0YURvZ0FwcGxpY2F0aW9uSWQsXHJcbiAgICAgICAgY2xpZW50VG9rZW46IGVudmlyb25tZW50Py5kYXRhRG9nQ2xpZW50VG9rZW4sXHJcbiAgICAgICAgc2VydmljZTogcHJvZ3JhbT8udG9rZW4sXHJcbiAgICAgICAgc2l0ZTogJ2RhdGFkb2docS5jb20nLFxyXG4gICAgICAgIHNhbXBsZVJhdGU6IDEwMCxcclxuICAgICAgICByZXBsYXlTYW1wbGVSYXRlOiAxMDAsXHJcbiAgICAgICAgZW52OiBgbW9ua2V5LWZyb250LSR7aWRlbnRpZnlDb2RlfS0ke2Vudmlyb25tZW50LmVudmlyb25tZW50fWAsXHJcbiAgICAgICAgdmVyc2lvbjogY29uZmlnQm9vdHN0cmFwPy52ZXJzaW9uLFxyXG4gICAgICAgIHRyYWNrSW50ZXJhY3Rpb25zOiB0cnVlLFxyXG4gICAgICAgIHRyYWNrU2Vzc2lvbkFjcm9zc1N1YmRvbWFpbnM6IHRydWUsXHJcbiAgICAgICAgdXNlU2VjdXJlU2Vzc2lvbkNvb2tpZTogdHJ1ZSxcclxuICAgICAgICB1c2VDcm9zc1NpdGVTZXNzaW9uQ29va2llOiB0cnVlXHJcbiAgICAgIH0pO1xyXG4gICAgICBkYXRhZG9nUnVtLnN0YXJ0U2Vzc2lvblJlcGxheVJlY29yZGluZygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { ClosedToMaintenanceComponent } from '../../../components/closed-to-maintenance/closed-to-maintenance.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "monkey-style-guide";
|
|
5
|
-
import * as i2 from "@angular/router";
|
|
6
|
-
export class MonkeyEcxMaintenanceConfigService {
|
|
7
|
-
constructor(modalService, router) {
|
|
8
|
-
this.modalService = modalService;
|
|
9
|
-
this.router = router;
|
|
10
|
-
// not to do
|
|
11
|
-
}
|
|
12
|
-
handleValidation(config) {
|
|
13
|
-
if (config.maintenance.closed) {
|
|
14
|
-
localStorage.clear();
|
|
15
|
-
this.router.navigate(['']);
|
|
16
|
-
setTimeout(() => {
|
|
17
|
-
this.modalService.open(ClosedToMaintenanceComponent, {
|
|
18
|
-
color: 'theme',
|
|
19
|
-
size: 'md',
|
|
20
|
-
data: config
|
|
21
|
-
});
|
|
22
|
-
}, 200);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
apply(config) {
|
|
26
|
-
this.handleValidation(config);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
MonkeyEcxMaintenanceConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxMaintenanceConfigService, deps: [{ token: i1.MonkeyStyleGuideModalService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
-
MonkeyEcxMaintenanceConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxMaintenanceConfigService, providedIn: 'root' });
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxMaintenanceConfigService, decorators: [{
|
|
32
|
-
type: Injectable,
|
|
33
|
-
args: [{
|
|
34
|
-
providedIn: 'root'
|
|
35
|
-
}]
|
|
36
|
-
}], ctorParameters: function () { return [{ type: i1.MonkeyStyleGuideModalService }, { type: i2.Router }]; } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ClosedToMaintenanceComponent } from '../../../components/closed-to-maintenance/closed-to-maintenance.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "monkey-style-guide";
|
|
5
|
+
import * as i2 from "@angular/router";
|
|
6
|
+
export class MonkeyEcxMaintenanceConfigService {
|
|
7
|
+
constructor(modalService, router) {
|
|
8
|
+
this.modalService = modalService;
|
|
9
|
+
this.router = router;
|
|
10
|
+
// not to do
|
|
11
|
+
}
|
|
12
|
+
handleValidation(config) {
|
|
13
|
+
if (config.maintenance.closed) {
|
|
14
|
+
localStorage.clear();
|
|
15
|
+
this.router.navigate(['']);
|
|
16
|
+
setTimeout(() => {
|
|
17
|
+
this.modalService.open(ClosedToMaintenanceComponent, {
|
|
18
|
+
color: 'theme',
|
|
19
|
+
size: 'md',
|
|
20
|
+
data: config
|
|
21
|
+
});
|
|
22
|
+
}, 200);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
apply(config) {
|
|
26
|
+
this.handleValidation(config);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
MonkeyEcxMaintenanceConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxMaintenanceConfigService, deps: [{ token: i1.MonkeyStyleGuideModalService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
+
MonkeyEcxMaintenanceConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxMaintenanceConfigService, providedIn: 'root' });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxMaintenanceConfigService, decorators: [{
|
|
32
|
+
type: Injectable,
|
|
33
|
+
args: [{
|
|
34
|
+
providedIn: 'root'
|
|
35
|
+
}]
|
|
36
|
+
}], ctorParameters: function () { return [{ type: i1.MonkeyStyleGuideModalService }, { type: i2.Router }]; } });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LW1haW50ZW5hbmNlLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbmZpZy9tb25rZXllY3gtbWFpbnRlbmFuY2UtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQzs7OztBQU16SCxNQUFNLE9BQU8saUNBQWlDO0lBQzVDLFlBQW9CLFlBQTBDLEVBQVUsTUFBYztRQUFsRSxpQkFBWSxHQUFaLFlBQVksQ0FBOEI7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ3BGLFlBQVk7SUFDZCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsTUFBZ0M7UUFDdkQsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUM3QixZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRTNCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUU7b0JBQ25ELEtBQUssRUFBRSxPQUFPO29CQUNkLElBQUksRUFBRSxJQUFJO29CQUNWLElBQUksRUFBRSxNQUFNO2lCQUNiLENBQUMsQ0FBQztZQUNMLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNUO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxNQUFnQztRQUMzQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7OEhBdEJVLGlDQUFpQztrSUFBakMsaUNBQWlDLGNBRmhDLE1BQU07MkZBRVAsaUNBQWlDO2tCQUg3QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTW9ua2V5U3R5bGVHdWlkZU1vZGFsU2VydmljZSB9IGZyb20gJ21vbmtleS1zdHlsZS1ndWlkZSc7XHJcbmltcG9ydCB7IENsb3NlZFRvTWFpbnRlbmFuY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Nsb3NlZC10by1tYWludGVuYW5jZS9jbG9zZWQtdG8tbWFpbnRlbmFuY2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTW9ua2V5RWN4Q29uZmlnQm9vdHN0cmFwIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9tb25rZXllY3gtY29uZmlnLWJvb3RzdHJhcCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hNYWludGVuYW5jZUNvbmZpZ1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb25rZXlTdHlsZUd1aWRlTW9kYWxTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XHJcbiAgICAvLyBub3QgdG8gZG9cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlVmFsaWRhdGlvbihjb25maWc6IE1vbmtleUVjeENvbmZpZ0Jvb3RzdHJhcCkge1xyXG4gICAgaWYgKGNvbmZpZy5tYWludGVuYW5jZS5jbG9zZWQpIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnJ10pO1xyXG5cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihDbG9zZWRUb01haW50ZW5hbmNlQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICBjb2xvcjogJ3RoZW1lJyxcclxuICAgICAgICAgIHNpemU6ICdtZCcsXHJcbiAgICAgICAgICBkYXRhOiBjb25maWdcclxuICAgICAgICB9KTtcclxuICAgICAgfSwgMjAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhcHBseShjb25maWc6IE1vbmtleUVjeENvbmZpZ0Jvb3RzdHJhcCkge1xyXG4gICAgdGhpcy5oYW5kbGVWYWxpZGF0aW9uKGNvbmZpZyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|