monkey-front-core 0.0.99 → 0.0.103
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/closed-to-maintenance/closed-to-maintenance.component.mjs +29 -0
- package/{esm2015/lib/components/closed-to-maintenance/closed-to-maintenance.module.js → esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.module.mjs} +5 -5
- package/{esm2015/lib/components/closed-to-maintenance/index.js → esm2020/lib/components/closed-to-maintenance/index.mjs} +1 -1
- package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
- package/{esm2015/lib/components/progress-bar/index.js → esm2020/lib/components/progress-bar/index.mjs} +1 -1
- package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +23 -0
- package/{esm2015/lib/components/progress-bar/progress-bar.module.js → esm2020/lib/components/progress-bar/progress-bar.module.mjs} +5 -5
- package/esm2020/lib/components/progress-bar/progress-bar.service.mjs +50 -0
- package/{esm2015/lib/components/version-changed/index.js → esm2020/lib/components/version-changed/index.mjs} +1 -1
- package/esm2020/lib/components/version-changed/version-changed.component.mjs +24 -0
- package/{esm2015/lib/components/version-changed/version-changed.module.js → esm2020/lib/components/version-changed/version-changed.module.mjs} +5 -5
- package/{esm2015/lib/core/decorators/index.js → esm2020/lib/core/decorators/index.mjs} +1 -1
- package/{esm2015/lib/core/decorators/monkeyecx-charts-decorators.js → esm2020/lib/core/decorators/monkeyecx-charts-decorators.mjs} +1 -1
- package/esm2020/lib/core/decorators/monkeyecx-decorators.mjs +111 -0
- package/esm2020/lib/core/decorators/monkeyecx-download-decorators.mjs +26 -0
- package/esm2020/lib/core/decorators/monkeyecx-upload-decorators.mjs +26 -0
- package/{esm2015/lib/core/directives/index.js → esm2020/lib/core/directives/index.mjs} +1 -1
- package/{esm2015/lib/core/directives/monkeyecx-directives-module.js → esm2020/lib/core/directives/monkeyecx-directives-module.mjs} +5 -5
- package/esm2020/lib/core/directives/monkeyecx-drag-drop.mjs +57 -0
- package/esm2020/lib/core/directives/monkeyecx-feature-directive.mjs +68 -0
- package/{esm2015/lib/core/directives/monkeyecx-format-currency.js → esm2020/lib/core/directives/monkeyecx-format-currency.mjs} +4 -4
- package/esm2020/lib/core/directives/monkeyecx-format-upper.mjs +67 -0
- package/{esm2015/lib/core/directives/monkeyecx-only-alpha-numeric-directive.js → esm2020/lib/core/directives/monkeyecx-only-alpha-numeric-directive.mjs} +4 -4
- package/{esm2015/lib/core/directives/monkeyecx-only-number-directive.js → esm2020/lib/core/directives/monkeyecx-only-number-directive.mjs} +4 -4
- package/esm2020/lib/core/directives/monkeyecx-security-directive.mjs +69 -0
- package/esm2020/lib/core/directives/monkeyecx-tooltip-directive.mjs +123 -0
- package/{esm2015/lib/core/index.js → esm2020/lib/core/index.mjs} +1 -1
- package/{esm2015/lib/core/interceptors/index.js → esm2020/lib/core/interceptors/index.mjs} +1 -1
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-error.interceptor.mjs +39 -0
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-header.interceptor.mjs +32 -0
- package/{esm2015/lib/core/interceptors/monkeyecx-http-config-interceptor.module.js → esm2020/lib/core/interceptors/monkeyecx-http-config-interceptor.module.mjs} +5 -5
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.mjs +43 -0
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.mjs +37 -0
- package/{esm2015/lib/core/interfaces/index.js → esm2020/lib/core/interfaces/index.mjs} +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-auth-credentials.mjs +2 -0
- package/{esm2015/lib/core/interfaces/monkeyecx-company.js → esm2020/lib/core/interfaces/monkeyecx-company.mjs} +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-config-boostrap.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-config.mjs +2 -0
- package/{esm2015/lib/core/interfaces/monkeyecx-error-response.js → esm2020/lib/core/interfaces/monkeyecx-error-response.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/monkeyecx-handled-error-response.js → esm2020/lib/core/interfaces/monkeyecx-handled-error-response.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/monkeyecx-header-credentials.js → esm2020/lib/core/interfaces/monkeyecx-header-credentials.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/monkeyecx-intercom-options.js → esm2020/lib/core/interfaces/monkeyecx-intercom-options.mjs} +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-me-credentials.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-navigation.mjs +2 -0
- package/{esm2015/lib/core/interfaces/monkeyecx-program.js → esm2020/lib/core/interfaces/monkeyecx-program.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/monkeyecx-releases.js → esm2020/lib/core/interfaces/monkeyecx-releases.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/monkeyecx-request-in-progress.js → esm2020/lib/core/interfaces/monkeyecx-request-in-progress.mjs} +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-request-paged.mjs +2 -0
- package/{esm2015/lib/core/interfaces/monkeyecx-response-links.js → esm2020/lib/core/interfaces/monkeyecx-response-links.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/monkeyecx-response-paged.js → esm2020/lib/core/interfaces/monkeyecx-response-paged.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/monkeyecx-saved-state.js → esm2020/lib/core/interfaces/monkeyecx-saved-state.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/monkeyecx-scroll-options.js → esm2020/lib/core/interfaces/monkeyecx-scroll-options.mjs} +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-service-credentials.mjs +2 -0
- package/{esm2015/lib/core/interfaces/monkeyecx-support-options.js → esm2020/lib/core/interfaces/monkeyecx-support-options.mjs} +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-token-credentials.mjs +2 -0
- package/{esm2015/lib/core/interfaces/monkeyecx-translate-options.js → esm2020/lib/core/interfaces/monkeyecx-translate-options.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-download/index.js → esm2020/lib/core/interfaces/request-download/index.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-download/monkeyecx-request-download.js → esm2020/lib/core/interfaces/request-download/monkeyecx-request-download.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-download/monkeyecx-request-downloaded.js → esm2020/lib/core/interfaces/request-download/monkeyecx-request-downloaded.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-download/monkeyecx-request-item-download.js → esm2020/lib/core/interfaces/request-download/monkeyecx-request-item-download.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-queue/index.js → esm2020/lib/core/interfaces/request-queue/index.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.js → esm2020/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.js → esm2020/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-queue/monkeyecx-request-queue.js → esm2020/lib/core/interfaces/request-queue/monkeyecx-request-queue.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-upload/index.js → esm2020/lib/core/interfaces/request-upload/index.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.js → esm2020/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-upload/monkeyecx-request-upload.js → esm2020/lib/core/interfaces/request-upload/monkeyecx-request-upload.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/schedules/index.js → esm2020/lib/core/interfaces/schedules/index.mjs} +1 -1
- package/esm2020/lib/core/interfaces/schedules/monkeyecx-request-schedule.mjs +2 -0
- package/{esm2015/lib/core/model/index.js → esm2020/lib/core/model/index.mjs} +1 -1
- package/{esm2015/lib/core/model/monkeyecx-model.js → esm2020/lib/core/model/monkeyecx-model.mjs} +1 -1
- package/{esm2015/lib/core/pipes/index.js → esm2020/lib/core/pipes/index.mjs} +0 -0
- package/{esm2015/lib/core/pipes/monkeyecx-display-first-name.js → esm2020/lib/core/pipes/monkeyecx-display-first-name.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-format-address.js → esm2020/lib/core/pipes/monkeyecx-format-address.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-format-currency.js → esm2020/lib/core/pipes/monkeyecx-format-currency.mjs} +4 -4
- package/esm2020/lib/core/pipes/monkeyecx-format-date-group.mjs +45 -0
- package/{esm2015/lib/core/pipes/monkeyecx-format-date-timelapse.js → esm2020/lib/core/pipes/monkeyecx-format-date-timelapse.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-format-document.js → esm2020/lib/core/pipes/monkeyecx-format-document.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-format-number.js → esm2020/lib/core/pipes/monkeyecx-format-number.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-format-phone.js → esm2020/lib/core/pipes/monkeyecx-format-phone.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-format-size.js → esm2020/lib/core/pipes/monkeyecx-format-size.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-format-type-document.js → esm2020/lib/core/pipes/monkeyecx-format-type-document.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-format-value.js → esm2020/lib/core/pipes/monkeyecx-format-value.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-format-zipcode.js → esm2020/lib/core/pipes/monkeyecx-format-zipcode.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-pipes.module.js → esm2020/lib/core/pipes/monkeyecx-pipes.module.mjs} +5 -5
- package/{esm2015/lib/core/pipes/monkeyecx-text-truncate.js → esm2020/lib/core/pipes/monkeyecx-text-truncate.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-truncate-qtd.js → esm2020/lib/core/pipes/monkeyecx-truncate-qtd.mjs} +4 -4
- package/{esm2015/lib/core/services/auth/index.js → esm2020/lib/core/services/auth/index.mjs} +1 -1
- package/{esm2015/lib/core/services/auth/monkeyecx-auth-guard-login.service.js → esm2020/lib/core/services/auth/monkeyecx-auth-guard-login.service.mjs} +4 -4
- package/{esm2015/lib/core/services/auth/monkeyecx-auth-guard.service.js → esm2020/lib/core/services/auth/monkeyecx-auth-guard.service.mjs} +4 -4
- package/esm2020/lib/core/services/auth/monkeyecx-authentication.service.mjs +61 -0
- package/{esm2015/lib/core/services/commons/index.js → esm2020/lib/core/services/commons/index.mjs} +1 -1
- package/esm2020/lib/core/services/commons/monkeyecx-commons.service.mjs +288 -0
- package/{esm2015/lib/core/services/config/monkeyecx-config.module.js → esm2020/lib/core/services/config/monkeyecx-config.module.mjs} +5 -5
- package/{esm2015/lib/core/services/config/monkeyecx-config.service.js → esm2020/lib/core/services/config/monkeyecx-config.service.mjs} +11 -9
- package/esm2020/lib/core/services/config/monkeyecx-error-config.service.mjs +85 -0
- package/esm2020/lib/core/services/config/monkeyecx-feature-toggle.service.mjs +67 -0
- package/esm2020/lib/core/services/config/monkeyecx-i18n-config.service.mjs +74 -0
- package/esm2020/lib/core/services/config/monkeyecx-logs-config.service.mjs +34 -0
- package/{esm2015/lib/core/services/config/monkeyecx-maintenance-config.service.js → esm2020/lib/core/services/config/monkeyecx-maintenance-config.service.mjs} +4 -4
- package/esm2020/lib/core/services/config/monkeyecx-security-console-config.service.mjs +42 -0
- package/esm2020/lib/core/services/config/monkeyecx-service-worker-config.service.mjs +53 -0
- package/{esm2015/lib/core/services/error/index.js → esm2020/lib/core/services/error/index.mjs} +1 -1
- package/{esm2015/lib/core/services/error/monkeyecx-error-handling.module.js → esm2020/lib/core/services/error/monkeyecx-error-handling.module.mjs} +5 -5
- package/esm2020/lib/core/services/error/monkeyecx-error-handling.service.mjs +41 -0
- package/esm2020/lib/core/services/error/monkeyecx-http-error-handling.service.mjs +127 -0
- package/{esm2015/lib/core/services/error/monkeyecx-others-errors-handling.service.js → esm2020/lib/core/services/error/monkeyecx-others-errors-handling.service.mjs} +4 -4
- package/{esm2015/lib/core/services/index.js → esm2020/lib/core/services/index.mjs} +1 -1
- package/{esm2015/lib/core/services/logged/index.js → esm2020/lib/core/services/logged/index.mjs} +1 -1
- package/{esm2015/lib/core/services/logged/monkeyecx-logged-handling.service.js → esm2020/lib/core/services/logged/monkeyecx-logged-handling.service.mjs} +4 -4
- package/esm2020/lib/core/services/monkeyecx-handling.service.mjs +50 -0
- package/esm2020/lib/core/services/monkeyecx-service.service.mjs +104 -0
- package/{esm2015/lib/core/services/request-download/index.js → esm2020/lib/core/services/request-download/index.mjs} +1 -1
- package/esm2020/lib/core/services/request-download/monkeyecx-request-download-handling.service.mjs +93 -0
- package/esm2020/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.mjs +61 -0
- package/{esm2015/lib/core/services/request-paged/index.js → esm2020/lib/core/services/request-paged/index.mjs} +1 -1
- package/esm2020/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.mjs +37 -0
- package/{esm2015/lib/core/services/request-queue/index.js → esm2020/lib/core/services/request-queue/index.mjs} +1 -1
- package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.mjs +114 -0
- package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.mjs +119 -0
- package/{esm2015/lib/core/services/routes/index.js → esm2020/lib/core/services/routes/index.mjs} +1 -1
- package/esm2020/lib/core/services/routes/monkeyecx-dicovery-params.service.mjs +54 -0
- package/{esm2015/lib/core/services/schedules/index.js → esm2020/lib/core/services/schedules/index.mjs} +1 -1
- package/esm2020/lib/core/services/schedules/monkeyecx-request-schedule.service.mjs +113 -0
- package/{esm2015/lib/core/services/storage/index.js → esm2020/lib/core/services/storage/index.mjs} +1 -1
- package/{esm2015/lib/core/services/storage/monkeyecx-cookie-storage.service.js → esm2020/lib/core/services/storage/monkeyecx-cookie-storage.service.mjs} +4 -4
- package/esm2020/lib/core/services/storage/monkeyecx-token-storage.service.mjs +126 -0
- package/{esm2015/lib/core/specification-search/index.js → esm2020/lib/core/specification-search/index.mjs} +1 -1
- package/{esm2015/lib/core/specification-search/monkeyecx-specification-search.js → esm2020/lib/core/specification-search/monkeyecx-specification-search.mjs} +2 -3
- package/esm2020/lib/core/utils/decorators-utils.mjs +40 -0
- package/{esm2015/lib/core/utils/index.js → esm2020/lib/core/utils/index.mjs} +1 -1
- package/{esm2015/lib/core/utils/statics.js → esm2020/lib/core/utils/statics.mjs} +1 -1
- package/esm2020/lib/core/utils/utils.mjs +218 -0
- package/esm2020/lib/core/utils/validate-utils.mjs +206 -0
- package/esm2020/lib/core/utils/validators.mjs +208 -0
- package/{esm2015/lib/monkey-front-core.module.js → esm2020/lib/monkey-front-core.module.mjs} +5 -5
- package/{esm2015/monkey-front-core.js → esm2020/monkey-front-core.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +1 -1
- package/fesm2015/{monkey-front-core.js → monkey-front-core.mjs} +226 -229
- package/fesm2015/monkey-front-core.mjs.map +1 -0
- package/fesm2020/monkey-front-core.mjs +4273 -0
- package/fesm2020/monkey-front-core.mjs.map +1 -0
- package/lib/core/pipes/monkeyecx-format-currency.d.ts +1 -1
- package/lib/core/services/auth/monkeyecx-authentication.service.d.ts +3 -3
- package/lib/core/services/commons/monkeyecx-commons.service.d.ts +15 -15
- package/lib/core/services/schedules/monkeyecx-request-schedule.service.d.ts +1 -1
- package/lib/core/utils/validate-utils.d.ts +13 -13
- package/monkey-front-core-0.0.103.tgz +0 -0
- package/package.json +20 -7
- package/bundles/monkey-front-core.umd.js +0 -4900
- package/bundles/monkey-front-core.umd.js.map +0 -1
- package/esm2015/lib/components/closed-to-maintenance/closed-to-maintenance.component.js +0 -35
- package/esm2015/lib/components/progress-bar/progress-bar.component.js +0 -29
- package/esm2015/lib/components/progress-bar/progress-bar.service.js +0 -53
- package/esm2015/lib/components/version-changed/version-changed.component.js +0 -29
- package/esm2015/lib/core/decorators/monkeyecx-decorators.js +0 -112
- package/esm2015/lib/core/decorators/monkeyecx-download-decorators.js +0 -25
- package/esm2015/lib/core/decorators/monkeyecx-upload-decorators.js +0 -25
- package/esm2015/lib/core/directives/monkeyecx-drag-drop.js +0 -57
- package/esm2015/lib/core/directives/monkeyecx-feature-directive.js +0 -68
- package/esm2015/lib/core/directives/monkeyecx-format-upper.js +0 -69
- package/esm2015/lib/core/directives/monkeyecx-security-directive.js +0 -69
- package/esm2015/lib/core/directives/monkeyecx-tooltip-directive.js +0 -124
- package/esm2015/lib/core/interceptors/monkeyecx-http-config-error.interceptor.js +0 -40
- package/esm2015/lib/core/interceptors/monkeyecx-http-config-header.interceptor.js +0 -33
- package/esm2015/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.js +0 -44
- package/esm2015/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.js +0 -38
- package/esm2015/lib/core/interfaces/monkeyecx-auth-credentials.js +0 -2
- package/esm2015/lib/core/interfaces/monkeyecx-config-boostrap.js +0 -2
- package/esm2015/lib/core/interfaces/monkeyecx-config.js +0 -2
- package/esm2015/lib/core/interfaces/monkeyecx-me-credentials.js +0 -2
- package/esm2015/lib/core/interfaces/monkeyecx-navigation.js +0 -2
- package/esm2015/lib/core/interfaces/monkeyecx-request-paged.js +0 -2
- package/esm2015/lib/core/interfaces/monkeyecx-service-credentials.js +0 -2
- package/esm2015/lib/core/interfaces/monkeyecx-token-credentials.js +0 -2
- package/esm2015/lib/core/interfaces/schedules/monkeyecx-request-schedule.js +0 -2
- package/esm2015/lib/core/pipes/monkeyecx-format-date-group.js +0 -46
- package/esm2015/lib/core/services/auth/monkeyecx-authentication.service.js +0 -61
- package/esm2015/lib/core/services/commons/monkeyecx-commons.service.js +0 -265
- package/esm2015/lib/core/services/config/monkeyecx-error-config.service.js +0 -85
- package/esm2015/lib/core/services/config/monkeyecx-feature-toggle.service.js +0 -70
- package/esm2015/lib/core/services/config/monkeyecx-i18n-config.service.js +0 -72
- package/esm2015/lib/core/services/config/monkeyecx-logs-config.service.js +0 -34
- package/esm2015/lib/core/services/config/monkeyecx-security-console-config.service.js +0 -42
- package/esm2015/lib/core/services/config/monkeyecx-service-worker-config.service.js +0 -54
- package/esm2015/lib/core/services/error/monkeyecx-error-handling.service.js +0 -41
- package/esm2015/lib/core/services/error/monkeyecx-http-error-handling.service.js +0 -132
- package/esm2015/lib/core/services/monkeyecx-handling.service.js +0 -50
- package/esm2015/lib/core/services/monkeyecx-service.service.js +0 -102
- package/esm2015/lib/core/services/request-download/monkeyecx-request-download-handling.service.js +0 -81
- package/esm2015/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.js +0 -55
- package/esm2015/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.js +0 -37
- package/esm2015/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.js +0 -101
- package/esm2015/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.js +0 -106
- package/esm2015/lib/core/services/routes/monkeyecx-dicovery-params.service.js +0 -55
- package/esm2015/lib/core/services/schedules/monkeyecx-request-schedule.service.js +0 -99
- package/esm2015/lib/core/services/storage/monkeyecx-token-storage.service.js +0 -123
- package/esm2015/lib/core/utils/decorators-utils.js +0 -37
- package/esm2015/lib/core/utils/utils.js +0 -219
- package/esm2015/lib/core/utils/validate-utils.js +0 -210
- package/esm2015/lib/core/utils/validators.js +0 -211
- package/fesm2015/monkey-front-core.js.map +0 -1
- package/monkey-front-core-0.0.99.tgz +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"monkey-front-core.umd.js","sources":["../../../projects/monkey-front-core/src/lib/core/utils/utils.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-date-timelapse.ts","../../../projects/monkey-front-core/src/lib/components/closed-to-maintenance/closed-to-maintenance.component.ts","../../../projects/monkey-front-core/src/lib/components/closed-to-maintenance/closed-to-maintenance.component.html","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-display-first-name.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-address.ts","../../../projects/monkey-front-core/src/lib/core/services/storage/monkeyecx-cookie-storage.service.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-currency.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-document.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-number.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-phone.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-size.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-type-document.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-value.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-zipcode.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-text-truncate.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-truncate-qtd.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-format-date-group.ts","../../../projects/monkey-front-core/src/lib/core/pipes/monkeyecx-pipes.module.ts","../../../projects/monkey-front-core/src/lib/components/closed-to-maintenance/closed-to-maintenance.module.ts","../../../projects/monkey-front-core/src/lib/components/progress-bar/progress-bar.service.ts","../../../projects/monkey-front-core/src/lib/components/progress-bar/progress-bar.component.ts","../../../projects/monkey-front-core/src/lib/components/progress-bar/progress-bar.component.html","../../../projects/monkey-front-core/src/lib/components/progress-bar/progress-bar.module.ts","../../../projects/monkey-front-core/src/lib/components/version-changed/version-changed.component.ts","../../../projects/monkey-front-core/src/lib/components/version-changed/version-changed.component.html","../../../projects/monkey-front-core/src/lib/components/version-changed/version-changed.module.ts","../../../projects/monkey-front-core/src/lib/core/decorators/monkeyecx-charts-decorators.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/monkey-front-core/src/lib/core/utils/validate-utils.ts","../../../projects/monkey-front-core/src/lib/core/utils/statics.ts","../../../projects/monkey-front-core/src/lib/core/utils/decorators-utils.ts","../../../projects/monkey-front-core/src/lib/core/utils/validators.ts","../../../projects/monkey-front-core/src/lib/core/utils/index.ts","../../../projects/monkey-front-core/src/lib/core/decorators/monkeyecx-decorators.ts","../../../projects/monkey-front-core/src/lib/core/decorators/monkeyecx-download-decorators.ts","../../../projects/monkey-front-core/src/lib/core/decorators/monkeyecx-upload-decorators.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-drag-drop.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-format-currency.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-format-upper.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-only-alpha-numeric-directive.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-only-number-directive.ts","../../../projects/monkey-front-core/src/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.ts","../../../projects/monkey-front-core/src/lib/core/services/commons/monkeyecx-commons.service.ts","../../../projects/monkey-front-core/src/lib/core/services/monkeyecx-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/monkeyecx-service.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-error-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-i18n-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-logs-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-service-worker-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-security-console-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-maintenance-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-feature-toggle.service.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-config.service.ts","../../../projects/monkey-front-core/src/lib/core/services/storage/monkeyecx-token-storage.service.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-security-directive.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-tooltip-directive.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-feature-directive.ts","../../../projects/monkey-front-core/src/lib/core/directives/monkeyecx-directives-module.ts","../../../projects/monkey-front-core/src/lib/core/services/auth/monkeyecx-authentication.service.ts","../../../projects/monkey-front-core/src/lib/core/services/auth/monkeyecx-auth-guard-login.service.ts","../../../projects/monkey-front-core/src/lib/core/services/auth/monkeyecx-auth-guard.service.ts","../../../projects/monkey-front-core/src/lib/core/services/error/monkeyecx-http-error-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/error/monkeyecx-others-errors-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/error/monkeyecx-error-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/error/monkeyecx-error-handling.module.ts","../../../projects/monkey-front-core/src/lib/core/interceptors/monkeyecx-http-config-error.interceptor.ts","../../../projects/monkey-front-core/src/lib/core/interceptors/monkeyecx-http-config-header.interceptor.ts","../../../projects/monkey-front-core/src/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.ts","../../../projects/monkey-front-core/src/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.ts","../../../projects/monkey-front-core/src/lib/core/interceptors/monkeyecx-http-config-interceptor.module.ts","../../../projects/monkey-front-core/src/lib/core/model/monkeyecx-model.ts","../../../projects/monkey-front-core/src/lib/core/services/config/monkeyecx-config.module.ts","../../../projects/monkey-front-core/src/lib/core/services/logged/monkeyecx-logged-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/request-download/monkeyecx-request-download-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.ts","../../../projects/monkey-front-core/src/lib/core/services/routes/monkeyecx-dicovery-params.service.ts","../../../projects/monkey-front-core/src/lib/core/services/schedules/monkeyecx-request-schedule.service.ts","../../../projects/monkey-front-core/src/lib/core/specification-search/monkeyecx-specification-search.ts","../../../projects/monkey-front-core/src/lib/monkey-front-core.module.ts","../../../projects/monkey-front-core/src/public-api.ts","../../../projects/monkey-front-core/src/monkey-front-core.ts"],"sourcesContent":["/* eslint-disable comma-dangle */\r\n/* eslint-disable max-len */\r\n/* eslint-disable no-useless-escape */\r\n/* eslint-disable no-plusplus */\r\n/* eslint-disable no-cond-assign */\r\n/* eslint-disable eqeqeq */\r\n/* eslint-disable no-redeclare */\r\n/* eslint-disable vars-on-top */\r\n/* eslint-disable no-var */\r\n/* eslint-disable block-scoped-var */\r\nexport class MonkeyEcxUtils {\r\n static persistNullEmptyUndefined(tp: any): boolean {\r\n return tp !== null && tp !== undefined && tp !== '';\r\n }\r\n\r\n static getDocumentType(doc: string, country?: string) {\r\n if (!doc) return '';\r\n if (country === 'cl') return 'RUT';\r\n return doc.length <= 11 ? 'CPF' : 'CNPJ';\r\n }\r\n\r\n static getDocumentMask(type: string) {\r\n if (type === 'CPF') return '000.000.000-00';\r\n return '00.000.000/0000-00';\r\n }\r\n\r\n static formatDocumentWithMask(doc: string, withType?: boolean, country?: string): string {\r\n if (!doc) return doc;\r\n let formated: string = '';\r\n if (country === 'cl') {\r\n formated = doc.replace(/^(\\d{1,2})(\\d{3})(\\d{3})(\\w{1})$/, '$1.$2.$3-$4');\r\n return `${formated}`;\r\n }\r\n if (doc.length === 14) {\r\n formated = doc\r\n .replace(/^(\\d{2})(\\d)/, '$1.$2')\r\n .replace(/^(\\d{2})\\.(\\d{3})(\\d)/, '$1.$2.$3')\r\n .replace(/\\.(\\d{3})(\\d)/, '.$1/$2')\r\n .replace(/(\\d{4})(\\d)/, '$1-$2');\r\n } else {\r\n formated = doc\r\n .replace(/^(\\d{3})(\\d)/, '$1.$2')\r\n .replace(/^(\\d{3})\\.(\\d{3})(\\d)/, '$1.$2.$3')\r\n .replace(/\\.(\\d{3})(\\d)/, '.$1-$2');\r\n }\r\n\r\n return `${withType ? `${this.getDocumentType(doc)}:` : ''} ${formated}`;\r\n }\r\n\r\n static cutFirstLastName(value: string, tp: string = 'first') {\r\n const split = value?.trim()?.split(' ');\r\n\r\n if (tp === 'first') return split[0];\r\n return split?.splice(1, split.length)?.join(' ');\r\n }\r\n\r\n static isCPFCNPJValid(document: any): boolean {\r\n document = document.replace(/[^\\d]/g, '');\r\n if (document.length === 11) {\r\n let base = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];\r\n for (var i = 0, n = 0; i < 9; n += document[i] * base[i++]);\r\n if (document[9] != ((n %= 11) <= 1 ? 0 : 11 - n)) {\r\n return false;\r\n }\r\n base = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];\r\n for (var i = 0, n = 0; i <= 9; n += document[i] * base[i++]);\r\n if (document[10] != ((n %= 11) <= 1 ? 0 : 11 - n)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n if (document.length === 14 || /0{14}/.test(document)) {\r\n const base = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\r\n for (var i = 0, n = 0; i < 12; n += document[i] * base[++i]);\r\n if (document[12] != ((n %= 11) < 2 ? 0 : 11 - n)) {\r\n return false;\r\n }\r\n\r\n for (var i = 0, n = 0; i <= 12; n += document[i] * base[i++]);\r\n if (document[13] != ((n %= 11) < 2 ? 0 : 11 - n)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public static isValidRUT(document: string): boolean {\r\n if (!document || document.trim().length < 3) return false;\r\n const documentHandled = document.replace(/[^0-9kK]/g, '');\r\n\r\n if (documentHandled.length < 3) return false;\r\n\r\n const calcDv = (rut: string) => {\r\n const value: string = `${rut}`;\r\n let sum = 0;\r\n let mult = 2;\r\n\r\n for (let i = 1; i <= value.length; i++) {\r\n const index = mult * Number(value.charAt(value.length - i));\r\n\r\n sum += index;\r\n\r\n if (mult < 7) {\r\n mult += 1;\r\n } else {\r\n mult = 2;\r\n }\r\n }\r\n\r\n const dvEsperado = 11 - (sum % 11);\r\n if (dvEsperado === 10) return 'K';\r\n if (dvEsperado === 11) return '0';\r\n return `${dvEsperado}`;\r\n };\r\n\r\n const num = documentHandled.slice(0, -1);\r\n const dgv = documentHandled.slice(-1).toUpperCase();\r\n\r\n const dvCalc = calcDv(num);\r\n return dvCalc === dgv;\r\n }\r\n\r\n static isValidUrl(txt: string): boolean {\r\n const regex = new RegExp(\r\n /^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)+[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,10}(:[0-9]{1,5})?(\\/.*)?$/gm\r\n );\r\n return regex.test(txt);\r\n }\r\n\r\n static isValidZipCode(zipCode: string): boolean {\r\n return `${this.handleOnlyNumbers(zipCode)}`.length === 8;\r\n }\r\n\r\n static getRandomString(len: number, charSet?: string): string {\r\n charSet = charSet || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n\r\n const randomString: string = new Array(len)\r\n .fill('1')\r\n .map(() => {\r\n return charSet?.charAt(Math.floor(Math.random() * charSet?.length));\r\n })\r\n .join('');\r\n return randomString;\r\n }\r\n\r\n static handleOnlyNumbers(value: any) {\r\n if (!value) return null;\r\n return value.replace(new RegExp(/[^0-9]/g), '');\r\n }\r\n\r\n static handleOnlyAlphaNumeric(value: any) {\r\n if (!value) return '';\r\n return value.replace(new RegExp(/[^0-9A-Za-z]/, 'g'), '');\r\n }\r\n\r\n static capitalize(value: string) {\r\n return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;\r\n }\r\n\r\n static formatZipCode(zipCode: string): string {\r\n if (!zipCode) return zipCode;\r\n const formated: string = zipCode\r\n .replace(/^(\\d{5})(\\d)/, '$1-$2')\r\n .replace(/\\.(\\d{3})(\\d)/, '.$1-$2');\r\n\r\n return `${formated}`;\r\n }\r\n\r\n static formatFileSize(size: number): string {\r\n const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n let l = 0;\r\n while (size >= 1024 && ++l) {\r\n size /= 1024;\r\n }\r\n return `${size.toFixed(size < 10 && l > 0 ? 1 : 0)} ${units[l]}`;\r\n }\r\n\r\n static sufflue(data: any[]): any[] {\r\n for (let i = data.length - 1; i > 0; i--) {\r\n const j = Math.floor(Math.random() * i);\r\n const temp = data[i];\r\n data[i] = data[j];\r\n data[j] = temp;\r\n }\r\n return data;\r\n }\r\n\r\n static handleBlobFile(theBlob: any, fileName: string, fileType: string) {\r\n function blobToFile(theBlob: any, fileName: string) {\r\n const b = theBlob;\r\n b.lastModifiedDate = new Date();\r\n b.name = fileName;\r\n return b;\r\n }\r\n\r\n let file: any;\r\n if (!(navigator as any).msSaveBlob) {\r\n file = new File([theBlob], fileName, {\r\n type: fileType,\r\n });\r\n } else {\r\n file = new Blob([theBlob], {\r\n type: fileType,\r\n });\r\n file = blobToFile(file, fileName);\r\n }\r\n return file;\r\n }\r\n\r\n static truncate(text: string, maxLength: number = 25): string {\r\n const midChar = '...';\r\n if (!text) return midChar;\r\n if (text && text.length <= maxLength) return text;\r\n\r\n const left = Math.ceil(maxLength / 2);\r\n const right = text.length - left + 1;\r\n\r\n return `${text.substr(0, left)} ${midChar} ${text.substring(right)}`;\r\n }\r\n\r\n static isLocalhost() {\r\n const { href } = window?.location;\r\n if (!href) return false;\r\n return href?.search('localhost') >= 0;\r\n }\r\n\r\n static isSameOrigin(frontend: string): boolean {\r\n const initialPath: string = window.location.origin;\r\n return (initialPath || '') === frontend;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport * as moment_ from 'moment';\r\nimport { MonkeyEcxUtils } from '../utils/utils';\r\n\r\nconst moment: any = moment_;\r\n\r\n@Pipe({\r\n name: 'monkeyecxFormatDateTimelapse',\r\n})\r\nexport class MonkeyEcxFormatDateTimelapsePipe implements PipeTransform {\r\n transform(date: any | Date, showTime = false, useUtc = true, format = '- HH:mm'): string {\r\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(date)) return '';\r\n let stillUtc: any = moment.default.utc(date).toDate();\r\n if (!useUtc) stillUtc = moment.default(date).toDate();\r\n if (date.toString().indexOf(':') <= -1) {\r\n if (typeof date === 'string') {\r\n stillUtc = date;\r\n showTime = false;\r\n }\r\n }\r\n const formatFrom = `YYYY/MM/DD${showTime ? ` ${format}` : ''}`;\r\n const formatTo = `DD/MM/YYYY${showTime ? ` ${format}` : ''}`;\r\n return `${moment.default(stillUtc, formatFrom).format(formatTo)}`;\r\n }\r\n}\r\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { MonkeyModalConfig } from 'monkey-style-guide';\r\nimport { MonkeyEcxConfigBoostrap } from '../../core/interfaces';\r\n\r\n@Component({\r\n selector: 'monkeyecx-closed-to-maintenance',\r\n templateUrl: './closed-to-maintenance.component.html',\r\n styleUrls: ['./closed-to-maintenance.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ClosedToMaintenanceComponent implements OnInit {\r\n @Input() config: MonkeyModalConfig | null = null;\r\n\r\n @Input() modalRef: any;\r\n\r\n _configBoostrap: MonkeyEcxConfigBoostrap | null = null;\r\n\r\n ngOnInit() {\r\n this._configBoostrap = this.config?.data;\r\n }\r\n\r\n onClose() {\r\n document.location.reload();\r\n }\r\n}\r\n","<monkey-modal [config]=\"config\" [modalRef]=\"modalRef\" *ngIf=\"config\">\r\n <div class=\"d-flex flex-column justify-content-center align-items-center\">\r\n <span class=\"h2\">\r\n {{ 'SCREENS.CLOSED-TO-MAINTENANCE.TITLE' | translate }}\r\n </span>\r\n <span class=\"information-title mt-4\">\r\n {{ 'SCREENS.CLOSED-TO-MAINTENANCE.INFORMATION-1' | translate }}\r\n </span>\r\n <span class=\"information-title mt-4\">\r\n {{ 'SCREENS.CLOSED-TO-MAINTENANCE.INFORMATION-2' | translate }}\r\n </span>\r\n <span class=\"information mt-3\">\r\n {{ 'SCREENS.CLOSED-TO-MAINTENANCE.INFORMATION-3' | translate }}\r\n {{ _configBoostrap?.maintenance?.endDate | monkeyecxFormatDateTimelapse: true }}\r\n </span>\r\n <span class=\"information-title mt-4\">\r\n {{ 'SCREENS.CLOSED-TO-MAINTENANCE.INFORMATION-4' | translate }}\r\n </span>\r\n </div>\r\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-5\">\r\n <monkey-button type=\"primary\" color=\"theme\" (click)=\"onClose()\">\r\n {{ 'SCREENS.CLOSED-TO-MAINTENANCE.BUTTONS.UPDATE-MAINTENANCE' | translate }}\r\n </monkey-button>\r\n </div>\r\n</monkey-modal>","import { Pipe, PipeTransform } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxDisplayFirstName'\n})\nexport class MonkeyEcxDisplayFirstNamePipe implements PipeTransform {\n transform(name: string): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(name)) return '';\n return MonkeyEcxUtils.cutFirstLastName(name);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'monkeyecxFormatAddress',\r\n})\r\nexport class MonkeyEcxFormatAddressPipe implements PipeTransform {\r\n transform({\r\n zipCode,\r\n address,\r\n neighborhood,\r\n city,\r\n state,\r\n }: {\r\n zipCode: string;\r\n address: string;\r\n neighborhood: string;\r\n city: string;\r\n state: string;\r\n country: string;\r\n }): string {\r\n return [address, neighborhood, zipCode, city, state]\r\n .filter((_: string) => {\r\n return _;\r\n })\r\n .join(', ');\r\n }\r\n}\r\n","/* eslint-disable object-curly-newline */\r\nimport { Injectable } from '@angular/core';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MonkeyEcxCookieStorageService {\r\n constructor(private cookieService: CookieService) {\r\n // not to do\r\n }\r\n\r\n public setCookie(name: string, value: any) {\r\n this.removeCookie(name);\r\n this.cookieService.set(name, value, undefined, '/', '', true, 'None');\r\n }\r\n\r\n public getCookie(name: string) {\r\n return this.cookieService.get(name);\r\n }\r\n\r\n public removeCookie(name: string) {\r\n this.cookieService.delete(name, '/');\r\n }\r\n}\r\n","import { Pipe, PipeTransform, Injector } from '@angular/core';\nimport { CurrencyPipe } from '@angular/common';\nimport { MonkeyEcxCookieStorageService } from '../services/storage/monkeyecx-cookie-storage.service';\n\n@Pipe({\n name: 'monkeyecxFormatCurrency'\n})\nexport class MonkeyEcxFormatCurrencyPipe implements PipeTransform {\n constructor(private injector: Injector, private currencyPipe: CurrencyPipe) {\n // not to do\n }\n\n transform(value: any) {\n const cookieStorageService = this.injector.get(MonkeyEcxCookieStorageService);\n const cookie = cookieStorageService.getCookie('monkey-app-locale');\n const i18n = JSON.parse(atob(cookie));\n const { currency } = i18n;\n return this.currencyPipe.transform(value, currency, 'symbol');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxFormatDocument'\n})\nexport class MonkeyEcxFormatDocumentPipe implements PipeTransform {\n transform(document: string, withType?: false): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(document)) return '';\n return MonkeyEcxUtils.formatDocumentWithMask(document, withType);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { formatNumber } from '@angular/common';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxFormatNumber'\n})\nexport class MonkeyEcxFormatNumberPipe implements PipeTransform {\n transform(number: string): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(number)) return '';\n\n return formatNumber(Number(number), 'ptbr');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'monkeyecxFormatPhone'\n})\nexport class MonkeyEcxFormatPhonePipe implements PipeTransform {\n transform(phone: string): string {\n if (phone) {\n const value = `${phone || ''}`.replace(/\\D/g, '');\n\n let formated = '';\n\n if (value.length > 12) {\n formated = value.replace(/(\\d{2})?(\\d{2})?(\\d{5})?(\\d{4})/, '+$1 ($2) $3-$4');\n } else if (value.length > 11) {\n formated = value.replace(/(\\d{2})?(\\d{2})?(\\d{4})?(\\d{4})/, '+$1 ($2) $3-$4');\n } else if (value.length > 10) {\n formated = value.replace(/(\\d{2})?(\\d{5})?(\\d{4})/, '($1) $2-$3');\n } else if (value.length > 9) {\n formated = value.replace(/(\\d{2})?(\\d{4})?(\\d{4})/, '($1) $2-$3');\n } else if (value.length > 5) {\n formated = value.replace(/^(\\d{2})?(\\d{4})?(\\d{0,4})/, '($1) $2-$3');\n } else if (value.length > 1) {\n formated = value.replace(/^(\\d{2})?(\\d{0,5})/, '($1) $2');\n } else if (phone !== '') {\n formated = value.replace(/^(\\d*)/, '($1');\n }\n return formated;\n }\n return '';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxFormatSize'\n})\nexport class MonkeyEcxFormatSizePipe implements PipeTransform {\n transform(size: string): string {\n if (!size) return '0 B';\n const sizeNum = Number(size);\n return MonkeyEcxUtils.formatFileSize(sizeNum);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxFormatDocumentType'\n})\nexport class MonkeyEcxFormatDocumentTypePipe implements PipeTransform {\n transform(document: string): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(document)) return '';\n return MonkeyEcxUtils.getDocumentType(document);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxFormatValue'\n})\nexport class MonkeyEcxFormatValue implements PipeTransform {\n transform(number: string): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(number)) return '';\n return number;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Pipe({\n name: 'monkeyecxFormatZipCode'\n})\nexport class MonkeyEcxFormatZipCodePipe implements PipeTransform {\n transform(zipCode: string): string {\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(zipCode)) return '';\n return MonkeyEcxUtils.formatZipCode(zipCode);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'monkeyecxTextTruncate'\n})\nexport class MonkeyEcxTextTruncatePipe implements PipeTransform {\n transform(text: string, maxLength: number = 25): string {\n const midChar = '...';\n if (!text) return midChar;\n if (text && text.length <= maxLength) return text;\n\n const left = Math.ceil(maxLength / 2);\n const right = text.length - left + 1;\n\n return `${text.substr(0, left)} ${midChar} ${text.substring(right)}`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'monkeyecxTruncateQtd'\n})\nexport class MonkeyEcxTruncateQtdPipe implements PipeTransform {\n transform(number: number, threshold: number): string {\n return `${number > threshold ? `${threshold}+` : number}`;\n }\n}\n","import { Injector, Pipe, PipeTransform } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport * as moment_ from 'moment';\r\nimport { MonkeyEcxUtils } from '../utils/utils';\r\n\r\nconst moment: any = moment_;\r\n\r\n@Pipe({\r\n name: 'monkeyecxFormatDateGroup',\r\n})\r\nexport class MonkeyEcxFormatDateGroupPipe implements PipeTransform {\r\n private lang = 'pt-BR';\r\n\r\n constructor(private injector: Injector) {\r\n const translateService = this.injector.get(TranslateService);\r\n this.lang = translateService.getDefaultLang();\r\n }\r\n\r\n private format(date: string | Date) {\r\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(date)) return '';\r\n let stillUtc: any = moment.default.utc(date).toDate();\r\n if (date.toString()?.indexOf(':') <= -1) {\r\n stillUtc = date;\r\n }\r\n const formatFrom = 'YYYY/MM/DD';\r\n const fmt = moment.default(stillUtc, formatFrom).locale(this.lang);\r\n const dayFormated = fmt.format('DD/');\r\n const monthFormated = MonkeyEcxUtils.capitalize(fmt.format('MMMM'));\r\n const yearFormated = fmt.format('YYYY');\r\n return `${`${dayFormated}${monthFormated}`.substring(0, 6)}, ${yearFormated}`;\r\n }\r\n\r\n transform(obj: any): string {\r\n if (!obj || !obj?.start || !obj?.end) return '';\r\n const { start, end } = obj;\r\n const formatedStart = this.format(start);\r\n const formatedEnd = this.format(end);\r\n return `${formatedStart} - ${formatedEnd}`;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CurrencyPipe } from '@angular/common';\r\nimport { MonkeyEcxDisplayFirstNamePipe } from './monkeyecx-display-first-name';\r\nimport { MonkeyEcxFormatAddressPipe } from './monkeyecx-format-address';\r\nimport { MonkeyEcxFormatCurrencyPipe } from './monkeyecx-format-currency';\r\nimport { MonkeyEcxFormatDateTimelapsePipe } from './monkeyecx-format-date-timelapse';\r\nimport { MonkeyEcxFormatDocumentPipe } from './monkeyecx-format-document';\r\nimport { MonkeyEcxFormatNumberPipe } from './monkeyecx-format-number';\r\nimport { MonkeyEcxFormatPhonePipe } from './monkeyecx-format-phone';\r\nimport { MonkeyEcxFormatSizePipe } from './monkeyecx-format-size';\r\nimport { MonkeyEcxFormatDocumentTypePipe } from './monkeyecx-format-type-document';\r\nimport { MonkeyEcxFormatValue } from './monkeyecx-format-value';\r\nimport { MonkeyEcxFormatZipCodePipe } from './monkeyecx-format-zipcode';\r\nimport { MonkeyEcxTextTruncatePipe } from './monkeyecx-text-truncate';\r\nimport { MonkeyEcxTruncateQtdPipe } from './monkeyecx-truncate-qtd';\r\nimport { MonkeyEcxFormatDateGroupPipe } from './monkeyecx-format-date-group';\r\n\r\n@NgModule({\r\n declarations: [\r\n MonkeyEcxDisplayFirstNamePipe,\r\n MonkeyEcxFormatAddressPipe,\r\n MonkeyEcxFormatCurrencyPipe,\r\n MonkeyEcxFormatDateTimelapsePipe,\r\n MonkeyEcxFormatDateGroupPipe,\r\n MonkeyEcxFormatDocumentPipe,\r\n MonkeyEcxFormatNumberPipe,\r\n MonkeyEcxFormatPhonePipe,\r\n MonkeyEcxFormatSizePipe,\r\n MonkeyEcxFormatDocumentTypePipe,\r\n MonkeyEcxFormatValue,\r\n MonkeyEcxFormatZipCodePipe,\r\n MonkeyEcxTextTruncatePipe,\r\n MonkeyEcxTruncateQtdPipe,\r\n ],\r\n exports: [\r\n MonkeyEcxDisplayFirstNamePipe,\r\n MonkeyEcxFormatAddressPipe,\r\n MonkeyEcxFormatCurrencyPipe,\r\n MonkeyEcxFormatDateTimelapsePipe,\r\n MonkeyEcxFormatDateGroupPipe,\r\n MonkeyEcxFormatDocumentPipe,\r\n MonkeyEcxFormatNumberPipe,\r\n MonkeyEcxFormatPhonePipe,\r\n MonkeyEcxFormatSizePipe,\r\n MonkeyEcxFormatDocumentTypePipe,\r\n MonkeyEcxFormatValue,\r\n MonkeyEcxFormatZipCodePipe,\r\n MonkeyEcxTextTruncatePipe,\r\n MonkeyEcxTruncateQtdPipe,\r\n ],\r\n providers: [CurrencyPipe],\r\n})\r\nexport class MonkeyEcxPipesModule {}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport {\r\n MonkeyButtonModule,\r\n MonkeyIconModule,\r\n MonkeyInputModule,\r\n MonkeyModalModule\r\n} from 'monkey-style-guide';\r\nimport { MonkeyEcxPipesModule } from '../../core/pipes/monkeyecx-pipes.module';\r\nimport { ClosedToMaintenanceComponent } from './closed-to-maintenance.component';\r\n\r\n@NgModule({\r\n declarations: [ClosedToMaintenanceComponent],\r\n imports: [\r\n CommonModule,\r\n MonkeyButtonModule,\r\n MonkeyIconModule,\r\n MonkeyInputModule,\r\n MonkeyModalModule,\r\n MonkeyEcxPipesModule,\r\n TranslateModule.forChild()\r\n ],\r\n exports: [ClosedToMaintenanceComponent]\r\n})\r\nexport class ClosedToMaintenanceModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationError,\r\n NavigationStart,\r\n Router\r\n} from '@angular/router';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MonkeyEcxProgressBarService {\r\n private visible: BehaviorSubject<any> | null = null;\r\n\r\n constructor(private router: Router) {\r\n this.init();\r\n }\r\n\r\n private init() {\r\n this.visible = new BehaviorSubject(false);\r\n\r\n this.router.events\r\n .pipe(\r\n filter((event: any) => {\r\n return event instanceof NavigationStart;\r\n })\r\n )\r\n .subscribe(() => {\r\n this.show();\r\n });\r\n\r\n this.router.events\r\n .pipe(\r\n filter((event: any) => {\r\n return (\r\n event instanceof NavigationEnd ||\r\n event instanceof NavigationError ||\r\n event instanceof NavigationCancel\r\n );\r\n })\r\n )\r\n .subscribe(() => {\r\n this.hide();\r\n });\r\n }\r\n\r\n show() {\r\n this.visible?.next(true);\r\n }\r\n\r\n hide() {\r\n this.visible?.next(false);\r\n }\r\n\r\n visibleConfig(): Observable<any> | null {\r\n return this.visible?.asObservable() || null;\r\n }\r\n}\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { MonkeyEcxProgressBarService } from './progress-bar.service';\r\n\r\n@Component({\r\n selector: 'monkeyecx-progress-bar',\r\n templateUrl: './progress-bar.component.html',\r\n styleUrls: ['./progress-bar.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class MonkeyEcxProgressBarComponent implements OnInit {\r\n visible: boolean = false;\r\n\r\n constructor(private progressBarService: MonkeyEcxProgressBarService) {\r\n //not to do\r\n }\r\n\r\n ngOnInit() {\r\n this.progressBarService?.visibleConfig()?.subscribe((visible: boolean) => {\r\n this.visible = visible;\r\n });\r\n }\r\n}\r\n","<ng-container *ngIf=\"visible\">\r\n <progress class=\"monkey-progress monkey-progress__theme\"></progress>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MonkeyEcxProgressBarComponent } from './progress-bar.component';\r\n\r\n@NgModule({\r\n declarations: [MonkeyEcxProgressBarComponent],\r\n imports: [CommonModule],\r\n exports: [MonkeyEcxProgressBarComponent]\r\n})\r\nexport class MonkeyEcxProgressBarModule {}\r\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { MonkeyModalConfig } from 'monkey-style-guide';\r\n\r\n@Component({\r\n selector: 'monkeyecx-version-changed',\r\n templateUrl: './version-changed.component.html',\r\n styleUrls: ['./version-changed.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class VersionChangedComponent {\r\n @Input() config: MonkeyModalConfig | null = null;\r\n\r\n @Input() modalRef: any;\r\n\r\n onClose() {\r\n document.location.reload();\r\n }\r\n}\r\n","<monkey-modal [config]=\"config\" [modalRef]=\"modalRef\" *ngIf=\"config\">\r\n <div class=\"d-flex flex-column justify-content-center align-items-center\">\r\n <span class=\"h2\">\r\n {{ 'SCREENS.VERSION-CHANGED.TITLE' | translate }}\r\n </span>\r\n <span class=\"information-title mt-4\">\r\n {{ 'SCREENS.VERSION-CHANGED.INFORMATION-1' | translate }}\r\n </span>\r\n <span class=\"information mt-3\">\r\n {{ 'SCREENS.VERSION-CHANGED.INFORMATION-2' | translate }}\r\n </span>\r\n </div>\r\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-5\">\r\n <monkey-button type=\"primary\" color=\"theme\" (click)=\"onClose()\">\r\n {{ 'SCREENS.VERSION-CHANGED.BUTTONS.UPDATE-VERSION' | translate }}\r\n </monkey-button>\r\n </div>\r\n</monkey-modal>","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport {\r\n MonkeyButtonModule,\r\n MonkeyIconModule,\r\n MonkeyInputModule,\r\n MonkeyModalModule\r\n} from 'monkey-style-guide';\r\nimport { VersionChangedComponent } from './version-changed.component';\r\n\r\n@NgModule({\r\n declarations: [VersionChangedComponent],\r\n imports: [\r\n CommonModule,\r\n MonkeyButtonModule,\r\n MonkeyIconModule,\r\n MonkeyInputModule,\r\n MonkeyModalModule,\r\n TranslateModule.forChild()\r\n ],\r\n exports: [VersionChangedComponent]\r\n})\r\nexport class VersionChangedModule {}\r\n","/* eslint-disable space-before-function-paren */\n/* eslint-disable func-names */\nexport function MonkeyEcxCoreCharts(render = true) {\n return (\n target: Object,\n propertyName: string,\n propertyDescriptor: PropertyDescriptor\n ): PropertyDescriptor => {\n const method = propertyDescriptor.value;\n\n propertyDescriptor.value = function(...args: any[]) {\n const context = this;\n if (render) {\n const scriptsLoaded = Array.from(document.scripts);\n scriptsLoaded.forEach((script: any) => {\n const { src } = script;\n if (src.search('www.gstatic.com/charts') > 0) {\n document.getElementsByTagName('head')[0].removeChild(script);\n }\n });\n\n const node = document.createElement('script');\n node.src = 'https://www.gstatic.com/charts/loader.js';\n node.type = 'text/javascript';\n node.async = true;\n node.id = 'monkeyecx-charts-settings';\n node.onload = () => {\n method.apply(context, args);\n };\n document.getElementsByTagName('head')[0].appendChild(node);\n } else {\n const scriptsLoaded = Array.from(document.scripts);\n scriptsLoaded.forEach((script: any) => {\n const { src } = script;\n if (src.search('www.gstatic.com/charts') > 0) {\n document.getElementsByTagName('head')[0].removeChild(script);\n }\n });\n\n method.apply(context, args);\n }\n };\n\n return propertyDescriptor;\n };\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/* eslint-disable max-classes-per-file */\r\nimport * as moment_ from 'moment';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { MonkeyEcxUtils } from './utils';\r\n\r\nconst moment: any = moment_;\r\n\r\nexport class DateValidator {\r\n static do(control: AbstractControl) {\r\n if (!control.parent || !control) return null;\r\n if (control && control.value) {\r\n const dateFormat = 'MM-DD-YYYY';\r\n if (\r\n !moment\r\n .default(\r\n moment.default(control.value).format(dateFormat),\r\n ['DD/MM/YYYY', 'MM-DD-YYYY', 'YYYY-MM-DD'],\r\n true\r\n )\r\n .isValid()\r\n ) {\r\n return {\r\n invalidDate: true,\r\n };\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport class DocumentValidator {\r\n static do(control: AbstractControl) {\r\n if (!control.parent || !control) return null;\r\n if (control && control.value) {\r\n if (!MonkeyEcxUtils.isCPFCNPJValid(control.value)) {\r\n return {\r\n invalidCpfCnpj: true,\r\n };\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport class DocumentRutValidator {\r\n static do(control: AbstractControl) {\r\n if (!control.parent || !control) return null;\r\n if (control && control.value) {\r\n if (!MonkeyEcxUtils.isValidRUT(control.value)) {\r\n return {\r\n invalidRut: true,\r\n };\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport class ZipCodeValidator {\r\n static do(control: AbstractControl) {\r\n if (!control.parent || !control) return null;\r\n if (control && control.value) {\r\n if (!MonkeyEcxUtils.isValidZipCode(control.value)) {\r\n return {\r\n invalidZipCode: true,\r\n };\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport class ComboValidator {\r\n static do(control: AbstractControl) {\r\n if (!control.parent || !control) return null;\r\n if (control && control.value !== '0') return null;\r\n return {\r\n invalidCombo: true,\r\n };\r\n }\r\n}\r\n\r\nexport class isTrueValidator {\r\n static do(control: AbstractControl) {\r\n if (!control.parent || !control) return null;\r\n if (control && control.value !== false) return null;\r\n return {\r\n invalidTrue: true,\r\n };\r\n }\r\n}\r\n\r\nexport class PasswordMatchValidation {\r\n static do(control: AbstractControl) {\r\n if (!control.parent || !control) return null;\r\n const { parent } = control;\r\n const password = parent?.get('password')?.value;\r\n const passwordConfirm = parent?.get('passwordConfirm')?.value;\r\n if (!password || !passwordConfirm) return null;\r\n if (password === passwordConfirm) return null;\r\n return {\r\n passwordsNotMatching: true,\r\n };\r\n }\r\n}\r\n\r\nexport class UrlValidator {\r\n static do(control: AbstractControl) {\r\n if (!control.parent || !control) return null;\r\n if (control && control.value) {\r\n if (!MonkeyEcxUtils.isValidUrl(control.value)) {\r\n return {\r\n invalidUrl: true,\r\n };\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport class CustomDatesStartValidator {\r\n static do(control: AbstractControl) {\r\n if (!control.parent || !control) return null;\r\n const { parent } = control;\r\n\r\n const valueStart = parent?.get('dateStart')?.value;\r\n const valueEnd = parent?.get('dateEnd')?.value;\r\n let dateStart: Date | null = null;\r\n let dateEnd: Date | null = null;\r\n if (valueStart) {\r\n dateStart = new Date(valueStart);\r\n }\r\n if (valueEnd) {\r\n dateEnd = new Date(valueEnd);\r\n }\r\n\r\n if (!dateStart || !dateEnd) return null;\r\n if (dateStart > dateEnd) {\r\n return {\r\n dateStartMustBeLessThanAnd: true,\r\n };\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport class CustomDatesEndValidator {\r\n static do(control: AbstractControl) {\r\n if (!control.parent || !control) return null;\r\n const { parent } = control;\r\n\r\n const valueStart = parent?.get('dateStart')?.value;\r\n const valueEnd = parent?.get('dateEnd')?.value;\r\n let dateStart: Date | null = null;\r\n let dateEnd: Date | null = null;\r\n if (valueStart) {\r\n dateStart = new Date(valueStart);\r\n }\r\n if (valueEnd) {\r\n dateEnd = new Date(valueEnd);\r\n }\r\n\r\n if (!dateEnd || !dateStart) return null;\r\n if (dateEnd < dateStart) {\r\n return {\r\n dateEndMustBeGreaterThanStart: true,\r\n };\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport class UnlockRegisterBuyerValidator {\r\n static do(control: AbstractControl) {\r\n if (!control.parent || !control) return null;\r\n\r\n if (control && control.value !== '#MONKEYBUYER') {\r\n return {\r\n invalidUnlockRegister: true,\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n\r\nexport class UnlockRegisterSponsorValidator {\r\n static do(control: AbstractControl) {\r\n if (!control.parent || !control) return null;\r\n\r\n if (control && control.value !== '#MONKEYSPONSOR') {\r\n return {\r\n invalidUnlockRegister: true,\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n\r\nexport class DateRangeValidator {\r\n static do(control: AbstractControl) {\r\n if (!control.parent || !control) {\r\n return null;\r\n }\r\n\r\n const dates = control?.parent?.get('dates')?.value;\r\n\r\n if (\r\n dates &&\r\n (!MonkeyEcxUtils.persistNullEmptyUndefined(dates.startDate) ||\r\n !MonkeyEcxUtils.persistNullEmptyUndefined(dates.endDate))\r\n ) {\r\n return {\r\n invalidDateRange: true,\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","/* eslint-disable no-unused-vars */\r\n/* eslint-disable no-shadow */\r\nexport enum MonkeyEcxQueueEvents {\r\n OnGoing,\r\n Finished,\r\n FinishedWithError\r\n}\r\n\r\nexport enum MonkeyEcxDownloadEvents {\r\n OnGoing,\r\n Finished,\r\n FinishedWithError\r\n}\r\n\r\nexport enum MonkeyEcxUploadEvents {\r\n OnGoing,\r\n Finished,\r\n FinishedWithError\r\n}\r\n\r\n// TODO pegar do json de config\r\nexport enum ApiEndPointsTokenNotMandatory {\r\n Assets = 'assets/',\r\n MonkeyEcx = '/monkeyecx',\r\n ViaCep = 'viacep.com.br/'\r\n}\r\n\r\n// TODO pegar do json de config\r\nexport enum ApiEndPointsHeaderNotMandatory {\r\n Assets = '/assets',\r\n PayablesUpload = 'payables-upload',\r\n PictureUser = '/user-pictures',\r\n Documents = 'documents/',\r\n BuyerTaxFile = '/buyer-tax-file',\r\n ViaCep = 'viacep.com.br/'\r\n}\r\n","import {\r\n MonkeyEcxRequestDownload,\r\n MonkeyEcxRequestItemQueue,\r\n MonkeyEcxRequestQueue,\r\n MonkeyEcxRequestUpload\r\n} from '../interfaces';\r\nimport * as Statics from './statics';\r\nimport { MonkeyEcxUtils } from './utils';\r\n\r\nexport function buildQueuePropertys(queue: MonkeyEcxRequestItemQueue): MonkeyEcxRequestQueue {\r\n const params: MonkeyEcxRequestQueue = {\r\n item: {\r\n ...queue,\r\n id: MonkeyEcxUtils.getRandomString(40)\r\n },\r\n status: Statics.MonkeyEcxQueueEvents.OnGoing\r\n };\r\n\r\n return params;\r\n}\r\n\r\nexport function buildDownloadPropertys(\r\n name: string,\r\n description?: string,\r\n size?: number\r\n): MonkeyEcxRequestDownload {\r\n const params: MonkeyEcxRequestDownload = {\r\n item: {\r\n name,\r\n description,\r\n id: `${MonkeyEcxUtils.getRandomString(40)}`,\r\n size,\r\n createdAt: new Date()\r\n },\r\n status: Statics.MonkeyEcxQueueEvents.OnGoing\r\n };\r\n\r\n return params;\r\n}\r\n\r\nexport function buildUploadPropertys(name: string, description?: string): MonkeyEcxRequestUpload {\r\n const params: MonkeyEcxRequestUpload = {\r\n item: {\r\n name,\r\n description,\r\n id: `${MonkeyEcxUtils.getRandomString(40)}`\r\n },\r\n status: Statics.MonkeyEcxUploadEvents.OnGoing\r\n };\r\n\r\n return params;\r\n}\r\n\r\nexport function hasMonkeyEcxServiceAndHandlingProperties(context: any): boolean {\r\n return Object.prototype.hasOwnProperty.call(context, 'monkeyecxService');\r\n}\r\n","import { AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport * as moment_ from 'moment';\r\nimport { MonkeyEcxUtils } from './utils';\r\n\r\nconst moment: any = moment_;\r\n\r\nconst EMAIL_REGEXP = /^[\\w-.]+@([\\w-]+\\.)+[\\w-]{1,64}$/;\r\n\r\nfunction isEmptyInputValue(value: any): boolean {\r\n return value == null || value.length === 0;\r\n}\r\n\r\nexport function emailValidator(control: AbstractControl): ValidationErrors | null {\r\n if (!control.parent || !control || isEmptyInputValue(control.value)) {\r\n return null;\r\n }\r\n const test = EMAIL_REGEXP.test(control.value);\r\n if (test) return null;\r\n return {\r\n email: true,\r\n };\r\n}\r\n\r\nexport function dateRangeValidator(control: AbstractControl): ValidationErrors | null {\r\n if (!control.parent || !control || isEmptyInputValue(control.value)) {\r\n return null;\r\n }\r\n\r\n const dates = control?.parent?.get('dates')?.value;\r\n if (\r\n dates &&\r\n (!MonkeyEcxUtils.persistNullEmptyUndefined(dates?.startDate) ||\r\n !MonkeyEcxUtils.persistNullEmptyUndefined(dates?.endDate))\r\n ) {\r\n return {\r\n dateRange: true,\r\n };\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexport function registerValidator(control: AbstractControl, type: string): ValidationErrors | null {\r\n if (!control.parent || !control || isEmptyInputValue(control.value)) {\r\n return null;\r\n }\r\n\r\n if (control && control.value !== `#MONKEY${type}`.toUpperCase()) {\r\n return {\r\n invalidUnlockRegister: true,\r\n };\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexport function dateStartEndValidator(control: AbstractControl): ValidationErrors | null {\r\n if (!control.parent || !control) {\r\n return null;\r\n }\r\n\r\n const { parent } = control;\r\n\r\n const valueStart = parent?.get('dateStart')?.value;\r\n const valueEnd = parent?.get('dateEnd')?.value;\r\n let dateStart: Date | null = null;\r\n let dateEnd: Date | null = null;\r\n if (valueStart) {\r\n dateStart = new Date(valueStart);\r\n }\r\n if (valueEnd) {\r\n dateEnd = new Date(valueEnd);\r\n }\r\n\r\n if (!dateEnd || !dateStart) return null;\r\n if (dateStart > dateEnd) {\r\n return {\r\n dateStartMustBeLessThanAnd: true,\r\n };\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexport function urlValidator(control: AbstractControl): ValidationErrors | null {\r\n if (!control.parent || !control || isEmptyInputValue(control.value)) return null;\r\n\r\n if (!MonkeyEcxUtils.isValidUrl(control.value)) {\r\n return {\r\n url: true,\r\n };\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexport function passwordConfirmValidator(control: AbstractControl): ValidationErrors | null {\r\n if (!control.parent || !control || isEmptyInputValue(control.value)) return null;\r\n\r\n const { parent } = control;\r\n const password = parent?.get('password')?.value;\r\n const passwordConfirm = parent?.get('passwordConfirm')?.value;\r\n if (!password || !passwordConfirm) return null;\r\n if (password === passwordConfirm) return null;\r\n\r\n return {\r\n passwordsNotMatching: true,\r\n };\r\n}\r\n\r\nexport function trueValidator(control: AbstractControl): ValidationErrors | null {\r\n if (!control.parent || !control) return null;\r\n if (control && control.value !== false) return null;\r\n\r\n return {\r\n invalidTrue: true,\r\n };\r\n}\r\n\r\nexport function comboValidator(control: AbstractControl): ValidationErrors | null {\r\n if (!control.parent || !control) return null;\r\n if (control && control.value !== '0') return null;\r\n\r\n return {\r\n invalidCombo: true,\r\n };\r\n}\r\n\r\nexport function zipCodeValidator(control: AbstractControl): ValidationErrors | null {\r\n if (!control.parent || !control || isEmptyInputValue(control.value)) return null;\r\n if (control && control.value) {\r\n if (!MonkeyEcxUtils.isValidZipCode(control.value)) {\r\n return {\r\n invalidZipCode: true,\r\n };\r\n }\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexport function documentValidator(\r\n control: AbstractControl,\r\n country: string\r\n): ValidationErrors | null {\r\n if (!control.parent || !control || isEmptyInputValue(control.value)) return null;\r\n if (country === 'BR') {\r\n if (!MonkeyEcxUtils.isCPFCNPJValid(control.value)) {\r\n return {\r\n invalidCpfCnpj: true,\r\n };\r\n }\r\n } else if (country === 'CL') {\r\n if (!MonkeyEcxUtils.isValidRUT(control.value)) {\r\n return {\r\n invalidCpfCnpj: true,\r\n };\r\n }\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexport function dateValidator(control: AbstractControl): ValidationErrors | null {\r\n if (!control.parent || !control || isEmptyInputValue(control.value)) return null;\r\n\r\n const dateFormat = 'MM-DD-YYYY';\r\n if (\r\n !moment\r\n .default(\r\n moment.default(control.value).format(dateFormat),\r\n ['DD/MM/YYYY', 'MM-DD-YYYY', 'YYYY-MM-DD'],\r\n true\r\n )\r\n .isValid()\r\n ) {\r\n return {\r\n invalidDate: true,\r\n };\r\n }\r\n return null;\r\n}\r\n\r\nexport function valueGreaterThanZero(control: AbstractControl): ValidationErrors | null {\r\n if (!control.parent || !control || isEmptyInputValue(control.value)) return null;\r\n\r\n if (control && `${control?.value}` === '0') {\r\n return {\r\n invalidValueGreaterThanZero: true,\r\n };\r\n }\r\n return null;\r\n}\r\n\r\nexport class Validators {\r\n static email(control: AbstractControl): ValidationErrors | null {\r\n return emailValidator(control);\r\n }\r\n\r\n static dateRange(control: AbstractControl): ValidationErrors | null {\r\n return dateRangeValidator(control);\r\n }\r\n\r\n static unlockSponsorRegister(control: AbstractControl): ValidationErrors | null {\r\n return registerValidator(control, 'sponsor');\r\n }\r\n\r\n static unlockBuyerRegister(control: AbstractControl): ValidationErrors | null {\r\n return registerValidator(control, 'buyer');\r\n }\r\n\r\n static dateStartEnd(control: AbstractControl): ValidationErrors | null {\r\n return dateStartEndValidator(control);\r\n }\r\n\r\n static url(control: AbstractControl): ValidationErrors | null {\r\n return urlValidator(control);\r\n }\r\n\r\n static passwordConfirm(control: AbstractControl): ValidationErrors | null {\r\n return passwordConfirmValidator(control);\r\n }\r\n\r\n static true(control: AbstractControl): ValidationErrors | null {\r\n return trueValidator(control);\r\n }\r\n\r\n static combo(control: AbstractControl): ValidationErrors | null {\r\n return comboValidator(control);\r\n }\r\n\r\n static zipCode(control: AbstractControl): ValidationErrors | null {\r\n return zipCodeValidator(control);\r\n }\r\n\r\n static documentBR(control: AbstractControl): ValidationErrors | null {\r\n return documentValidator(control, 'BR');\r\n }\r\n\r\n static documentCL(control: AbstractControl): ValidationErrors | null {\r\n return documentValidator(control, 'CL');\r\n }\r\n\r\n static date(control: AbstractControl): ValidationErrors | null {\r\n return dateValidator(control);\r\n }\r\n\r\n static greaterThanZero(control: AbstractControl): ValidationErrors | null {\r\n return valueGreaterThanZero(control);\r\n }\r\n}\r\n","/* eslint-disable object-curly-newline */\r\nimport { MonkeyEcxUtils } from './utils';\r\nimport * as ValidateUtils from './validate-utils';\r\nimport * as DecoratorsUtils from './decorators-utils';\r\nimport * as Statics from './statics';\r\n\r\nexport { MonkeyEcxUtils, ValidateUtils, DecoratorsUtils, Statics };\r\nexport * from './validators';\r\n","/* eslint-disable no-console */\r\n/* eslint-disable space-before-function-paren */\r\n/* eslint-disable func-names */\r\n/* eslint-disable max-len */\r\nimport { MonkeyEcxServiceCredentials } from '../interfaces';\r\nimport { DecoratorsUtils } from '../utils';\r\nimport { MonkeyEcxUtils } from '../utils/utils';\r\n\r\nexport function MonkeyEcxCoreServiceConstructor() {\r\n return (target: any) => {\r\n Object.entries(target.prototype).forEach(([key, value]) => {\r\n const method = target.prototype[key];\r\n if (key !== 'constructor') {\r\n target.prototype[key] = function (...args: any[]) {\r\n const context = this;\r\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\r\n context.monkeyecxService.monkeyecxHandlingService.clearAll();\r\n }\r\n const result = method.apply(context, args);\r\n return result;\r\n };\r\n }\r\n });\r\n return target;\r\n };\r\n}\r\n\r\nexport function MonkeyEcxCoreLog(tp: string) {\r\n return function (\r\n target: Object,\r\n propertyName: string,\r\n propertyDescriptor: PropertyDescriptor\r\n ): PropertyDescriptor {\r\n const method = propertyDescriptor.value;\r\n propertyDescriptor.value = function (...args: any[]) {\r\n const params = args\r\n .map((a: any) => {\r\n return JSON.stringify(a);\r\n })\r\n .join();\r\n const result = method.apply(this, args);\r\n const r = JSON.stringify(result);\r\n console.log(`Call: ${propertyName}(${params}) => ${r}`);\r\n return result;\r\n };\r\n\r\n return propertyDescriptor;\r\n };\r\n}\r\n\r\nexport function MonkeyEcxCoreClearDecorators() {\r\n return function (\r\n target: Object,\r\n propertyName: string,\r\n propertyDescriptor: PropertyDescriptor\r\n ): PropertyDescriptor {\r\n const method = propertyDescriptor.value;\r\n\r\n propertyDescriptor.value = function (...args: any[]) {\r\n const context: any = this;\r\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\r\n context?.monkeyecxService?.monkeyecxHandlingService?.clearAll();\r\n }\r\n const result = method.apply(context, args);\r\n return result;\r\n };\r\n\r\n return propertyDescriptor;\r\n };\r\n}\r\n\r\nexport function MonkeyEcxCoreService(params: MonkeyEcxServiceCredentials) {\r\n return function (\r\n target: Object,\r\n propertyName: string,\r\n propertyDescriptor: PropertyDescriptor\r\n ): PropertyDescriptor {\r\n const method = propertyDescriptor.value;\r\n\r\n propertyDescriptor.value = function (...args: any[]) {\r\n const context: any = this;\r\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\r\n context?.monkeyecxService?.monkeyecxHandlingService?.clearAll();\r\n context?.monkeyecxService?.monkeyecxHandlingService?.setMonkeyEcxServiceCredentials(params);\r\n }\r\n const result = method.apply(context, args);\r\n return result;\r\n };\r\n\r\n return propertyDescriptor;\r\n };\r\n}\r\n\r\nexport function MonkeyEcxCoreServicePaged(params: MonkeyEcxServiceCredentials) {\r\n return function (\r\n target: Object,\r\n propertyName: string,\r\n propertyDescriptor: PropertyDescriptor\r\n ): PropertyDescriptor {\r\n const method = propertyDescriptor.value;\r\n\r\n propertyDescriptor.value = function (...args: any[]) {\r\n const context: any = this;\r\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\r\n const credentials =\r\n context?.monkeyecxService?.monkeyecxHandlingService?.getMonkeyEcxServiceCredentials();\r\n let requestPaged = null;\r\n if (credentials) {\r\n requestPaged = credentials.requestPaged;\r\n }\r\n context?.monkeyecxService?.monkeyecxHandlingService?.clearAll();\r\n context?.monkeyecxService?.monkeyecxHandlingService?.setMonkeyEcxServiceCredentials({\r\n ...params,\r\n ...(requestPaged || {}),\r\n });\r\n }\r\n const result = method.apply(context, args);\r\n return result;\r\n };\r\n\r\n return propertyDescriptor;\r\n };\r\n}\r\n\r\nexport function MonkeyEcxCoreServiceQueue(\r\n name: string,\r\n description?: string,\r\n params?: MonkeyEcxServiceCredentials\r\n) {\r\n return function (\r\n target: Object,\r\n propertyName: string,\r\n propertyDescriptor: PropertyDescriptor\r\n ): PropertyDescriptor {\r\n const method = propertyDescriptor.value;\r\n\r\n propertyDescriptor.value = function (...args: any[]) {\r\n const context: any = this;\r\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\r\n if (MonkeyEcxUtils.persistNullEmptyUndefined(params)) {\r\n context?.monkeyecxService?.monkeyecxHandlingService?.clearAll();\r\n context?.monkeyecxService?.monkeyecxHandlingService?.setMonkeyEcxServiceCredentials(\r\n params\r\n );\r\n }\r\n context?.monkeyecxService.monkeyecxHandlingService.setMonkeyEcxRequestQueue(\r\n DecoratorsUtils.buildQueuePropertys({\r\n name,\r\n description,\r\n })\r\n );\r\n }\r\n const result = method.apply(context, args);\r\n return result;\r\n };\r\n\r\n return propertyDescriptor;\r\n };\r\n}\r\n","/* eslint-disable space-before-function-paren */\r\n/* eslint-disable func-names */\r\n/* eslint-disable max-len */\r\nimport { MonkeyUtils } from 'monkey-style-guide';\r\nimport { MonkeyEcxServiceCredentials } from '../interfaces';\r\nimport { DecoratorsUtils } from '../utils';\r\n\r\nexport function MonkeyEcxServiceDownload(\r\n name: string,\r\n description?: string,\r\n params?: MonkeyEcxServiceCredentials\r\n) {\r\n return function (\r\n target: Object,\r\n propertyName: string,\r\n propertyDescriptor: PropertyDescriptor\r\n ): PropertyDescriptor {\r\n const method = propertyDescriptor.value;\r\n\r\n propertyDescriptor.value = function (...args: any[]) {\r\n const context: any = this;\r\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\r\n if (MonkeyUtils.persistNullEmptyUndefined(params)) {\r\n context?.monkeyecxService?.monkeyecxHandlingService?.clearAll();\r\n context?.monkeyecxService?.monkeyecxHandlingService?.setMonkeyEcxServiceCredentials(\r\n params\r\n );\r\n }\r\n context?.monkeyecxService?.monkeyecxHandlingService?.setMonkeyEcxRequestDownload({\r\n ...DecoratorsUtils.buildDownloadPropertys(name, description),\r\n });\r\n }\r\n const result = method.apply(context, args);\r\n return result;\r\n };\r\n\r\n return propertyDescriptor;\r\n };\r\n}\r\n","/* eslint-disable space-before-function-paren */\r\n/* eslint-disable func-names */\r\n/* eslint-disable max-len */\r\nimport { MonkeyUtils } from 'monkey-style-guide';\r\nimport { MonkeyEcxServiceCredentials } from '../interfaces';\r\nimport { DecoratorsUtils } from '../utils';\r\n\r\nexport function MonkeyEcxServiceUpload(\r\n name: string,\r\n description?: string,\r\n params?: MonkeyEcxServiceCredentials\r\n) {\r\n return function (\r\n target: Object,\r\n propertyName: string,\r\n propertyDescriptor: PropertyDescriptor\r\n ): PropertyDescriptor {\r\n const method = propertyDescriptor.value;\r\n\r\n propertyDescriptor.value = function (...args: any[]) {\r\n const context: any = this;\r\n if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {\r\n if (MonkeyUtils.persistNullEmptyUndefined(params)) {\r\n context?.monkeyecxService?.monkeyecxHandlingService?.clearAll();\r\n context?.monkeyecxService?.monkeyecxHandlingService?.setMonkeyEcxServiceCredentials(\r\n params\r\n );\r\n }\r\n context?.monkeyecxService?.monkeyecxHandlingService?.setMonkeyEcxRequestUpload({\r\n ...DecoratorsUtils.buildUploadPropertys(name, description),\r\n });\r\n }\r\n const result = method.apply(context, args);\r\n return result;\r\n };\r\n\r\n return propertyDescriptor;\r\n };\r\n}\r\n","import { Directive, HostListener, Output, HostBinding, EventEmitter } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[monkeyecxDragDrop]',\r\n})\r\nexport class MonkeyEcxDragDropDirective {\r\n @Output() onFileDropped: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @HostBinding('style.background-color') private background = '#f5fcff';\r\n\r\n @HostBinding('style.opacity') private opacity = '1';\r\n\r\n @HostListener('dragover', ['$event'])\r\n onDragOver(evt: any) {\r\n evt?.preventDefault();\r\n evt?.stopPropagation();\r\n this.background = '#9ecbec';\r\n this.opacity = '0.8';\r\n }\r\n\r\n @HostListener('dragleave', ['$event'])\r\n public onDragLeave(evt: any) {\r\n evt?.preventDefault();\r\n evt?.stopPropagation();\r\n this.background = '#f5fcff';\r\n this.opacity = '1';\r\n }\r\n\r\n @HostListener('drop', ['$event'])\r\n public ondrop(evt: any) {\r\n evt?.preventDefault();\r\n evt?.stopPropagation();\r\n this.background = '#f5fcff';\r\n this.opacity = '1';\r\n const { files } = evt?.dataTransfer;\r\n if (files.length > 0) {\r\n this.onFileDropped.emit(files);\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, OnInit, Injector } from '@angular/core';\r\nimport { CurrencyPipe } from '@angular/common';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MonkeyEcxUtils } from '../utils/utils';\r\n\r\n@Directive({\r\n selector: '[monkeyecxFormatCurrency]',\r\n providers: [CurrencyPipe]\r\n})\r\nexport class MonkeyEcxFormatCurrency implements OnInit {\r\n private el: HTMLInputElement;\r\n\r\n private currency: any;\r\n\r\n private currencyCode: string = 'BRL';\r\n\r\n private currentLocale: string = 'pt-BR';\r\n\r\n constructor(private elementRef: ElementRef, private injector: Injector) {\r\n this.el = this.elementRef.nativeElement;\r\n this.currency = this.injector.get(CurrencyPipe);\r\n\r\n const translateService = this.injector.get(TranslateService);\r\n translateService.get('MONKEY-CURRENCY-CODE').subscribe((_: any) => {\r\n this.currencyCode = _;\r\n this.currentLocale = translateService.getDefaultLang();\r\n });\r\n }\r\n\r\n private handle(value: any): string {\r\n const { currencyCode, currentLocale } = this;\r\n const newValue = MonkeyEcxUtils.handleOnlyNumbers(value);\r\n return this.currency.transform(newValue / 100, currencyCode, 'symbol', '', currentLocale);\r\n }\r\n\r\n ngOnInit() {\r\n this.el.value = this.handle(this.el.value);\r\n }\r\n\r\n @HostListener('input', ['$event.target.value'])\r\n onInput(value: any) {\r\n this.el.value = this.handle(value);\r\n }\r\n}\r\n","import { Directive, ElementRef, forwardRef, HostListener, Renderer2, Self } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[monkeyecxFormatUpper]',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => {\r\n // eslint-disable-next-line no-use-before-define\r\n return MonkeyEcxFormatUpper;\r\n }),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeyEcxFormatUpper implements ControlValueAccessor {\r\n _onChange?: (_: any) => void;\r\n\r\n _touched?: () => void;\r\n\r\n constructor(@Self() private _el: ElementRef, private _renderer: Renderer2) {\r\n // not to do\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n onKeyDown(evt: KeyboardEvent) {\r\n const value = this._el.nativeElement.value.toUpperCase();\r\n this._renderer.setProperty(this._el.nativeElement, 'value', value);\r\n this._onChange?.(value);\r\n evt.preventDefault();\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n onBlur() {\r\n this._touched?.();\r\n }\r\n\r\n writeValue(value: any): void {\r\n this._renderer.setProperty(this._el.nativeElement, 'value', value);\r\n }\r\n\r\n registerOnChange(fn: (_: any) => void): void {\r\n this._onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this._touched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this._renderer.setProperty(this._el.nativeElement, 'disabled', isDisabled);\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Directive({\n selector: '[monkeyecxOnlyAlphaNumeric]'\n})\nexport class MonkeyEcxOnlyAlphaNumericDirective {\n constructor(private elementRef: ElementRef) {\n // not to do\n }\n\n @HostListener('input', ['$event'])\n onInputChange(event: Event) {\n const initalValue = this.elementRef.nativeElement.value;\n\n this.elementRef.nativeElement.value = MonkeyEcxUtils.handleOnlyAlphaNumeric(initalValue);\n if (initalValue !== this.elementRef.nativeElement.value) {\n event.stopPropagation();\n }\n }\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\nimport { MonkeyEcxUtils } from '../utils/utils';\n\n@Directive({\n selector: '[monkeyecxOnlyNumbers]'\n})\nexport class MonkeyEcxOnlyNumbersDirective {\n constructor(private elementRef: ElementRef) {\n // not to do\n }\n\n @HostListener('input', ['$event'])\n onInputChange(event: Event) {\n const initalValue = this.elementRef.nativeElement.value;\n\n this.elementRef.nativeElement.value = MonkeyEcxUtils.handleOnlyNumbers(initalValue);\n if (initalValue !== this.elementRef.nativeElement.value) {\n event.stopPropagation();\n }\n }\n}\n","import { HttpParams } from '@angular/common/http';\r\nimport { MonkeyEcxRequestPaged } from '../../interfaces/monkeyecx-request-paged';\r\nimport { MonkeyEcxResponseLinks } from '../../interfaces/monkeyecx-response-links';\r\n\r\nexport class MonkeyEcxRequestPagedHandling {\r\n private url?: string;\r\n\r\n private pagedParams: MonkeyEcxRequestPaged;\r\n\r\n private links: MonkeyEcxResponseLinks;\r\n\r\n constructor(_url?: string, _pagedParams?: MonkeyEcxRequestPaged, _links?: any) {\r\n this.url = _url;\r\n this.pagedParams = _pagedParams || {\r\n page: {},\r\n };\r\n this.links = _links;\r\n }\r\n\r\n private handlePagedValuesFromApi(url: string = '') {\r\n if (url.search('\\\\?') < 0) return url;\r\n const params = url.substring(url.search('\\\\?') + 1, url.length);\r\n url = url.substring(0, url.search('\\\\?'));\r\n return `${url}?${new HttpParams({\r\n fromString: params,\r\n })\r\n .delete('size')\r\n .delete('page')\r\n .toString()}`;\r\n }\r\n\r\n private getUrlParams(url: string): string {\r\n const { pagedParams } = this;\r\n const { number, size } = pagedParams?.page || {};\r\n const hasInitialQueryParams = url.search('\\\\?') > 0;\r\n return `${!hasInitialQueryParams ? '?' : '&'}page=${number || 0}&size=${size || 20}`;\r\n }\r\n\r\n public getRequestWithPagedParams(): string {\r\n const { url, links } = this;\r\n if (links && links.next) {\r\n return links.next.href;\r\n }\r\n const handled = this.handlePagedValuesFromApi(url);\r\n return `${handled}${this.getUrlParams(handled)}`;\r\n }\r\n}\r\n","import {\r\n ActivatedRouteSnapshot,\r\n NavigationStart,\r\n Router,\r\n RouterStateSnapshot,\r\n} from '@angular/router';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BehaviorSubject, throwError } from 'rxjs';\r\nimport { filter, take, takeWhile } from 'rxjs/operators';\r\nimport {\r\n MonkeyEcxErrorResponse,\r\n MonkeyEcxHandledErrorResponse,\r\n MonkeyEcxRequestPaged,\r\n MonkeyEcxRequestSchedule,\r\n MonkeyEcxResponsePaged,\r\n MonkeyEcxResponseLinks,\r\n MonkeyEcxTokenCredentials,\r\n MonkeyEcxTranslateOptions,\r\n} from '../../interfaces';\r\nimport { MonkeyEcxTokenStorageService } from '../storage/monkeyecx-token-storage.service';\r\nimport { MonkeyEcxRequestScheduleService } from '../schedules/monkeyecx-request-schedule.service';\r\nimport { MonkeyEcxRequestQueueHandlingService } from '../request-queue/monkeyecx-request-queue-handling.service';\r\nimport { MonkeyEcxRequestPagedHandling } from '../request-paged/monkeyecx-request-request-paged-handling';\r\nimport { MonkeyEcxFeatureToggleService } from '../config/monkeyecx-feature-toggle.service';\r\nimport { MonkeyEcxUtils } from '../../utils/utils';\r\nimport { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';\r\nimport { MonkeyEcxService } from '../monkeyecx-service.service';\r\nimport { MonkeyEcxSavedState } from '../../interfaces';\r\n\r\nexport class MonkeyEcxCommonsService {\r\n private flagValidator = true;\r\n\r\n __data: any | any[];\r\n\r\n __savedState: MonkeyEcxSavedState | null = null;\r\n\r\n __params: any | any[];\r\n\r\n __error: MonkeyEcxErrorResponse | null = null;\r\n\r\n __handledError: MonkeyEcxHandledErrorResponse | null = null;\r\n\r\n __page: MonkeyEcxResponsePaged | null = null;\r\n\r\n __links: MonkeyEcxResponseLinks | null = null;\r\n\r\n __search: any;\r\n\r\n __requestPaged: MonkeyEcxRequestPaged | null = null;\r\n\r\n __onSearchChanged$: BehaviorSubject<any> = new BehaviorSubject(null);\r\n\r\n __onDataChanged$: BehaviorSubject<any> = new BehaviorSubject(null);\r\n\r\n __onLoadingInProgress$: BehaviorSubject<any> = new BehaviorSubject(false);\r\n\r\n __onDataDeleted$: BehaviorSubject<any> = new BehaviorSubject(null);\r\n\r\n __onErrorChanged$: BehaviorSubject<any> = new BehaviorSubject(null);\r\n\r\n __onGovernmentIdDataChanged$: BehaviorSubject<any> = new BehaviorSubject(null);\r\n\r\n __onZipCodeDataChanged$: BehaviorSubject<any> = new BehaviorSubject(null);\r\n\r\n __oni18nDataChanged$: BehaviorSubject<any> = new BehaviorSubject(null);\r\n\r\n __onDoSearch$: BehaviorSubject<MonkeyEcxRequestPaged> = new BehaviorSubject({});\r\n\r\n __tokenCredentials: MonkeyEcxTokenCredentials | null = null;\r\n\r\n __schedule: MonkeyEcxRequestSchedule | null = null;\r\n\r\n __i18n: any;\r\n\r\n __callbackPagination: Function = () => {\r\n // eslint-disable-next-line no-console\r\n return console.error('Method callbackPagination needs to be declared');\r\n };\r\n\r\n constructor(\r\n public monkeyecxService?: MonkeyEcxService,\r\n public tokenStorage?: MonkeyEcxTokenStorageService,\r\n public otherArgs?: {\r\n router?: Router;\r\n schedule?: {\r\n service: MonkeyEcxRequestScheduleService;\r\n options?: {\r\n clearOnChangeRoute?: boolean;\r\n };\r\n };\r\n queue?: {\r\n service: MonkeyEcxRequestQueueHandlingService;\r\n };\r\n }\r\n ) {\r\n this.handleInit();\r\n }\r\n\r\n private handleInit() {\r\n if (this.tokenStorage) {\r\n this.__tokenCredentials = this.tokenStorage.getToken();\r\n }\r\n\r\n if (this.otherArgs?.router) {\r\n const { clearOnChangeRoute } = this.otherArgs?.schedule?.options || {\r\n clearOnChangeRoute: false,\r\n };\r\n this.otherArgs.router.events\r\n .pipe(\r\n filter((event: any) => {\r\n return event instanceof NavigationStart;\r\n }),\r\n take(1)\r\n )\r\n .subscribe(() => {\r\n if (this.__schedule && clearOnChangeRoute) {\r\n this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);\r\n this.__schedule = null;\r\n }\r\n });\r\n }\r\n }\r\n\r\n private getRole(): string {\r\n const { __tokenCredentials } = this;\r\n\r\n if (!__tokenCredentials) return '';\r\n\r\n if (__tokenCredentials?.programAdmin === 'true') {\r\n return 'PROGRAM_ADMIN';\r\n }\r\n\r\n return __tokenCredentials?.role || '';\r\n }\r\n\r\n private allowedSecurityAccess(args: any): boolean {\r\n if (!args) return true;\r\n const roles = args?.roles;\r\n const byExclusion = args?.byExclusion;\r\n const found = roles?.indexOf(this.getRole());\r\n let ret = false;\r\n if (byExclusion) {\r\n ret = true;\r\n if (found > -1) {\r\n ret = false;\r\n }\r\n } else {\r\n ret = false;\r\n if (found > -1) {\r\n ret = true;\r\n }\r\n }\r\n if (!roles || roles.length === 0 || this.getRole() === 'PROGRAM_ADMIN') {\r\n ret = true;\r\n }\r\n return ret;\r\n }\r\n\r\n private navigateToErrorPage(statusCode: number, router?: Router) {\r\n const routes: any = {\r\n 403: 'forbidden',\r\n 404: 'not-found',\r\n 500: 'service-problems',\r\n 503: 'service-problems',\r\n };\r\n\r\n if (!router) {\r\n console.error('Router must be declared');\r\n } else {\r\n router?.navigate([`/app/pages/${routes[statusCode]}`.toLowerCase()], {\r\n skipLocationChange: true,\r\n });\r\n }\r\n }\r\n\r\n setPage(requestPaged: MonkeyEcxRequestPaged) {\r\n this.__requestPaged = {\r\n ...this.__requestPaged,\r\n ...requestPaged,\r\n };\r\n return this;\r\n }\r\n\r\n nextPage(): boolean {\r\n if (this.__links) {\r\n return !!this.__links?.next;\r\n }\r\n if (!this.__requestPaged) return false;\r\n const { page } = this.__requestPaged as any;\r\n const { number, totalPages } = page;\r\n if (number < totalPages) {\r\n this.__requestPaged = {\r\n ...this.__requestPaged,\r\n page: {\r\n ...page,\r\n number: number + 1,\r\n },\r\n };\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getEmbeddedData(data: any, field: string): any[] | any {\r\n const { _embedded } = data;\r\n return _embedded ? _embedded[field] : null;\r\n }\r\n\r\n getNormalizedUrl(url: string): string {\r\n const { __requestPaged, __links } = this;\r\n return new MonkeyEcxRequestPagedHandling(\r\n url,\r\n __requestPaged || {},\r\n __links\r\n ).getRequestWithPagedParams();\r\n }\r\n\r\n clear(clearData: boolean) {\r\n if (clearData) {\r\n this.__data = null;\r\n this.__requestPaged = null;\r\n this.__params = null;\r\n this.__page = null;\r\n this.__links = null;\r\n\r\n if (this.__schedule) {\r\n const { queue } = this.__schedule;\r\n if (queue) {\r\n this.otherArgs?.queue?.service?.removeQueueItem(queue);\r\n }\r\n this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);\r\n this.__schedule = null;\r\n }\r\n }\r\n this.__error = null;\r\n this.__handledError = null;\r\n this.flagValidator = false;\r\n }\r\n\r\n resolve(\r\n route: ActivatedRouteSnapshot | null,\r\n state: RouterStateSnapshot | null,\r\n otherArgs?: {\r\n callbackMain: Function;\r\n router?: Router;\r\n security?: {\r\n roles: string[];\r\n byExclusion?: boolean;\r\n };\r\n callbackPagination?: Function;\r\n translateOptions?: MonkeyEcxTranslateOptions;\r\n feature?: {\r\n service: MonkeyEcxFeatureToggleService;\r\n flag: string;\r\n };\r\n }\r\n ) {\r\n if (JSON.stringify(route?.queryParams) === '{}') {\r\n this.__data = null;\r\n this.__page = null;\r\n }\r\n\r\n this.__requestPaged = null;\r\n this.flagValidator = true;\r\n\r\n if (this.tokenStorage) {\r\n this.__tokenCredentials = this.tokenStorage.getToken();\r\n }\r\n\r\n if (this.allowedSecurityAccess(otherArgs?.security)) {\r\n if (this.__schedule) {\r\n this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);\r\n this.__schedule = null;\r\n }\r\n\r\n const { __requestPaged } = this;\r\n if (!__requestPaged) {\r\n this.setPage({\r\n page: {\r\n number: 0,\r\n size: 10,\r\n },\r\n });\r\n }\r\n\r\n if (otherArgs?.translateOptions) {\r\n const { service, keys } = otherArgs?.translateOptions;\r\n this.geti18n(service, keys || '');\r\n }\r\n\r\n if (otherArgs?.callbackPagination) {\r\n this.__callbackPagination = otherArgs.callbackPagination;\r\n }\r\n\r\n if (otherArgs?.feature) {\r\n const { flag, service } = otherArgs.feature;\r\n\r\n service.onFlags\r\n .pipe(\r\n takeWhile(() => {\r\n return this.flagValidator;\r\n })\r\n )\r\n .subscribe((val: boolean) => {\r\n if (val) {\r\n const hasFlag = service.getFlag(flag);\r\n\r\n if (MonkeyEcxUtils.persistNullEmptyUndefined(hasFlag)) {\r\n if (!hasFlag) {\r\n this.navigateToErrorPage(404, otherArgs?.router);\r\n return;\r\n }\r\n }\r\n otherArgs?.callbackMain();\r\n }\r\n });\r\n } else {\r\n otherArgs?.callbackMain();\r\n }\r\n } else {\r\n this.navigateToErrorPage(403, otherArgs?.router);\r\n }\r\n }\r\n\r\n getHTTPHeaderApplicationPDF(): Object {\r\n return {\r\n observe: 'response',\r\n responseType: 'blob',\r\n };\r\n }\r\n\r\n @MonkeyEcxCoreService({\r\n requestInProgress: {\r\n showProgress: true,\r\n },\r\n })\r\n genericMethod(link: any, data?: any, callback?: Function) {\r\n const { href, type = 'get' } = link;\r\n\r\n this.monkeyecxService?.[type.toLowerCase()](`${href}`, data)?.subscribe(\r\n () => {\r\n if (callback) callback();\r\n },\r\n (err: HttpErrorResponse) => {\r\n throwError(err);\r\n }\r\n );\r\n }\r\n\r\n geti18n(translateService: TranslateService, keys: string | string[]) {\r\n translateService.getStreamOnTranslationChange(keys).subscribe((translations: any) => {\r\n this.__i18n = translations;\r\n this.__oni18nDataChanged$.next(null);\r\n });\r\n }\r\n\r\n doPagination() {\r\n if (!this.__onLoadingInProgress$.value) {\r\n const hasMorePages = this.setPage({\r\n page: {\r\n ...this.__page,\r\n },\r\n }).nextPage();\r\n\r\n if (hasMorePages && this.__callbackPagination) {\r\n this.__callbackPagination();\r\n }\r\n }\r\n }\r\n\r\n setSearchByUrl(router: Router, url: string, search: any, extras?: any) {\r\n this.__data = null;\r\n this.__page = null;\r\n this.__onDataChanged$.next(null);\r\n this.__onLoadingInProgress$.next(false);\r\n\r\n router.navigate([url], {\r\n queryParams: {\r\n ...search,\r\n r: MonkeyEcxUtils.getRandomString(30),\r\n },\r\n queryParamsHandling: 'merge',\r\n ...extras,\r\n });\r\n }\r\n\r\n saveState(state: MonkeyEcxSavedState) {\r\n this.__savedState = {\r\n page: this.__page,\r\n ...state,\r\n };\r\n }\r\n}\r\n","/* eslint-disable max-len */\r\nimport { Injectable } from '@angular/core';\r\nimport { MonkeyEcxRequestDownload } from '../interfaces/request-download/monkeyecx-request-download';\r\nimport { MonkeyEcxRequestQueue } from '../interfaces/request-queue/monkeyecx-request-queue';\r\nimport { MonkeyEcxRequestUpload } from '../interfaces/request-upload/monkeyecx-request-upload';\r\nimport { MonkeyEcxServiceCredentials } from '../interfaces/monkeyecx-service-credentials';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport abstract class MonkeyEcxHandlingService {\r\n private monkeyecxServiceCredentials: MonkeyEcxServiceCredentials | null = null;\r\n\r\n private monkeyecxRequestQueue: MonkeyEcxRequestQueue | null = null;\r\n\r\n private monkeyecxRequestDownload: MonkeyEcxRequestDownload | null = null;\r\n\r\n private monkeyecxRequestUpload: MonkeyEcxRequestUpload | null = null;\r\n\r\n public clearAll() {\r\n this.monkeyecxServiceCredentials = null;\r\n this.monkeyecxRequestQueue = null;\r\n this.monkeyecxRequestDownload = null;\r\n this.monkeyecxRequestUpload = null;\r\n }\r\n\r\n public setMonkeyEcxServiceCredentials(param: MonkeyEcxServiceCredentials) {\r\n this.monkeyecxServiceCredentials = param;\r\n }\r\n\r\n public getMonkeyEcxServiceCredentials(): MonkeyEcxServiceCredentials | null {\r\n return this.monkeyecxServiceCredentials;\r\n }\r\n\r\n public setMonkeyEcxRequestQueue(queue: MonkeyEcxRequestQueue) {\r\n this.monkeyecxRequestQueue = queue;\r\n }\r\n\r\n public getMonkeyEcxRequestQueue(): MonkeyEcxRequestQueue | null {\r\n return this.monkeyecxRequestQueue;\r\n }\r\n\r\n public setMonkeyEcxRequestDownload(download: MonkeyEcxRequestDownload) {\r\n this.monkeyecxRequestDownload = download;\r\n }\r\n\r\n public getMonkeyEcxRequestDownload(): MonkeyEcxRequestDownload | null {\r\n return this.monkeyecxRequestDownload;\r\n }\r\n\r\n public setMonkeyEcxRequestUpload(upload: MonkeyEcxRequestUpload) {\r\n this.monkeyecxRequestUpload = upload;\r\n }\r\n\r\n public getMonkeyEcxRequestUpload(): MonkeyEcxRequestUpload | null {\r\n return this.monkeyecxRequestUpload;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { MonkeyEcxHandlingService } from './monkeyecx-handling.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MonkeyEcxService {\r\n constructor(\r\n protected http: HttpClient,\r\n public monkeyecxHandlingService: MonkeyEcxHandlingService\r\n ) {\r\n // not to do\r\n }\r\n\r\n private handlelize(params: any): any {\r\n if (!params) {\r\n return params;\r\n }\r\n\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const field of [\r\n 'createdAt',\r\n 'createUserId',\r\n 'updatedAt',\r\n 'lastUserId',\r\n '_links',\r\n 'governmentIdType',\r\n 'governmentIdMask',\r\n 'screenType',\r\n 'screenTab',\r\n ]) {\r\n delete params[field];\r\n }\r\n return params;\r\n }\r\n\r\n public get<T>(url: string, options?: T): Observable<T> {\r\n return this.http.get<T>(url, options);\r\n }\r\n\r\n public post<T>(url: string, params: T, options?: T): Observable<T> {\r\n return this.http.post<T>(url, params, options);\r\n }\r\n\r\n public put<T>(url: string, params: T): Observable<T> {\r\n return this.http.put<T>(\r\n url,\r\n this.handlelize({\r\n ...params,\r\n })\r\n );\r\n }\r\n\r\n public delete<T>(url: string, params?: T): Observable<T> {\r\n return this.http.delete<T>(url, params);\r\n }\r\n\r\n public download<T>(url: string, options?: T, filename?: string) {\r\n this.http.get<T>(url, options).subscribe(\r\n (resp: any) => {\r\n const { headers, body } = resp;\r\n const contentType = headers.get('Content-Type');\r\n const contentDisposition = headers.get('Content-Disposition');\r\n if (contentDisposition) {\r\n filename = contentDisposition\r\n .split(';')[1]\r\n .split('filename')[1]\r\n .split('=')[1]\r\n .trim()\r\n .replace(new RegExp(/\"/g), '');\r\n }\r\n const blob = new Blob([body], {\r\n type: `${contentType}`,\r\n });\r\n return {\r\n filename,\r\n blob,\r\n };\r\n },\r\n (err: HttpErrorResponse) => {\r\n throwError(err);\r\n }\r\n );\r\n }\r\n\r\n public downloadOb<T>(url: string, options?: T, filename?: string): Observable<any> {\r\n return this.http.get<any>(url, options).pipe(\r\n map((resp: any) => {\r\n const { headers, body } = resp;\r\n const contentType = headers.get('Content-Type');\r\n const contentDisposition = headers.get('Content-Disposition');\r\n if (contentDisposition) {\r\n filename = contentDisposition\r\n .split(';')[1]\r\n .split('filename')[1]\r\n .split('=')[1]\r\n .trim()\r\n .replace(new RegExp(/\"/g), '');\r\n }\r\n const blob = new Blob([body], {\r\n type: `${contentType}`,\r\n });\r\n return {\r\n filename,\r\n blob,\r\n };\r\n }),\r\n catchError((err: any) => {\r\n return throwError(err);\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nlet window: any;\r\n\r\nconst text: any = {\r\n i18n: {\r\n title: 'We have an quick update for you',\r\n message: 'Click anywhere here to reload your locale',\r\n },\r\n theme: {\r\n title: 'We have an quick update for you',\r\n message: 'Click anywhere here to reload your theme',\r\n },\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MonkeyEcxErrorConfigService {\r\n constructor() {\r\n // not to do\r\n }\r\n\r\n private enableSupport() {\r\n window.zE('webWidget', 'updateSettings', {\r\n webWidget: {\r\n color: {\r\n theme: '#0273E8',\r\n launcherText: '#fff',\r\n header: '#0273E8',\r\n button: '#0273E8',\r\n },\r\n zIndex: 99,\r\n offset: {\r\n horizontal: '1px',\r\n vertical: '20px',\r\n },\r\n mobile: {\r\n labelVisible: true,\r\n },\r\n launcher: {\r\n mobile: {\r\n labelVisible: true,\r\n },\r\n },\r\n },\r\n });\r\n window.zE('webWidget', 'setLocale', 'en-US');\r\n window.zE('webWidget', 'show');\r\n }\r\n\r\n public apply(type: string) {\r\n const { title, message } = text?.[type];\r\n\r\n const element = document.createElement('div');\r\n element.id = 'monkeyecx-information';\r\n\r\n const elementImg = document.createElement('img');\r\n elementImg.width = 128;\r\n elementImg.src = 'assets/images/monkey.svg';\r\n elementImg.style.marginBottom = '50px';\r\n\r\n const elementTitle = document.createElement('span');\r\n elementTitle.id = 'title';\r\n elementTitle.innerText = title;\r\n elementTitle.style.marginBottom = '20px';\r\n\r\n const elementMessage = document.createElement('span');\r\n elementMessage.id = 'message';\r\n elementMessage.innerText = message;\r\n elementMessage.style.marginBottom = '20px';\r\n\r\n const elementChat = document.createElement('span');\r\n elementChat.id = 'message';\r\n elementChat.innerText =\r\n \"If you're having trouble to update, please use the support icon bellow\";\r\n\r\n element.appendChild(elementImg);\r\n element.appendChild(elementTitle);\r\n element.appendChild(elementMessage);\r\n element.appendChild(elementChat);\r\n\r\n element.addEventListener('click', () => {\r\n document.location.reload();\r\n });\r\n\r\n document.body.appendChild(element);\r\n\r\n document.body.getElementsByTagName('app-root')[0].remove();\r\n this.enableSupport();\r\n }\r\n}\r\n","/* eslint-disable no-console */\r\n/* eslint-disable import/no-named-default */\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { throwError } from 'rxjs';\r\nimport { MonkeyEcxService } from '../monkeyecx-service.service';\r\nimport { MonkeyEcxCookieStorageService } from '../storage/monkeyecx-cookie-storage.service';\r\nimport { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';\r\nimport { MonkeyEcxCommonsService } from '../commons';\r\nimport { MonkeyEcxConfig } from '../../interfaces';\r\nimport { MonkeyEcxErrorConfigService } from '../config/monkeyecx-error-config.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MonkeyEcxi18nConfigService extends MonkeyEcxCommonsService {\r\n constructor(\r\n monkeyecxService: MonkeyEcxService,\r\n private translateService: TranslateService,\r\n private monkeyecxCookieStorageService: MonkeyEcxCookieStorageService,\r\n private monkeyecxErrorConfigService: MonkeyEcxErrorConfigService\r\n ) {\r\n super(monkeyecxService);\r\n\r\n this.translateService.addLangs(['pt-BR', 'en-US']);\r\n this.translateService.setDefaultLang('pt-BR');\r\n this.translateService.use('pt-BR');\r\n }\r\n\r\n @MonkeyEcxCoreService({\r\n httpResponse: {\r\n httpCodeIgnore: [404],\r\n },\r\n requestInProgress: {\r\n showProgress: false,\r\n },\r\n })\r\n public apply(params: MonkeyEcxConfig, environment: any, change = false) {\r\n const { monkeyecxService, monkeyecxCookieStorageService, monkeyecxErrorConfigService } = this;\r\n let { i18n } = params;\r\n const externali18n = params?.externali18n?.[`${i18n?.lang || 'pt-BR'}`];\r\n const cookie = monkeyecxCookieStorageService.getCookie('monkey-app-locale');\r\n if (cookie && !change) {\r\n i18n = JSON.parse(atob(cookie));\r\n } else {\r\n monkeyecxCookieStorageService.setCookie('monkey-app-locale', btoa(JSON.stringify(i18n)));\r\n if (!cookie) change = true;\r\n }\r\n\r\n monkeyecxService?.get<any>(`${environment.localAssets}/i18n/${i18n?.lang}.json`)?.subscribe(\r\n (config: any) => {\r\n const { lang } = config;\r\n let { data } = config;\r\n if (externali18n) {\r\n data = {\r\n ...data,\r\n EXTERNAL: externali18n,\r\n };\r\n }\r\n this.translateService.setTranslation(lang, data, true);\r\n this.translateService.use(lang);\r\n if (change) document.location.reload();\r\n },\r\n (err: HttpErrorResponse) => {\r\n console.error(`i18n ${i18n?.lang} not found!`);\r\n monkeyecxErrorConfigService.apply('i18n');\r\n throwError(err);\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { datadogRum } from '@datadog/browser-rum';\r\nimport { MonkeyEcxConfig, MonkeyEcxConfigBoostrap } from '../../interfaces';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MonkeyEcxLogsConfigService {\r\n public apply(\r\n params: MonkeyEcxConfig,\r\n configBoostrap: MonkeyEcxConfigBoostrap,\r\n environment: any,\r\n identifyCode: string\r\n ) {\r\n const { program, logs } = params;\r\n if (logs?.enabled && environment.environment !== 'dev') {\r\n datadogRum.init({\r\n applicationId: environment?.dataDogApplicationId,\r\n clientToken: environment?.dataDogClientToken,\r\n service: program?.token,\r\n site: 'datadoghq.com',\r\n sampleRate: 100,\r\n replaySampleRate: 100,\r\n env: `monkey-front-${identifyCode}-${environment.environment}`,\r\n version: configBoostrap?.version,\r\n trackInteractions: true,\r\n trackSessionAcrossSubdomains: true,\r\n useSecureSessionCookie: true,\r\n useCrossSiteSessionCookie: true\r\n });\r\n datadogRum.startSessionReplayRecording();\r\n }\r\n }\r\n}\r\n","import { ApplicationRef, Injectable } from '@angular/core';\nimport { SwUpdate } from '@angular/service-worker';\nimport { MonkeyStyleGuideModalService } from 'monkey-style-guide';\nimport { concat, interval } from 'rxjs';\nimport { first } from 'rxjs/operators';\nimport { VersionChangedComponent } from '../../../components/version-changed';\nimport { MonkeyEcxConfigBoostrap } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonkeyEcxServiceWorkerConfigService {\n constructor(\n private appRef: ApplicationRef,\n private updates: SwUpdate,\n private modalService: MonkeyStyleGuideModalService) {\n // not to do\n }\n\n private handleValidation(config: MonkeyEcxConfigBoostrap) {\n const { updates, modalService } = this;\n updates?.available?.subscribe(() => {\n if (!config.showNewVersion || config.maintenance.closed) {\n document.location.reload();\n } else {\n modalService.open(VersionChangedComponent, {\n color: 'theme',\n size: 'md'\n });\n }\n });\n }\n\n private verify() {\n const { appRef, updates } = this;\n const appIsStable$ = appRef.isStable\n .pipe(first((isStable: boolean) => { return isStable === true; }));\n const everyHour$ = interval(1 * 60 * 60 * 1000);\n const everyHourOnceAppIsStable$ = concat(appIsStable$, everyHour$);\n everyHourOnceAppIsStable$.subscribe(() => {\n updates.checkForUpdate();\n });\n updates.checkForUpdate();\n }\n\n public apply(config: MonkeyEcxConfigBoostrap) {\n this.handleValidation(config);\n this.verify();\n }\n}\n","/* eslint-disable no-console */\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MonkeyEcxCommonsService } from '../commons';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MonkeyEcxSecurityConsoleConfigService extends MonkeyEcxCommonsService {\r\n constructor(private translateService: TranslateService) {\r\n super();\r\n\r\n this.geti18n(this.translateService, 'SERVICES.WARNING.CONSOLE');\r\n }\r\n\r\n private handleValidation() {\r\n this.__oni18nDataChanged$.subscribe(() => {\r\n const { __i18n } = this;\r\n const title = __i18n?.TITLE;\r\n const message = __i18n?.MESSAGE;\r\n if (title) {\r\n console.log(`%c${title}`, 'background: #f2f061; color: #ff0000; font-size: x-large');\r\n console.log(`%c${message}`, 'font-size: x-large');\r\n console.log(\r\n '%c __ __ _ ______ \\n ' +\r\n '| \\\\/ | ___ _ __ | | _____ _ _\\\\ \\\\ \\\\ \\\\ \\n ' +\r\n \"| |\\\\/| |/ _ \\\\| '_ \\\\| |/ / _ \\\\ | | |\\\\ \\\\ \\\\ \\\\ \\n \" +\r\n '| | | | (_) | | | | < __/ |_| |/ / / / \\n ' +\r\n '|_| |_|\\\\___/|_| |_|_|\\\\_\\\\___|\\\\__, /_/_/_/ \\n ' +\r\n ' |___/ \\n ' +\r\n 'Join us: https://monkeyecx.gupy.io', 'background: #1976d2; color: #fff'\r\n );\r\n }\r\n });\r\n }\r\n\r\n public apply() {\r\n this.handleValidation();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { MonkeyStyleGuideModalService } from 'monkey-style-guide';\r\nimport { ClosedToMaintenanceComponent } from '../../../components/closed-to-maintenance/closed-to-maintenance.component';\r\nimport { MonkeyEcxConfigBoostrap } from '../../interfaces/monkeyecx-config-boostrap';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MonkeyEcxMaintenanceConfigService {\r\n constructor(private modalService: MonkeyStyleGuideModalService, private router: Router) {\r\n // not to do\r\n }\r\n\r\n private handleValidation(config: MonkeyEcxConfigBoostrap) {\r\n if (config.maintenance.closed) {\r\n localStorage.clear();\r\n this.router.navigate(['']);\r\n\r\n setTimeout(() => {\r\n this.modalService.open(ClosedToMaintenanceComponent, {\r\n color: 'theme',\r\n size: 'md',\r\n data: config\r\n });\r\n }, 200);\r\n }\r\n }\r\n\r\n public apply(config: MonkeyEcxConfigBoostrap) {\r\n this.handleValidation(config);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { initialize, LDClient, LDFlagSet } from 'launchdarkly-js-client-sdk';\r\nimport { MonkeyUtils } from 'monkey-style-guide';\r\nimport { MonkeyEcxConfig } from '../../interfaces';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MonkeyEcxFeatureToggleService {\r\n private readonly flagSubject$: BehaviorSubject<any> = new BehaviorSubject(null);\r\n\r\n private flags: LDFlagSet | undefined = undefined;\r\n\r\n private ldClient: LDClient | undefined = undefined;\r\n\r\n constructor() {\r\n // not to do\r\n }\r\n\r\n private getAllFlags(): void {\r\n if (!this) return;\r\n this.flags = this.ldClient?.allFlags();\r\n\r\n this.flagSubject$.next(true);\r\n }\r\n\r\n private identify(config: MonkeyEcxConfig, environment: any): void {\r\n if (config) {\r\n const email = 'monkey@monkey.exchange';\r\n const user = {\r\n email,\r\n key: `${config.program?.token}#${email}`,\r\n };\r\n\r\n if (!this.ldClient) {\r\n this.ldClient = initialize(environment.launchDarklyClientSideID, user, {\r\n streaming: true,\r\n disableSyncEventPost: true,\r\n sendEvents: false,\r\n diagnosticOptOut: true,\r\n });\r\n\r\n this.ldClient.on('change', this.getAllFlags.bind(this));\r\n this.ldClient.on('ready', this.getAllFlags.bind(this));\r\n } else {\r\n this.ldClient.identify(user, undefined, this.getAllFlags);\r\n }\r\n }\r\n }\r\n\r\n public apply(configSubject$: BehaviorSubject<MonkeyEcxConfig>, environment: any) {\r\n if (environment.launchDarklyClientSideID) {\r\n configSubject$.subscribe((config) => {\r\n this.identify(config, environment);\r\n });\r\n } else {\r\n this.flagSubject$.next(true);\r\n }\r\n }\r\n\r\n public get onFlags(): Observable<any> {\r\n return this.flagSubject$.asObservable();\r\n }\r\n\r\n public getFlag(flag: string): boolean | null {\r\n const flagValue = this.flags?.[flag];\r\n\r\n return MonkeyUtils.persistNullEmptyUndefined(flagValue) ? flagValue : null;\r\n }\r\n}\r\n","/* eslint-disable no-console */\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { throwError, BehaviorSubject, Observable } from 'rxjs';\r\nimport { MonkeyStyleGuideSettingsService, MonkeyUtils } from 'monkey-style-guide';\r\nimport { MonkeyEcxi18nConfigService } from './monkeyecx-i18n-config.service';\r\nimport { MonkeyEcxLogsConfigService } from './monkeyecx-logs-config.service';\r\nimport { MonkeyEcxServiceWorkerConfigService } from './monkeyecx-service-worker-config.service';\r\nimport { MonkeyEcxSecurityConsoleConfigService } from './monkeyecx-security-console-config.service';\r\nimport { MonkeyEcxMaintenanceConfigService } from './monkeyecx-maintenance-config.service';\r\nimport { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';\r\nimport { MonkeyEcxCommonsService } from '../commons/monkeyecx-commons.service';\r\nimport { MonkeyEcxConfig } from '../../interfaces/monkeyecx-config';\r\nimport { MonkeyEcxConfigBoostrap } from '../../interfaces/monkeyecx-config-boostrap';\r\nimport { MonkeyEcxService } from '../monkeyecx-service.service';\r\nimport { MonkeyEcxErrorConfigService } from './monkeyecx-error-config.service';\r\nimport { MonkeyEcxFeatureToggleService } from './monkeyecx-feature-toggle.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MonkeyEcxConfigService extends MonkeyEcxCommonsService {\r\n private readonly configSubject$: BehaviorSubject<MonkeyEcxConfig>;\r\n\r\n private readonly configBoostrapSubject$: BehaviorSubject<MonkeyEcxConfig>;\r\n\r\n constructor(\r\n monkeyecxService: MonkeyEcxService,\r\n private monkeyecxi18nConfigService: MonkeyEcxi18nConfigService,\r\n private monkeyecxLogsConfigService: MonkeyEcxLogsConfigService,\r\n private monkeyStyleGuideSettingsService: MonkeyStyleGuideSettingsService,\r\n private monkeyecxServiceWorkerConfigService: MonkeyEcxServiceWorkerConfigService,\r\n private monkeyecxSecurityConsoleConfigService: MonkeyEcxSecurityConsoleConfigService,\r\n private monkeyecxMaintenanceConfigService: MonkeyEcxMaintenanceConfigService,\r\n private monkeyecxErrorConfigService: MonkeyEcxErrorConfigService,\r\n private monkeyEcxFeatureToggleService: MonkeyEcxFeatureToggleService\r\n ) {\r\n super(monkeyecxService);\r\n this.configSubject$ = new BehaviorSubject({});\r\n this.configBoostrapSubject$ = new BehaviorSubject({});\r\n }\r\n\r\n private internalValidations(...args: any[]) {\r\n const {\r\n monkeyecxServiceWorkerConfigService,\r\n monkeyecxSecurityConsoleConfigService,\r\n monkeyecxMaintenanceConfigService,\r\n } = this;\r\n const configBoostrap = args[0];\r\n const callback = args[1];\r\n monkeyecxSecurityConsoleConfigService.apply();\r\n monkeyecxServiceWorkerConfigService.apply(configBoostrap);\r\n monkeyecxMaintenanceConfigService.apply(configBoostrap);\r\n callback(configBoostrap);\r\n }\r\n\r\n private getWhiteLabelSettings(\r\n monkeyecxCode: string,\r\n configBoostrap: MonkeyEcxConfigBoostrap,\r\n callback: Function,\r\n environment: any,\r\n identifyCode: string\r\n ) {\r\n const {\r\n monkeyecxService,\r\n monkeyecxi18nConfigService,\r\n configSubject$,\r\n monkeyStyleGuideSettingsService,\r\n monkeyecxLogsConfigService,\r\n monkeyecxErrorConfigService,\r\n monkeyEcxFeatureToggleService,\r\n internalValidations,\r\n } = this;\r\n const url = `${environment.urlAssets}`;\r\n monkeyecxService\r\n ?.get<any>(\r\n `${url}/${monkeyecxCode.toLowerCase()}/white-label.json?t=${MonkeyUtils.getRandomString(\r\n 30\r\n )}`\r\n )\r\n ?.subscribe(\r\n (config: MonkeyEcxConfig) => {\r\n monkeyecxi18nConfigService.apply(config, environment);\r\n monkeyecxLogsConfigService.apply(config, configBoostrap, environment, identifyCode);\r\n monkeyEcxFeatureToggleService.apply(configSubject$, environment);\r\n monkeyStyleGuideSettingsService.boostrap(\r\n `${url}/${monkeyecxCode.toLowerCase()}/monkey-style-guide-settings.json?t=${MonkeyUtils.getRandomString(\r\n 30\r\n )}`,\r\n internalValidations.bind(this, configBoostrap, callback, environment)\r\n );\r\n configSubject$.next(config);\r\n },\r\n (err: HttpErrorResponse) => {\r\n monkeyecxErrorConfigService.apply('theme');\r\n console.error('Program Configuration not found!');\r\n throwError(err);\r\n }\r\n );\r\n }\r\n\r\n @MonkeyEcxCoreService({\r\n httpResponse: {\r\n httpCodeIgnore: [404],\r\n },\r\n requestInProgress: {\r\n showProgress: false,\r\n },\r\n })\r\n public init(callback: Function, environment: any, identifyCode: string, monkeyecxCode?: string) {\r\n const { monkeyecxService, configBoostrapSubject$, monkeyecxErrorConfigService } = this;\r\n\r\n monkeyecxService\r\n ?.get(`${environment.boostrapAssets}?t=${MonkeyUtils.getRandomString(30)}`, {\r\n observe: 'response',\r\n })\r\n ?.subscribe(\r\n (resp: any) => {\r\n const { headers, body } = resp;\r\n const monkeyCode = headers.get('monkey-code') || monkeyecxCode;\r\n if (monkeyCode) {\r\n this.getWhiteLabelSettings(monkeyCode, body, callback, environment, identifyCode);\r\n configBoostrapSubject$.next(body);\r\n } else {\r\n monkeyecxErrorConfigService.apply('theme');\r\n console.error(`Boostrap ${monkeyCode} Configuration not found!`);\r\n }\r\n },\r\n (err: HttpErrorResponse) => {\r\n monkeyecxErrorConfigService.apply('theme');\r\n console.error('Boostrap Configuration not found!');\r\n throwError(err);\r\n }\r\n );\r\n }\r\n\r\n public config(): Observable<any> {\r\n return this.configSubject$.asObservable();\r\n }\r\n\r\n public boostrapConfig(): Observable<any> {\r\n return this.configBoostrapSubject$.asObservable();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, of, BehaviorSubject } from 'rxjs';\r\nimport { MonkeyEcxConfigService } from '../config/monkeyecx-config.service';\r\nimport { MonkeyEcxUtils } from '../../utils/utils';\r\nimport {\r\n MonkeyEcxConfig,\r\n MonkeyEcxMeCredentials,\r\n MonkeyEcxTokenCredentials,\r\n} from '../../interfaces';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MonkeyEcxTokenStorageService {\r\n private token: MonkeyEcxTokenCredentials | null;\r\n\r\n private token$: BehaviorSubject<MonkeyEcxTokenCredentials | any>;\r\n\r\n private me$: BehaviorSubject<MonkeyEcxMeCredentials | any>;\r\n\r\n private config: MonkeyEcxConfig | null = null;\r\n\r\n constructor(private monkeyecxConfigService: MonkeyEcxConfigService) {\r\n this.token = {\r\n username: '',\r\n program: '',\r\n accessToken: '',\r\n refreshToken: '',\r\n companyId: '',\r\n governmentId: '',\r\n companyTypeUrl: '',\r\n companyType: '',\r\n programAdmin: false,\r\n programType: '',\r\n accessType: '',\r\n role: '',\r\n _clearIgnore: {\r\n ignore: ['username', 'program', 'accessType'],\r\n },\r\n };\r\n this.token$ = new BehaviorSubject(null);\r\n this.me$ = new BehaviorSubject(null);\r\n\r\n this.monkeyecxConfigService.config().subscribe((_: MonkeyEcxConfig) => {\r\n this.config = _;\r\n });\r\n }\r\n\r\n private setAllTokens(token: MonkeyEcxTokenCredentials) {\r\n const { token$ } = this;\r\n Object.entries(token).forEach(([key, value]) => {\r\n if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {\r\n localStorage.setItem(key, value);\r\n }\r\n });\r\n token$.next(token);\r\n }\r\n\r\n private getAllTokens(): MonkeyEcxTokenCredentials {\r\n const { token, config } = this;\r\n const handledToken: any = {\r\n ...token,\r\n };\r\n Object.entries(token || {}).forEach(([key, value]) => {\r\n handledToken[key] = localStorage.getItem(key);\r\n });\r\n\r\n if (!handledToken?.program && config?.program) {\r\n handledToken.program = config?.program?.token;\r\n }\r\n\r\n return handledToken;\r\n }\r\n\r\n private setAllMe(me: MonkeyEcxMeCredentials) {\r\n const { me$ } = this;\r\n let previousMe = JSON.parse(localStorage?.getItem('me') || '{}');\r\n Object.entries(me).forEach(([key, value]) => {\r\n if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {\r\n previousMe = {\r\n ...previousMe,\r\n [key]: value,\r\n };\r\n }\r\n });\r\n\r\n localStorage.setItem('me', JSON.stringify(previousMe));\r\n me$.next(previousMe);\r\n }\r\n\r\n private getAllMe(): MonkeyEcxMeCredentials {\r\n const me = localStorage.getItem('me');\r\n return JSON.parse(me || '{}') as MonkeyEcxMeCredentials;\r\n }\r\n\r\n public tokenHasChanged(): Observable<MonkeyEcxTokenCredentials> {\r\n return this.token$.asObservable();\r\n }\r\n\r\n public meHasChanged(): Observable<MonkeyEcxMeCredentials> {\r\n return this.me$.asObservable() || null;\r\n }\r\n\r\n public getToken(): MonkeyEcxTokenCredentials {\r\n return this.getAllTokens();\r\n }\r\n\r\n public getMe(): MonkeyEcxMeCredentials {\r\n return this.getAllMe();\r\n }\r\n\r\n public setToken(token: MonkeyEcxTokenCredentials) {\r\n this.setAllTokens(token);\r\n }\r\n\r\n public setMe(me: MonkeyEcxMeCredentials) {\r\n this.setAllMe(me);\r\n }\r\n\r\n public clear(force?: boolean): Observable<boolean> {\r\n const { token } = this;\r\n try {\r\n Object.entries(token || {}).forEach(([key, value]) => {\r\n if (\r\n (token?._clearIgnore?.ignore || []).filter((val: any) => {\r\n return val === key;\r\n }).length <= 0 ||\r\n force === true\r\n ) {\r\n localStorage.removeItem(key);\r\n }\r\n });\r\n localStorage.removeItem('me');\r\n } catch (error) {\r\n return of(false);\r\n }\r\n return of(true);\r\n }\r\n\r\n /**\r\n * @param fields (the name of fields you want to clear. ie: ['companyId', 'role', ...])\r\n */\r\n public clearCredentials(\r\n fields = ['companyId', 'governmentId', 'companyType', 'programAdmin', 'role']\r\n ) {\r\n fields?.forEach((key: string) => {\r\n localStorage.removeItem(key);\r\n });\r\n }\r\n}\r\n","import { ChangeDetectorRef, Directive, ElementRef, Input, OnInit } from '@angular/core';\r\nimport { MonkeyEcxTokenCredentials } from '../interfaces';\r\nimport { MonkeyEcxTokenStorageService } from '../services/storage';\r\n\r\n@Directive({\r\n selector: '[monkeyecxSecurity]',\r\n})\r\nexport class MonkeyEcxSecurityDirective implements OnInit {\r\n @Input('securityRoles') roles: string[] = [];\r\n\r\n @Input('securityByExclusion') byExclusion: boolean = false;\r\n\r\n private tokenCredentials: MonkeyEcxTokenCredentials | null = null;\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private tokenStorageService: MonkeyEcxTokenStorageService,\r\n private cdr: ChangeDetectorRef\r\n ) {\r\n // not to do\r\n }\r\n\r\n private getRole(): string {\r\n const { tokenCredentials } = this;\r\n\r\n if (!tokenCredentials) return '';\r\n\r\n if (tokenCredentials?.programAdmin === 'true') {\r\n return 'PROGRAM_ADMIN';\r\n }\r\n\r\n return tokenCredentials?.role || '';\r\n }\r\n\r\n private handleAccess() {\r\n const { roles, byExclusion } = this;\r\n let display = 'none';\r\n const found = roles?.indexOf(this.getRole());\r\n if (byExclusion) {\r\n display = 'block';\r\n if (found > -1) {\r\n display = 'none';\r\n }\r\n } else {\r\n display = 'none';\r\n if (found > -1) {\r\n display = 'block';\r\n }\r\n }\r\n\r\n if (!roles || roles.length === 0 || this.getRole() === 'PROGRAM_ADMIN') display = 'block';\r\n this.elementRef.nativeElement.style.display = display;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n ngOnInit() {\r\n this.elementRef.nativeElement.style.display = 'none';\r\n this.cdr.detectChanges();\r\n\r\n this.tokenStorageService.tokenHasChanged().subscribe(() => {\r\n this.tokenCredentials = this.tokenStorageService.getToken();\r\n this.handleAccess();\r\n });\r\n\r\n this.tokenCredentials = this.tokenStorageService.getToken();\r\n this.handleAccess();\r\n }\r\n}\r\n","import { Directive, Input, ElementRef, HostListener, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[monkeyecxTooltip]',\r\n})\r\nexport class MonkeyEcxTooltipDirective {\r\n @Input() tooltipDelay?: number;\r\n\r\n @Input() tooltipPosition?: string;\r\n\r\n @Input() tooltipText?: string;\r\n\r\n @Input() tooltipTitle?: string;\r\n\r\n @Input() enableToShow = true;\r\n\r\n offset = 10;\r\n\r\n tooltip: HTMLElement | null = null;\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {\r\n // not to do\r\n }\r\n\r\n @HostListener('mouseenter')\r\n onMouseEnter() {\r\n if (!this.tooltip) {\r\n this.show();\r\n }\r\n }\r\n\r\n @HostListener('mouseleave')\r\n onMouseLeave() {\r\n if (this.tooltip) {\r\n this.hide();\r\n }\r\n }\r\n\r\n @HostListener('click')\r\n clickout() {\r\n if (this.tooltip) {\r\n this.hide();\r\n }\r\n }\r\n\r\n show() {\r\n if (this.enableToShow) {\r\n this.create();\r\n this.setPosition();\r\n this.renderer.addClass(this.tooltip, 'monkeyecx-tooltip-show');\r\n setTimeout(() => {\r\n this.hide();\r\n }, 5000);\r\n }\r\n }\r\n\r\n hide() {\r\n if (!this.tooltip) return;\r\n this.renderer.removeClass(this.tooltip, 'monkeyecx-tooltip-show');\r\n this.renderer.removeChild(document.body, this.tooltip);\r\n\r\n this.tooltip = null;\r\n }\r\n\r\n create() {\r\n const tooltipElement = document.createElement('div');\r\n\r\n this.tooltip = this.renderer.createElement('span');\r\n\r\n if (this.tooltipTitle) {\r\n const tooltipTitleElement = document.createElement('span');\r\n\r\n tooltipTitleElement.innerText = `${this.tooltipTitle}`;\r\n tooltipTitleElement.className = 'monkeyecx-tooltip-title';\r\n\r\n tooltipElement.appendChild(tooltipTitleElement);\r\n }\r\n\r\n if (this.tooltipText) {\r\n const tooltipTextElement = document.createElement('span');\r\n\r\n tooltipTextElement.innerText = `${this.tooltipText}`;\r\n tooltipTextElement.className = 'monkeyecx-tooltip-description';\r\n tooltipElement.appendChild(tooltipTextElement);\r\n }\r\n\r\n this.renderer.appendChild(this.tooltip, tooltipElement);\r\n this.renderer.appendChild(document.body, this.tooltip);\r\n\r\n this.renderer.addClass(this.tooltip, 'monkeyecx-tooltip');\r\n this.renderer.addClass(this.tooltip, `monkeyecx-tooltip-${this.tooltipPosition}`);\r\n\r\n this.renderer.setStyle(this.tooltip, '-webkit-transition', `opacity ${this.tooltipDelay}ms`);\r\n this.renderer.setStyle(this.tooltip, '-moz-transition', `opacity ${this.tooltipDelay}ms`);\r\n this.renderer.setStyle(this.tooltip, '-o-transition', `opacity ${this.tooltipDelay}ms`);\r\n this.renderer.setStyle(this.tooltip, 'transition', `opacity ${this.tooltipDelay}ms`);\r\n }\r\n\r\n setPosition() {\r\n const hostPos = this.el.nativeElement.getBoundingClientRect();\r\n const tooltipPos = this.tooltip?.getBoundingClientRect();\r\n if (!tooltipPos) return;\r\n const scrollPos =\r\n window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n let top: number = 0;\r\n let left: number = 0;\r\n\r\n if (this.tooltipPosition === 'top') {\r\n top = hostPos.top - tooltipPos.height - this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n\r\n if (this.tooltipPosition === 'bottom') {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n\r\n if (this.tooltipPosition === 'left') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.left - tooltipPos.width - this.offset;\r\n }\r\n\r\n if (this.tooltipPosition === 'right') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.right + this.offset;\r\n }\r\n\r\n this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);\r\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`);\r\n }\r\n}\r\n","import { ChangeDetectorRef, Directive, ElementRef, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { MonkeyEcxUtils } from '../utils/utils';\r\nimport { MonkeyEcxFeatureToggleService } from '../services/config/monkeyecx-feature-toggle.service';\r\n\r\n@Directive({\r\n selector: '[monkeyecxFeature]',\r\n})\r\nexport class MonkeyEcxFeatureDirective implements OnDestroy, OnInit {\r\n @Input('featureName') feature?: string;\r\n\r\n private unsubscribeAll = new Subject();\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private elementRef: ElementRef,\r\n private monkeyecxFeatureToggleService: MonkeyEcxFeatureToggleService\r\n ) {\r\n // not to do\r\n }\r\n\r\n private getFeature(feature: string): boolean {\r\n const { monkeyecxFeatureToggleService } = this;\r\n\r\n if (!monkeyecxFeatureToggleService) {\r\n return false;\r\n }\r\n\r\n return monkeyecxFeatureToggleService?.getFlag(feature) || false;\r\n }\r\n\r\n private handleDisplay(): void {\r\n if (!this.feature) return;\r\n const flag = this.getFeature(this.feature);\r\n let display = 'none';\r\n\r\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(flag)) {\r\n return;\r\n }\r\n\r\n if (flag) {\r\n display = 'block';\r\n }\r\n\r\n if (display === 'none') {\r\n this.elementRef.nativeElement.remove();\r\n }\r\n\r\n this.elementRef.nativeElement.style.display = display;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribeAll.next();\r\n this.unsubscribeAll.complete();\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.feature) return;\r\n this.elementRef.nativeElement.style.display = 'none';\r\n this.cdr.detectChanges();\r\n\r\n this.monkeyecxFeatureToggleService.onFlags\r\n .pipe(takeUntil(this.unsubscribeAll))\r\n .subscribe((val: boolean) => {\r\n if (val) {\r\n this.handleDisplay();\r\n }\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { MonkeyEcxDragDropDirective } from './monkeyecx-drag-drop';\nimport { MonkeyEcxFeatureDirective } from './monkeyecx-feature-directive';\nimport { MonkeyEcxFormatCurrency } from './monkeyecx-format-currency';\nimport { MonkeyEcxFormatUpper } from './monkeyecx-format-upper';\nimport { MonkeyEcxOnlyAlphaNumericDirective } from './monkeyecx-only-alpha-numeric-directive';\nimport { MonkeyEcxOnlyNumbersDirective } from './monkeyecx-only-number-directive';\nimport { MonkeyEcxSecurityDirective } from './monkeyecx-security-directive';\nimport { MonkeyEcxTooltipDirective } from './monkeyecx-tooltip-directive';\n\n@NgModule({\n declarations: [\n MonkeyEcxDragDropDirective,\n MonkeyEcxFormatCurrency,\n MonkeyEcxFeatureDirective,\n MonkeyEcxFormatUpper,\n MonkeyEcxOnlyAlphaNumericDirective,\n MonkeyEcxOnlyNumbersDirective,\n MonkeyEcxSecurityDirective,\n MonkeyEcxTooltipDirective\n ],\n exports: [\n MonkeyEcxDragDropDirective,\n MonkeyEcxFormatCurrency,\n MonkeyEcxFeatureDirective,\n MonkeyEcxFormatUpper,\n MonkeyEcxOnlyAlphaNumericDirective,\n MonkeyEcxOnlyNumbersDirective,\n MonkeyEcxSecurityDirective,\n MonkeyEcxTooltipDirective\n ]\n})\nexport class MonkeyEcxDirectivesModule {}\n","/* eslint-disable no-console */\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpErrorResponse, HttpRequest } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MonkeyEcxAuthenticationService {\r\n constructor() {\r\n // not to do\r\n }\r\n\r\n hadAtLeastOneLogin = () => {\r\n console.error('hadAtLeastOneLogin needs to be declared!');\r\n return null;\r\n };\r\n\r\n redirectApp = () => {\r\n console.error('redirectApp needs to be declared!');\r\n return null;\r\n };\r\n\r\n redirectLoginWelcomeBack = () => {\r\n console.error('redirectLoginWelcomeBack needs to be declared!');\r\n return null;\r\n };\r\n\r\n isAuthorized = (): boolean => {\r\n console.error('isAuthorized needs to be declared!');\r\n return false;\r\n };\r\n\r\n getRequestWithHeaders = (request: HttpRequest<any>): HttpRequest<any> | null => {\r\n console.error('getRequestWithHeaders needs to be declared!');\r\n return null;\r\n };\r\n\r\n getRequestWithHeadersOb = (request: HttpRequest<any>): Observable<any> | null => {\r\n console.error('getRequestWithHeadersOb needs to be declared!');\r\n return null;\r\n };\r\n\r\n refreshShouldHappen = (response: HttpErrorResponse): boolean => {\r\n console.error('refreshShouldHappen needs to be declared!');\r\n return false;\r\n };\r\n\r\n refreshToken = (): Observable<any> | null => {\r\n console.error('refreshToken needs to be declared!');\r\n return null;\r\n };\r\n\r\n init(\r\n args: {\r\n hadAtLeastOneLogin?: any,\r\n redirectApp?: any,\r\n redirectLoginWelcomeBack?: any,\r\n isAuthorized?: any,\r\n getRequestWithHeaders?: any,\r\n getRequestWithHeadersOb?: any,\r\n refreshShouldHappen?: any,\r\n refreshToken?: any\r\n }\r\n ) {\r\n this.hadAtLeastOneLogin = args?.hadAtLeastOneLogin || this.hadAtLeastOneLogin.bind(this);\r\n this.redirectApp = args?.redirectApp || this.redirectApp.bind(this);\r\n this.redirectLoginWelcomeBack = args?.redirectLoginWelcomeBack ||\r\n this.redirectLoginWelcomeBack.bind(this);\r\n this.isAuthorized = args?.isAuthorized || this.isAuthorized.bind(this);\r\n this.getRequestWithHeaders = args?.getRequestWithHeaders ||\r\n this.getRequestWithHeaders.bind(this);\r\n this.getRequestWithHeadersOb = args?.getRequestWithHeadersOb.bind(this);\r\n this.refreshShouldHappen = args?.refreshShouldHappen || this.refreshShouldHappen.bind(this);\r\n this.refreshToken = args?.refreshToken || this.refreshToken.bind(this);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { MonkeyEcxAuthenticationService } from './monkeyecx-authentication.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MonkeyEcxAuthGuardLogin implements CanActivate {\r\n constructor(private monkeyecxAuthenticationService: MonkeyEcxAuthenticationService) {\r\n // not to do\r\n }\r\n\r\n canActivate(): Observable<boolean> | Promise<boolean> | boolean {\r\n if (this.monkeyecxAuthenticationService.isAuthorized()) {\r\n this.monkeyecxAuthenticationService.redirectApp();\r\n return false;\r\n }\r\n if (this.monkeyecxAuthenticationService.hadAtLeastOneLogin()) {\r\n this.monkeyecxAuthenticationService.redirectLoginWelcomeBack();\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { MonkeyEcxAuthenticationService } from './monkeyecx-authentication.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MonkeyEcxAuthGuard implements CanActivate {\r\n constructor(private monkeyecxAuthenticationService: MonkeyEcxAuthenticationService) {\r\n // not to do\r\n }\r\n\r\n canActivate(): Observable<boolean> | Promise<boolean> | boolean {\r\n const { monkeyecxAuthenticationService } = this;\r\n\r\n if (monkeyecxAuthenticationService.isAuthorized()) {\r\n return true;\r\n }\r\n\r\n monkeyecxAuthenticationService.redirectLoginWelcomeBack();\r\n\r\n return false;\r\n }\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MonkeyStyleGuideSnackbarService } from 'monkey-style-guide';\r\nimport { MonkeyEcxAuthenticationService } from '../auth';\r\nimport { MonkeyEcxService } from '../monkeyecx-service.service';\r\nimport { MonkeyEcxTokenStorageService } from '../storage';\r\nimport { MonkeyEcxCommonsService } from '../commons';\r\nimport { MonkeyEcxServiceCredentials } from '../../interfaces';\r\nimport { MonkeyEcxUtils } from '../../utils/utils';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MonkeyEcxHttpErrorHandlingService extends MonkeyEcxCommonsService {\r\n constructor(\r\n monkeyecxService: MonkeyEcxService,\r\n tokenStorage: MonkeyEcxTokenStorageService,\r\n private monkeyecxAuthenticationService: MonkeyEcxAuthenticationService,\r\n private router: Router,\r\n private snackbarService: MonkeyStyleGuideSnackbarService,\r\n private translateService: TranslateService\r\n ) {\r\n super(monkeyecxService, tokenStorage);\r\n\r\n super.resolve(null, null);\r\n\r\n this.geti18n(this.translateService, 'SERVICES.WARNING');\r\n }\r\n\r\n private isHttpCodeIgnoreMessage(tp: MonkeyEcxServiceCredentials, httpCode: number): boolean {\r\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(tp) && !tp?.httpResponse) {\r\n return false;\r\n }\r\n\r\n const found = (tp?.httpResponse?.httpCodeIgnore || [])?.indexOf(httpCode) > -1;\r\n\r\n return found;\r\n }\r\n\r\n private isHttpCodeIgnoreRedirect(\r\n tp: MonkeyEcxServiceCredentials,\r\n httpCode: number\r\n ): boolean {\r\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(tp) && !tp?.httpResponse) {\r\n return false;\r\n }\r\n\r\n const found = (tp?.httpResponse?.httpCodeIgnoreRedirect || [])?.indexOf(httpCode) > -1;\r\n\r\n return found;\r\n }\r\n\r\n private getMessageType(status: number): 'theme' | 'warning' | 'success' | 'error' | 'question' {\r\n if (status === 409 || status === 400) {\r\n return 'warning';\r\n }\r\n\r\n return 'error';\r\n }\r\n\r\n private showMessage(\r\n message: string,\r\n error: HttpErrorResponse,\r\n mkc: MonkeyEcxServiceCredentials\r\n ) {\r\n const { snackbarService } = this;\r\n if (!this.isHttpCodeIgnoreMessage(mkc, error.status)) {\r\n snackbarService.show({\r\n title: this.__i18n?.TITLE,\r\n message,\r\n type: this.getMessageType(error.status),\r\n duration: 4000,\r\n horizontalPosition: 'center',\r\n verticalPosition: 'top'\r\n });\r\n }\r\n }\r\n\r\n private handleMessage(error: HttpErrorResponse, mkc: MonkeyEcxServiceCredentials) {\r\n // eslint-disable-next-line camelcase\r\n const { notifications, error_description, message } = error.error;\r\n let customMessage = '';\r\n\r\n if (message) {\r\n customMessage = message;\r\n }\r\n\r\n // eslint-disable-next-line camelcase\r\n if (error_description) {\r\n // eslint-disable-next-line camelcase\r\n customMessage = error_description;\r\n }\r\n\r\n if (notifications) {\r\n customMessage = notifications;\r\n }\r\n\r\n if (!customMessage) {\r\n if (error.error instanceof Blob) {\r\n const blob = new Blob([error.error], {\r\n type: 'application/json'\r\n });\r\n const reader = new FileReader();\r\n reader.addEventListener('loadend', (e) => {\r\n const text = e?.target?.result;\r\n const jsonResp = JSON.parse(text as string);\r\n customMessage = jsonResp.notifications;\r\n this.showMessage(customMessage, error, mkc);\r\n });\r\n reader.readAsText(blob);\r\n } else {\r\n this.showMessage(this.__i18n['ERROR-HANDLING']?.ERROR, error, mkc);\r\n }\r\n } else {\r\n this.showMessage(customMessage, error, mkc);\r\n }\r\n }\r\n\r\n public handleError(error: HttpErrorResponse, mkc: MonkeyEcxServiceCredentials) {\r\n const { router } = this;\r\n const { status } = error;\r\n\r\n const routes: any = {\r\n 403: 'forbidden',\r\n 500: 'service-problems',\r\n 503: 'service-problems'\r\n };\r\n\r\n const found = routes[status];\r\n let timeout = 0;\r\n\r\n if (found && !this.isHttpCodeIgnoreRedirect(mkc, error?.status)) {\r\n const route = `/app/pages/${found}`.toLowerCase();\r\n timeout = 800;\r\n router.navigate([route]);\r\n }\r\n\r\n setTimeout(() => {\r\n this.handleMessage(error, mkc);\r\n }, timeout);\r\n }\r\n\r\n public handleErrorRefreshToken(error: HttpErrorResponse, mkc: MonkeyEcxServiceCredentials) {\r\n if (error.status === 401 || error.status === 400) {\r\n NgZone.call(this.monkeyecxAuthenticationService.redirectLoginWelcomeBack(), {});\r\n } else if (!this.isHttpCodeIgnoreMessage(mkc, error.status)) {\r\n this.handleMessage(error, mkc);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MonkeyStyleGuideModalService } from 'monkey-style-guide';\r\nimport { VersionChangedComponent } from '../../../components/version-changed';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MonkeyEcxOthersErrorsHandlingService {\r\n constructor(private modalService: MonkeyStyleGuideModalService) {\r\n // not to do\r\n }\r\n\r\n public handleError(error: any) {\r\n const { modalService } = this;\r\n const { message } = error;\r\n\r\n if (new RegExp(/Loading chunk [\\d]+ failed/).test(message)) {\r\n modalService.open(VersionChangedComponent, {\r\n color: 'theme',\r\n size: 'md'\r\n });\r\n }\r\n }\r\n}\r\n","import { Injectable, Injector, ErrorHandler } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { MonkeyEcxHttpErrorHandlingService } from './monkeyecx-http-error-handling.service';\r\nimport { MonkeyEcxHandlingService } from '../monkeyecx-handling.service';\r\nimport { MonkeyEcxOthersErrorsHandlingService } from './monkeyecx-others-errors-handling.service';\r\nimport { MonkeyEcxUtils } from '../../utils/utils';\r\nimport { MonkeyEcxServiceCredentials } from '../../interfaces';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MonkeyEcxErrorHandlingService implements ErrorHandler {\r\n constructor(private injector: Injector) {\r\n // not to do\r\n }\r\n\r\n handleError(error: any, type?: string) {\r\n const { injector } = this;\r\n const handlingService = injector.get(MonkeyEcxHandlingService);\r\n const httpErrorHandlingService = injector.get(MonkeyEcxHttpErrorHandlingService);\r\n const othersErrorsHandlingService = injector.get(MonkeyEcxOthersErrorsHandlingService);\r\n\r\n console.log('======error');\r\n console.log(error);\r\n\r\n if (error instanceof HttpErrorResponse) {\r\n const sCredentials: MonkeyEcxServiceCredentials =\r\n handlingService?.getMonkeyEcxServiceCredentials() || {};\r\n if (MonkeyEcxUtils.persistNullEmptyUndefined(type) && type === 'refresh_token') {\r\n httpErrorHandlingService.handleErrorRefreshToken(error, sCredentials);\r\n } else httpErrorHandlingService.handleError(error, sCredentials);\r\n } else {\r\n othersErrorsHandlingService.handleError(error);\r\n }\r\n }\r\n}\r\n","import { ErrorHandler, ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MonkeyEcxErrorHandlingService } from './monkeyecx-error-handling.service';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n})\r\nexport class MonkeyEcxErrorHandlingModule {\r\n public static forRoot(): ModuleWithProviders<MonkeyEcxErrorHandlingModule> {\r\n return {\r\n ngModule: MonkeyEcxErrorHandlingModule,\r\n providers: [\r\n {\r\n provide: ErrorHandler,\r\n useClass: MonkeyEcxErrorHandlingService,\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpErrorResponse,\r\n HttpEvent,\r\n HttpHandler,\r\n HttpInterceptor,\r\n HttpRequest\r\n} from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, map, mergeMap, take } from 'rxjs/operators';\r\nimport { MonkeyEcxAuthenticationService } from '../services/auth';\r\nimport { MonkeyEcxErrorHandlingService } from '../services/error';\r\n\r\nexport interface Headers {\r\n name: string;\r\n value: string;\r\n}\r\n\r\n@Injectable()\r\nexport class MonkeyEcxHttpConfigErrorInterceptor implements HttpInterceptor {\r\n constructor(\r\n private monkeyecxAuthenticationService: MonkeyEcxAuthenticationService,\r\n private monkeyecxErrorHandlingService: MonkeyEcxErrorHandlingService\r\n ) {\r\n // no to do\r\n }\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n return next.handle(request).pipe(\r\n map((event: HttpEvent<any>) => {\r\n return event;\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n if (this.monkeyecxAuthenticationService.refreshShouldHappen(error)) {\r\n return this.monkeyecxAuthenticationService?.refreshToken()?.pipe(\r\n take(1),\r\n map(() => {\r\n return this.monkeyecxAuthenticationService.getRequestWithHeaders(request);\r\n }),\r\n mergeMap((resp: any) => {\r\n return next.handle(resp).pipe(\r\n catchError((error: any) => {\r\n this.monkeyecxErrorHandlingService.handleError(error, 'refresh_token');\r\n return throwError(null);\r\n })\r\n );\r\n }),\r\n catchError((error: any) => {\r\n this.monkeyecxErrorHandlingService.handleError(error, 'refresh_token');\r\n return throwError(null);\r\n })\r\n ) || throwError(error);\r\n }\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpErrorResponse,\r\n HttpEvent,\r\n HttpHandler,\r\n HttpInterceptor,\r\n HttpRequest\r\n} from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, map, mergeMap, take } from 'rxjs/operators';\r\nimport { MonkeyEcxErrorHandlingService } from '../services/error';\r\nimport { MonkeyEcxAuthenticationService } from '../services/auth';\r\n\r\n@Injectable()\r\nexport class MonkeyEcxHttpConfigHeaderInterceptor implements HttpInterceptor {\r\n constructor(\r\n private monkeyecxAuthenticationService: MonkeyEcxAuthenticationService,\r\n private monkeyecxErrorHandlingService: MonkeyEcxErrorHandlingService\r\n ) {\r\n // not to do\r\n }\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n return this.monkeyecxAuthenticationService?.getRequestWithHeadersOb(request)?.pipe(\r\n take(1),\r\n map((event: any) => {\r\n return event;\r\n }),\r\n mergeMap((resp: any) => {\r\n request = request.clone({\r\n setHeaders: resp\r\n });\r\n return next.handle(request);\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n this.monkeyecxErrorHandlingService.handleError(error);\r\n return throwError(error);\r\n })\r\n ) || throwError('getRequestWithHeadersOb undefined');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { MonkeyEcxRequestProgressQueue, MonkeyEcxRequestQueue } from '../../interfaces';\r\nimport { Statics } from '../../utils';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MonkeyEcxRequestQueueHandlingService {\r\n private queue: MonkeyEcxRequestQueue[] = [];\r\n\r\n private queues$: BehaviorSubject<MonkeyEcxRequestQueue[] | any>;\r\n\r\n private newQueue = new BehaviorSubject(false);\r\n\r\n constructor() {\r\n this.queues$ = new BehaviorSubject([]);\r\n }\r\n\r\n private addToQueue(q: MonkeyEcxRequestQueue) {\r\n this.queue.push(q);\r\n this.queues$.next(this.queue);\r\n this.newQueue.next(true);\r\n }\r\n\r\n private markQueueItemAsFinish(q: MonkeyEcxRequestQueue, status?: number, action?: Function) {\r\n const saved = [...this.queue];\r\n this.queue = [\r\n ...saved.map((val: any) => {\r\n const valSaved = {\r\n ...val\r\n };\r\n if (val.status === Statics.MonkeyEcxQueueEvents.OnGoing) {\r\n if (valSaved.item.id === q.item.id) {\r\n return {\r\n ...valSaved,\r\n status: status || Statics.MonkeyEcxQueueEvents.Finished,\r\n action\r\n };\r\n }\r\n }\r\n return valSaved;\r\n })\r\n ];\r\n this.queues$.next(this.queue);\r\n }\r\n\r\n private updateQueue(q: MonkeyEcxRequestQueue, progress: MonkeyEcxRequestProgressQueue) {\r\n const saved = [...this.queue];\r\n this.queue = [\r\n ...saved.map((val: any) => {\r\n const valSaved = {\r\n ...val\r\n };\r\n const { total, loaded } = progress;\r\n const currentPecentage = Math.floor(((loaded||0) / (total || 0)) * 100);\r\n const totalPercentage = 100;\r\n if (valSaved.item.id === q.item.id) {\r\n return {\r\n ...valSaved,\r\n progress: {\r\n loaded,\r\n total,\r\n currentPercentage: currentPecentage,\r\n totalPercentage\r\n }\r\n };\r\n }\r\n return valSaved;\r\n })\r\n ];\r\n\r\n this.queues$.next(this.queue);\r\n }\r\n\r\n private deleteQueue(q: MonkeyEcxRequestQueue) {\r\n const saved = [...this.queue];\r\n this.queue = [\r\n ...saved.map((val: any) => {\r\n const valSaved = {\r\n ...val\r\n };\r\n if (valSaved.item.id === q.item.id) {\r\n return null;\r\n }\r\n return valSaved;\r\n })\r\n ].filter((_: any) => {\r\n return _;\r\n });\r\n\r\n this.queues$.next(this.queue);\r\n }\r\n\r\n public setQueue(q: MonkeyEcxRequestQueue | null) {\r\n if (!q) return;\r\n this.addToQueue(q);\r\n }\r\n\r\n public getQueue(): Observable<MonkeyEcxRequestQueue[]> {\r\n return this.queues$.asObservable();\r\n }\r\n\r\n public finishQueueItem(q: MonkeyEcxRequestQueue | null, action?: Function, status?: number) {\r\n if (!q) return;\r\n this.markQueueItemAsFinish(q, status, action);\r\n }\r\n\r\n public removeQueueItem(q: MonkeyEcxRequestQueue) {\r\n this.deleteQueue(q);\r\n }\r\n\r\n public updateQueueItem(q: MonkeyEcxRequestQueue, progress: MonkeyEcxRequestProgressQueue) {\r\n this.updateQueue(q, progress);\r\n }\r\n\r\n public hasNewQueue(): Observable<boolean> {\r\n return this.newQueue.pipe(\r\n map((_: any) => {\r\n return _;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { MonkeyEcxRequestProgressQueue, MonkeyEcxRequestQueue } from '../../interfaces';\r\nimport { Statics } from '../../utils';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MonkeyEcxRequestQueueModalHandlingService {\r\n private queue: MonkeyEcxRequestQueue[] = [];\r\n\r\n private queues$: BehaviorSubject<MonkeyEcxRequestQueue[] | any>;\r\n\r\n private newQueue$ = new BehaviorSubject(false);\r\n\r\n private allQueueFinished$ = new BehaviorSubject(false);\r\n\r\n constructor() {\r\n this.queues$ = new BehaviorSubject([]);\r\n }\r\n\r\n private addToQueue(q: MonkeyEcxRequestQueue) {\r\n this.queue.push(q);\r\n this.queues$.next(this.queue);\r\n this.newQueue$.next(true);\r\n }\r\n\r\n private markQueueItemAsFinish(q: MonkeyEcxRequestQueue, status?: number, action?: Function) {\r\n const saved = [...this.queue];\r\n this.queue = [\r\n ...saved.map((val: any) => {\r\n const valSaved = {\r\n ...val\r\n };\r\n if (val.status === Statics.MonkeyEcxQueueEvents.OnGoing) {\r\n if (valSaved.item.id === q.item.id) {\r\n return {\r\n ...valSaved,\r\n status: status || Statics.MonkeyEcxQueueEvents.Finished,\r\n action\r\n };\r\n }\r\n }\r\n return valSaved;\r\n })\r\n ];\r\n this.queues$.next(this.queue);\r\n }\r\n\r\n private updateQueue(q: MonkeyEcxRequestQueue, progress: MonkeyEcxRequestProgressQueue) {\r\n const saved = [...this.queue];\r\n this.queue = [\r\n ...saved.map((val: any) => {\r\n const valSaved = {\r\n ...val\r\n };\r\n const { total, loaded } = progress;\r\n const currentPecentage = Math.floor(((loaded||0) / (total||0)) * 100);\r\n const totalPercentage = 100;\r\n if (valSaved.item.id === q.item.id) {\r\n return {\r\n ...valSaved,\r\n progress: {\r\n loaded,\r\n total,\r\n currentPercentage: currentPecentage,\r\n totalPercentage\r\n }\r\n };\r\n }\r\n return valSaved;\r\n })\r\n ];\r\n\r\n this.queues$.next(this.queue);\r\n }\r\n\r\n private deleteQueue(q: MonkeyEcxRequestQueue) {\r\n const saved = [...this.queue];\r\n this.queue = [\r\n ...saved.map((val: any) => {\r\n const valSaved = {\r\n ...val\r\n };\r\n if (valSaved.item.id === q.item.id) {\r\n return null;\r\n }\r\n return valSaved;\r\n })\r\n ].filter((_: any) => {\r\n return _;\r\n });\r\n\r\n this.queues$.next(this.queue);\r\n if (this.queue.length <= 0) {\r\n this.allQueueFinished$.next(true);\r\n }\r\n }\r\n\r\n public setQueue(q: MonkeyEcxRequestQueue) {\r\n this.addToQueue(q);\r\n }\r\n\r\n public getQueue(): Observable<MonkeyEcxRequestQueue[]> {\r\n return this.queues$.asObservable();\r\n }\r\n\r\n public finishQueueItem(q: MonkeyEcxRequestQueue, action?: Function, status?: number) {\r\n this.markQueueItemAsFinish(q, status, action);\r\n }\r\n\r\n public removeQueueItem(q: MonkeyEcxRequestQueue) {\r\n this.deleteQueue(q);\r\n }\r\n\r\n public updateQueueItem(q: MonkeyEcxRequestQueue, progress: MonkeyEcxRequestProgressQueue) {\r\n this.updateQueue(q, progress);\r\n }\r\n\r\n public hasNewQueue(): Observable<boolean> {\r\n return this.newQueue$.pipe(\r\n map((_: any) => {\r\n return _;\r\n })\r\n );\r\n }\r\n\r\n public hasAllQueueFinished(): Observable<boolean> {\r\n return this.allQueueFinished$.pipe(\r\n map((_: any) => {\r\n return _;\r\n })\r\n );\r\n }\r\n}\r\n","/* eslint-disable max-len */\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { MonkeyEcxRequestQueueHandlingService } from '../services/request-queue';\r\nimport { MonkeyEcxHandlingService } from '../services/monkeyecx-handling.service';\r\nimport { MonkeyEcxRequestQueue } from '../interfaces';\r\nimport { MonkeyEcxUtils } from '../utils/utils';\r\n\r\n@Injectable()\r\nexport class MonkeyEcxHttpConfigQueueInterceptor implements HttpInterceptor {\r\n constructor(\r\n private injector: Injector,\r\n private monkeyecxRequestQueueHandlingService: MonkeyEcxRequestQueueHandlingService\r\n ) {\r\n // not to do\r\n }\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n const { injector, isQueueProperty } = this;\r\n const monkeyecxHandlingService = injector.get(MonkeyEcxHandlingService);\r\n\r\n const monkeyecxRequestQueue: MonkeyEcxRequestQueue | null = monkeyecxHandlingService?.getMonkeyEcxRequestQueue();\r\n if (isQueueProperty(monkeyecxRequestQueue)) {\r\n this.monkeyecxRequestQueueHandlingService.setQueue(monkeyecxRequestQueue);\r\n }\r\n\r\n return next.handle(request).pipe(\r\n finalize(() => {\r\n if (isQueueProperty(monkeyecxRequestQueue)) {\r\n this.monkeyecxRequestQueueHandlingService.finishQueueItem(monkeyecxRequestQueue);\r\n }\r\n })\r\n );\r\n }\r\n\r\n private isQueueProperty(mrq?: MonkeyEcxRequestQueue | null): boolean {\r\n return (\r\n MonkeyEcxUtils.persistNullEmptyUndefined(mrq) &&\r\n MonkeyEcxUtils.persistNullEmptyUndefined(mrq?.item?.name)\r\n );\r\n }\r\n}\r\n","/* eslint-disable max-len */\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { MonkeyEcxHandlingService } from '../services/monkeyecx-handling.service';\r\nimport { MonkeyEcxRequestLoadingInProgress } from '../interfaces';\r\nimport { MonkeyEcxUtils } from '../utils/utils';\r\nimport { MonkeyEcxProgressBarService } from '../../components';\r\n\r\n@Injectable()\r\nexport class MonkeyEcxHttpConfigLoadingInProgressInterceptor implements HttpInterceptor {\r\n constructor(private injector: Injector) {\r\n // no to do\r\n }\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n const { injector, isLoadingInProgressProperty } = this;\r\n const handlingService: MonkeyEcxHandlingService = injector.get(MonkeyEcxHandlingService);\r\n const progressBarService: MonkeyEcxProgressBarService = injector.get(\r\n MonkeyEcxProgressBarService\r\n );\r\n\r\n const inProgress: MonkeyEcxRequestLoadingInProgress | null = handlingService?.getMonkeyEcxServiceCredentials()\r\n ? handlingService?.getMonkeyEcxServiceCredentials()?.requestInProgress || null\r\n : null;\r\n if (isLoadingInProgressProperty(inProgress)) {\r\n progressBarService.show();\r\n }\r\n\r\n return next.handle(request).pipe(\r\n finalize(() => {\r\n if (isLoadingInProgressProperty(inProgress)) {\r\n progressBarService.hide();\r\n }\r\n })\r\n );\r\n }\r\n\r\n private isLoadingInProgressProperty(mlp: MonkeyEcxRequestLoadingInProgress | null): boolean {\r\n if (!mlp) return false;\r\n return MonkeyEcxUtils.persistNullEmptyUndefined(mlp) &&\r\n MonkeyEcxUtils.persistNullEmptyUndefined(mlp.showProgress)\r\n ? mlp.showProgress\r\n : true;\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MonkeyEcxHttpConfigErrorInterceptor } from './monkeyecx-http-config-error.interceptor';\r\nimport { MonkeyEcxHttpConfigHeaderInterceptor } from './monkeyecx-http-config-header.interceptor';\r\nimport { MonkeyEcxHttpConfigQueueInterceptor } from './monkeyecx-http-config-queue.interceptor';\r\nimport { MonkeyEcxHttpConfigLoadingInProgressInterceptor } from './monkeyecx-http-config-loading-in-progress.interceptor';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n})\r\nexport class MonkeyEcxHttpConfigInterceptorModule {\r\n public static forRoot(): ModuleWithProviders<MonkeyEcxHttpConfigInterceptorModule> {\r\n return {\r\n ngModule: MonkeyEcxHttpConfigInterceptorModule,\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: MonkeyEcxHttpConfigHeaderInterceptor,\r\n multi: true,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: MonkeyEcxHttpConfigErrorInterceptor,\r\n multi: true,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: MonkeyEcxHttpConfigQueueInterceptor,\r\n multi: true,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: MonkeyEcxHttpConfigLoadingInProgressInterceptor,\r\n multi: true,\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n","export interface Link {\r\n href: string;\r\n type: string;\r\n}\r\n\r\nexport class MonkeyEcxModel {\r\n _links: any;\r\n\r\n public getAction(type: string): Link | null {\r\n const { _links } = this;\r\n if (!_links) return null;\r\n const link = _links[type.toLowerCase()];\r\n return link;\r\n }\r\n}\r\n","/* eslint-disable indent */\r\nimport { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\r\nimport { MonkeyEcxConfigService } from './monkeyecx-config.service';\r\n\r\n@NgModule()\r\nexport class MonkeyEcxConfigModule {\r\n constructor(\r\n @Optional()\r\n @SkipSelf()\r\n parentModule: MonkeyEcxConfigModule\r\n ) {\r\n if (parentModule) {\r\n throw new Error('MonkeyEcxConfigModule is already loaded. Import it in the AppModule only!');\r\n }\r\n }\r\n\r\n static forRoot(): ModuleWithProviders<MonkeyEcxConfigModule> {\r\n return {\r\n ngModule: MonkeyEcxConfigModule,\r\n providers: [MonkeyEcxConfigService]\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MonkeyEcxRequestSchedule } from '../../interfaces';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MonkeyEcxLoggedHandlingService {\r\n private schedules: MonkeyEcxRequestSchedule[] = [];\r\n\r\n constructor() {\r\n // not to do\r\n }\r\n\r\n private destroySchedule() {\r\n this.schedules.forEach((sch: MonkeyEcxRequestSchedule) => {\r\n clearInterval(sch.interval);\r\n });\r\n this.schedules = [];\r\n }\r\n\r\n public addSchedule(sch: MonkeyEcxRequestSchedule[]) {\r\n this.schedules = sch;\r\n }\r\n\r\n public destroy() {\r\n this.destroySchedule();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { MonkeyEcxUtils } from '../../utils/utils';\r\nimport { MonkeyEcxRequestDownload } from '../../interfaces';\r\nimport { MonkeyEcxDownloadEvents } from '../../utils/statics';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MonkeyEcxRequestDownloadHandlingService {\r\n private download: MonkeyEcxRequestDownload[] = [];\r\n\r\n private download$: BehaviorSubject<MonkeyEcxRequestDownload[] | any>;\r\n\r\n constructor() {\r\n this.download$ = new BehaviorSubject([]);\r\n }\r\n\r\n private addTo(q: MonkeyEcxRequestDownload) {\r\n this.download.push(q);\r\n this.download$.next(this.download);\r\n }\r\n\r\n private markItemAsFinish(q: MonkeyEcxRequestDownload, status?: number) {\r\n const saved = [...this.download];\r\n this.download = [\r\n ...saved\r\n .map((val: any) => {\r\n if (val.status === MonkeyEcxDownloadEvents.OnGoing) {\r\n const valSaved = {\r\n ...val\r\n };\r\n if (valSaved.item.id === q.item.id) {\r\n return {\r\n ...valSaved,\r\n status: status || MonkeyEcxDownloadEvents.Finished\r\n };\r\n }\r\n return valSaved;\r\n }\r\n return null;\r\n })\r\n .filter((_: any) => {\r\n return _;\r\n })\r\n ];\r\n\r\n this.download = this.download.filter((_: any) => {\r\n return _.status === MonkeyEcxDownloadEvents.OnGoing;\r\n });\r\n this.download$.next(this.download);\r\n }\r\n\r\n private updateItem(q: MonkeyEcxRequestDownload, loaded?: number, total?: number) {\r\n const saved = [...this.download];\r\n this.download = [\r\n ...saved.map((val: any) => {\r\n const valSaved = {\r\n ...val\r\n };\r\n const currentPecentage = Math.floor(((loaded || 0) / (total || 0)) * 100);\r\n const totalPercentage = 100;\r\n if (valSaved.item.id === q.item.id) {\r\n return {\r\n ...valSaved,\r\n loaded,\r\n total,\r\n currentPercentage: currentPecentage,\r\n totalPercentage\r\n };\r\n }\r\n return valSaved;\r\n })\r\n ];\r\n this.download$.next(this.download);\r\n }\r\n\r\n public set(q: MonkeyEcxRequestDownload) {\r\n this.addTo(q);\r\n }\r\n\r\n public get(): Observable<MonkeyEcxRequestDownload[]> {\r\n return this.download$.asObservable();\r\n }\r\n\r\n public update(q: MonkeyEcxRequestDownload, loaded?: number, total?: number) {\r\n this.updateItem(q, loaded, total);\r\n }\r\n\r\n public finishItem(q: MonkeyEcxRequestDownload, status?: number) {\r\n this.markItemAsFinish(q, status);\r\n }\r\n\r\n public hasDownloadOnGoing(): boolean {\r\n const found = this.download.find((_: any) => {\r\n return _.status === MonkeyEcxDownloadEvents.OnGoing;\r\n });\r\n return MonkeyEcxUtils.persistNullEmptyUndefined(found);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { MonkeyEcxUtils } from '../../utils/utils';\r\nimport { Statics } from '../../utils';\r\nimport { MonkeyEcxRequestDownloaded } from '../../interfaces';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MonkeyEcxRequestDownloadedHandlingService {\r\n private downloaded: MonkeyEcxRequestDownloaded[] = [];\r\n\r\n private downloaded$: BehaviorSubject<MonkeyEcxRequestDownloaded[] | any>;\r\n\r\n constructor() {\r\n this.downloaded$ = new BehaviorSubject([]);\r\n }\r\n\r\n private addTo(q: MonkeyEcxRequestDownloaded) {\r\n this.downloaded.push(q);\r\n this.downloaded$.next(this.downloaded);\r\n }\r\n\r\n private markItemAsFinish(q: MonkeyEcxRequestDownloaded, status?: number) {\r\n const saved = [...this.downloaded];\r\n this.downloaded = [\r\n ...saved.map((val: any) => {\r\n if (val.status === Statics.MonkeyEcxDownloadEvents.OnGoing) {\r\n const valSaved = {\r\n ...val\r\n };\r\n if (valSaved.item.id === q.item.id) {\r\n return {\r\n ...valSaved,\r\n status: status || Statics.MonkeyEcxDownloadEvents.Finished,\r\n action: q.action\r\n };\r\n }\r\n return valSaved;\r\n }\r\n return val;\r\n })\r\n ];\r\n this.downloaded$.next(this.downloaded);\r\n }\r\n\r\n public set(q: MonkeyEcxRequestDownloaded) {\r\n this.addTo(q);\r\n }\r\n\r\n public get(): Observable<MonkeyEcxRequestDownloaded[]> {\r\n return this.downloaded$.asObservable();\r\n }\r\n\r\n public finishItem(q: MonkeyEcxRequestDownloaded, status?: number) {\r\n this.markItemAsFinish(q, status);\r\n }\r\n\r\n public hasDownloadOnGoing(): boolean {\r\n const found = this.downloaded.find((_: any) => {\r\n return _.status === Statics.MonkeyEcxDownloadEvents.OnGoing;\r\n });\r\n return MonkeyEcxUtils.persistNullEmptyUndefined(found);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, ActivatedRouteSnapshot } from '@angular/router';\r\nimport { MonkeyEcxUtils } from '../../utils/utils';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MonkeyEcxDiscoveryParamsService {\r\n constructor(private router: Router) {\r\n // not to do\r\n }\r\n\r\n private getLastChild(route: ActivatedRouteSnapshot): ActivatedRouteSnapshot {\r\n if (route.firstChild) {\r\n return this.getLastChild(route.firstChild);\r\n }\r\n\r\n return route;\r\n }\r\n\r\n public setData(field: string, value: any): any {\r\n const { root } = this.router.routerState.snapshot;\r\n const route: ActivatedRouteSnapshot = this.getLastChild(root);\r\n route.data[field] = value;\r\n }\r\n\r\n public getData(field: string): any {\r\n const { root } = this.router.routerState.snapshot;\r\n const route: ActivatedRouteSnapshot = this.getLastChild(root);\r\n\r\n const found: any = MonkeyEcxUtils.persistNullEmptyUndefined(route) ? route.data[field] : null;\r\n return found;\r\n }\r\n\r\n public getDataFromCurrentNavigation(field: string): any {\r\n const navigation = this.router.getCurrentNavigation();\r\n let state: any = null;\r\n if (MonkeyEcxUtils.persistNullEmptyUndefined(navigation)) {\r\n state = navigation?.extras.state;\r\n }\r\n\r\n return state ? state[field] : null;\r\n }\r\n\r\n public getParam(param: string): string | null {\r\n const { root } = this.router.routerState.snapshot;\r\n const route: ActivatedRouteSnapshot = this.getLastChild(root);\r\n let found: string = MonkeyEcxUtils.persistNullEmptyUndefined(route)\r\n ? route?.paramMap?.get(param) || ''\r\n : '';\r\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(found)) found = this.getData(param);\r\n return found;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MonkeyEcxService } from '../monkeyecx-service.service';\r\nimport { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';\r\nimport { MonkeyEcxLoggedHandlingService } from '../logged';\r\nimport { MonkeyEcxUtils } from '../../utils/utils';\r\nimport { MonkeyEcxRequestSchedule } from '../../interfaces';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MonkeyEcxRequestScheduleService {\r\n private schedule: (MonkeyEcxRequestSchedule | any)[] = [];\r\n\r\n constructor(\r\n public monkeyecxService: MonkeyEcxService,\r\n private monkeyecxLoggedHandlingService: MonkeyEcxLoggedHandlingService\r\n ) {\r\n // not to do\r\n }\r\n\r\n private addToSchedule(q: MonkeyEcxRequestSchedule) {\r\n this.schedule.push(q);\r\n this.monkeyecxLoggedHandlingService.addSchedule(this.schedule);\r\n }\r\n\r\n private removeFromSchedule(q: MonkeyEcxRequestSchedule) {\r\n clearInterval(q.interval);\r\n const saved = [...this.schedule];\r\n this.schedule = [\r\n ...saved.map((sch: MonkeyEcxRequestSchedule) => {\r\n const savedLocal = {\r\n ...sch,\r\n };\r\n if (sch.id === q.id) {\r\n return null;\r\n }\r\n return savedLocal;\r\n }),\r\n ].filter((_: any) => {\r\n return _;\r\n });\r\n this.monkeyecxLoggedHandlingService.addSchedule(this.schedule);\r\n }\r\n\r\n private removeFromScheduleById(id: string) {\r\n const q = this.getScheduleById(id);\r\n clearInterval(q.interval);\r\n const saved = [...this.schedule];\r\n this.schedule = [\r\n ...saved.map((sch: MonkeyEcxRequestSchedule) => {\r\n const savedLocal = {\r\n ...sch,\r\n };\r\n if (sch.id === q.id) {\r\n return null;\r\n }\r\n return savedLocal;\r\n }),\r\n ].filter((_: any) => {\r\n return _;\r\n });\r\n this.monkeyecxLoggedHandlingService.addSchedule(this.schedule);\r\n }\r\n\r\n @MonkeyEcxCoreService({\r\n httpResponse: {\r\n httpCodeIgnore: [400, 403, 404, 500, 503],\r\n },\r\n requestInProgress: {\r\n showProgress: false,\r\n },\r\n })\r\n private doCall(sch: MonkeyEcxRequestSchedule) {\r\n const { url, method, params, data, action } = sch;\r\n\r\n this.monkeyecxService[method.toLowerCase()]<any>(`${url}`, params).subscribe(\r\n (resp: any) => {\r\n action(\r\n {\r\n ...data,\r\n ...resp,\r\n },\r\n sch\r\n );\r\n },\r\n () => {\r\n this.removeFromSchedule(sch);\r\n }\r\n );\r\n }\r\n\r\n public setSchedule(q: MonkeyEcxRequestSchedule, delay: number = 3000) {\r\n const interval = setInterval(() => {\r\n this.doCall({\r\n ...q,\r\n interval,\r\n });\r\n }, delay);\r\n\r\n const sch = {\r\n ...q,\r\n id: `${MonkeyEcxUtils.getRandomString(40)}`,\r\n interval,\r\n };\r\n\r\n this.addToSchedule(sch);\r\n return sch;\r\n }\r\n\r\n public removeSchedule(q: MonkeyEcxRequestSchedule) {\r\n this.removeFromSchedule(q);\r\n }\r\n\r\n public removeScheduleById(id: string) {\r\n this.removeFromScheduleById(id);\r\n }\r\n\r\n public getScheduleById(id: string) {\r\n const q = this.schedule.find((sch: MonkeyEcxRequestSchedule) => {\r\n return sch.id === id;\r\n });\r\n return q;\r\n }\r\n}\r\n","import { MonkeyEcxUtils } from '../utils/utils';\r\n\r\n/* eslint-disable no-unused-vars */\r\nexport enum OpSearch {\r\n LIKE = ':*:value*',\r\n BETWEEN = ':first AND :last',\r\n OR = 'OR',\r\n AND = 'AND',\r\n GT = '>:value',\r\n LT = '<:value',\r\n EQUAL = '::value'\r\n}\r\n\r\nexport class MonkeyEcxSpecificationSearch {\r\n constructor() {\r\n // not to do\r\n }\r\n\r\n private handleValue(value: any) {\r\n return Object.entries(value).map(([key, value1]) => {\r\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(value1)) {\r\n return null;\r\n }\r\n if (Array.isArray(value1)) {\r\n if (key === OpSearch.BETWEEN) {\r\n return `${key}`.replace(':first', value1[0]).replace(':last', value1[1]);\r\n }\r\n }\r\n return `${key}`.replace(':value', `${value1}`);\r\n })[0];\r\n }\r\n\r\n private queryVisitor(value: any): any {\r\n const okay = Object.entries(value).map(([key1, value1]) => {\r\n if (key1 === OpSearch.OR || key1 === OpSearch.AND) {\r\n const join = (value1 as any[])\r\n .map((_: any) => {\r\n return Object.entries(_).map(([key2, value2]) => {\r\n if (value2 instanceof Object) {\r\n value2 = this.handleValue(value2);\r\n }\r\n return this.criteriaParser(key2, value2);\r\n })[0];\r\n })\r\n .filter((_: any) => {\r\n return _;\r\n })\r\n .join(` ${key1} `);\r\n return `${join ? `(${join})` : ''}`;\r\n }\r\n if (value1 instanceof Object) {\r\n value1 = this.handleValue(value1);\r\n }\r\n return this.criteriaParser(key1, value1);\r\n });\r\n return okay\r\n .filter((_: any) => {\r\n return _;\r\n })\r\n .join(' AND ');\r\n }\r\n\r\n private criteriaParser(key: string, value: any | any[]) {\r\n if (!MonkeyEcxUtils.persistNullEmptyUndefined(value)) {\r\n return '';\r\n }\r\n if (value instanceof Object) {\r\n return this.queryVisitor(value);\r\n }\r\n return `${key}${value}`;\r\n }\r\n\r\n public build(spec: any): string {\r\n try {\r\n return this.queryVisitor(spec);\r\n } catch (e) {\r\n throw new Error(`MonkeyEcxSpecificationSearch Error ${e}`);\r\n }\r\n }\r\n\r\n public buildMoreThanOne(field: string, op = OpSearch.EQUAL) {\r\n let self: any = this;\r\n try {\r\n if (!self[field]) return [];\r\n\r\n const filters = self[field]?.split(',')?.map((filter: string) => {\r\n if (!filter) return null;\r\n return {\r\n [field]: {\r\n [op]: `${filter}`\r\n }\r\n };\r\n }).filter((val: any) => { return val; });\r\n return filters || [];\r\n } catch (e) {\r\n throw new Error(`MonkeyEcxSpecificationSearch Error ${e}`);\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { CommonModule } from '@angular/common';\r\nimport {\r\n MonkeyStyleGuideModalService,\r\n MonkeyStyleGuideModule,\r\n MonkeyStyleGuideSettingsService,\r\n MonkeyStyleGuideSnackbarService\r\n} from 'monkey-style-guide';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ServiceWorkerModule } from '@angular/service-worker';\r\nimport { ClosedToMaintenanceModule } from './components/closed-to-maintenance/closed-to-maintenance.module';\r\nimport { VersionChangedModule } from './components/version-changed/version-changed.module';\r\nimport { MonkeyEcxConfigModule } from './core/services/config/monkeyecx-config.module';\r\nimport { MonkeyEcxHttpConfigInterceptorModule } from './core/interceptors/monkeyecx-http-config-interceptor.module';\r\nimport { MonkeyEcxErrorHandlingModule } from './core/services/error/monkeyecx-error-handling.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n TranslateModule.forRoot(),\r\n MonkeyEcxConfigModule.forRoot(),\r\n MonkeyEcxHttpConfigInterceptorModule.forRoot(),\r\n MonkeyEcxErrorHandlingModule.forRoot(),\r\n MonkeyStyleGuideModule,\r\n ServiceWorkerModule.register('ngsw-worker.js'),\r\n ClosedToMaintenanceModule,\r\n VersionChangedModule\r\n ],\r\n providers: [\r\n MonkeyStyleGuideModalService,\r\n MonkeyStyleGuideSettingsService,\r\n MonkeyStyleGuideSnackbarService\r\n ]\r\n})\r\nexport class MonkeyFrontCoreModuleModule {}\r\n","/*\r\n * Public API Surface of monkey-front-core\r\n */\r\nexport * from './lib/components';\r\nexport * from './lib/core';\r\nexport * from './lib/monkey-front-core.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["moment","moment_","Pipe","Component","ViewEncapsulation","Input","Injectable","formatNumber","TranslateService","CurrencyPipe","NgModule","CommonModule","MonkeyButtonModule","MonkeyIconModule","MonkeyInputModule","MonkeyModalModule","TranslateModule","BehaviorSubject","filter","NavigationStart","NavigationEnd","NavigationError","NavigationCancel","Statics.MonkeyEcxQueueEvents","Statics.MonkeyEcxUploadEvents","DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties","DecoratorsUtils.buildQueuePropertys","MonkeyUtils","DecoratorsUtils.buildDownloadPropertys","DecoratorsUtils.buildUploadPropertys","EventEmitter","Directive","Output","HostBinding","HostListener","NG_VALUE_ACCESSOR","forwardRef","Self","HttpParams","take","takeWhile","throwError","map","catchError","window","datadogRum","first","interval","concat","initialize","of","Subject","takeUntil","NgZone","HttpErrorResponse","ErrorHandler","mergeMap","finalize","HTTP_INTERCEPTORS","Optional","SkipSelf","Statics.MonkeyEcxDownloadEvents","OpSearch","HttpClientModule","MonkeyStyleGuideModule","MonkeyStyleGuideModalService","MonkeyStyleGuideSettingsService","MonkeyStyleGuideSnackbarService","ServiceWorkerModule"],"mappings":"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"}
|