monkey-front-core 0.0.606 → 21.0.1
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 +3 -4
- package/fesm2022/monkey-front-core.mjs +5726 -0
- package/fesm2022/monkey-front-core.mjs.map +1 -0
- package/monkey-front-core-21.0.1.tgz +0 -0
- package/package.json +26 -39
- package/types/monkey-front-core.d.ts +1763 -0
- package/esm2020/lib/components/alerts/alerts.component.mjs +0 -45
- package/esm2020/lib/components/alerts/alerts.module.mjs +0 -21
- package/esm2020/lib/components/alerts/index.mjs +0 -3
- package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.component.mjs +0 -29
- package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.module.mjs +0 -43
- package/esm2020/lib/components/closed-to-maintenance/index.mjs +0 -3
- package/esm2020/lib/components/currency-config/currency-config.component.mjs +0 -39
- package/esm2020/lib/components/currency-config/currency-config.module.mjs +0 -39
- package/esm2020/lib/components/currency-config/index.mjs +0 -3
- package/esm2020/lib/components/index.mjs +0 -6
- package/esm2020/lib/components/progress-bar/index.mjs +0 -4
- package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +0 -23
- package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +0 -18
- package/esm2020/lib/components/progress-bar/progress-bar.service.mjs +0 -50
- package/esm2020/lib/components/version-changed/index.mjs +0 -3
- package/esm2020/lib/components/version-changed/version-changed.component.mjs +0 -24
- package/esm2020/lib/components/version-changed/version-changed.module.mjs +0 -39
- package/esm2020/lib/core/decorators/index.mjs +0 -5
- package/esm2020/lib/core/decorators/monkeyecx-charts-decorators.mjs +0 -40
- package/esm2020/lib/core/decorators/monkeyecx-decorators.mjs +0 -111
- package/esm2020/lib/core/decorators/monkeyecx-download-decorators.mjs +0 -26
- package/esm2020/lib/core/decorators/monkeyecx-upload-decorators.mjs +0 -26
- package/esm2020/lib/core/directives/index.mjs +0 -14
- package/esm2020/lib/core/directives/monkeyecx-directives-module.mjs +0 -78
- package/esm2020/lib/core/directives/monkeyecx-drag-drop.mjs +0 -57
- package/esm2020/lib/core/directives/monkeyecx-feature-by-program-directive.mjs +0 -54
- package/esm2020/lib/core/directives/monkeyecx-feature-directive.mjs +0 -68
- package/esm2020/lib/core/directives/monkeyecx-format-currency.mjs +0 -44
- package/esm2020/lib/core/directives/monkeyecx-format-upper.mjs +0 -67
- package/esm2020/lib/core/directives/monkeyecx-loading.mjs +0 -48
- package/esm2020/lib/core/directives/monkeyecx-only-alpha-numeric-directive.mjs +0 -28
- package/esm2020/lib/core/directives/monkeyecx-only-number-directive.mjs +0 -28
- package/esm2020/lib/core/directives/monkeyecx-popover-options.directive.mjs +0 -39
- package/esm2020/lib/core/directives/monkeyecx-popover.directive.mjs +0 -212
- package/esm2020/lib/core/directives/monkeyecx-security-directive.mjs +0 -75
- package/esm2020/lib/core/directives/monkeyecx-tooltip-directive.mjs +0 -123
- package/esm2020/lib/core/index.mjs +0 -11
- package/esm2020/lib/core/injectors/index.mjs +0 -8
- package/esm2020/lib/core/interceptors/index.mjs +0 -6
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-error.interceptor.mjs +0 -49
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-header.interceptor.mjs +0 -59
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-interceptor.module.mjs +0 -47
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.mjs +0 -43
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.mjs +0 -37
- package/esm2020/lib/core/interfaces/index.mjs +0 -37
- package/esm2020/lib/core/interfaces/monkeyecx-auth-credentials.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-company-pendencies.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-company.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-config-bootstrap.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-config.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-country-security.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-embedded.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-error-response.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-filter.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-group.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-handled-error-response.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-header-credentials.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-intercom-options.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-interface.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-me-credentials.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-navigation.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-pagination.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-program.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-releases.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-request-in-progress.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-request-paged.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-resolver.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-response-links.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-response-paged.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-saved-state.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-scroll-options.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-service-credentials.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-storage.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-store.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-support-options.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-token-credentials.mjs +0 -2
- package/esm2020/lib/core/interfaces/monkeyecx-translate-options.mjs +0 -2
- package/esm2020/lib/core/interfaces/request-download/index.mjs +0 -4
- package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-download.mjs +0 -2
- package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-downloaded.mjs +0 -2
- package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-item-download.mjs +0 -2
- package/esm2020/lib/core/interfaces/request-queue/index.mjs +0 -4
- package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.mjs +0 -2
- package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.mjs +0 -2
- package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-queue.mjs +0 -2
- package/esm2020/lib/core/interfaces/request-upload/index.mjs +0 -3
- package/esm2020/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.mjs +0 -2
- package/esm2020/lib/core/interfaces/request-upload/monkeyecx-request-upload.mjs +0 -2
- package/esm2020/lib/core/interfaces/schedules/index.mjs +0 -2
- package/esm2020/lib/core/interfaces/schedules/monkeyecx-request-schedule.mjs +0 -2
- package/esm2020/lib/core/model/index.mjs +0 -3
- package/esm2020/lib/core/model/monkeyecx-links.model.mjs +0 -8
- package/esm2020/lib/core/model/monkeyecx-model.mjs +0 -26
- package/esm2020/lib/core/pipes/index.mjs +0 -24
- package/esm2020/lib/core/pipes/monkeyecx-blob-secure.mjs +0 -26
- package/esm2020/lib/core/pipes/monkeyecx-currency-code.mjs +0 -30
- package/esm2020/lib/core/pipes/monkeyecx-display-first-name.mjs +0 -19
- package/esm2020/lib/core/pipes/monkeyecx-display-initials.mjs +0 -21
- package/esm2020/lib/core/pipes/monkeyecx-display-support-phone.mjs +0 -33
- package/esm2020/lib/core/pipes/monkeyecx-format-address.mjs +0 -20
- package/esm2020/lib/core/pipes/monkeyecx-format-beautify-json.mjs +0 -38
- package/esm2020/lib/core/pipes/monkeyecx-format-currency.mjs +0 -48
- package/esm2020/lib/core/pipes/monkeyecx-format-date-group.mjs +0 -45
- package/esm2020/lib/core/pipes/monkeyecx-format-date-timelapse.mjs +0 -32
- package/esm2020/lib/core/pipes/monkeyecx-format-date-unix-timelapse.mjs +0 -36
- package/esm2020/lib/core/pipes/monkeyecx-format-date.mjs +0 -30
- package/esm2020/lib/core/pipes/monkeyecx-format-document.mjs +0 -20
- package/esm2020/lib/core/pipes/monkeyecx-format-number.mjs +0 -20
- package/esm2020/lib/core/pipes/monkeyecx-format-phone.mjs +0 -42
- package/esm2020/lib/core/pipes/monkeyecx-format-size.mjs +0 -20
- package/esm2020/lib/core/pipes/monkeyecx-format-tax.mjs +0 -23
- package/esm2020/lib/core/pipes/monkeyecx-format-type-document.mjs +0 -19
- package/esm2020/lib/core/pipes/monkeyecx-format-value.mjs +0 -19
- package/esm2020/lib/core/pipes/monkeyecx-format-zipcode.mjs +0 -19
- package/esm2020/lib/core/pipes/monkeyecx-pipes.module.mjs +0 -127
- package/esm2020/lib/core/pipes/monkeyecx-text-truncate.mjs +0 -23
- package/esm2020/lib/core/pipes/monkeyecx-truncate-qtd.mjs +0 -16
- package/esm2020/lib/core/services/alerts/index.mjs +0 -2
- package/esm2020/lib/core/services/alerts/monkeyecx-alerts.service.mjs +0 -88
- package/esm2020/lib/core/services/auth/index.mjs +0 -6
- package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-company.service.mjs +0 -28
- package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-login.service.mjs +0 -27
- package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-role.service.mjs +0 -77
- package/esm2020/lib/core/services/auth/monkeyecx-auth-guard.service.mjs +0 -26
- package/esm2020/lib/core/services/auth/monkeyecx-authentication.service.mjs +0 -79
- package/esm2020/lib/core/services/commons/index.mjs +0 -4
- package/esm2020/lib/core/services/commons/monkeyecx-commons-resolve-base.service.mjs +0 -109
- package/esm2020/lib/core/services/commons/monkeyecx-commons-resolve.service.mjs +0 -127
- package/esm2020/lib/core/services/commons/monkeyecx-commons.service.mjs +0 -362
- package/esm2020/lib/core/services/config/monkeyecx-alerts-config.service.mjs +0 -43
- package/esm2020/lib/core/services/config/monkeyecx-config.module.mjs +0 -28
- package/esm2020/lib/core/services/config/monkeyecx-config.service.mjs +0 -107
- package/esm2020/lib/core/services/config/monkeyecx-currency-config.service.mjs +0 -84
- package/esm2020/lib/core/services/config/monkeyecx-error-config.service.mjs +0 -85
- package/esm2020/lib/core/services/config/monkeyecx-feature-toggle.service.mjs +0 -77
- package/esm2020/lib/core/services/config/monkeyecx-gtm-config.service.mjs +0 -47
- package/esm2020/lib/core/services/config/monkeyecx-i18n-config.service.mjs +0 -162
- package/esm2020/lib/core/services/config/monkeyecx-logs-config.service.mjs +0 -83
- package/esm2020/lib/core/services/config/monkeyecx-maintenance-config.service.mjs +0 -37
- package/esm2020/lib/core/services/config/monkeyecx-security-console-config.service.mjs +0 -48
- package/esm2020/lib/core/services/config/monkeyecx-service-worker-config.service.mjs +0 -55
- package/esm2020/lib/core/services/error/index.mjs +0 -5
- package/esm2020/lib/core/services/error/monkeyecx-error-handling.module.mjs +0 -27
- package/esm2020/lib/core/services/error/monkeyecx-error-handling.service.mjs +0 -37
- package/esm2020/lib/core/services/error/monkeyecx-http-error-handling.service.mjs +0 -149
- package/esm2020/lib/core/services/error/monkeyecx-others-errors-handling.service.mjs +0 -49
- package/esm2020/lib/core/services/index.mjs +0 -27
- package/esm2020/lib/core/services/l/index.mjs +0 -2
- package/esm2020/lib/core/services/l/l.service.mjs +0 -45
- package/esm2020/lib/core/services/logged/index.mjs +0 -2
- package/esm2020/lib/core/services/logged/monkeyecx-logged-handling.service.mjs +0 -40
- package/esm2020/lib/core/services/monkeyecx-handling.service.mjs +0 -50
- package/esm2020/lib/core/services/monkeyecx-service.service.mjs +0 -109
- package/esm2020/lib/core/services/pagination/index.mjs +0 -2
- package/esm2020/lib/core/services/pagination/monkeyecx-pagination.service.mjs +0 -29
- package/esm2020/lib/core/services/request-download/index.mjs +0 -3
- package/esm2020/lib/core/services/request-download/monkeyecx-request-download-handling.service.mjs +0 -93
- package/esm2020/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.mjs +0 -61
- package/esm2020/lib/core/services/request-paged/index.mjs +0 -2
- package/esm2020/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.mjs +0 -42
- package/esm2020/lib/core/services/request-queue/index.mjs +0 -3
- package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.mjs +0 -114
- package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.mjs +0 -119
- package/esm2020/lib/core/services/routes/index.mjs +0 -2
- package/esm2020/lib/core/services/routes/monkeyecx-dicovery-params.service.mjs +0 -54
- package/esm2020/lib/core/services/schedules/index.mjs +0 -2
- package/esm2020/lib/core/services/schedules/monkeyecx-request-schedule.service.mjs +0 -188
- package/esm2020/lib/core/services/storage/index.mjs +0 -3
- package/esm2020/lib/core/services/storage/monkeyecx-cookie-storage.service.mjs +0 -32
- package/esm2020/lib/core/services/storage/monkeyecx-token-storage.service.mjs +0 -237
- package/esm2020/lib/core/services/store/index.mjs +0 -5
- package/esm2020/lib/core/services/store/monkeyecx-store-base.service.mjs +0 -174
- package/esm2020/lib/core/services/store/monkeyecx-store.actions.mjs +0 -26
- package/esm2020/lib/core/services/store/monkeyecx-store.selector.mjs +0 -87
- package/esm2020/lib/core/services/store/monkeyecx-store.service.mjs +0 -195
- package/esm2020/lib/core/specification-search/index.mjs +0 -2
- package/esm2020/lib/core/specification-search/monkeyecx-specification-search.mjs +0 -108
- package/esm2020/lib/core/utils/decorators-utils.mjs +0 -40
- package/esm2020/lib/core/utils/index.mjs +0 -8
- package/esm2020/lib/core/utils/statics.mjs +0 -47
- package/esm2020/lib/core/utils/utils.mjs +0 -469
- package/esm2020/lib/core/utils/validate-utils.mjs +0 -219
- package/esm2020/lib/core/utils/validators.mjs +0 -327
- package/esm2020/lib/monkey-front-core.module.mjs +0 -71
- package/esm2020/lib/store/actions/index.mjs +0 -2
- package/esm2020/lib/store/actions/monkeyecx-storage.actions.mjs +0 -8
- package/esm2020/lib/store/index.mjs +0 -4
- package/esm2020/lib/store/reducers/index.mjs +0 -3
- package/esm2020/lib/store/reducers/monkeyecx-seeder.reducer.mjs +0 -53
- package/esm2020/lib/store/reducers/monkeyecx-storage.reducer.mjs +0 -40
- package/esm2020/lib/store/selectors/index.mjs +0 -2
- package/esm2020/lib/store/selectors/monkeyecx-storage.selector.mjs +0 -17
- package/esm2020/monkey-front-core.mjs +0 -5
- package/esm2020/public-api.mjs +0 -8
- package/fesm2015/monkey-front-core.mjs +0 -7238
- package/fesm2015/monkey-front-core.mjs.map +0 -1
- package/fesm2020/monkey-front-core.mjs +0 -7248
- package/fesm2020/monkey-front-core.mjs.map +0 -1
- package/lib/components/alerts/alerts.component.d.ts +0 -22
- package/lib/components/alerts/alerts.module.d.ts +0 -10
- package/lib/components/alerts/index.d.ts +0 -2
- package/lib/components/closed-to-maintenance/closed-to-maintenance.component.d.ts +0 -13
- package/lib/components/closed-to-maintenance/closed-to-maintenance.module.d.ts +0 -11
- package/lib/components/closed-to-maintenance/index.d.ts +0 -2
- package/lib/components/currency-config/currency-config.component.d.ts +0 -17
- package/lib/components/currency-config/currency-config.module.d.ts +0 -10
- package/lib/components/currency-config/index.d.ts +0 -2
- package/lib/components/index.d.ts +0 -5
- package/lib/components/progress-bar/index.d.ts +0 -3
- package/lib/components/progress-bar/progress-bar.component.d.ts +0 -11
- package/lib/components/progress-bar/progress-bar.module.d.ts +0 -8
- package/lib/components/progress-bar/progress-bar.service.d.ts +0 -14
- package/lib/components/version-changed/index.d.ts +0 -2
- package/lib/components/version-changed/version-changed.component.d.ts +0 -9
- package/lib/components/version-changed/version-changed.module.d.ts +0 -10
- package/lib/core/decorators/index.d.ts +0 -4
- package/lib/core/decorators/monkeyecx-charts-decorators.d.ts +0 -1
- package/lib/core/decorators/monkeyecx-decorators.d.ts +0 -7
- package/lib/core/decorators/monkeyecx-download-decorators.d.ts +0 -2
- package/lib/core/decorators/monkeyecx-upload-decorators.d.ts +0 -2
- package/lib/core/directives/index.d.ts +0 -13
- package/lib/core/directives/monkeyecx-directives-module.d.ts +0 -20
- package/lib/core/directives/monkeyecx-drag-drop.d.ts +0 -12
- package/lib/core/directives/monkeyecx-feature-by-program-directive.d.ts +0 -16
- package/lib/core/directives/monkeyecx-feature-directive.d.ts +0 -17
- package/lib/core/directives/monkeyecx-format-currency.d.ts +0 -16
- package/lib/core/directives/monkeyecx-format-upper.d.ts +0 -18
- package/lib/core/directives/monkeyecx-loading.d.ts +0 -16
- package/lib/core/directives/monkeyecx-only-alpha-numeric-directive.d.ts +0 -9
- package/lib/core/directives/monkeyecx-only-number-directive.d.ts +0 -9
- package/lib/core/directives/monkeyecx-popover-options.directive.d.ts +0 -19
- package/lib/core/directives/monkeyecx-popover.directive.d.ts +0 -43
- package/lib/core/directives/monkeyecx-security-directive.d.ts +0 -18
- package/lib/core/directives/monkeyecx-tooltip-directive.d.ts +0 -23
- package/lib/core/index.d.ts +0 -10
- package/lib/core/injectors/index.d.ts +0 -7
- package/lib/core/interceptors/index.d.ts +0 -5
- package/lib/core/interceptors/monkeyecx-http-config-error.interceptor.d.ts +0 -18
- package/lib/core/interceptors/monkeyecx-http-config-header.interceptor.d.ts +0 -16
- package/lib/core/interceptors/monkeyecx-http-config-interceptor.module.d.ts +0 -9
- package/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.d.ts +0 -12
- package/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.d.ts +0 -14
- package/lib/core/interfaces/index.d.ts +0 -36
- package/lib/core/interfaces/monkeyecx-auth-credentials.d.ts +0 -15
- package/lib/core/interfaces/monkeyecx-company-pendencies.d.ts +0 -14
- package/lib/core/interfaces/monkeyecx-company.d.ts +0 -10
- package/lib/core/interfaces/monkeyecx-config-bootstrap.d.ts +0 -14
- package/lib/core/interfaces/monkeyecx-config.d.ts +0 -132
- package/lib/core/interfaces/monkeyecx-country-security.d.ts +0 -4
- package/lib/core/interfaces/monkeyecx-embedded.d.ts +0 -7
- package/lib/core/interfaces/monkeyecx-error-response.d.ts +0 -5
- package/lib/core/interfaces/monkeyecx-filter.d.ts +0 -52
- package/lib/core/interfaces/monkeyecx-group.d.ts +0 -13
- package/lib/core/interfaces/monkeyecx-handled-error-response.d.ts +0 -10
- package/lib/core/interfaces/monkeyecx-header-credentials.d.ts +0 -4
- package/lib/core/interfaces/monkeyecx-intercom-options.d.ts +0 -4
- package/lib/core/interfaces/monkeyecx-interface.d.ts +0 -11
- package/lib/core/interfaces/monkeyecx-me-credentials.d.ts +0 -20
- package/lib/core/interfaces/monkeyecx-navigation.d.ts +0 -30
- package/lib/core/interfaces/monkeyecx-pagination.d.ts +0 -26
- package/lib/core/interfaces/monkeyecx-program.d.ts +0 -10
- package/lib/core/interfaces/monkeyecx-releases.d.ts +0 -9
- package/lib/core/interfaces/monkeyecx-request-in-progress.d.ts +0 -3
- package/lib/core/interfaces/monkeyecx-request-paged.d.ts +0 -23
- package/lib/core/interfaces/monkeyecx-resolver.d.ts +0 -39
- package/lib/core/interfaces/monkeyecx-response-links.d.ts +0 -11
- package/lib/core/interfaces/monkeyecx-response-paged.d.ts +0 -6
- package/lib/core/interfaces/monkeyecx-saved-state.d.ts +0 -5
- package/lib/core/interfaces/monkeyecx-scroll-options.d.ts +0 -5
- package/lib/core/interfaces/monkeyecx-service-credentials.d.ts +0 -12
- package/lib/core/interfaces/monkeyecx-storage.d.ts +0 -35
- package/lib/core/interfaces/monkeyecx-store.d.ts +0 -45
- package/lib/core/interfaces/monkeyecx-support-options.d.ts +0 -4
- package/lib/core/interfaces/monkeyecx-token-credentials.d.ts +0 -30
- package/lib/core/interfaces/monkeyecx-translate-options.d.ts +0 -4
- package/lib/core/interfaces/request-download/index.d.ts +0 -3
- package/lib/core/interfaces/request-download/monkeyecx-request-download.d.ts +0 -10
- package/lib/core/interfaces/request-download/monkeyecx-request-downloaded.d.ts +0 -7
- package/lib/core/interfaces/request-download/monkeyecx-request-item-download.d.ts +0 -7
- package/lib/core/interfaces/request-queue/index.d.ts +0 -3
- package/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.d.ts +0 -7
- package/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.d.ts +0 -6
- package/lib/core/interfaces/request-queue/monkeyecx-request-queue.d.ts +0 -8
- package/lib/core/interfaces/request-upload/index.d.ts +0 -2
- package/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.d.ts +0 -5
- package/lib/core/interfaces/request-upload/monkeyecx-request-upload.d.ts +0 -10
- package/lib/core/interfaces/schedules/index.d.ts +0 -1
- package/lib/core/interfaces/schedules/monkeyecx-request-schedule.d.ts +0 -13
- package/lib/core/model/index.d.ts +0 -2
- package/lib/core/model/monkeyecx-links.model.d.ts +0 -4
- package/lib/core/model/monkeyecx-model.d.ts +0 -14
- package/lib/core/pipes/index.d.ts +0 -23
- package/lib/core/pipes/monkeyecx-blob-secure.d.ts +0 -13
- package/lib/core/pipes/monkeyecx-currency-code.d.ts +0 -9
- package/lib/core/pipes/monkeyecx-display-first-name.d.ts +0 -7
- package/lib/core/pipes/monkeyecx-display-initials.d.ts +0 -7
- package/lib/core/pipes/monkeyecx-display-support-phone.d.ts +0 -18
- package/lib/core/pipes/monkeyecx-format-address.d.ts +0 -14
- package/lib/core/pipes/monkeyecx-format-beautify-json.d.ts +0 -8
- package/lib/core/pipes/monkeyecx-format-currency.d.ts +0 -12
- package/lib/core/pipes/monkeyecx-format-date-group.d.ts +0 -11
- package/lib/core/pipes/monkeyecx-format-date-timelapse.d.ts +0 -7
- package/lib/core/pipes/monkeyecx-format-date-unix-timelapse.d.ts +0 -7
- package/lib/core/pipes/monkeyecx-format-date.d.ts +0 -12
- package/lib/core/pipes/monkeyecx-format-document.d.ts +0 -7
- package/lib/core/pipes/monkeyecx-format-number.d.ts +0 -7
- package/lib/core/pipes/monkeyecx-format-phone.d.ts +0 -7
- package/lib/core/pipes/monkeyecx-format-size.d.ts +0 -7
- package/lib/core/pipes/monkeyecx-format-tax.d.ts +0 -7
- package/lib/core/pipes/monkeyecx-format-type-document.d.ts +0 -7
- package/lib/core/pipes/monkeyecx-format-value.d.ts +0 -7
- package/lib/core/pipes/monkeyecx-format-zipcode.d.ts +0 -7
- package/lib/core/pipes/monkeyecx-pipes.module.d.ts +0 -28
- package/lib/core/pipes/monkeyecx-text-truncate.d.ts +0 -7
- package/lib/core/pipes/monkeyecx-truncate-qtd.d.ts +0 -7
- package/lib/core/services/alerts/index.d.ts +0 -1
- package/lib/core/services/alerts/monkeyecx-alerts.service.d.ts +0 -49
- package/lib/core/services/auth/index.d.ts +0 -5
- package/lib/core/services/auth/monkeyecx-auth-guard-company.service.d.ts +0 -10
- package/lib/core/services/auth/monkeyecx-auth-guard-login.service.d.ts +0 -10
- package/lib/core/services/auth/monkeyecx-auth-guard-role.service.d.ts +0 -16
- package/lib/core/services/auth/monkeyecx-auth-guard.service.d.ts +0 -10
- package/lib/core/services/auth/monkeyecx-authentication.service.d.ts +0 -35
- package/lib/core/services/commons/index.d.ts +0 -3
- package/lib/core/services/commons/monkeyecx-commons-resolve-base.service.d.ts +0 -46
- package/lib/core/services/commons/monkeyecx-commons-resolve.service.d.ts +0 -60
- package/lib/core/services/commons/monkeyecx-commons.service.d.ts +0 -120
- package/lib/core/services/config/monkeyecx-alerts-config.service.d.ts +0 -11
- package/lib/core/services/config/monkeyecx-config.module.d.ts +0 -9
- package/lib/core/services/config/monkeyecx-config.service.d.ts +0 -36
- package/lib/core/services/config/monkeyecx-currency-config.service.d.ts +0 -15
- package/lib/core/services/config/monkeyecx-error-config.service.d.ts +0 -8
- package/lib/core/services/config/monkeyecx-feature-toggle.service.d.ts +0 -17
- package/lib/core/services/config/monkeyecx-gtm-config.service.d.ts +0 -8
- package/lib/core/services/config/monkeyecx-i18n-config.service.d.ts +0 -24
- package/lib/core/services/config/monkeyecx-logs-config.service.d.ts +0 -14
- package/lib/core/services/config/monkeyecx-maintenance-config.service.d.ts +0 -13
- package/lib/core/services/config/monkeyecx-security-console-config.service.d.ts +0 -12
- package/lib/core/services/config/monkeyecx-service-worker-config.service.d.ts +0 -16
- package/lib/core/services/error/index.d.ts +0 -4
- package/lib/core/services/error/monkeyecx-error-handling.module.d.ts +0 -9
- package/lib/core/services/error/monkeyecx-error-handling.service.d.ts +0 -9
- package/lib/core/services/error/monkeyecx-http-error-handling.service.d.ts +0 -26
- package/lib/core/services/error/monkeyecx-others-errors-handling.service.d.ts +0 -11
- package/lib/core/services/index.d.ts +0 -26
- package/lib/core/services/l/index.d.ts +0 -1
- package/lib/core/services/l/l.service.d.ts +0 -11
- package/lib/core/services/logged/index.d.ts +0 -1
- package/lib/core/services/logged/monkeyecx-logged-handling.service.d.ts +0 -14
- package/lib/core/services/monkeyecx-handling.service.d.ts +0 -22
- package/lib/core/services/monkeyecx-service.service.d.ts +0 -19
- package/lib/core/services/pagination/index.d.ts +0 -1
- package/lib/core/services/pagination/monkeyecx-pagination.service.d.ts +0 -9
- package/lib/core/services/request-download/index.d.ts +0 -2
- package/lib/core/services/request-download/monkeyecx-request-download-handling.service.d.ts +0 -18
- package/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.d.ts +0 -16
- package/lib/core/services/request-paged/index.d.ts +0 -1
- package/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.d.ts +0 -11
- package/lib/core/services/request-queue/index.d.ts +0 -2
- package/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.d.ts +0 -21
- package/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.d.ts +0 -23
- package/lib/core/services/routes/index.d.ts +0 -1
- package/lib/core/services/routes/monkeyecx-dicovery-params.service.d.ts +0 -13
- package/lib/core/services/schedules/index.d.ts +0 -1
- package/lib/core/services/schedules/monkeyecx-request-schedule.service.d.ts +0 -47
- package/lib/core/services/storage/index.d.ts +0 -2
- package/lib/core/services/storage/monkeyecx-cookie-storage.service.d.ts +0 -11
- package/lib/core/services/storage/monkeyecx-token-storage.service.d.ts +0 -30
- package/lib/core/services/store/index.d.ts +0 -4
- package/lib/core/services/store/monkeyecx-store-base.service.d.ts +0 -47
- package/lib/core/services/store/monkeyecx-store.actions.d.ts +0 -42
- package/lib/core/services/store/monkeyecx-store.selector.d.ts +0 -32
- package/lib/core/services/store/monkeyecx-store.service.d.ts +0 -50
- package/lib/core/specification-search/index.d.ts +0 -1
- package/lib/core/specification-search/monkeyecx-specification-search.d.ts +0 -20
- package/lib/core/utils/decorators-utils.d.ts +0 -5
- package/lib/core/utils/index.d.ts +0 -6
- package/lib/core/utils/statics.d.ts +0 -36
- package/lib/core/utils/utils.d.ts +0 -39
- package/lib/core/utils/validate-utils.d.ts +0 -71
- package/lib/core/utils/validators.d.ts +0 -43
- package/lib/monkey-front-core.module.d.ts +0 -19
- package/lib/store/actions/index.d.ts +0 -1
- package/lib/store/actions/monkeyecx-storage.actions.d.ts +0 -23
- package/lib/store/index.d.ts +0 -3
- package/lib/store/reducers/index.d.ts +0 -2
- package/lib/store/reducers/monkeyecx-seeder.reducer.d.ts +0 -2
- package/lib/store/reducers/monkeyecx-storage.reducer.d.ts +0 -13
- package/lib/store/selectors/index.d.ts +0 -1
- package/lib/store/selectors/monkeyecx-storage.selector.d.ts +0 -8
- package/monkey-front-core-0.0.606.tgz +0 -0
- package/monkey-front-core.d.ts +0 -5
- package/public-api.d.ts +0 -4
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { BehaviorSubject, throwError } from 'rxjs';
|
|
4
|
-
import { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';
|
|
5
|
-
import { MonkeyEcxCommonsService } from '../commons/monkeyecx-commons.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../monkeyecx-service.service";
|
|
8
|
-
import * as i2 from "./monkeyecx-i18n-config.service";
|
|
9
|
-
import * as i3 from "./monkeyecx-logs-config.service";
|
|
10
|
-
import * as i4 from "monkey-style-guide";
|
|
11
|
-
import * as i5 from "./monkeyecx-service-worker-config.service";
|
|
12
|
-
import * as i6 from "./monkeyecx-security-console-config.service";
|
|
13
|
-
import * as i7 from "./monkeyecx-maintenance-config.service";
|
|
14
|
-
import * as i8 from "./monkeyecx-error-config.service";
|
|
15
|
-
import * as i9 from "./monkeyecx-feature-toggle.service";
|
|
16
|
-
import * as i10 from "./monkeyecx-gtm-config.service";
|
|
17
|
-
import * as i11 from "./monkeyecx-alerts-config.service";
|
|
18
|
-
export class MonkeyEcxConfigService extends MonkeyEcxCommonsService {
|
|
19
|
-
constructor(monkeyecxService, monkeyecxi18nConfigService, monkeyecxLogsConfigService, monkeyStyleGuideSettingsService, monkeyecxServiceWorkerConfigService, monkeyecxSecurityConsoleConfigService, monkeyecxMaintenanceConfigService, monkeyecxErrorConfigService, monkeyEcxFeatureToggleService, monkeyGTMConfigService, monkeyEcxAlertsConfigService) {
|
|
20
|
-
super(monkeyecxService);
|
|
21
|
-
this.monkeyecxi18nConfigService = monkeyecxi18nConfigService;
|
|
22
|
-
this.monkeyecxLogsConfigService = monkeyecxLogsConfigService;
|
|
23
|
-
this.monkeyStyleGuideSettingsService = monkeyStyleGuideSettingsService;
|
|
24
|
-
this.monkeyecxServiceWorkerConfigService = monkeyecxServiceWorkerConfigService;
|
|
25
|
-
this.monkeyecxSecurityConsoleConfigService = monkeyecxSecurityConsoleConfigService;
|
|
26
|
-
this.monkeyecxMaintenanceConfigService = monkeyecxMaintenanceConfigService;
|
|
27
|
-
this.monkeyecxErrorConfigService = monkeyecxErrorConfigService;
|
|
28
|
-
this.monkeyEcxFeatureToggleService = monkeyEcxFeatureToggleService;
|
|
29
|
-
this.monkeyGTMConfigService = monkeyGTMConfigService;
|
|
30
|
-
this.monkeyEcxAlertsConfigService = monkeyEcxAlertsConfigService;
|
|
31
|
-
this.configSubject$ = new BehaviorSubject({});
|
|
32
|
-
this.configBootstrapSubject$ = new BehaviorSubject({});
|
|
33
|
-
}
|
|
34
|
-
async getSettings(monkeyecxCode, configBootstrap, callback, environment, identifyCode) {
|
|
35
|
-
const { monkeyecxSecurityConsoleConfigService, monkeyecxServiceWorkerConfigService, monkeyecxMaintenanceConfigService, monkeyStyleGuideSettingsService, getWhiteLabel, monkeyecxi18nConfigService } = this;
|
|
36
|
-
monkeyecxServiceWorkerConfigService.apply(configBootstrap);
|
|
37
|
-
monkeyecxMaintenanceConfigService.apply(configBootstrap);
|
|
38
|
-
monkeyecxSecurityConsoleConfigService.apply();
|
|
39
|
-
const url = `${environment.urlAssets}/${monkeyecxCode.toLowerCase()}`;
|
|
40
|
-
await monkeyecxi18nConfigService.apply(environment);
|
|
41
|
-
monkeyStyleGuideSettingsService.bootstrap(`${url}/monkey-style-guide-settings.json`, getWhiteLabel.bind(this, configBootstrap, callback, environment, identifyCode, url));
|
|
42
|
-
}
|
|
43
|
-
getWhiteLabel(configBootstrap, callback, environment, identifyCode, url) {
|
|
44
|
-
const { monkeyecxService, configSubject$, monkeyGTMConfigService, monkeyecxLogsConfigService, monkeyecxErrorConfigService, monkeyEcxFeatureToggleService, monkeyecxi18nConfigService, monkeyEcxAlertsConfigService } = this;
|
|
45
|
-
monkeyecxService?.get(`${url}/white-label.json`)?.subscribe(async (config) => {
|
|
46
|
-
monkeyecxi18nConfigService.applyExternal(config, environment?.locale?.lang || 'pt-BR');
|
|
47
|
-
monkeyecxLogsConfigService.apply(config, configBootstrap, environment, identifyCode);
|
|
48
|
-
monkeyEcxFeatureToggleService.apply(configSubject$, environment);
|
|
49
|
-
monkeyEcxAlertsConfigService.apply(config);
|
|
50
|
-
monkeyGTMConfigService.apply(config, environment);
|
|
51
|
-
configSubject$.next(config);
|
|
52
|
-
if (callback)
|
|
53
|
-
callback();
|
|
54
|
-
}, (err) => {
|
|
55
|
-
monkeyecxErrorConfigService.apply('theme');
|
|
56
|
-
console.error('Program Configuration not found!');
|
|
57
|
-
throwError(err);
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
init(callback, environment, identifyCode, monkeyecxCode) {
|
|
61
|
-
const { monkeyecxService, configBootstrapSubject$, monkeyecxErrorConfigService } = this;
|
|
62
|
-
monkeyecxService
|
|
63
|
-
?.get(`${environment.bootstrapAssets}`, {
|
|
64
|
-
observe: 'response'
|
|
65
|
-
})
|
|
66
|
-
?.subscribe(({ headers, body }) => {
|
|
67
|
-
const monkeyCode = headers.get('monkey-code') || monkeyecxCode;
|
|
68
|
-
if (monkeyCode) {
|
|
69
|
-
this.getSettings(monkeyCode, body, callback, environment, identifyCode);
|
|
70
|
-
configBootstrapSubject$.next(body);
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
monkeyecxErrorConfigService.apply('theme');
|
|
74
|
-
console.error(`Bootstrap ${monkeyCode} Configuration not found!`);
|
|
75
|
-
}
|
|
76
|
-
}, (err) => {
|
|
77
|
-
monkeyecxErrorConfigService.apply('theme');
|
|
78
|
-
console.error('Bootstrap Configuration not found!');
|
|
79
|
-
throwError(err);
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
config() {
|
|
83
|
-
return this.configSubject$.asObservable();
|
|
84
|
-
}
|
|
85
|
-
bootstrapConfig() {
|
|
86
|
-
return this.configBootstrapSubject$.asObservable();
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
MonkeyEcxConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxConfigService, deps: [{ token: i1.MonkeyEcxService }, { token: i2.MonkeyEcxi18nConfigService }, { token: i3.MonkeyEcxLogsConfigService }, { token: i4.MonkeyStyleGuideSettingsService }, { token: i5.MonkeyEcxServiceWorkerConfigService }, { token: i6.MonkeyEcxSecurityConsoleConfigService }, { token: i7.MonkeyEcxMaintenanceConfigService }, { token: i8.MonkeyEcxErrorConfigService }, { token: i9.MonkeyEcxFeatureToggleService }, { token: i10.MonkeyEcxGTMConfigService }, { token: i11.MonkeyEcxAlertsConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
90
|
-
MonkeyEcxConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxConfigService, providedIn: 'root' });
|
|
91
|
-
__decorate([
|
|
92
|
-
MonkeyEcxCoreService({
|
|
93
|
-
httpResponse: {
|
|
94
|
-
httpCodeIgnore: [404]
|
|
95
|
-
},
|
|
96
|
-
requestInProgress: {
|
|
97
|
-
showProgress: false
|
|
98
|
-
}
|
|
99
|
-
})
|
|
100
|
-
], MonkeyEcxConfigService.prototype, "init", null);
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxConfigService, decorators: [{
|
|
102
|
-
type: Injectable,
|
|
103
|
-
args: [{
|
|
104
|
-
providedIn: 'root'
|
|
105
|
-
}]
|
|
106
|
-
}], ctorParameters: function () { return [{ type: i1.MonkeyEcxService }, { type: i2.MonkeyEcxi18nConfigService }, { type: i3.MonkeyEcxLogsConfigService }, { type: i4.MonkeyStyleGuideSettingsService }, { type: i5.MonkeyEcxServiceWorkerConfigService }, { type: i6.MonkeyEcxSecurityConsoleConfigService }, { type: i7.MonkeyEcxMaintenanceConfigService }, { type: i8.MonkeyEcxErrorConfigService }, { type: i9.MonkeyEcxFeatureToggleService }, { type: i10.MonkeyEcxGTMConfigService }, { type: i11.MonkeyEcxAlertsConfigService }]; }, propDecorators: { init: [] } });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbmZpZy9tb25rZXllY3gtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFHN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFlL0UsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHVCQUF1QjtJQUtqRSxZQUNFLGdCQUFrQyxFQUMxQiwwQkFBc0QsRUFDdEQsMEJBQXNELEVBQ3RELCtCQUFnRSxFQUNoRSxtQ0FBd0UsRUFDeEUscUNBQTRFLEVBQzVFLGlDQUFvRSxFQUNwRSwyQkFBd0QsRUFDeEQsNkJBQTRELEVBQzVELHNCQUFpRCxFQUNqRCw0QkFBMEQ7UUFFbEUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFYaEIsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUN0RCwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3RELG9DQUErQixHQUEvQiwrQkFBK0IsQ0FBaUM7UUFDaEUsd0NBQW1DLEdBQW5DLG1DQUFtQyxDQUFxQztRQUN4RSwwQ0FBcUMsR0FBckMscUNBQXFDLENBQXVDO1FBQzVFLHNDQUFpQyxHQUFqQyxpQ0FBaUMsQ0FBbUM7UUFDcEUsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQUN4RCxrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQStCO1FBQzVELDJCQUFzQixHQUF0QixzQkFBc0Is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RDsyRkExSFUsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjt3aUJBbUdRLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICdtb25rZXktc3R5bGUtZ3VpZGUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb3JlU2VydmljZSB9IGZyb20gJy4uLy4uL2RlY29yYXRvcnMvbW9ua2V5ZWN4LWRlY29yYXRvcnMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4Q29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9tb25rZXllY3gtY29uZmlnJztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZ0Jvb3RzdHJhcCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbW9ua2V5ZWN4LWNvbmZpZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2UgfSBmcm9tICcuLi9jb21tb25zL21vbmtleWVjeC1jb21tb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4U2VydmljZSB9IGZyb20gJy4uL21vbmtleWVjeC1zZXJ2aWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4QWxlcnRzQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LWFsZXJ0cy1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hFcnJvckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL21vbmtleWVjeC1lcnJvci1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LWZlYXR1cmUtdG9nZ2xlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4R1RNQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LWd0bS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hpMThuQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LWkxOG4tY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4TG9nc0NvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL21vbmtleWVjeC1sb2dzLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbmtleUVjeE1haW50ZW5hbmNlQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LW1haW50ZW5hbmNlLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbmtleUVjeFNlY3VyaXR5Q29uc29sZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL21vbmtleWVjeC1zZWN1cml0eS1jb25zb2xlLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbmtleUVjeFNlcnZpY2VXb3JrZXJDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtc2VydmljZS13b3JrZXItY29uZmlnLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hDb25maWdTZXJ2aWNlIGV4dGVuZHMgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1N1YmplY3QkOiBCZWhhdmlvclN1YmplY3Q8TW9ua2V5RWN4Q29uZmlnPjtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ0Jvb3RzdHJhcFN1YmplY3QkOiBCZWhhdmlvclN1YmplY3Q8TW9ua2V5RWN4Q29uZmlnPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBtb25rZXllY3hTZXJ2aWNlOiBNb25rZXlFY3hTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9ua2V5ZWN4aTE4bkNvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeGkxOG5Db25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9ua2V5ZWN4TG9nc0NvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeExvZ3NDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZTogTW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIG1vbmtleWVjeFNlcnZpY2VXb3JrZXJDb25maWdTZXJ2aWNlOiBNb25rZXlFY3hTZXJ2aWNlV29ya2VyQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIG1vbmtleWVjeFNlY3VyaXR5Q29uc29sZUNvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeFNlY3VyaXR5Q29uc29sZUNvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb25rZXllY3hNYWludGVuYW5jZUNvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeE1haW50ZW5hbmNlQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIG1vbmtleWVjeEVycm9yQ29uZmlnU2VydmljZTogTW9ua2V5RWN4RXJyb3JDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2U6IE1vbmtleUVjeEZlYXR1cmVUb2dnbGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9ua2V5R1RNQ29uZmlnU2VydmljZTogTW9ua2V5RWN4R1RNQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIG1vbmtleUVjeEFsZXJ0c0NvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeEFsZXJ0c0NvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIobW9ua2V5ZWN4U2VydmljZSk7XG4gICAgdGhpcy5jb25maWdTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xuICAgIHRoaXMuY29uZmlnQm9vdHN0cmFwU3ViamVjdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0U2V0dGluZ3MoXG4gICAgbW9ua2V5ZWN4Q29kZTogc3RyaW5nLFxuICAgIGNvbmZpZ0Jvb3RzdHJhcDogTW9ua2V5RWN4Q29uZmlnQm9vdHN0cmFwLFxuICAgIGNhbGxiYWNrOiBGdW5jdGlvbixcbiAgICBlbnZpcm9ubWVudDogYW55LFxuICAgIGlkZW50aWZ5Q29kZTogc3RyaW5nXG4gICkge1xuICAgIGNvbnN0IHtcbiAgICAgIG1vbmtleWVjeFNlY3VyaXR5Q29uc29sZUNvbmZpZ1NlcnZpY2UsXG4gICAgICBtb25rZXllY3hTZXJ2aWNlV29ya2VyQ29uZmlnU2VydmljZSxcbiAgICAgIG1vbmtleWVjeE1haW50ZW5hbmNlQ29uZmlnU2VydmljZSxcbiAgICAgIG1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UsXG4gICAgICBnZXRXaGl0ZUxhYmVsLFxuICAgICAgbW9ua2V5ZWN4aTE4bkNvbmZpZ1NlcnZpY2VcbiAgICB9ID0gdGhpcztcblxuICAgIG1vbmtleWVjeFNlcnZpY2VXb3JrZXJDb25maWdTZXJ2aWNlLmFwcGx5KGNvbmZpZ0Jvb3RzdHJhcCk7XG4gICAgbW9ua2V5ZWN4TWFpbnRlbmFuY2VDb25maWdTZXJ2aWNlLmFwcGx5KGNvbmZpZ0Jvb3RzdHJhcCk7XG4gICAgbW9ua2V5ZWN4U2VjdXJpdHlDb25zb2xlQ29uZmlnU2VydmljZS5hcHBseSgpO1xuXG4gICAgY29uc3QgdXJsID0gYCR7ZW52aXJvbm1lbnQudXJsQXNzZXRzfS8ke21vbmtleWVjeENvZGUudG9Mb3dlckNhc2UoKX1gO1xuXG4gICAgYXdhaXQgbW9ua2V5ZWN4aTE4bkNvbmZpZ1NlcnZpY2UuYXBwbHkoZW52aXJvbm1lbnQpO1xuXG4gICAgbW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZS5ib290c3RyYXAoXG4gICAgICBgJHt1cmx9L21vbmtleS1zdHlsZS1ndWlkZS1zZXR0aW5ncy5qc29uYCxcbiAgICAgIGdldFdoaXRlTGFiZWwuYmluZCh0aGlzLCBjb25maWdCb290c3RyYXAsIGNhbGxiYWNrLCBlbnZpcm9ubWVudCwgaWRlbnRpZnlDb2RlLCB1cmwpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0V2hpdGVMYWJlbChcbiAgICBjb25maWdCb290c3RyYXA6IE1vbmtleUVjeENvbmZpZ0Jvb3RzdHJhcCxcbiAgICBjYWxsYmFjazogRnVuY3Rpb24sXG4gICAgZW52aXJvbm1lbnQ6IGFueSxcbiAgICBpZGVudGlmeUNvZGU6IHN0cmluZyxcbiAgICB1cmw6IHN0cmluZ1xuICApIHtcbiAgICBjb25zdCB7XG4gICAgICBtb25rZXllY3hTZXJ2aWNlLFxuICAgICAgY29uZmlnU3ViamVjdCQsXG4gICAgICBtb25rZXlHVE1Db25maWdTZXJ2aWNlLFxuICAgICAgbW9ua2V5ZWN4TG9nc0NvbmZpZ1NlcnZpY2UsXG4gICAgICBtb25rZXllY3hFcnJvckNvbmZpZ1NlcnZpY2UsXG4gICAgICBtb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZSxcbiAgICAgIG1vbmtleWVjeGkxOG5Db25maWdTZXJ2aWNlLFxuICAgICAgbW9ua2V5RWN4QWxlcnRzQ29uZmlnU2VydmljZVxuICAgIH0gPSB0aGlzO1xuXG4gICAgbW9ua2V5ZWN4U2VydmljZT8uZ2V0PGFueT4oYCR7dXJsfS93aGl0ZS1sYWJlbC5qc29uYCk/LnN1YnNjcmliZShcbiAgICAgIGFzeW5jIChjb25maWc6IE1vbmtleUVjeENvbmZpZykgPT4ge1xuICAgICAgICBtb25rZXllY3hpMThuQ29uZmlnU2VydmljZS5hcHBseUV4dGVybmFsKGNvbmZpZywgZW52aXJvbm1lbnQ/LmxvY2FsZT8ubGFuZyB8fCAncHQtQlInKTtcbiAgICAgICAgbW9ua2V5ZWN4TG9nc0NvbmZpZ1NlcnZpY2UuYXBwbHkoY29uZmlnLCBjb25maWdCb290c3RyYXAsIGVudmlyb25tZW50LCBpZGVudGlmeUNvZGUpO1xuICAgICAgICBtb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZS5hcHBseShjb25maWdTdWJqZWN0JCwgZW52aXJvbm1lbnQpO1xuICAgICAgICBtb25rZXlFY3hBbGVydHNDb25maWdTZXJ2aWNlLmFwcGx5KGNvbmZpZyk7XG4gICAgICAgIG1vbmtleUdUTUNvbmZpZ1NlcnZpY2UuYXBwbHkoY29uZmlnLCBlbnZpcm9ubWVudCk7XG4gICAgICAgIGNvbmZpZ1N1YmplY3QkLm5leHQoY29uZmlnKTtcblxuICAgICAgICBpZiAoY2FsbGJhY2spIGNhbGxiYWNrKCk7XG4gICAgICB9LFxuICAgICAgKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlLmFwcGx5KCd0aGVtZScpO1xuICAgICAgICBjb25zb2xlLmVycm9yKCdQcm9ncmFtIENvbmZpZ3VyYXRpb24gbm90IGZvdW5kIScpO1xuICAgICAgICB0aHJvd0Vycm9yKGVycik7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIEBNb25rZXlFY3hDb3JlU2VydmljZSh7XG4gICAgaHR0cFJlc3BvbnNlOiB7XG4gICAgICBodHRwQ29kZUlnbm9yZTogWzQwNF1cbiAgICB9LFxuICAgIHJlcXVlc3RJblByb2dyZXNzOiB7XG4gICAgICBzaG93UHJvZ3Jlc3M6IGZhbHNlXG4gICAgfVxuICB9KVxuICBwdWJsaWMgaW5pdChjYWxsYmFjazogRnVuY3Rpb24sIGVudmlyb25tZW50OiBhbnksIGlkZW50aWZ5Q29kZTogc3RyaW5nLCBtb25rZXllY3hDb2RlPzogc3RyaW5nKSB7XG4gICAgY29uc3QgeyBtb25rZXllY3hTZXJ2aWNlLCBjb25maWdCb290c3RyYXBTdWJqZWN0JCwgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlIH0gPSB0aGlzO1xuXG4gICAgbW9ua2V5ZWN4U2VydmljZVxuICAgICAgPy5nZXQ8YW55PihgJHtlbnZpcm9ubWVudC5ib290c3RyYXBBc3NldHN9YCwge1xuICAgICAgICBvYnNlcnZlOiAncmVzcG9uc2UnXG4gICAgICB9KVxuICAgICAgPy5zdWJzY3JpYmUoXG4gICAgICAgICh7IGhlYWRlcnMsIGJvZHkgfSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG1vbmtleUNvZGUgPSBoZWFkZXJzLmdldCgnbW9ua2V5LWNvZGUnKSB8fCBtb25rZXllY3hDb2RlO1xuICAgICAgICAgIGlmIChtb25rZXlDb2RlKSB7XG4gICAgICAgICAgICB0aGlzLmdldFNldHRpbmdzKG1vbmtleUNvZGUsIGJvZHksIGNhbGxiYWNrLCBlbnZpcm9ubWVudCwgaWRlbnRpZnlDb2RlKTtcbiAgICAgICAgICAgIGNvbmZpZ0Jvb3RzdHJhcFN1YmplY3QkLm5leHQoYm9keSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1vbmtleWVjeEVycm9yQ29uZmlnU2VydmljZS5hcHBseSgndGhlbWUnKTtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEJvb3RzdHJhcCAke21vbmtleUNvZGV9IENvbmZpZ3VyYXRpb24gbm90IGZvdW5kIWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBtb25rZXllY3hFcnJvckNvbmZpZ1NlcnZpY2UuYXBwbHkoJ3RoZW1lJyk7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignQm9vdHN0cmFwIENvbmZpZ3VyYXRpb24gbm90IGZvdW5kIScpO1xuICAgICAgICAgIHRocm93RXJyb3IoZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWcoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWdTdWJqZWN0JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBib290c3RyYXBDb25maWcoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWdCb290c3RyYXBTdWJqZWN0JC5hc09ic2VydmFibGUoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { first } from 'rxjs/operators';
|
|
3
|
-
import { CurrencyConfigComponent } from '../../../components/currency-config';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "monkey-style-guide";
|
|
6
|
-
import * as i2 from "../storage";
|
|
7
|
-
import * as i3 from "./monkeyecx-config.service";
|
|
8
|
-
export class MonkeyEcxCurrencyConfigService {
|
|
9
|
-
constructor(modalService, cookieService, configService) {
|
|
10
|
-
this.modalService = modalService;
|
|
11
|
-
this.cookieService = cookieService;
|
|
12
|
-
this.configService = configService;
|
|
13
|
-
// not to do
|
|
14
|
-
}
|
|
15
|
-
onHandleCurrencyConfig({ currency, environment }) {
|
|
16
|
-
const { cookieService } = this;
|
|
17
|
-
const settings = cookieService.getCookie('monkey-app-settings');
|
|
18
|
-
const locale = cookieService.getCookie('monkey-app-locale');
|
|
19
|
-
if (!settings) {
|
|
20
|
-
cookieService.setCookie('monkey-app-settings', btoa(JSON.stringify({
|
|
21
|
-
showedCurrencyConfig: true
|
|
22
|
-
})), environment);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
const decoded = JSON.parse(atob(settings));
|
|
26
|
-
cookieService.setCookie('monkey-app-settings', btoa(JSON.stringify({
|
|
27
|
-
...decoded,
|
|
28
|
-
showedCurrencyConfig: true
|
|
29
|
-
})), environment);
|
|
30
|
-
}
|
|
31
|
-
if (locale) {
|
|
32
|
-
const decoded = JSON.parse(atob(locale));
|
|
33
|
-
cookieService.setCookie('monkey-app-locale', btoa(JSON.stringify({
|
|
34
|
-
...decoded,
|
|
35
|
-
currency
|
|
36
|
-
})), environment);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
async onShowCurrencyConfig(environment, force = false) {
|
|
40
|
-
const { cookieService } = this;
|
|
41
|
-
const settings = cookieService.getCookie('monkey-app-settings');
|
|
42
|
-
let showed = false;
|
|
43
|
-
if (settings) {
|
|
44
|
-
const decoded = JSON.parse(atob(settings));
|
|
45
|
-
showed = decoded.showedCurrencyConfig;
|
|
46
|
-
}
|
|
47
|
-
const config = await this.configService
|
|
48
|
-
.config()
|
|
49
|
-
.pipe(first((val) => {
|
|
50
|
-
return !!val && JSON.stringify(val) !== '{}';
|
|
51
|
-
}))
|
|
52
|
-
.toPromise();
|
|
53
|
-
const currency = config?.i18n?.currency;
|
|
54
|
-
const currencies = config?.i18n?.currencies;
|
|
55
|
-
if ((!showed || force) && currencies?.length) {
|
|
56
|
-
this.modalService.open(CurrencyConfigComponent, {
|
|
57
|
-
color: 'theme',
|
|
58
|
-
size: 'md',
|
|
59
|
-
data: {
|
|
60
|
-
currency,
|
|
61
|
-
currencies,
|
|
62
|
-
callback: (currency = 'BRL') => {
|
|
63
|
-
this.onHandleCurrencyConfig({
|
|
64
|
-
currency,
|
|
65
|
-
environment
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
apply(environment, force = false) {
|
|
73
|
-
this.onShowCurrencyConfig(environment, force);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
MonkeyEcxCurrencyConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxCurrencyConfigService, deps: [{ token: i1.MonkeyStyleGuideModalFixedService }, { token: i2.MonkeyEcxCookieStorageService }, { token: i3.MonkeyEcxConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
77
|
-
MonkeyEcxCurrencyConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxCurrencyConfigService, providedIn: 'root' });
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxCurrencyConfigService, decorators: [{
|
|
79
|
-
type: Injectable,
|
|
80
|
-
args: [{
|
|
81
|
-
providedIn: 'root'
|
|
82
|
-
}]
|
|
83
|
-
}], ctorParameters: function () { return [{ type: i1.MonkeyStyleGuideModalFixedService }, { type: i2.MonkeyEcxCookieStorageService }, { type: i3.MonkeyEcxConfigService }]; } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWN1cnJlbmN5LWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbmZpZy9tb25rZXllY3gtY3VycmVuY3ktY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJdkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7O0FBSzlFLE1BQU0sT0FBTyw4QkFBOEI7SUFDekMsWUFDVSxZQUErQyxFQUMvQyxhQUE0QyxFQUM1QyxhQUFxQztRQUZyQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUM7UUFDL0Msa0JBQWEsR0FBYixhQUFhLENBQStCO1FBQzVDLGtCQUFhLEdBQWIsYUFBYSxDQUF3QjtRQUU3QyxZQUFZO0lBQ2QsQ0FBQztJQUVPLHNCQUFzQixDQUFDLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRTtRQUN0RCxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQy9CLE1BQU0sUUFBUSxHQUFXLGFBQWEsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN4RSxNQUFNLE1BQU0sR0FBVyxhQUFhLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFcEUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLGFBQWEsQ0FBQyxTQUFTLENBQ3JCLHFCQUFxQixFQUNyQixJQUFJLENBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDYixvQkFBb0IsRUFBRSxJQUFJO2FBQzNCLENBQUMsQ0FDSCxFQUNELFdBQVcsQ0FDWixDQUFDO1NBQ0g7YUFBTTtZQUNMLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFFM0MsYUFBYSxDQUFDLFNBQVMsQ0FDckIscUJBQXFCLEVBQ3JCLElBQUksQ0FDRixJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUNiLEdBQUcsT0FBTztnQkFDVixvQkFBb0IsRUFBRSxJQUFJO2FBQzNCLENBQUMsQ0FDSCxFQUNELFdBQVcsQ0FDWixDQUFDO1NBQ0g7UUFFRCxJQUFJLE1BQU0sRUFBRTtZQUNWLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFFekMsYUFBYSxDQUFDLFNBQVMsQ0FDckIsbUJBQW1CLEVBQ25CLElBQUksQ0FDRixJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUNiLEdBQUcsT0FBTztnQkFDVixRQUFRO2FBQ1QsQ0FBQyxDQUNILEVBQ0QsV0FBVyxDQUNaLENBQUM7U0FDSDtJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsb0JBQW9CLENBQUMsV0FBZ0IsRUFBRSxLQUFLLEdBQUcsS0FBSztRQUNoRSxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQy9CLE1BQU0sUUFBUSxHQUFXLGFBQWEsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN4RSxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxRQUFRLEVBQUU7WUFDWixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzNDLE1BQU0sR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUM7U0FDdkM7UUFFRCxNQUFNLE1BQU0sR0FBb0IsTUFBTSxJQUFJLENBQUMsYUFBYTthQUNyRCxNQUFNLEVBQUU7YUFDUixJQUFJLENBQ0gsS0FBSyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDakIsT0FBTyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7UUFFZixNQUFNLFFBQVEsR0FBRyxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQztRQUN4QyxNQUFNLFVBQVUsR0FBRyxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQztRQUU1QyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLElBQUksVUFBVSxFQUFFLE1BQU0sRUFBRTtZQUM1QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtnQkFDOUMsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsSUFBSSxFQUFFO29CQUNKLFFBQVE7b0JBQ1IsVUFBVTtvQkFDVixRQUFRLEVBQUUsQ0FBQyxRQUFRLEdBQUcsS0FBSyxFQUFFLEVBQUU7d0JBQzdCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQzs0QkFDMUIsUUFBUTs0QkFDUixXQUFXO3lCQUNaLENBQUMsQ0FBQztvQkFDTCxDQUFDO2lCQUNGO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU0sS0FBSyxDQUFDLFdBQWdCLEVBQUUsS0FBSyxHQUFHLEtBQUs7UUFDMUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDOzsySEFoR1UsOEJBQThCOytIQUE5Qiw4QkFBOEIsY0FGN0IsTUFBTTsyRkFFUCw4QkFBOEI7a0JBSDFDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9ua2V5U3R5bGVHdWlkZU1vZGFsRml4ZWRTZXJ2aWNlIH0gZnJvbSAnbW9ua2V5LXN0eWxlLWd1aWRlJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4Q29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4Q29va2llU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9zdG9yYWdlJztcbmltcG9ydCB7IEN1cnJlbmN5Q29uZmlnQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9jdXJyZW5jeS1jb25maWcnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hDdXJyZW5jeUNvbmZpZ1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTW9ua2V5U3R5bGVHdWlkZU1vZGFsRml4ZWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29va2llU2VydmljZTogTW9ua2V5RWN4Q29va2llU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBNb25rZXlFY3hDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIC8vIG5vdCB0byBkb1xuICB9XG5cbiAgcHJpdmF0ZSBvbkhhbmRsZUN1cnJlbmN5Q29uZmlnKHsgY3VycmVuY3ksIGVudmlyb25tZW50IH0pIHtcbiAgICBjb25zdCB7IGNvb2tpZVNlcnZpY2UgfSA9IHRoaXM7XG4gICAgY29uc3Qgc2V0dGluZ3M6IHN0cmluZyA9IGNvb2tpZVNlcnZpY2UuZ2V0Q29va2llKCdtb25rZXktYXBwLXNldHRpbmdzJyk7XG4gICAgY29uc3QgbG9jYWxlOiBzdHJpbmcgPSBjb29raWVTZXJ2aWNlLmdldENvb2tpZSgnbW9ua2V5LWFwcC1sb2NhbGUnKTtcblxuICAgIGlmICghc2V0dGluZ3MpIHtcbiAgICAgIGNvb2tpZVNlcnZpY2Uuc2V0Q29va2llKFxuICAgICAgICAnbW9ua2V5LWFwcC1zZXR0aW5ncycsXG4gICAgICAgIGJ0b2EoXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgc2hvd2VkQ3VycmVuY3lDb25maWc6IHRydWVcbiAgICAgICAgICB9KVxuICAgICAgICApLFxuICAgICAgICBlbnZpcm9ubWVudFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZGVjb2RlZCA9IEpTT04ucGFyc2UoYXRvYihzZXR0aW5ncykpO1xuXG4gICAgICBjb29raWVTZXJ2aWNlLnNldENvb2tpZShcbiAgICAgICAgJ21vbmtleS1hcHAtc2V0dGluZ3MnLFxuICAgICAgICBidG9hKFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIC4uLmRlY29kZWQsXG4gICAgICAgICAgICBzaG93ZWRDdXJyZW5jeUNvbmZpZzogdHJ1ZVxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICAgIGVudmlyb25tZW50XG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChsb2NhbGUpIHtcbiAgICAgIGNvbnN0IGRlY29kZWQgPSBKU09OLnBhcnNlKGF0b2IobG9jYWxlKSk7XG5cbiAgICAgIGNvb2tpZVNlcnZpY2Uuc2V0Q29va2llKFxuICAgICAgICAnbW9ua2V5LWFwcC1sb2NhbGUnLFxuICAgICAgICBidG9hKFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIC4uLmRlY29kZWQsXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICAgIGVudmlyb25tZW50XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgb25TaG93Q3VycmVuY3lDb25maWcoZW52aXJvbm1lbnQ6IGFueSwgZm9yY2UgPSBmYWxzZSkge1xuICAgIGNvbnN0IHsgY29va2llU2VydmljZSB9ID0gdGhpcztcbiAgICBjb25zdCBzZXR0aW5nczogc3RyaW5nID0gY29va2llU2VydmljZS5nZXRDb29raWUoJ21vbmtleS1hcHAtc2V0dGluZ3MnKTtcbiAgICBsZXQgc2hvd2VkID0gZmFsc2U7XG4gICAgaWYgKHNldHRpbmdzKSB7XG4gICAgICBjb25zdCBkZWNvZGVkID0gSlNPTi5wYXJzZShhdG9iKHNldHRpbmdzKSk7XG4gICAgICBzaG93ZWQgPSBkZWNvZGVkLnNob3dlZEN1cnJlbmN5Q29uZmlnO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbmZpZzogTW9ua2V5RWN4Q29uZmlnID0gYXdhaXQgdGhpcy5jb25maWdTZXJ2aWNlXG4gICAgICAuY29uZmlnKClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaXJzdCgodmFsOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gISF2YWwgJiYgSlNPTi5zdHJpbmdpZnkodmFsKSAhPT0gJ3t9JztcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC50b1Byb21pc2UoKTtcblxuICAgIGNvbnN0IGN1cnJlbmN5ID0gY29uZmlnPy5pMThuPy5jdXJyZW5jeTtcbiAgICBjb25zdCBjdXJyZW5jaWVzID0gY29uZmlnPy5pMThuPy5jdXJyZW5jaWVzO1xuXG4gICAgaWYgKCghc2hvd2VkIHx8IGZvcmNlKSAmJiBjdXJyZW5jaWVzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oQ3VycmVuY3lDb25maWdDb21wb25lbnQsIHtcbiAgICAgICAgY29sb3I6ICd0aGVtZScsXG4gICAgICAgIHNpemU6ICdtZCcsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBjdXJyZW5jeSxcbiAgICAgICAgICBjdXJyZW5jaWVzLFxuICAgICAgICAgIGNhbGxiYWNrOiAoY3VycmVuY3kgPSAnQlJMJykgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkhhbmRsZUN1cnJlbmN5Q29uZmlnKHtcbiAgICAgICAgICAgICAgY3VycmVuY3ksXG4gICAgICAgICAgICAgIGVudmlyb25tZW50XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhcHBseShlbnZpcm9ubWVudDogYW55LCBmb3JjZSA9IGZhbHNlKSB7XG4gICAgdGhpcy5vblNob3dDdXJyZW5jeUNvbmZpZyhlbnZpcm9ubWVudCwgZm9yY2UpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
let window;
|
|
4
|
-
const text = {
|
|
5
|
-
i18n: {
|
|
6
|
-
title: 'We have an quick update for you',
|
|
7
|
-
message: 'Click anywhere here to reload your locale',
|
|
8
|
-
},
|
|
9
|
-
theme: {
|
|
10
|
-
title: 'We have an quick update for you',
|
|
11
|
-
message: 'Click anywhere here to reload your theme',
|
|
12
|
-
},
|
|
13
|
-
};
|
|
14
|
-
export class MonkeyEcxErrorConfigService {
|
|
15
|
-
constructor() {
|
|
16
|
-
// not to do
|
|
17
|
-
}
|
|
18
|
-
enableSupport() {
|
|
19
|
-
window.zE('webWidget', 'updateSettings', {
|
|
20
|
-
webWidget: {
|
|
21
|
-
color: {
|
|
22
|
-
theme: '#0273E8',
|
|
23
|
-
launcherText: '#fff',
|
|
24
|
-
header: '#0273E8',
|
|
25
|
-
button: '#0273E8',
|
|
26
|
-
},
|
|
27
|
-
zIndex: 99,
|
|
28
|
-
offset: {
|
|
29
|
-
horizontal: '1px',
|
|
30
|
-
vertical: '20px',
|
|
31
|
-
},
|
|
32
|
-
mobile: {
|
|
33
|
-
labelVisible: true,
|
|
34
|
-
},
|
|
35
|
-
launcher: {
|
|
36
|
-
mobile: {
|
|
37
|
-
labelVisible: true,
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
});
|
|
42
|
-
window.zE('webWidget', 'setLocale', 'en-US');
|
|
43
|
-
window.zE('webWidget', 'show');
|
|
44
|
-
}
|
|
45
|
-
apply(type) {
|
|
46
|
-
const { title, message } = text?.[type];
|
|
47
|
-
const element = document.createElement('div');
|
|
48
|
-
element.id = 'monkeyecx-information';
|
|
49
|
-
const elementImg = document.createElement('img');
|
|
50
|
-
elementImg.width = 128;
|
|
51
|
-
elementImg.src = 'assets/images/monkey.svg';
|
|
52
|
-
elementImg.style.marginBottom = '50px';
|
|
53
|
-
const elementTitle = document.createElement('span');
|
|
54
|
-
elementTitle.id = 'title';
|
|
55
|
-
elementTitle.innerText = title;
|
|
56
|
-
elementTitle.style.marginBottom = '20px';
|
|
57
|
-
const elementMessage = document.createElement('span');
|
|
58
|
-
elementMessage.id = 'message';
|
|
59
|
-
elementMessage.innerText = message;
|
|
60
|
-
elementMessage.style.marginBottom = '20px';
|
|
61
|
-
const elementChat = document.createElement('span');
|
|
62
|
-
elementChat.id = 'message';
|
|
63
|
-
elementChat.innerText =
|
|
64
|
-
"If you're having trouble to update, please use the support icon bellow";
|
|
65
|
-
element.appendChild(elementImg);
|
|
66
|
-
element.appendChild(elementTitle);
|
|
67
|
-
element.appendChild(elementMessage);
|
|
68
|
-
element.appendChild(elementChat);
|
|
69
|
-
element.addEventListener('click', () => {
|
|
70
|
-
document.location.reload();
|
|
71
|
-
});
|
|
72
|
-
document.body.appendChild(element);
|
|
73
|
-
document.body.getElementsByTagName('app-root')[0].remove();
|
|
74
|
-
this.enableSupport();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
MonkeyEcxErrorConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxErrorConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
78
|
-
MonkeyEcxErrorConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxErrorConfigService, providedIn: 'root' });
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxErrorConfigService, decorators: [{
|
|
80
|
-
type: Injectable,
|
|
81
|
-
args: [{
|
|
82
|
-
providedIn: 'root',
|
|
83
|
-
}]
|
|
84
|
-
}], ctorParameters: function () { return []; } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWVycm9yLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbmZpZy9tb25rZXllY3gtZXJyb3ItY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0MsSUFBSSxNQUFXLENBQUM7QUFFaEIsTUFBTSxJQUFJLEdBQVE7SUFDaEIsSUFBSSxFQUFFO1FBQ0osS0FBSyxFQUFFLGlDQUFpQztRQUN4QyxPQUFPLEVBQUUsMkNBQTJDO0tBQ3JEO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsS0FBSyxFQUFFLGlDQUFpQztRQUN4QyxPQUFPLEVBQUUsMENBQTBDO0tBQ3BEO0NBQ0YsQ0FBQztBQUtGLE1BQU0sT0FBTywyQkFBMkI7SUFDdEM7UUFDRSxZQUFZO0lBQ2QsQ0FBQztJQUVPLGFBQWE7UUFDbkIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUU7WUFDdkMsU0FBUyxFQUFFO2dCQUNULEtBQUssRUFBRTtvQkFDTCxLQUFLLEVBQUUsU0FBUztvQkFDaEIsWUFBWSxFQUFFLE1BQU07b0JBQ3BCLE1BQU0sRUFBRSxTQUFTO29CQUNqQixNQUFNLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0QsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFO29CQUNOLFVBQVUsRUFBRSxLQUFLO29CQUNqQixRQUFRLEVBQUUsTUFBTTtpQkFDakI7Z0JBQ0QsTUFBTSxFQUFFO29CQUNOLFlBQVksRUFBRSxJQUFJO2lCQUNuQjtnQkFDRCxRQUFRLEVBQUU7b0JBQ1IsTUFBTSxFQUFFO3dCQUNOLFlBQVksRUFBRSxJQUFJO3FCQUNuQjtpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxLQUFLLENBQUMsSUFBWTtRQUN2QixNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsT0FBTyxDQUFDLEVBQUUsR0FBRyx1QkFBdUIsQ0FBQztRQUVyQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELFVBQVUsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEdBQUcsMEJBQTBCLENBQUM7UUFDNUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBRXZDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEQsWUFBWSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDMUIsWUFBWSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDL0IsWUFBWSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBRXpDLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEQsY0FBYyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUM7UUFDOUIsY0FBYyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7UUFDbkMsY0FBYyxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBRTNDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsV0FBVyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUM7UUFDM0IsV0FBVyxDQUFDLFNBQVM7WUFDbkIsd0VBQXdFLENBQUM7UUFFM0UsT0FBTyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxPQUFPLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVqQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUNyQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkMsUUFBUSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7d0hBeEVVLDJCQUEyQjs0SEFBM0IsMkJBQTJCLGNBRjFCLE1BQU07MkZBRVAsMkJBQTJCO2tCQUh2QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxubGV0IHdpbmRvdzogYW55O1xuXG5jb25zdCB0ZXh0OiBhbnkgPSB7XG4gIGkxOG46IHtcbiAgICB0aXRsZTogJ1dlIGhhdmUgYW4gcXVpY2sgdXBkYXRlIGZvciB5b3UnLFxuICAgIG1lc3NhZ2U6ICdDbGljayBhbnl3aGVyZSBoZXJlIHRvIHJlbG9hZCB5b3VyIGxvY2FsZScsXG4gIH0sXG4gIHRoZW1lOiB7XG4gICAgdGl0bGU6ICdXZSBoYXZlIGFuIHF1aWNrIHVwZGF0ZSBmb3IgeW91JyxcbiAgICBtZXNzYWdlOiAnQ2xpY2sgYW55d2hlcmUgaGVyZSB0byByZWxvYWQgeW91ciB0aGVtZScsXG4gIH0sXG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4RXJyb3JDb25maWdTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBwcml2YXRlIGVuYWJsZVN1cHBvcnQoKSB7XG4gICAgd2luZG93LnpFKCd3ZWJXaWRnZXQnLCAndXBkYXRlU2V0dGluZ3MnLCB7XG4gICAgICB3ZWJXaWRnZXQ6IHtcbiAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICB0aGVtZTogJyMwMjczRTgnLFxuICAgICAgICAgIGxhdW5jaGVyVGV4dDogJyNmZmYnLFxuICAgICAgICAgIGhlYWRlcjogJyMwMjczRTgnLFxuICAgICAgICAgIGJ1dHRvbjogJyMwMjczRTgnLFxuICAgICAgICB9LFxuICAgICAgICB6SW5kZXg6IDk5LFxuICAgICAgICBvZmZzZXQ6IHtcbiAgICAgICAgICBob3Jpem9udGFsOiAnMXB4JyxcbiAgICAgICAgICB2ZXJ0aWNhbDogJzIwcHgnLFxuICAgICAgICB9LFxuICAgICAgICBtb2JpbGU6IHtcbiAgICAgICAgICBsYWJlbFZpc2libGU6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGxhdW5jaGVyOiB7XG4gICAgICAgICAgbW9iaWxlOiB7XG4gICAgICAgICAgICBsYWJlbFZpc2libGU6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgd2luZG93LnpFKCd3ZWJXaWRnZXQnLCAnc2V0TG9jYWxlJywgJ2VuLVVTJyk7XG4gICAgd2luZG93LnpFKCd3ZWJXaWRnZXQnLCAnc2hvdycpO1xuICB9XG5cbiAgcHVibGljIGFwcGx5KHR5cGU6IHN0cmluZykge1xuICAgIGNvbnN0IHsgdGl0bGUsIG1lc3NhZ2UgfSA9IHRleHQ/Llt0eXBlXTtcblxuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBlbGVtZW50LmlkID0gJ21vbmtleWVjeC1pbmZvcm1hdGlvbic7XG5cbiAgICBjb25zdCBlbGVtZW50SW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7XG4gICAgZWxlbWVudEltZy53aWR0aCA9IDEyODtcbiAgICBlbGVtZW50SW1nLnNyYyA9ICdhc3NldHMvaW1hZ2VzL21vbmtleS5zdmcnO1xuICAgIGVsZW1lbnRJbWcuc3R5bGUubWFyZ2luQm90dG9tID0gJzUwcHgnO1xuXG4gICAgY29uc3QgZWxlbWVudFRpdGxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgIGVsZW1lbnRUaXRsZS5pZCA9ICd0aXRsZSc7XG4gICAgZWxlbWVudFRpdGxlLmlubmVyVGV4dCA9IHRpdGxlO1xuICAgIGVsZW1lbnRUaXRsZS5zdHlsZS5tYXJnaW5Cb3R0b20gPSAnMjBweCc7XG5cbiAgICBjb25zdCBlbGVtZW50TWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICBlbGVtZW50TWVzc2FnZS5pZCA9ICdtZXNzYWdlJztcbiAgICBlbGVtZW50TWVzc2FnZS5pbm5lclRleHQgPSBtZXNzYWdlO1xuICAgIGVsZW1lbnRNZXNzYWdlLnN0eWxlLm1hcmdpbkJvdHRvbSA9ICcyMHB4JztcblxuICAgIGNvbnN0IGVsZW1lbnRDaGF0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgIGVsZW1lbnRDaGF0LmlkID0gJ21lc3NhZ2UnO1xuICAgIGVsZW1lbnRDaGF0LmlubmVyVGV4dCA9XG4gICAgICBcIklmIHlvdSdyZSBoYXZpbmcgdHJvdWJsZSB0byB1cGRhdGUsIHBsZWFzZSB1c2UgdGhlIHN1cHBvcnQgaWNvbiBiZWxsb3dcIjtcblxuICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoZWxlbWVudEltZyk7XG4gICAgZWxlbWVudC5hcHBlbmRDaGlsZChlbGVtZW50VGl0bGUpO1xuICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoZWxlbWVudE1lc3NhZ2UpO1xuICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoZWxlbWVudENoYXQpO1xuXG4gICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgIGRvY3VtZW50LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgIH0pO1xuXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTtcblxuICAgIGRvY3VtZW50LmJvZHkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2FwcC1yb290JylbMF0ucmVtb3ZlKCk7XG4gICAgdGhpcy5lbmFibGVTdXBwb3J0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { initialize } from 'launchdarkly-js-client-sdk';
|
|
3
|
-
import { MonkeyUtils } from 'monkey-style-guide';
|
|
4
|
-
import { BehaviorSubject } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class MonkeyEcxFeatureToggleService {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.flagSubject$ = new BehaviorSubject(null);
|
|
9
|
-
this.flags = undefined;
|
|
10
|
-
this.ldClient = undefined;
|
|
11
|
-
// not to do
|
|
12
|
-
}
|
|
13
|
-
getAllFlags() {
|
|
14
|
-
if (!this)
|
|
15
|
-
return;
|
|
16
|
-
this.flags = this.ldClient?.allFlags();
|
|
17
|
-
this.flagSubject$.next(true);
|
|
18
|
-
}
|
|
19
|
-
identify(config, environment) {
|
|
20
|
-
if (config) {
|
|
21
|
-
const email = 'monkey@monkey.exchange';
|
|
22
|
-
const user = {
|
|
23
|
-
email,
|
|
24
|
-
kind: 'user',
|
|
25
|
-
key: `${config.program?.token}#${email}`
|
|
26
|
-
};
|
|
27
|
-
if (!this.ldClient) {
|
|
28
|
-
this.ldClient = initialize(environment.launchDarklyClientSideID, user, {
|
|
29
|
-
streaming: true,
|
|
30
|
-
sendEvents: true,
|
|
31
|
-
logger: {
|
|
32
|
-
debug: () => { },
|
|
33
|
-
warn: () => { },
|
|
34
|
-
info: () => { },
|
|
35
|
-
error: (args) => {
|
|
36
|
-
console.log('Monkey Client => ', args);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
this.ldClient.on('change', this.getAllFlags.bind(this));
|
|
41
|
-
this.ldClient.on('ready', this.getAllFlags.bind(this));
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
this.ldClient.identify(user, undefined, this.getAllFlags);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
apply(configSubject$, environment) {
|
|
49
|
-
if (environment.launchDarklyClientSideID) {
|
|
50
|
-
configSubject$.subscribe((config) => {
|
|
51
|
-
this.identify(config, environment);
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
this.flagSubject$.next(true);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
get onFlags() {
|
|
59
|
-
return this.flagSubject$.asObservable();
|
|
60
|
-
}
|
|
61
|
-
getFlag(flag) {
|
|
62
|
-
const flagValue = this.flags?.[flag];
|
|
63
|
-
return MonkeyUtils.persistNullEmptyUndefined(flagValue) ? flagValue : null;
|
|
64
|
-
}
|
|
65
|
-
sendEvent(key, data) {
|
|
66
|
-
this.ldClient?.track(key, data);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
MonkeyEcxFeatureToggleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxFeatureToggleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
70
|
-
MonkeyEcxFeatureToggleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxFeatureToggleService, providedIn: 'root' });
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxFeatureToggleService, decorators: [{
|
|
72
|
-
type: Injectable,
|
|
73
|
-
args: [{
|
|
74
|
-
providedIn: 'root'
|
|
75
|
-
}]
|
|
76
|
-
}], ctorParameters: function () { return []; } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWZlYXR1cmUtdG9nZ2xlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvY29uZmlnL21vbmtleWVjeC1mZWF0dXJlLXRvZ2dsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF1QixVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7QUFNbkQsTUFBTSxPQUFPLDZCQUE2QjtJQU94QztRQU5pQixpQkFBWSxHQUF5QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4RSxVQUFLLEdBQTBCLFNBQVMsQ0FBQztRQUV6QyxhQUFRLEdBQXlCLFNBQVMsQ0FBQztRQUdqRCxZQUFZO0lBQ2QsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUV2QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU8sUUFBUSxDQUFDLE1BQXVCLEVBQUUsV0FBZ0I7UUFDeEQsSUFBSSxNQUFNLEVBQUU7WUFDVixNQUFNLEtBQUssR0FBRyx3QkFBd0IsQ0FBQztZQUN2QyxNQUFNLElBQUksR0FBRztnQkFDWCxLQUFLO2dCQUNMLElBQUksRUFBRSxNQUFNO2dCQUNaLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxJQUFJLEtBQUssRUFBRTthQUN6QyxDQUFDO1lBRUYsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLEVBQUU7b0JBQ3JFLFNBQVMsRUFBRSxJQUFJO29CQUNmLFVBQVUsRUFBRSxJQUFJO29CQUNoQixNQUFNLEVBQUU7d0JBQ04sS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7d0JBQ2YsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7d0JBQ2QsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7d0JBQ2QsS0FBSyxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUU7NEJBQ25CLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUM7d0JBQ3pDLENBQUM7cUJBQ0Y7aUJBQ0YsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUN4RDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUMzRDtTQUNGO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxjQUFnRCxFQUFFLFdBQWdCO1FBQzdFLElBQUksV0FBVyxDQUFDLHdCQUF3QixFQUFFO1lBQ3hDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU0sT0FBTyxDQUFDLElBQVk7UUFDekIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJDLE9BQU8sV0FBVyxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM3RSxDQUFDO0lBRU0sU0FBUyxDQUFDLEdBQVcsRUFBRSxJQUFTO1FBQ3JDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDOzswSEF2RVUsNkJBQTZCOzhIQUE3Qiw2QkFBNkIsY0FGNUIsTUFBTTsyRkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTERDbGllbnQsIExERmxhZ1NldCwgaW5pdGlhbGl6ZSB9IGZyb20gJ2xhdW5jaGRhcmtseS1qcy1jbGllbnQtc2RrJztcbmltcG9ydCB7IE1vbmtleVV0aWxzIH0gZnJvbSAnbW9ua2V5LXN0eWxlLWd1aWRlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4Q29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeEZlYXR1cmVUb2dnbGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBmbGFnU3ViamVjdCQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBwcml2YXRlIGZsYWdzOiBMREZsYWdTZXQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBsZENsaWVudDogTERDbGllbnQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBwcml2YXRlIGdldEFsbEZsYWdzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcykgcmV0dXJuO1xuICAgIHRoaXMuZmxhZ3MgPSB0aGlzLmxkQ2xpZW50Py5hbGxGbGFncygpO1xuXG4gICAgdGhpcy5mbGFnU3ViamVjdCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgaWRlbnRpZnkoY29uZmlnOiBNb25rZXlFY3hDb25maWcsIGVudmlyb25tZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoY29uZmlnKSB7XG4gICAgICBjb25zdCBlbWFpbCA9ICdtb25rZXlAbW9ua2V5LmV4Y2hhbmdlJztcbiAgICAgIGNvbnN0IHVzZXIgPSB7XG4gICAgICAgIGVtYWlsLFxuICAgICAgICBraW5kOiAndXNlcicsXG4gICAgICAgIGtleTogYCR7Y29uZmlnLnByb2dyYW0/LnRva2VufSMke2VtYWlsfWBcbiAgICAgIH07XG5cbiAgICAgIGlmICghdGhpcy5sZENsaWVudCkge1xuICAgICAgICB0aGlzLmxkQ2xpZW50ID0gaW5pdGlhbGl6ZShlbnZpcm9ubWVudC5sYXVuY2hEYXJrbHlDbGllbnRTaWRlSUQsIHVzZXIsIHtcbiAgICAgICAgICBzdHJlYW1pbmc6IHRydWUsXG4gICAgICAgICAgc2VuZEV2ZW50czogdHJ1ZSxcbiAgICAgICAgICBsb2dnZXI6IHtcbiAgICAgICAgICAgIGRlYnVnOiAoKSA9PiB7fSxcbiAgICAgICAgICAgIHdhcm46ICgpID0+IHt9LFxuICAgICAgICAgICAgaW5mbzogKCkgPT4ge30sXG4gICAgICAgICAgICBlcnJvcjogKGFyZ3M6IGFueSkgPT4ge1xuICAgICAgICAgICAgICBjb25zb2xlLmxvZygnTW9ua2V5IENsaWVudCA9PiAnLCBhcmdzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubGRDbGllbnQub24oJ2NoYW5nZScsIHRoaXMuZ2V0QWxsRmxhZ3MuYmluZCh0aGlzKSk7XG4gICAgICAgIHRoaXMubGRDbGllbnQub24oJ3JlYWR5JywgdGhpcy5nZXRBbGxGbGFncy5iaW5kKHRoaXMpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubGRDbGllbnQuaWRlbnRpZnkodXNlciwgdW5kZWZpbmVkLCB0aGlzLmdldEFsbEZsYWdzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXBwbHkoY29uZmlnU3ViamVjdCQ6IEJlaGF2aW9yU3ViamVjdDxNb25rZXlFY3hDb25maWc+LCBlbnZpcm9ubWVudDogYW55KSB7XG4gICAgaWYgKGVudmlyb25tZW50LmxhdW5jaERhcmtseUNsaWVudFNpZGVJRCkge1xuICAgICAgY29uZmlnU3ViamVjdCQuc3Vic2NyaWJlKChjb25maWcpID0+IHtcbiAgICAgICAgdGhpcy5pZGVudGlmeShjb25maWcsIGVudmlyb25tZW50KTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZsYWdTdWJqZWN0JC5uZXh0KHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgb25GbGFncygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmZsYWdTdWJqZWN0JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGbGFnKGZsYWc6IHN0cmluZyk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICBjb25zdCBmbGFnVmFsdWUgPSB0aGlzLmZsYWdzPy5bZmxhZ107XG5cbiAgICByZXR1cm4gTW9ua2V5VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZChmbGFnVmFsdWUpID8gZmxhZ1ZhbHVlIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kRXZlbnQoa2V5OiBzdHJpbmcsIGRhdGE6IGFueSkge1xuICAgIHRoaXMubGRDbGllbnQ/LnRyYWNrKGtleSwgZGF0YSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-console */
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class MonkeyEcxGTMConfigService {
|
|
5
|
-
handleCode(key) {
|
|
6
|
-
try {
|
|
7
|
-
window.dataLayer = window.dataLayer || [];
|
|
8
|
-
window.dataLayer.push({
|
|
9
|
-
'gtm.start': new Date().getTime(),
|
|
10
|
-
event: 'gtm.js'
|
|
11
|
-
});
|
|
12
|
-
const head = document.querySelector('head');
|
|
13
|
-
const script = document.createElement('script');
|
|
14
|
-
script.async = true;
|
|
15
|
-
script.src = `https://www.googletagmanager.com/gtm.js?id=GTM-${key}`;
|
|
16
|
-
head?.appendChild(script);
|
|
17
|
-
const body = document.querySelector('body');
|
|
18
|
-
const noscript = document.createElement('noscript');
|
|
19
|
-
const iframe = document.createElement('iframe');
|
|
20
|
-
iframe.src = `https://www.googletagmanager.com/ns.html?id=GTM-${key}`;
|
|
21
|
-
iframe.height = '0';
|
|
22
|
-
iframe.width = '0';
|
|
23
|
-
iframe.style.display = 'none';
|
|
24
|
-
iframe.style.visibility = 'hidden';
|
|
25
|
-
noscript.appendChild(iframe);
|
|
26
|
-
body?.appendChild(noscript);
|
|
27
|
-
}
|
|
28
|
-
catch (e) {
|
|
29
|
-
console.error('GTM Configuration Error!');
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
async apply(config, environment) {
|
|
33
|
-
const { enabled, key } = config?.gtm || environment?.gtm || { enabled: false, key: '' };
|
|
34
|
-
if (enabled) {
|
|
35
|
-
this.handleCode(key);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
MonkeyEcxGTMConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxGTMConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
-
MonkeyEcxGTMConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxGTMConfigService, providedIn: 'root' });
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxGTMConfigService, decorators: [{
|
|
42
|
-
type: Injectable,
|
|
43
|
-
args: [{
|
|
44
|
-
providedIn: 'root'
|
|
45
|
-
}]
|
|
46
|
-
}] });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWd0bS1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb25maWcvbW9ua2V5ZWN4LWd0bS1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRM0MsTUFBTSxPQUFPLHlCQUF5QjtJQUM1QixVQUFVLENBQUMsR0FBVztRQUM1QixJQUFJO1lBQ0YsTUFBTSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztZQUMxQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDcEIsV0FBVyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFO2dCQUNqQyxLQUFLLEVBQUUsUUFBUTthQUNoQixDQUFDLENBQUM7WUFDSCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEQsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDcEIsTUFBTSxDQUFDLEdBQUcsR0FBRyxrREFBa0QsR0FBRyxFQUFFLENBQUM7WUFDckUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUUxQixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDcEQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRCxNQUFNLENBQUMsR0FBRyxHQUFHLG1EQUFtRCxHQUFHLEVBQUUsQ0FBQztZQUN0RSxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztZQUNwQixNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNuQixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7WUFDOUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1lBQ25DLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDN0IsSUFBSSxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM3QjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBdUIsRUFBRSxXQUFnQjtRQUMxRCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLElBQUksV0FBVyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBRXhGLElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN0QjtJQUNILENBQUM7O3NIQW5DVSx5QkFBeUI7MEhBQXpCLHlCQUF5QixjQUZ4QixNQUFNOzJGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuZGVjbGFyZSBjb25zdCB3aW5kb3c6IGFueTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4R1RNQ29uZmlnU2VydmljZSB7XG4gIHByaXZhdGUgaGFuZGxlQ29kZShrZXk6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTtcbiAgICAgIHdpbmRvdy5kYXRhTGF5ZXIucHVzaCh7XG4gICAgICAgICdndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSxcbiAgICAgICAgZXZlbnQ6ICdndG0uanMnXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGhlYWQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdoZWFkJyk7XG4gICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gICAgICBzY3JpcHQuc3JjID0gYGh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0bS5qcz9pZD1HVE0tJHtrZXl9YDtcbiAgICAgIGhlYWQ/LmFwcGVuZENoaWxkKHNjcmlwdCk7XG5cbiAgICAgIGNvbnN0IGJvZHkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5Jyk7XG4gICAgICBjb25zdCBub3NjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ25vc2NyaXB0Jyk7XG4gICAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTtcbiAgICAgIGlmcmFtZS5zcmMgPSBgaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vbnMuaHRtbD9pZD1HVE0tJHtrZXl9YDtcbiAgICAgIGlmcmFtZS5oZWlnaHQgPSAnMCc7XG4gICAgICBpZnJhbWUud2lkdGggPSAnMCc7XG4gICAgICBpZnJhbWUuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgIGlmcmFtZS5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICBub3NjcmlwdC5hcHBlbmRDaGlsZChpZnJhbWUpO1xuICAgICAgYm9keT8uYXBwZW5kQ2hpbGQobm9zY3JpcHQpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0dUTSBDb25maWd1cmF0aW9uIEVycm9yIScpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBhcHBseShjb25maWc6IE1vbmtleUVjeENvbmZpZywgZW52aXJvbm1lbnQ6IGFueSkge1xuICAgIGNvbnN0IHsgZW5hYmxlZCwga2V5IH0gPSBjb25maWc/Lmd0bSB8fCBlbnZpcm9ubWVudD8uZ3RtIHx8IHsgZW5hYmxlZDogZmFsc2UsIGtleTogJycgfTtcblxuICAgIGlmIChlbmFibGVkKSB7XG4gICAgICB0aGlzLmhhbmRsZUNvZGUoa2V5KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|