monkey-front-core 0.0.458 → 0.0.461
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/esm2020/lib/components/alerts/alerts.component.mjs +45 -45
- package/esm2020/lib/components/alerts/alerts.module.mjs +21 -21
- package/esm2020/lib/components/alerts/index.mjs +3 -3
- package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.component.mjs +29 -29
- package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.module.mjs +43 -43
- package/esm2020/lib/components/closed-to-maintenance/index.mjs +3 -3
- package/esm2020/lib/components/currency-config/currency-config.component.mjs +39 -39
- package/esm2020/lib/components/currency-config/currency-config.module.mjs +39 -39
- package/esm2020/lib/components/currency-config/index.mjs +3 -3
- package/esm2020/lib/components/index.mjs +6 -6
- package/esm2020/lib/components/progress-bar/index.mjs +4 -4
- package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +23 -23
- package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +18 -18
- package/esm2020/lib/components/progress-bar/progress-bar.service.mjs +50 -50
- package/esm2020/lib/components/version-changed/index.mjs +3 -3
- package/esm2020/lib/components/version-changed/version-changed.component.mjs +24 -24
- package/esm2020/lib/components/version-changed/version-changed.module.mjs +39 -39
- package/esm2020/lib/core/decorators/index.mjs +5 -5
- package/esm2020/lib/core/decorators/monkeyecx-charts-decorators.mjs +40 -40
- package/esm2020/lib/core/decorators/monkeyecx-decorators.mjs +111 -111
- package/esm2020/lib/core/decorators/monkeyecx-download-decorators.mjs +26 -26
- package/esm2020/lib/core/decorators/monkeyecx-upload-decorators.mjs +26 -26
- package/esm2020/lib/core/directives/index.mjs +13 -13
- package/esm2020/lib/core/directives/monkeyecx-directives-module.mjs +73 -73
- package/esm2020/lib/core/directives/monkeyecx-drag-drop.mjs +57 -57
- package/esm2020/lib/core/directives/monkeyecx-feature-by-program-directive.mjs +54 -54
- package/esm2020/lib/core/directives/monkeyecx-feature-directive.mjs +68 -68
- package/esm2020/lib/core/directives/monkeyecx-format-currency.mjs +44 -44
- package/esm2020/lib/core/directives/monkeyecx-format-upper.mjs +67 -67
- package/esm2020/lib/core/directives/monkeyecx-only-alpha-numeric-directive.mjs +28 -28
- package/esm2020/lib/core/directives/monkeyecx-only-number-directive.mjs +28 -28
- package/esm2020/lib/core/directives/monkeyecx-popover-options.directive.mjs +39 -39
- package/esm2020/lib/core/directives/monkeyecx-popover.directive.mjs +212 -212
- package/esm2020/lib/core/directives/monkeyecx-security-directive.mjs +75 -75
- package/esm2020/lib/core/directives/monkeyecx-tooltip-directive.mjs +123 -123
- package/esm2020/lib/core/index.mjs +10 -10
- package/esm2020/lib/core/interceptors/index.mjs +6 -6
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-error.interceptor.mjs +49 -49
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-header.interceptor.mjs +59 -59
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-interceptor.module.mjs +47 -47
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.mjs +43 -43
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.mjs +37 -37
- package/esm2020/lib/core/interfaces/index.mjs +35 -35
- package/esm2020/lib/core/interfaces/monkeyecx-auth-credentials.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-company-pendencies.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-company.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-config-bootstrap.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-config.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-country-security.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-error-response.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-filter.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-handled-error-response.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-header-credentials.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-intercom-options.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-interface.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-me-credentials.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-navigation.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-pagination.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-program.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-releases.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-request-in-progress.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-request-paged.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-resolver.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-response-links.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-response-paged.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-saved-state.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-scroll-options.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-service-credentials.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-storage.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-store.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-support-options.mjs +2 -2
- package/esm2020/lib/core/interfaces/monkeyecx-token-credentials.mjs +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-translate-options.mjs +2 -2
- package/esm2020/lib/core/interfaces/request-download/index.mjs +4 -4
- package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-download.mjs +2 -2
- package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-downloaded.mjs +2 -2
- package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-item-download.mjs +2 -2
- package/esm2020/lib/core/interfaces/request-queue/index.mjs +4 -4
- package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.mjs +2 -2
- package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.mjs +2 -2
- package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-queue.mjs +2 -2
- package/esm2020/lib/core/interfaces/request-upload/index.mjs +3 -3
- package/esm2020/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.mjs +2 -2
- package/esm2020/lib/core/interfaces/request-upload/monkeyecx-request-upload.mjs +2 -2
- package/esm2020/lib/core/interfaces/schedules/index.mjs +2 -2
- package/esm2020/lib/core/interfaces/schedules/monkeyecx-request-schedule.mjs +2 -2
- package/esm2020/lib/core/model/index.mjs +3 -3
- package/esm2020/lib/core/model/monkeyecx-links.model.mjs +8 -8
- package/esm2020/lib/core/model/monkeyecx-model.mjs +25 -25
- package/esm2020/lib/core/pipes/index.mjs +22 -22
- package/esm2020/lib/core/pipes/monkeyecx-blob-secure.mjs +26 -26
- package/esm2020/lib/core/pipes/monkeyecx-display-first-name.mjs +19 -19
- package/esm2020/lib/core/pipes/monkeyecx-display-initials.mjs +21 -21
- package/esm2020/lib/core/pipes/monkeyecx-display-support-phone.mjs +33 -33
- package/esm2020/lib/core/pipes/monkeyecx-format-address.mjs +20 -20
- package/esm2020/lib/core/pipes/monkeyecx-format-beautify-json.mjs +38 -38
- package/esm2020/lib/core/pipes/monkeyecx-format-currency.mjs +27 -27
- package/esm2020/lib/core/pipes/monkeyecx-format-date-group.mjs +45 -45
- package/esm2020/lib/core/pipes/monkeyecx-format-date-timelapse.mjs +32 -32
- package/esm2020/lib/core/pipes/monkeyecx-format-date-unix-timelapse.mjs +36 -36
- package/esm2020/lib/core/pipes/monkeyecx-format-document.mjs +20 -20
- package/esm2020/lib/core/pipes/monkeyecx-format-number.mjs +20 -20
- package/esm2020/lib/core/pipes/monkeyecx-format-phone.mjs +42 -42
- package/esm2020/lib/core/pipes/monkeyecx-format-size.mjs +20 -20
- package/esm2020/lib/core/pipes/monkeyecx-format-tax.mjs +23 -23
- package/esm2020/lib/core/pipes/monkeyecx-format-type-document.mjs +19 -19
- package/esm2020/lib/core/pipes/monkeyecx-format-value.mjs +19 -19
- package/esm2020/lib/core/pipes/monkeyecx-format-zipcode.mjs +19 -19
- package/esm2020/lib/core/pipes/monkeyecx-pipes.module.mjs +117 -117
- package/esm2020/lib/core/pipes/monkeyecx-text-truncate.mjs +23 -23
- package/esm2020/lib/core/pipes/monkeyecx-truncate-qtd.mjs +16 -16
- package/esm2020/lib/core/services/alerts/index.mjs +2 -2
- package/esm2020/lib/core/services/alerts/monkeyecx-alerts.service.mjs +42 -42
- package/esm2020/lib/core/services/auth/index.mjs +6 -6
- package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-company.service.mjs +28 -28
- package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-login.service.mjs +27 -27
- package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-role.service.mjs +79 -79
- package/esm2020/lib/core/services/auth/monkeyecx-auth-guard.service.mjs +26 -26
- package/esm2020/lib/core/services/auth/monkeyecx-authentication.service.mjs +78 -78
- package/esm2020/lib/core/services/commons/index.mjs +3 -3
- package/esm2020/lib/core/services/commons/monkeyecx-commons-resolve.service.mjs +121 -121
- package/esm2020/lib/core/services/commons/monkeyecx-commons.service.mjs +362 -362
- package/esm2020/lib/core/services/config/monkeyecx-alerts-config.service.mjs +42 -42
- package/esm2020/lib/core/services/config/monkeyecx-config.module.mjs +28 -28
- package/esm2020/lib/core/services/config/monkeyecx-config.service.mjs +107 -107
- package/esm2020/lib/core/services/config/monkeyecx-currency-config.service.mjs +84 -84
- package/esm2020/lib/core/services/config/monkeyecx-error-config.service.mjs +85 -85
- package/esm2020/lib/core/services/config/monkeyecx-feature-toggle.service.mjs +76 -76
- package/esm2020/lib/core/services/config/monkeyecx-gtm-config.service.mjs +50 -50
- package/esm2020/lib/core/services/config/monkeyecx-i18n-config.service.mjs +152 -152
- package/esm2020/lib/core/services/config/monkeyecx-logs-config.service.mjs +34 -34
- package/esm2020/lib/core/services/config/monkeyecx-maintenance-config.service.mjs +37 -37
- package/esm2020/lib/core/services/config/monkeyecx-security-console-config.service.mjs +47 -47
- package/esm2020/lib/core/services/config/monkeyecx-service-worker-config.service.mjs +53 -53
- package/esm2020/lib/core/services/error/index.mjs +5 -5
- package/esm2020/lib/core/services/error/monkeyecx-error-handling.module.mjs +27 -27
- package/esm2020/lib/core/services/error/monkeyecx-error-handling.service.mjs +37 -37
- package/esm2020/lib/core/services/error/monkeyecx-http-error-handling.service.mjs +138 -138
- package/esm2020/lib/core/services/error/monkeyecx-others-errors-handling.service.mjs +29 -29
- package/esm2020/lib/core/services/index.mjs +26 -26
- package/esm2020/lib/core/services/logged/index.mjs +2 -2
- package/esm2020/lib/core/services/logged/monkeyecx-logged-handling.service.mjs +40 -40
- package/esm2020/lib/core/services/monkeyecx-handling.service.mjs +50 -50
- package/esm2020/lib/core/services/monkeyecx-service.service.mjs +104 -104
- package/esm2020/lib/core/services/pagination/index.mjs +2 -2
- package/esm2020/lib/core/services/pagination/monkeyecx-pagination.service.mjs +29 -29
- package/esm2020/lib/core/services/request-download/index.mjs +3 -3
- package/esm2020/lib/core/services/request-download/monkeyecx-request-download-handling.service.mjs +93 -93
- package/esm2020/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.mjs +61 -61
- package/esm2020/lib/core/services/request-paged/index.mjs +2 -2
- package/esm2020/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.mjs +42 -42
- package/esm2020/lib/core/services/request-queue/index.mjs +3 -3
- package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.mjs +114 -114
- package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.mjs +119 -119
- package/esm2020/lib/core/services/routes/index.mjs +2 -2
- package/esm2020/lib/core/services/routes/monkeyecx-dicovery-params.service.mjs +54 -54
- package/esm2020/lib/core/services/schedules/index.mjs +2 -2
- package/esm2020/lib/core/services/schedules/monkeyecx-request-schedule.service.mjs +188 -188
- package/esm2020/lib/core/services/storage/index.mjs +3 -3
- package/esm2020/lib/core/services/storage/monkeyecx-cookie-storage.service.mjs +32 -32
- package/esm2020/lib/core/services/storage/monkeyecx-token-storage.service.mjs +236 -236
- package/esm2020/lib/core/services/store/index.mjs +4 -2
- package/esm2020/lib/core/services/store/monkeyecx-store.actions.mjs +24 -0
- package/esm2020/lib/core/services/store/monkeyecx-store.selector.mjs +68 -0
- package/esm2020/lib/core/services/store/monkeyecx-store.service.mjs +189 -189
- package/esm2020/lib/core/specification-search/index.mjs +2 -2
- package/esm2020/lib/core/specification-search/monkeyecx-specification-search.mjs +108 -108
- package/esm2020/lib/core/utils/decorators-utils.mjs +40 -40
- package/esm2020/lib/core/utils/index.mjs +8 -8
- package/esm2020/lib/core/utils/statics.mjs +45 -45
- package/esm2020/lib/core/utils/utils.mjs +267 -267
- package/esm2020/lib/core/utils/validate-utils.mjs +205 -205
- package/esm2020/lib/core/utils/validators.mjs +268 -268
- package/esm2020/lib/monkey-front-core.module.mjs +71 -71
- package/esm2020/lib/store/actions/index.mjs +2 -2
- package/esm2020/lib/store/actions/monkeyecx-storage.actions.mjs +8 -8
- package/esm2020/lib/store/index.mjs +4 -4
- package/esm2020/lib/store/reducers/index.mjs +3 -3
- package/esm2020/lib/store/reducers/monkeyecx-seeder.reducer.mjs +53 -53
- package/esm2020/lib/store/reducers/monkeyecx-storage.reducer.mjs +40 -40
- package/esm2020/lib/store/selectors/index.mjs +2 -2
- package/esm2020/lib/store/selectors/monkeyecx-storage.selector.mjs +17 -17
- package/esm2020/monkey-front-core.mjs +4 -4
- package/esm2020/public-api.mjs +8 -8
- package/fesm2015/monkey-front-core.mjs +5953 -5859
- package/fesm2015/monkey-front-core.mjs.map +1 -1
- package/fesm2020/monkey-front-core.mjs +6011 -5921
- package/fesm2020/monkey-front-core.mjs.map +1 -1
- package/lib/components/alerts/alerts.component.d.ts +22 -22
- package/lib/components/alerts/alerts.module.d.ts +10 -10
- package/lib/components/alerts/index.d.ts +2 -2
- package/lib/components/closed-to-maintenance/closed-to-maintenance.component.d.ts +13 -13
- package/lib/components/closed-to-maintenance/closed-to-maintenance.module.d.ts +11 -11
- package/lib/components/closed-to-maintenance/index.d.ts +2 -2
- package/lib/components/currency-config/currency-config.component.d.ts +17 -17
- package/lib/components/currency-config/currency-config.module.d.ts +10 -10
- package/lib/components/currency-config/index.d.ts +2 -2
- package/lib/components/index.d.ts +5 -5
- package/lib/components/progress-bar/index.d.ts +3 -3
- package/lib/components/progress-bar/progress-bar.component.d.ts +11 -11
- package/lib/components/progress-bar/progress-bar.module.d.ts +8 -8
- package/lib/components/progress-bar/progress-bar.service.d.ts +14 -14
- package/lib/components/version-changed/index.d.ts +2 -2
- package/lib/components/version-changed/version-changed.component.d.ts +9 -9
- package/lib/components/version-changed/version-changed.module.d.ts +10 -10
- package/lib/core/decorators/index.d.ts +4 -4
- package/lib/core/decorators/monkeyecx-charts-decorators.d.ts +1 -1
- package/lib/core/decorators/monkeyecx-decorators.d.ts +7 -7
- package/lib/core/decorators/monkeyecx-download-decorators.d.ts +2 -2
- package/lib/core/decorators/monkeyecx-upload-decorators.d.ts +2 -2
- package/lib/core/directives/index.d.ts +12 -12
- package/lib/core/directives/monkeyecx-directives-module.d.ts +19 -19
- package/lib/core/directives/monkeyecx-drag-drop.d.ts +12 -12
- package/lib/core/directives/monkeyecx-feature-by-program-directive.d.ts +16 -16
- package/lib/core/directives/monkeyecx-feature-directive.d.ts +17 -17
- package/lib/core/directives/monkeyecx-format-currency.d.ts +16 -16
- package/lib/core/directives/monkeyecx-format-upper.d.ts +18 -18
- package/lib/core/directives/monkeyecx-only-alpha-numeric-directive.d.ts +9 -9
- package/lib/core/directives/monkeyecx-only-number-directive.d.ts +9 -9
- package/lib/core/directives/monkeyecx-popover-options.directive.d.ts +19 -19
- package/lib/core/directives/monkeyecx-popover.directive.d.ts +43 -43
- package/lib/core/directives/monkeyecx-security-directive.d.ts +18 -18
- package/lib/core/directives/monkeyecx-tooltip-directive.d.ts +23 -23
- package/lib/core/index.d.ts +9 -9
- package/lib/core/interceptors/index.d.ts +5 -5
- package/lib/core/interceptors/monkeyecx-http-config-error.interceptor.d.ts +18 -18
- package/lib/core/interceptors/monkeyecx-http-config-header.interceptor.d.ts +16 -16
- package/lib/core/interceptors/monkeyecx-http-config-interceptor.module.d.ts +9 -9
- package/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.d.ts +12 -12
- package/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.d.ts +14 -14
- package/lib/core/interfaces/index.d.ts +34 -34
- package/lib/core/interfaces/monkeyecx-auth-credentials.d.ts +15 -15
- package/lib/core/interfaces/monkeyecx-company-pendencies.d.ts +14 -14
- package/lib/core/interfaces/monkeyecx-company.d.ts +10 -10
- package/lib/core/interfaces/monkeyecx-config-bootstrap.d.ts +14 -14
- package/lib/core/interfaces/monkeyecx-config.d.ts +132 -132
- package/lib/core/interfaces/monkeyecx-country-security.d.ts +4 -4
- package/lib/core/interfaces/monkeyecx-error-response.d.ts +5 -5
- package/lib/core/interfaces/monkeyecx-filter.d.ts +42 -42
- package/lib/core/interfaces/monkeyecx-handled-error-response.d.ts +10 -10
- package/lib/core/interfaces/monkeyecx-header-credentials.d.ts +4 -4
- package/lib/core/interfaces/monkeyecx-intercom-options.d.ts +4 -4
- package/lib/core/interfaces/monkeyecx-interface.d.ts +11 -11
- package/lib/core/interfaces/monkeyecx-me-credentials.d.ts +22 -22
- package/lib/core/interfaces/monkeyecx-navigation.d.ts +27 -27
- package/lib/core/interfaces/monkeyecx-pagination.d.ts +26 -25
- package/lib/core/interfaces/monkeyecx-program.d.ts +10 -10
- package/lib/core/interfaces/monkeyecx-releases.d.ts +9 -9
- package/lib/core/interfaces/monkeyecx-request-in-progress.d.ts +3 -3
- package/lib/core/interfaces/monkeyecx-request-paged.d.ts +23 -23
- package/lib/core/interfaces/monkeyecx-resolver.d.ts +39 -39
- package/lib/core/interfaces/monkeyecx-response-links.d.ts +11 -11
- package/lib/core/interfaces/monkeyecx-response-paged.d.ts +6 -6
- package/lib/core/interfaces/monkeyecx-saved-state.d.ts +5 -5
- package/lib/core/interfaces/monkeyecx-scroll-options.d.ts +5 -5
- package/lib/core/interfaces/monkeyecx-service-credentials.d.ts +12 -12
- package/lib/core/interfaces/monkeyecx-storage.d.ts +38 -38
- package/lib/core/interfaces/monkeyecx-store.d.ts +34 -31
- package/lib/core/interfaces/monkeyecx-support-options.d.ts +4 -4
- package/lib/core/interfaces/monkeyecx-token-credentials.d.ts +21 -21
- package/lib/core/interfaces/monkeyecx-translate-options.d.ts +4 -4
- package/lib/core/interfaces/request-download/index.d.ts +3 -3
- package/lib/core/interfaces/request-download/monkeyecx-request-download.d.ts +10 -10
- package/lib/core/interfaces/request-download/monkeyecx-request-downloaded.d.ts +7 -7
- package/lib/core/interfaces/request-download/monkeyecx-request-item-download.d.ts +7 -7
- package/lib/core/interfaces/request-queue/index.d.ts +3 -3
- package/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.d.ts +7 -7
- package/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.d.ts +6 -6
- package/lib/core/interfaces/request-queue/monkeyecx-request-queue.d.ts +8 -8
- package/lib/core/interfaces/request-upload/index.d.ts +2 -2
- package/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.d.ts +5 -5
- package/lib/core/interfaces/request-upload/monkeyecx-request-upload.d.ts +10 -10
- package/lib/core/interfaces/schedules/index.d.ts +1 -1
- package/lib/core/interfaces/schedules/monkeyecx-request-schedule.d.ts +13 -13
- package/lib/core/model/index.d.ts +2 -2
- package/lib/core/model/monkeyecx-links.model.d.ts +4 -4
- package/lib/core/model/monkeyecx-model.d.ts +13 -13
- package/lib/core/pipes/index.d.ts +21 -21
- package/lib/core/pipes/monkeyecx-blob-secure.d.ts +13 -13
- package/lib/core/pipes/monkeyecx-display-first-name.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-display-initials.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-display-support-phone.d.ts +18 -18
- package/lib/core/pipes/monkeyecx-format-address.d.ts +14 -14
- package/lib/core/pipes/monkeyecx-format-beautify-json.d.ts +8 -8
- package/lib/core/pipes/monkeyecx-format-currency.d.ts +11 -11
- package/lib/core/pipes/monkeyecx-format-date-group.d.ts +11 -11
- package/lib/core/pipes/monkeyecx-format-date-timelapse.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-date-unix-timelapse.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-document.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-number.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-phone.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-size.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-tax.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-type-document.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-value.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-format-zipcode.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-pipes.module.d.ts +26 -26
- package/lib/core/pipes/monkeyecx-text-truncate.d.ts +7 -7
- package/lib/core/pipes/monkeyecx-truncate-qtd.d.ts +7 -7
- package/lib/core/services/alerts/index.d.ts +1 -1
- package/lib/core/services/alerts/monkeyecx-alerts.service.d.ts +21 -21
- package/lib/core/services/auth/index.d.ts +5 -5
- package/lib/core/services/auth/monkeyecx-auth-guard-company.service.d.ts +10 -10
- package/lib/core/services/auth/monkeyecx-auth-guard-login.service.d.ts +10 -10
- package/lib/core/services/auth/monkeyecx-auth-guard-role.service.d.ts +16 -16
- package/lib/core/services/auth/monkeyecx-auth-guard.service.d.ts +10 -10
- package/lib/core/services/auth/monkeyecx-authentication.service.d.ts +35 -35
- package/lib/core/services/commons/index.d.ts +2 -2
- package/lib/core/services/commons/monkeyecx-commons-resolve.service.d.ts +53 -53
- package/lib/core/services/commons/monkeyecx-commons.service.d.ts +120 -120
- package/lib/core/services/config/monkeyecx-alerts-config.service.d.ts +11 -11
- package/lib/core/services/config/monkeyecx-config.module.d.ts +9 -9
- package/lib/core/services/config/monkeyecx-config.service.d.ts +36 -36
- package/lib/core/services/config/monkeyecx-currency-config.service.d.ts +15 -15
- package/lib/core/services/config/monkeyecx-error-config.service.d.ts +8 -8
- package/lib/core/services/config/monkeyecx-feature-toggle.service.d.ts +16 -16
- package/lib/core/services/config/monkeyecx-gtm-config.service.d.ts +8 -8
- package/lib/core/services/config/monkeyecx-i18n-config.service.d.ts +18 -18
- package/lib/core/services/config/monkeyecx-logs-config.service.d.ts +7 -7
- package/lib/core/services/config/monkeyecx-maintenance-config.service.d.ts +13 -13
- package/lib/core/services/config/monkeyecx-security-console-config.service.d.ts +12 -12
- package/lib/core/services/config/monkeyecx-service-worker-config.service.d.ts +16 -16
- package/lib/core/services/error/index.d.ts +4 -4
- package/lib/core/services/error/monkeyecx-error-handling.module.d.ts +9 -9
- package/lib/core/services/error/monkeyecx-error-handling.service.d.ts +9 -9
- package/lib/core/services/error/monkeyecx-http-error-handling.service.d.ts +26 -26
- package/lib/core/services/error/monkeyecx-others-errors-handling.service.d.ts +9 -9
- package/lib/core/services/index.d.ts +25 -25
- package/lib/core/services/logged/index.d.ts +1 -1
- package/lib/core/services/logged/monkeyecx-logged-handling.service.d.ts +14 -14
- package/lib/core/services/monkeyecx-handling.service.d.ts +22 -22
- package/lib/core/services/monkeyecx-service.service.d.ts +18 -18
- package/lib/core/services/pagination/index.d.ts +1 -1
- package/lib/core/services/pagination/monkeyecx-pagination.service.d.ts +9 -9
- package/lib/core/services/request-download/index.d.ts +2 -2
- package/lib/core/services/request-download/monkeyecx-request-download-handling.service.d.ts +18 -18
- package/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.d.ts +16 -16
- package/lib/core/services/request-paged/index.d.ts +1 -1
- package/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.d.ts +11 -11
- package/lib/core/services/request-queue/index.d.ts +2 -2
- package/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.d.ts +21 -21
- package/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.d.ts +23 -23
- package/lib/core/services/routes/index.d.ts +1 -1
- package/lib/core/services/routes/monkeyecx-dicovery-params.service.d.ts +13 -13
- package/lib/core/services/schedules/index.d.ts +1 -1
- package/lib/core/services/schedules/monkeyecx-request-schedule.service.d.ts +47 -47
- package/lib/core/services/storage/index.d.ts +2 -2
- package/lib/core/services/storage/monkeyecx-cookie-storage.service.d.ts +11 -11
- package/lib/core/services/storage/monkeyecx-token-storage.service.d.ts +30 -30
- package/lib/core/services/store/index.d.ts +3 -1
- package/lib/core/services/store/monkeyecx-store.actions.d.ts +51 -0
- package/lib/core/services/store/monkeyecx-store.selector.d.ts +28 -0
- package/lib/core/services/store/monkeyecx-store.service.d.ts +50 -50
- package/lib/core/specification-search/index.d.ts +1 -1
- package/lib/core/specification-search/monkeyecx-specification-search.d.ts +20 -20
- package/lib/core/utils/decorators-utils.d.ts +5 -5
- package/lib/core/utils/index.d.ts +6 -6
- package/lib/core/utils/statics.d.ts +34 -34
- package/lib/core/utils/utils.d.ts +26 -26
- package/lib/core/utils/validate-utils.d.ts +66 -66
- package/lib/core/utils/validators.d.ts +36 -36
- package/lib/monkey-front-core.module.d.ts +19 -19
- package/lib/store/actions/index.d.ts +1 -1
- package/lib/store/actions/monkeyecx-storage.actions.d.ts +23 -23
- package/lib/store/index.d.ts +3 -3
- package/lib/store/reducers/index.d.ts +2 -2
- package/lib/store/reducers/monkeyecx-seeder.reducer.d.ts +2 -2
- package/lib/store/reducers/monkeyecx-storage.reducer.d.ts +13 -13
- package/lib/store/selectors/index.d.ts +1 -1
- package/lib/store/selectors/monkeyecx-storage.selector.d.ts +8 -8
- package/monkey-front-core-0.0.461.tgz +0 -0
- package/monkey-front-core.d.ts +5 -5
- package/package.json +4 -3
- package/public-api.d.ts +4 -4
- package/monkey-front-core-0.0.458.tgz +0 -0
|
@@ -1,121 +1,121 @@
|
|
|
1
|
-
import { inject } from '@angular/core';
|
|
2
|
-
import { Router, } from '@angular/router';
|
|
3
|
-
import { Store } from '@ngrx/store';
|
|
4
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
5
|
-
import { MonkeyEcxCommonsService } from '.';
|
|
6
|
-
import { MonkeyEcxDiscoveryParamsService, MonkeyEcxPaginationService, } from '../..';
|
|
7
|
-
import { MonkeyEcxUtils } from '../../utils';
|
|
8
|
-
export class MonkeyEcxCommonsResolveService extends MonkeyEcxCommonsService {
|
|
9
|
-
constructor(monkeyecxService, tokenStorage, config) {
|
|
10
|
-
super(monkeyecxService, tokenStorage);
|
|
11
|
-
this.route = null;
|
|
12
|
-
this.currentRoute = null;
|
|
13
|
-
this.paginationService = inject(MonkeyEcxPaginationService);
|
|
14
|
-
this.translateService = inject(TranslateService);
|
|
15
|
-
this.router = inject(Router);
|
|
16
|
-
this.store = inject(Store);
|
|
17
|
-
this.monkeyDiscovery = inject(MonkeyEcxDiscoveryParamsService);
|
|
18
|
-
const { actions, selectors } = config;
|
|
19
|
-
this.action = actions;
|
|
20
|
-
this.selector = selectors;
|
|
21
|
-
}
|
|
22
|
-
async getData() {
|
|
23
|
-
try {
|
|
24
|
-
const { store, route, action, selector, tokenStorage } = this;
|
|
25
|
-
const { companyId, companyType, governmentId } = await tokenStorage?.getToken();
|
|
26
|
-
const identifier = `${companyId || governmentId}-${companyType}`;
|
|
27
|
-
if (!route)
|
|
28
|
-
return;
|
|
29
|
-
const url = MonkeyEcxUtils.replaceVariables(route, { companyId });
|
|
30
|
-
store.dispatch(action.load({ url, identifier }));
|
|
31
|
-
this.__data$ = store.select(selector.selectByIdentifier({ identifier }));
|
|
32
|
-
this.__control$ = store.select(selector.selectControl());
|
|
33
|
-
if (selector?.selectLinks) {
|
|
34
|
-
this.__pagination$ = store.select(selector.selectLinks({ identifier }));
|
|
35
|
-
}
|
|
36
|
-
if (selector?.selectPage) {
|
|
37
|
-
this.__page$ = store.select(selector.selectPage({ identifier }));
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
catch (e) {
|
|
41
|
-
throw new Error(`MECX Core - Method getData -> ${e}`);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
async loadPage() {
|
|
45
|
-
try {
|
|
46
|
-
const { store, tokenStorage, action } = this;
|
|
47
|
-
const { companyId, companyType, governmentId } = await tokenStorage?.getToken();
|
|
48
|
-
store.dispatch(action.loadPagination({
|
|
49
|
-
identifier: `${companyId || governmentId}-${companyType}`,
|
|
50
|
-
pagination: {
|
|
51
|
-
action: 'next',
|
|
52
|
-
},
|
|
53
|
-
}));
|
|
54
|
-
}
|
|
55
|
-
catch (e) {
|
|
56
|
-
throw new Error(`MECX Core - Method loadPage -> ${e}`);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* @description Inicializar a class genérica
|
|
61
|
-
* @param (args: MonkeyEcxInitialResolverConfig)
|
|
62
|
-
* => route é obrigátorio pois ele quem inicializa a store.
|
|
63
|
-
* A searchClass só se faz necessaria quando for usar filtros
|
|
64
|
-
*/
|
|
65
|
-
init(args) {
|
|
66
|
-
try {
|
|
67
|
-
const { searchClass, route } = args;
|
|
68
|
-
this.route = route;
|
|
69
|
-
if (searchClass) {
|
|
70
|
-
// eslint-disable-next-line new-cap
|
|
71
|
-
const searchInstance = new searchClass(this.__search);
|
|
72
|
-
this.route = `${route}${searchInstance.buildParams()}`;
|
|
73
|
-
this.__onSearchChanged$.next(searchInstance);
|
|
74
|
-
}
|
|
75
|
-
this.getData();
|
|
76
|
-
}
|
|
77
|
-
catch (e) {
|
|
78
|
-
throw new Error(`${e?.message}`);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
resolve(route, state, otherArgs) {
|
|
82
|
-
this.__search = route?.queryParams;
|
|
83
|
-
const [currentRoute] = state?.url.split('?') || [null];
|
|
84
|
-
this.currentRoute = currentRoute;
|
|
85
|
-
super.resolve(route, state, otherArgs);
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* @description Atualizar os filtros da tela
|
|
89
|
-
* @param (search: T, route?: string)
|
|
90
|
-
* => route é opcional, passar ele apenas se a rota for diferente do padrão
|
|
91
|
-
*/
|
|
92
|
-
setSearch(search, route) {
|
|
93
|
-
try {
|
|
94
|
-
const { currentRoute, router } = this;
|
|
95
|
-
this.setSearchByUrl(router, route || `${currentRoute}`, search);
|
|
96
|
-
}
|
|
97
|
-
catch (e) {
|
|
98
|
-
throw new Error(`MECX Core - Method setSearch -> ${e}`);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* @description Navegação para details.
|
|
103
|
-
* Por padrão sera redirecionado para '${currentRoute}/details'
|
|
104
|
-
* @param (detailsData: T, route?: string)
|
|
105
|
-
* => route é opcional, passar ele apenas se a rota for diferente do padrão
|
|
106
|
-
*/
|
|
107
|
-
navigateToDetails(detailsData, route) {
|
|
108
|
-
try {
|
|
109
|
-
const { router, currentRoute } = this;
|
|
110
|
-
router.navigate([route || `${currentRoute}/details`], {
|
|
111
|
-
state: {
|
|
112
|
-
detailsData,
|
|
113
|
-
},
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
catch (e) {
|
|
117
|
-
throw new Error(`MECX Core - Method navigateToDetails -> ${e}`);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbW1vbnMtcmVzb2x2ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbW1vbnMvbW9ua2V5ZWN4LWNvbW1vbnMtcmVzb2x2ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUVMLE1BQU0sR0FFUCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBVSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sR0FBRyxDQUFDO0FBQzVDLE9BQU8sRUFDTCwrQkFBK0IsRUFDL0IsMEJBQTBCLEdBRTNCLE1BQU0sT0FBTyxDQUFDO0FBTWYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUc3QyxNQUFNLE9BQWdCLDhCQUErQixTQUFRLHVCQUF1QjtJQW1CbEYsWUFDRSxnQkFBa0MsRUFDbEMsWUFBMEMsRUFDMUMsTUFXQztRQUVELEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQztRQTlCOUIsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFFNUIsaUJBQVksR0FBa0IsSUFBSSxDQUFDO1FBRW5DLHNCQUFpQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBRXZELHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTVDLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFeEIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0QixvQkFBZSxHQUFH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QUNGLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBRXRDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLElBQUksR0FBRyxZQUFZLFVBQVUsQ0FBQyxFQUFFO2dCQUNwRCxLQUFLLEVBQUU7b0JBQ0wsV0FBVztpQkFDWjthQUNGLENBQUMsQ0FBQztTQUNKO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2pFO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBSb3V0ZXIsXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBY3Rpb24sIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2UgfSBmcm9tICcuJztcbmltcG9ydCB7XG4gIE1vbmtleUVjeERpc2NvdmVyeVBhcmFtc1NlcnZpY2UsXG4gIE1vbmtleUVjeFBhZ2luYXRpb25TZXJ2aWNlLFxuICBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlLFxufSBmcm9tICcuLi8uLic7XG5pbXBvcnQge1xuICBNb25rZXlFY3hDb21tb25zQ29uZmlnLFxuICBNb25rZXlFY3hDb21tb25zU2VhcmNoLFxuICBNb25rZXlFY3hJbml0aWFsUmVzb2x2ZXJDb25maWcsXG59IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBNb25rZXlFY3hTZXJ2aWNlIH0gZnJvbSAnLi4vbW9ua2V5ZWN4LXNlcnZpY2Uuc2VydmljZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNb25rZXlFY3hDb21tb25zUmVzb2x2ZVNlcnZpY2UgZXh0ZW5kcyBNb25rZXlFY3hDb21tb25zU2VydmljZSB7XG4gIHByaXZhdGUgYWN0aW9uOiBhbnk7XG5cbiAgcHJpdmF0ZSBzZWxlY3RvcjogYW55O1xuXG4gIHByb3RlY3RlZCByb3V0ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIGN1cnJlbnRSb3V0ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIHBhZ2luYXRpb25TZXJ2aWNlID0gaW5qZWN0KE1vbmtleUVjeFBhZ2luYXRpb25TZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cbiAgcHJvdGVjdGVkIHN0b3JlID0gaW5qZWN0KFN0b3JlKTtcblxuICBwcm90ZWN0ZWQgbW9ua2V5RGlzY292ZXJ5ID0gaW5qZWN0KE1vbmtleUVjeERpc2NvdmVyeVBhcmFtc1NlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG1vbmtleWVjeFNlcnZpY2U6IE1vbmtleUVjeFNlcnZpY2UsXG4gICAgdG9rZW5TdG9yYWdlOiBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlLFxuICAgIGNvbmZpZzoge1xuICAgICAgYWN0aW9uczoge1xuICAgICAgICBsb2FkOiBBY3Rpb247XG4gICAgICAgIGxvYWRQYWdpbmF0aW9uPzogQWN0aW9uO1xuICAgICAgfTtcbiAgICAgIHNlbGVjdG9yczoge1xuICAgICAgICBzZWxlY3RCeUlkZW50aWZpZXI6IEZ1bmN0aW9uO1xuICAgICAgICBzZWxlY3RDb250cm9sOiBGdW5jdGlvbjtcbiAgICAgICAgc2VsZWN0TGlua3M/OiBGdW5jdGlvbjtcbiAgICAgICAgc2VsZWN0UGFnZT86IEZ1bmN0aW9uO1xuICAgICAgfTtcbiAgICB9XG4gICkge1xuICAgIHN1cGVyKG1vbmtleWVjeFNlcnZpY2UsIHRva2VuU3RvcmFnZSk7XG4gICAgY29uc3QgeyBhY3Rpb25zLCBzZWxlY3RvcnMgfSA9IGNvbmZpZztcblxuICAgIHRoaXMuYWN0aW9uID0gYWN0aW9ucztcbiAgICB0aGlzLnNlbGVjdG9yID0gc2VsZWN0b3JzO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGdldERhdGEoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgc3RvcmUsIHJvdXRlLCBhY3Rpb24sIHNlbGVjdG9yLCB0b2tlblN0b3JhZ2UgfSA9IHRoaXM7XG5cbiAgICAgIGNvbnN0IHsgY29tcGFueUlkLCBjb21wYW55VHlwZSwgZ292ZXJubWVudElkIH0gPVxuICAgICAgICBhd2FpdCB0b2tlblN0b3JhZ2U/LmdldFRva2VuKCk7XG5cbiAgICAgIGNvbnN0IGlkZW50aWZpZXIgPSBgJHtjb21wYW55SWQgfHwgZ292ZXJubWVudElkfS0ke2NvbXBhbnlUeXBlfWA7XG5cbiAgICAgIGlmICghcm91dGUpIHJldHVybjtcblxuICAgICAgY29uc3QgdXJsID0gTW9ua2V5RWN4VXRpbHMucmVwbGFjZVZhcmlhYmxlcyhyb3V0ZSwgeyBjb21wYW55SWQgfSk7XG5cbiAgICAgIHN0b3JlLmRpc3BhdGNoKGFjdGlvbi5sb2FkKHsgdXJsLCBpZGVudGlmaWVyIH0pKTtcblxuICAgICAgdGhpcy5fX2RhdGEkID0gc3RvcmUuc2VsZWN0KHNlbGVjdG9yLnNlbGVjdEJ5SWRlbnRpZmllcih7IGlkZW50aWZpZXIgfSkpO1xuXG4gICAgICB0aGlzLl9fY29udHJvbCQgPSBzdG9yZS5zZWxlY3Qoc2VsZWN0b3Iuc2VsZWN0Q29udHJvbCgpKTtcblxuICAgICAgaWYgKHNlbGVjdG9yPy5zZWxlY3RMaW5rcykge1xuICAgICAgICB0aGlzLl9fcGFnaW5hdGlvbiQgPSBzdG9yZS5zZWxlY3Qoc2VsZWN0b3Iuc2VsZWN0TGlua3MoeyBpZGVudGlmaWVyIH0pKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNlbGVjdG9yPy5zZWxlY3RQYWdlKSB7XG4gICAgICAgIHRoaXMuX19wYWdlJCA9IHN0b3JlLnNlbGVjdChzZWxlY3Rvci5zZWxlY3RQYWdlKHsgaWRlbnRpZmllciB9KSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNRUNYIENvcmUgLSBNZXRob2QgZ2V0RGF0YSAtPiAke2V9YCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGxvYWRQYWdlKCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IHN0b3JlLCB0b2tlblN0b3JhZ2UsIGFjdGlvbiB9ID0gdGhpcztcbiAgICAgIGNvbnN0IHsgY29tcGFueUlkLCBjb21wYW55VHlwZSwgZ292ZXJubWVudElkIH0gPVxuICAgICAgICBhd2FpdCB0b2tlblN0b3JhZ2U/LmdldFRva2VuKCk7XG5cbiAgICAgIHN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBhY3Rpb24ubG9hZFBhZ2luYXRpb24oe1xuICAgICAgICAgIGlkZW50aWZpZXI6IGAke2NvbXBhbnlJZCB8fCBnb3Zlcm5tZW50SWR9LSR7Y29tcGFueVR5cGV9YCxcbiAgICAgICAgICBwYWdpbmF0aW9uOiB7XG4gICAgICAgICAgICBhY3Rpb246ICduZXh0JyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1FQ1ggQ29yZSAtIE1ldGhvZCBsb2FkUGFnZSAtPiAke2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBJbmljaWFsaXphciBhIGNsYXNzIGdlbsOpcmljYVxuICAgKiBAcGFyYW0gKGFyZ3M6IE1vbmtleUVjeEluaXRpYWxSZXNvbHZlckNvbmZpZylcbiAgICogPT4gcm91dGUgw6kgb2JyaWfDoXRvcmlvIHBvaXMgZWxlIHF1ZW0gaW5pY2lhbGl6YSBhIHN0b3JlLlxuICAgKiBBIHNlYXJjaENsYXNzIHPDsyBzZSBmYXogbmVjZXNzYXJpYSBxdWFuZG8gZm9yIHVzYXIgZmlsdHJvc1xuICAgKi9cbiAgcHJvdGVjdGVkIGluaXQoYXJnczogTW9ua2V5RWN4SW5pdGlhbFJlc29sdmVyQ29uZmlnKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgc2VhcmNoQ2xhc3MsIHJvdXRlIH0gPSBhcmdzO1xuXG4gICAgICB0aGlzLnJvdXRlID0gcm91dGU7XG5cbiAgICAgIGlmIChzZWFyY2hDbGFzcykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbmV3LWNhcFxuICAgICAgICBjb25zdCBzZWFyY2hJbnN0YW5jZTogTW9ua2V5RWN4Q29tbW9uc1NlYXJjaCA9IG5ldyBzZWFyY2hDbGFzcyhcbiAgICAgICAgICB0aGlzLl9fc2VhcmNoXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5yb3V0ZSA9IGAke3JvdXRlfSR7c2VhcmNoSW5zdGFuY2UuYnVpbGRQYXJhbXMoKX1gO1xuXG4gICAgICAgIHRoaXMuX19vblNlYXJjaENoYW5nZWQkLm5leHQoc2VhcmNoSW5zdGFuY2UpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmdldERhdGEoKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtlPy5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIHJlc29sdmUoXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfCBudWxsLFxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90IHwgbnVsbCxcbiAgICBvdGhlckFyZ3M/OiBNb25rZXlFY3hDb21tb25zQ29uZmlnXG4gICkge1xuICAgIHRoaXMuX19zZWFyY2ggPSByb3V0ZT8ucXVlcnlQYXJhbXM7XG5cbiAgICBjb25zdCBbY3VycmVudFJvdXRlXSA9IHN0YXRlPy51cmwuc3BsaXQoJz8nKSB8fCBbbnVsbF07XG5cbiAgICB0aGlzLmN1cnJlbnRSb3V0ZSA9IGN1cnJlbnRSb3V0ZTtcblxuICAgIHN1cGVyLnJlc29sdmUocm91dGUsIHN0YXRlLCBvdGhlckFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBBdHVhbGl6YXIgb3MgZmlsdHJvcyBkYSB0ZWxhXG4gICAqIEBwYXJhbSAoc2VhcmNoOiBULCByb3V0ZT86IHN0cmluZylcbiAgICogPT4gcm91dGUgw6kgb3BjaW9uYWwsIHBhc3NhciBlbGUgYXBlbmFzIHNlIGEgcm90YSBmb3IgZGlmZXJlbnRlIGRvIHBhZHLDo29cbiAgICovXG4gIHB1YmxpYyBzZXRTZWFyY2g8VD4oc2VhcmNoOiBULCByb3V0ZT86IHN0cmluZyk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGN1cnJlbnRSb3V0ZSwgcm91dGVyIH0gPSB0aGlzO1xuXG4gICAgICB0aGlzLnNldFNlYXJjaEJ5VXJsKHJvdXRlciwgcm91dGUgfHwgYCR7Y3VycmVudFJvdXRlfWAsIHNlYXJjaCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNRUNYIENvcmUgLSBNZXRob2Qgc2V0U2VhcmNoIC0+ICR7ZX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE5hdmVnYcOnw6NvIHBhcmEgZGV0YWlscy5cbiAgICogUG9yIHBhZHLDo28gc2VyYSByZWRpcmVjaW9uYWRvIHBhcmEgJyR7Y3VycmVudFJvdXRlfS9kZXRhaWxzJ1xuICAgKiBAcGFyYW0gKGRldGFpbHNEYXRhOiBULCByb3V0ZT86IHN0cmluZylcbiAgICogPT4gcm91dGUgw6kgb3BjaW9uYWwsIHBhc3NhciBlbGUgYXBlbmFzIHNlIGEgcm90YSBmb3IgZGlmZXJlbnRlIGRvIHBhZHLDo29cbiAgICovXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvRGV0YWlsczxUPihkZXRhaWxzRGF0YTogVCwgcm91dGU/OiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyByb3V0ZXIsIGN1cnJlbnRSb3V0ZSB9ID0gdGhpcztcblxuICAgICAgcm91dGVyLm5hdmlnYXRlKFtyb3V0ZSB8fCBgJHtjdXJyZW50Um91dGV9L2RldGFpbHNgXSwge1xuICAgICAgICBzdGF0ZToge1xuICAgICAgICAgIGRldGFpbHNEYXRhLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNRUNYIENvcmUgLSBNZXRob2QgbmF2aWdhdGVUb0RldGFpbHMgLT4gJHtlfWApO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
1
|
+
import { inject } from '@angular/core';
|
|
2
|
+
import { Router, } from '@angular/router';
|
|
3
|
+
import { Store } from '@ngrx/store';
|
|
4
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
5
|
+
import { MonkeyEcxCommonsService } from '.';
|
|
6
|
+
import { MonkeyEcxDiscoveryParamsService, MonkeyEcxPaginationService, } from '../..';
|
|
7
|
+
import { MonkeyEcxUtils } from '../../utils';
|
|
8
|
+
export class MonkeyEcxCommonsResolveService extends MonkeyEcxCommonsService {
|
|
9
|
+
constructor(monkeyecxService, tokenStorage, config) {
|
|
10
|
+
super(monkeyecxService, tokenStorage);
|
|
11
|
+
this.route = null;
|
|
12
|
+
this.currentRoute = null;
|
|
13
|
+
this.paginationService = inject(MonkeyEcxPaginationService);
|
|
14
|
+
this.translateService = inject(TranslateService);
|
|
15
|
+
this.router = inject(Router);
|
|
16
|
+
this.store = inject(Store);
|
|
17
|
+
this.monkeyDiscovery = inject(MonkeyEcxDiscoveryParamsService);
|
|
18
|
+
const { actions, selectors } = config;
|
|
19
|
+
this.action = actions;
|
|
20
|
+
this.selector = selectors;
|
|
21
|
+
}
|
|
22
|
+
async getData() {
|
|
23
|
+
try {
|
|
24
|
+
const { store, route, action, selector, tokenStorage } = this;
|
|
25
|
+
const { companyId, companyType, governmentId } = await tokenStorage?.getToken();
|
|
26
|
+
const identifier = `${companyId || governmentId}-${companyType}`;
|
|
27
|
+
if (!route)
|
|
28
|
+
return;
|
|
29
|
+
const url = MonkeyEcxUtils.replaceVariables(route, { companyId });
|
|
30
|
+
store.dispatch(action.load({ url, identifier }));
|
|
31
|
+
this.__data$ = store.select(selector.selectByIdentifier({ identifier }));
|
|
32
|
+
this.__control$ = store.select(selector.selectControl());
|
|
33
|
+
if (selector?.selectLinks) {
|
|
34
|
+
this.__pagination$ = store.select(selector.selectLinks({ identifier }));
|
|
35
|
+
}
|
|
36
|
+
if (selector?.selectPage) {
|
|
37
|
+
this.__page$ = store.select(selector.selectPage({ identifier }));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
throw new Error(`MECX Core - Method getData -> ${e}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
async loadPage() {
|
|
45
|
+
try {
|
|
46
|
+
const { store, tokenStorage, action } = this;
|
|
47
|
+
const { companyId, companyType, governmentId } = await tokenStorage?.getToken();
|
|
48
|
+
store.dispatch(action.loadPagination({
|
|
49
|
+
identifier: `${companyId || governmentId}-${companyType}`,
|
|
50
|
+
pagination: {
|
|
51
|
+
action: 'next',
|
|
52
|
+
},
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
throw new Error(`MECX Core - Method loadPage -> ${e}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @description Inicializar a class genérica
|
|
61
|
+
* @param (args: MonkeyEcxInitialResolverConfig)
|
|
62
|
+
* => route é obrigátorio pois ele quem inicializa a store.
|
|
63
|
+
* A searchClass só se faz necessaria quando for usar filtros
|
|
64
|
+
*/
|
|
65
|
+
init(args) {
|
|
66
|
+
try {
|
|
67
|
+
const { searchClass, route } = args;
|
|
68
|
+
this.route = route;
|
|
69
|
+
if (searchClass) {
|
|
70
|
+
// eslint-disable-next-line new-cap
|
|
71
|
+
const searchInstance = new searchClass(this.__search);
|
|
72
|
+
this.route = `${route}${searchInstance.buildParams()}`;
|
|
73
|
+
this.__onSearchChanged$.next(searchInstance);
|
|
74
|
+
}
|
|
75
|
+
this.getData();
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
78
|
+
throw new Error(`${e?.message}`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
resolve(route, state, otherArgs) {
|
|
82
|
+
this.__search = route?.queryParams;
|
|
83
|
+
const [currentRoute] = state?.url.split('?') || [null];
|
|
84
|
+
this.currentRoute = currentRoute;
|
|
85
|
+
super.resolve(route, state, otherArgs);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* @description Atualizar os filtros da tela
|
|
89
|
+
* @param (search: T, route?: string)
|
|
90
|
+
* => route é opcional, passar ele apenas se a rota for diferente do padrão
|
|
91
|
+
*/
|
|
92
|
+
setSearch(search, route) {
|
|
93
|
+
try {
|
|
94
|
+
const { currentRoute, router } = this;
|
|
95
|
+
this.setSearchByUrl(router, route || `${currentRoute}`, search);
|
|
96
|
+
}
|
|
97
|
+
catch (e) {
|
|
98
|
+
throw new Error(`MECX Core - Method setSearch -> ${e}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* @description Navegação para details.
|
|
103
|
+
* Por padrão sera redirecionado para '${currentRoute}/details'
|
|
104
|
+
* @param (detailsData: T, route?: string)
|
|
105
|
+
* => route é opcional, passar ele apenas se a rota for diferente do padrão
|
|
106
|
+
*/
|
|
107
|
+
navigateToDetails(detailsData, route) {
|
|
108
|
+
try {
|
|
109
|
+
const { router, currentRoute } = this;
|
|
110
|
+
router.navigate([route || `${currentRoute}/details`], {
|
|
111
|
+
state: {
|
|
112
|
+
detailsData,
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
catch (e) {
|
|
117
|
+
throw new Error(`MECX Core - Method navigateToDetails -> ${e}`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbW1vbnMtcmVzb2x2ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbW1vbnMvbW9ua2V5ZWN4LWNvbW1vbnMtcmVzb2x2ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUVMLE1BQU0sR0FFUCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBVSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sR0FBRyxDQUFDO0FBQzVDLE9BQU8sRUFDTCwrQkFBK0IsRUFDL0IsMEJBQTBCLEdBRTNCLE1BQU0sT0FBTyxDQUFDO0FBTWYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUc3QyxNQUFNLE9BQWdCLDhCQUErQixTQUFRLHVCQUF1QjtJQW1CbEYsWUFDRSxnQkFBa0MsRUFDbEMsWUFBMEMsRUFDMUMsTUFXQztRQUVELEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQztRQTlCOUIsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFFNUIsaUJBQVksR0FBa0IsSUFBSSxDQUFDO1FBRW5DLHNCQUFpQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBRXZELHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTVDLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFeEIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0QixvQkFBZSxHQUFHLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBbUJsRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUV0QyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztJQUM1QixDQUFDO0lBRVMsS0FBSyxDQUFDLE9BQU87UUFDckIsSUFBSTtZQUNGLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBRTlELE1BQU0sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxHQUM1QyxNQUFNLFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUVqQyxNQUFNLFVBQVUsR0FBRyxHQUFHLFNBQVMsSUFBSSxZQUFZLElBQUksV0FBVyxFQUFFLENBQUM7WUFFakUsSUFBSSxDQUFDLEtBQUs7Z0JBQUUsT0FBTztZQUVuQixNQUFNLEdBQUcsR0FBRyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUVsRSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRWpELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFekUsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBRXpELElBQUksUUFBUSxFQUFFLFdBQVcsRUFBRTtnQkFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDekU7WUFFRCxJQUFJLFFBQVEsRUFBRSxVQUFVLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ2xFO1NBQ0Y7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDdkQ7SUFDSCxDQUFDO0lBRVMsS0FBSyxDQUFDLFFBQVE7UUFDdEIsSUFBSTtZQUNGLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQztZQUM3QyxNQUFNLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsR0FDNUMsTUFBTSxZQUFZLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFFakMsS0FBSyxDQUFDLFFBQVEsQ0FDWixNQUFNLENBQUMsY0FBYyxDQUFDO2dCQUNwQixVQUFVLEVBQUUsR0FBRyxTQUFTLElBQUksWUFBWSxJQUFJLFdBQVcsRUFBRTtnQkFDekQsVUFBVSxFQUFFO29CQUNWLE1BQU0sRUFBRSxNQUFNO2lCQUNmO2FBQ0YsQ0FBQyxDQUNILENBQUM7U0FDSDtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLElBQUksQ0FBQyxJQUFvQztRQUNqRCxJQUFJO1lBQ0YsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFFcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFFbkIsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsbUNBQW1DO2dCQUNuQyxNQUFNLGNBQWMsR0FBMkIsSUFBSSxXQUFXLENBQzVELElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztnQkFFRixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsS0FBSyxHQUFHLGNBQWMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO2dCQUV2RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQzlDO1lBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hCO1FBQUMsT0FBTyxDQUFNLEVBQUU7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUNMLEtBQW9DLEVBQ3BDLEtBQWlDLEVBQ2pDLFNBQWtDO1FBRWxDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxFQUFFLFdBQVcsQ0FBQztRQUVuQyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV2RCxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUVqQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxTQUFTLENBQUksTUFBUyxFQUFFLEtBQWM7UUFDM0MsSUFBSTtZQUNGLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBRXRDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxHQUFHLFlBQVksRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ2pFO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksaUJBQWlCLENBQUksV0FBYyxFQUFFLEtBQWM7UUFDeEQsSUFBSTtZQUNGLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBRXRDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLElBQUksR0FBRyxZQUFZLFVBQVUsQ0FBQyxFQUFFO2dCQUNwRCxLQUFLLEVBQUU7b0JBQ0wsV0FBVztpQkFDWjthQUNGLENBQUMsQ0FBQztTQUNKO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2pFO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICBSb3V0ZXIsXHJcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcclxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBY3Rpb24sIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeENvbW1vbnNTZXJ2aWNlIH0gZnJvbSAnLic7XHJcbmltcG9ydCB7XHJcbiAgTW9ua2V5RWN4RGlzY292ZXJ5UGFyYW1zU2VydmljZSxcclxuICBNb25rZXlFY3hQYWdpbmF0aW9uU2VydmljZSxcclxuICBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlLFxyXG59IGZyb20gJy4uLy4uJztcclxuaW1wb3J0IHtcclxuICBNb25rZXlFY3hDb21tb25zQ29uZmlnLFxyXG4gIE1vbmtleUVjeENvbW1vbnNTZWFyY2gsXHJcbiAgTW9ua2V5RWN4SW5pdGlhbFJlc29sdmVyQ29uZmlnLFxyXG59IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4U2VydmljZSB9IGZyb20gJy4uL21vbmtleWVjeC1zZXJ2aWNlLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1vbmtleUVjeENvbW1vbnNSZXNvbHZlU2VydmljZSBleHRlbmRzIE1vbmtleUVjeENvbW1vbnNTZXJ2aWNlIHtcclxuICBwcml2YXRlIGFjdGlvbjogYW55O1xyXG5cclxuICBwcml2YXRlIHNlbGVjdG9yOiBhbnk7XHJcblxyXG4gIHByb3RlY3RlZCByb3V0ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIHByb3RlY3RlZCBjdXJyZW50Um91dGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBwcm90ZWN0ZWQgcGFnaW5hdGlvblNlcnZpY2UgPSBpbmplY3QoTW9ua2V5RWN4UGFnaW5hdGlvblNlcnZpY2UpO1xyXG5cclxuICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcclxuXHJcbiAgcHJvdGVjdGVkIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG5cclxuICBwcm90ZWN0ZWQgc3RvcmUgPSBpbmplY3QoU3RvcmUpO1xyXG5cclxuICBwcm90ZWN0ZWQgbW9ua2V5RGlzY292ZXJ5ID0gaW5qZWN0KE1vbmtleUVjeERpc2NvdmVyeVBhcmFtc1NlcnZpY2UpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIG1vbmtleWVjeFNlcnZpY2U6IE1vbmtleUVjeFNlcnZpY2UsXHJcbiAgICB0b2tlblN0b3JhZ2U6IE1vbmtleUVjeFRva2VuU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBjb25maWc6IHtcclxuICAgICAgYWN0aW9uczoge1xyXG4gICAgICAgIGxvYWQ6IEFjdGlvbjtcclxuICAgICAgICBsb2FkUGFnaW5hdGlvbj86IEFjdGlvbjtcclxuICAgICAgfTtcclxuICAgICAgc2VsZWN0b3JzOiB7XHJcbiAgICAgICAgc2VsZWN0QnlJZGVudGlmaWVyOiBGdW5jdGlvbjtcclxuICAgICAgICBzZWxlY3RDb250cm9sOiBGdW5jdGlvbjtcclxuICAgICAgICBzZWxlY3RMaW5rcz86IEZ1bmN0aW9uO1xyXG4gICAgICAgIHNlbGVjdFBhZ2U/OiBGdW5jdGlvbjtcclxuICAgICAgfTtcclxuICAgIH1cclxuICApIHtcclxuICAgIHN1cGVyKG1vbmtleWVjeFNlcnZpY2UsIHRva2VuU3RvcmFnZSk7XHJcbiAgICBjb25zdCB7IGFjdGlvbnMsIHNlbGVjdG9ycyB9ID0gY29uZmlnO1xyXG5cclxuICAgIHRoaXMuYWN0aW9uID0gYWN0aW9ucztcclxuICAgIHRoaXMuc2VsZWN0b3IgPSBzZWxlY3RvcnM7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0RGF0YSgpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHsgc3RvcmUsIHJvdXRlLCBhY3Rpb24sIHNlbGVjdG9yLCB0b2tlblN0b3JhZ2UgfSA9IHRoaXM7XHJcblxyXG4gICAgICBjb25zdCB7IGNvbXBhbnlJZCwgY29tcGFueVR5cGUsIGdvdmVybm1lbnRJZCB9ID1cclxuICAgICAgICBhd2FpdCB0b2tlblN0b3JhZ2U/LmdldFRva2VuKCk7XHJcblxyXG4gICAgICBjb25zdCBpZGVudGlmaWVyID0gYCR7Y29tcGFueUlkIHx8IGdvdmVybm1lbnRJZH0tJHtjb21wYW55VHlwZX1gO1xyXG5cclxuICAgICAgaWYgKCFyb3V0ZSkgcmV0dXJuO1xyXG5cclxuICAgICAgY29uc3QgdXJsID0gTW9ua2V5RWN4VXRpbHMucmVwbGFjZVZhcmlhYmxlcyhyb3V0ZSwgeyBjb21wYW55SWQgfSk7XHJcblxyXG4gICAgICBzdG9yZS5kaXNwYXRjaChhY3Rpb24ubG9hZCh7IHVybCwgaWRlbnRpZmllciB9KSk7XHJcblxyXG4gICAgICB0aGlzLl9fZGF0YSQgPSBzdG9yZS5zZWxlY3Qoc2VsZWN0b3Iuc2VsZWN0QnlJZGVudGlmaWVyKHsgaWRlbnRpZmllciB9KSk7XHJcblxyXG4gICAgICB0aGlzLl9fY29udHJvbCQgPSBzdG9yZS5zZWxlY3Qoc2VsZWN0b3Iuc2VsZWN0Q29udHJvbCgpKTtcclxuXHJcbiAgICAgIGlmIChzZWxlY3Rvcj8uc2VsZWN0TGlua3MpIHtcclxuICAgICAgICB0aGlzLl9fcGFnaW5hdGlvbiQgPSBzdG9yZS5zZWxlY3Qoc2VsZWN0b3Iuc2VsZWN0TGlua3MoeyBpZGVudGlmaWVyIH0pKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHNlbGVjdG9yPy5zZWxlY3RQYWdlKSB7XHJcbiAgICAgICAgdGhpcy5fX3BhZ2UkID0gc3RvcmUuc2VsZWN0KHNlbGVjdG9yLnNlbGVjdFBhZ2UoeyBpZGVudGlmaWVyIH0pKTtcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1FQ1ggQ29yZSAtIE1ldGhvZCBnZXREYXRhIC0+ICR7ZX1gKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBsb2FkUGFnZSgpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHsgc3RvcmUsIHRva2VuU3RvcmFnZSwgYWN0aW9uIH0gPSB0aGlzO1xyXG4gICAgICBjb25zdCB7IGNvbXBhbnlJZCwgY29tcGFueVR5cGUsIGdvdmVybm1lbnRJZCB9ID1cclxuICAgICAgICBhd2FpdCB0b2tlblN0b3JhZ2U/LmdldFRva2VuKCk7XHJcblxyXG4gICAgICBzdG9yZS5kaXNwYXRjaChcclxuICAgICAgICBhY3Rpb24ubG9hZFBhZ2luYXRpb24oe1xyXG4gICAgICAgICAgaWRlbnRpZmllcjogYCR7Y29tcGFueUlkIHx8IGdvdmVybm1lbnRJZH0tJHtjb21wYW55VHlwZX1gLFxyXG4gICAgICAgICAgcGFnaW5hdGlvbjoge1xyXG4gICAgICAgICAgICBhY3Rpb246ICduZXh0JyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNRUNYIENvcmUgLSBNZXRob2QgbG9hZFBhZ2UgLT4gJHtlfWApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIEluaWNpYWxpemFyIGEgY2xhc3MgZ2Vuw6lyaWNhXHJcbiAgICogQHBhcmFtIChhcmdzOiBNb25rZXlFY3hJbml0aWFsUmVzb2x2ZXJDb25maWcpXHJcbiAgICogPT4gcm91dGUgw6kgb2JyaWfDoXRvcmlvIHBvaXMgZWxlIHF1ZW0gaW5pY2lhbGl6YSBhIHN0b3JlLlxyXG4gICAqIEEgc2VhcmNoQ2xhc3Mgc8OzIHNlIGZheiBuZWNlc3NhcmlhIHF1YW5kbyBmb3IgdXNhciBmaWx0cm9zXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGluaXQoYXJnczogTW9ua2V5RWN4SW5pdGlhbFJlc29sdmVyQ29uZmlnKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCB7IHNlYXJjaENsYXNzLCByb3V0ZSB9ID0gYXJncztcclxuXHJcbiAgICAgIHRoaXMucm91dGUgPSByb3V0ZTtcclxuXHJcbiAgICAgIGlmIChzZWFyY2hDbGFzcykge1xyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwXHJcbiAgICAgICAgY29uc3Qgc2VhcmNoSW5zdGFuY2U6IE1vbmtleUVjeENvbW1vbnNTZWFyY2ggPSBuZXcgc2VhcmNoQ2xhc3MoXHJcbiAgICAgICAgICB0aGlzLl9fc2VhcmNoXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5yb3V0ZSA9IGAke3JvdXRlfSR7c2VhcmNoSW5zdGFuY2UuYnVpbGRQYXJhbXMoKX1gO1xyXG5cclxuICAgICAgICB0aGlzLl9fb25TZWFyY2hDaGFuZ2VkJC5uZXh0KHNlYXJjaEluc3RhbmNlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2U/Lm1lc3NhZ2V9YCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNvbHZlKFxyXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfCBudWxsLFxyXG4gICAgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QgfCBudWxsLFxyXG4gICAgb3RoZXJBcmdzPzogTW9ua2V5RWN4Q29tbW9uc0NvbmZpZ1xyXG4gICkge1xyXG4gICAgdGhpcy5fX3NlYXJjaCA9IHJvdXRlPy5xdWVyeVBhcmFtcztcclxuXHJcbiAgICBjb25zdCBbY3VycmVudFJvdXRlXSA9IHN0YXRlPy51cmwuc3BsaXQoJz8nKSB8fCBbbnVsbF07XHJcblxyXG4gICAgdGhpcy5jdXJyZW50Um91dGUgPSBjdXJyZW50Um91dGU7XHJcblxyXG4gICAgc3VwZXIucmVzb2x2ZShyb3V0ZSwgc3RhdGUsIG90aGVyQXJncyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gQXR1YWxpemFyIG9zIGZpbHRyb3MgZGEgdGVsYVxyXG4gICAqIEBwYXJhbSAoc2VhcmNoOiBULCByb3V0ZT86IHN0cmluZylcclxuICAgKiA9PiByb3V0ZSDDqSBvcGNpb25hbCwgcGFzc2FyIGVsZSBhcGVuYXMgc2UgYSByb3RhIGZvciBkaWZlcmVudGUgZG8gcGFkcsOjb1xyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRTZWFyY2g8VD4oc2VhcmNoOiBULCByb3V0ZT86IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgeyBjdXJyZW50Um91dGUsIHJvdXRlciB9ID0gdGhpcztcclxuXHJcbiAgICAgIHRoaXMuc2V0U2VhcmNoQnlVcmwocm91dGVyLCByb3V0ZSB8fCBgJHtjdXJyZW50Um91dGV9YCwgc2VhcmNoKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNRUNYIENvcmUgLSBNZXRob2Qgc2V0U2VhcmNoIC0+ICR7ZX1gKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBOYXZlZ2HDp8OjbyBwYXJhIGRldGFpbHMuXHJcbiAgICogUG9yIHBhZHLDo28gc2VyYSByZWRpcmVjaW9uYWRvIHBhcmEgJyR7Y3VycmVudFJvdXRlfS9kZXRhaWxzJ1xyXG4gICAqIEBwYXJhbSAoZGV0YWlsc0RhdGE6IFQsIHJvdXRlPzogc3RyaW5nKVxyXG4gICAqID0+IHJvdXRlIMOpIG9wY2lvbmFsLCBwYXNzYXIgZWxlIGFwZW5hcyBzZSBhIHJvdGEgZm9yIGRpZmVyZW50ZSBkbyBwYWRyw6NvXHJcbiAgICovXHJcbiAgcHVibGljIG5hdmlnYXRlVG9EZXRhaWxzPFQ+KGRldGFpbHNEYXRhOiBULCByb3V0ZT86IHN0cmluZykge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgeyByb3V0ZXIsIGN1cnJlbnRSb3V0ZSB9ID0gdGhpcztcclxuXHJcbiAgICAgIHJvdXRlci5uYXZpZ2F0ZShbcm91dGUgfHwgYCR7Y3VycmVudFJvdXRlfS9kZXRhaWxzYF0sIHtcclxuICAgICAgICBzdGF0ZToge1xyXG4gICAgICAgICAgZGV0YWlsc0RhdGEsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTUVDWCBDb3JlIC0gTWV0aG9kIG5hdmlnYXRlVG9EZXRhaWxzIC0+ICR7ZX1gKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|