trm-tmpl 3.4.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/fesm2022/trm-tmpl.mjs +178 -180
- package/fesm2022/trm-tmpl.mjs.map +1 -1
- package/lib/app/pages/components/constructor-form/components/constructor-field-text/constructor-field-text.component.d.ts +2 -2
- package/lib/app/pages/components/constructor-form/models/payment-field.d.ts +2 -2
- package/lib/app/shared/components/terminal-layout-tpl/terminal-layout-tpl.component.d.ts +0 -1
- package/lib/app/shared/components/trm-select/scrollbar-select-height.directive.d.ts +2 -1
- package/package.json +2 -4
- package/esm2022/lib/app/checkin/checkin.module.mjs +0 -42
- package/esm2022/lib/app/checkin/components/checkin-page/checkin-page.component.mjs +0 -157
- package/esm2022/lib/app/checkin/components/index.mjs +0 -2
- package/esm2022/lib/app/checkin/index.mjs +0 -4
- package/esm2022/lib/app/checkin/services/checkin.datasource.mjs +0 -81
- package/esm2022/lib/app/checkin/services/index.mjs +0 -2
- package/esm2022/lib/app/helpers/hide-init-loader.mjs +0 -15
- package/esm2022/lib/app/helpers/i18n-countries.mjs +0 -56
- package/esm2022/lib/app/helpers/index.mjs +0 -9
- package/esm2022/lib/app/helpers/insertRemoveTrigger.mjs +0 -11
- package/esm2022/lib/app/helpers/is-object-the-same.mjs +0 -26
- package/esm2022/lib/app/helpers/key-down-handler.mjs +0 -88
- package/esm2022/lib/app/helpers/mask-resolver.mjs +0 -114
- package/esm2022/lib/app/helpers/phone-codes.mjs +0 -1250
- package/esm2022/lib/app/helpers/warning-console-message.mjs +0 -8
- package/esm2022/lib/app/i18n/i18n-key.enum.mjs +0 -86
- package/esm2022/lib/app/i18n/index.mjs +0 -3
- package/esm2022/lib/app/i18n/keys.mjs +0 -109
- package/esm2022/lib/app/intex.mjs +0 -11
- package/esm2022/lib/app/models/cde-terminal-sdk.mjs +0 -2
- package/esm2022/lib/app/models/constants.mjs +0 -22
- package/esm2022/lib/app/models/http-bad-request-response.mjs +0 -2
- package/esm2022/lib/app/models/index.mjs +0 -8
- package/esm2022/lib/app/models/mode.mjs +0 -6
- package/esm2022/lib/app/models/version-service-base-class.mjs +0 -9
- package/esm2022/lib/app/models/version-service-interface.mjs +0 -2
- package/esm2022/lib/app/models/version.interface.mjs +0 -2
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-date/constructor-field-date.component.mjs +0 -76
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-iframe/card-sdk.service.mjs +0 -41
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-iframe/constructor-field-iframe.component.mjs +0 -123
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-iframe/iframe-validator-directive.directive.mjs +0 -88
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-select/constructor-field-select.component.mjs +0 -80
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-text/constructor-field-text.component.mjs +0 -196
- package/esm2022/lib/app/pages/components/constructor-form/components/constructor-preparation/constructor-preparation.component.mjs +0 -33
- package/esm2022/lib/app/pages/components/constructor-form/components/index.mjs +0 -10
- package/esm2022/lib/app/pages/components/constructor-form/components/method-amount-hint/method-amount-hint.component.mjs +0 -31
- package/esm2022/lib/app/pages/components/constructor-form/components/ps-select/ps-select.component.mjs +0 -124
- package/esm2022/lib/app/pages/components/constructor-form/constructor-form.component.mjs +0 -374
- package/esm2022/lib/app/pages/components/constructor-form/index.mjs +0 -5
- package/esm2022/lib/app/pages/components/constructor-form/models/collection-type.enum.mjs +0 -6
- package/esm2022/lib/app/pages/components/constructor-form/models/config/advcash.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/alfabank.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/alipay.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/alipay_plus.mjs +0 -12
- package/esm2022/lib/app/pages/components/constructor-form/models/config/all.mjs +0 -209
- package/esm2022/lib/app/pages/components/constructor-form/models/config/applepay.mjs +0 -10
- package/esm2022/lib/app/pages/components/constructor-form/models/config/argentina_bank.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/atf24.mjs +0 -10
- package/esm2022/lib/app/pages/components/constructor-form/models/config/baloto.mjs +0 -21
- package/esm2022/lib/app/pages/components/constructor-form/models/config/beeline.mjs +0 -10
- package/esm2022/lib/app/pages/components/constructor-form/models/config/bitcoin.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/blik.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/boleto.mjs +0 -23
- package/esm2022/lib/app/pages/components/constructor-form/models/config/brazil_bank.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/card.mjs +0 -11
- package/esm2022/lib/app/pages/components/constructor-form/models/config/carga_virtual.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/cash.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/cashtocode.mjs +0 -10
- package/esm2022/lib/app/pages/components/constructor-form/models/config/codi.mjs +0 -11
- package/esm2022/lib/app/pages/components/constructor-form/models/config/comepay.mjs +0 -10
- package/esm2022/lib/app/pages/components/constructor-form/models/config/cup.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/cup_bank.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/cup_p2p.mjs +0 -12
- package/esm2022/lib/app/pages/components/constructor-form/models/config/deposit_express.mjs +0 -23
- package/esm2022/lib/app/pages/components/constructor-form/models/config/direct_banking_europe.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/dotpay.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/ecopayz.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/eps.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/ethereum.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/giropay.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/gmmoney.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/googlepay.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/ideal.mjs +0 -13
- package/esm2022/lib/app/pages/components/constructor-form/models/config/indonesia_bank.mjs +0 -12
- package/esm2022/lib/app/pages/components/constructor-form/models/config/indonesia_bank_transfer.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/internal_gamemoney.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/jeton.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/jeton_voucher.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/kassa24.mjs +0 -10
- package/esm2022/lib/app/pages/components/constructor-form/models/config/link.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/local_card_brazil.mjs +0 -19
- package/esm2022/lib/app/pages/components/constructor-form/models/config/local_card_mexico.mjs +0 -10
- package/esm2022/lib/app/pages/components/constructor-form/models/config/loterica.mjs +0 -22
- package/esm2022/lib/app/pages/components/constructor-form/models/config/malaysia_bank.mjs +0 -12
- package/esm2022/lib/app/pages/components/constructor-form/models/config/mbway.mjs +0 -12
- package/esm2022/lib/app/pages/components/constructor-form/models/config/megafon.mjs +0 -11
- package/esm2022/lib/app/pages/components/constructor-form/models/config/mercado_pago.mjs +0 -12
- package/esm2022/lib/app/pages/components/constructor-form/models/config/mexico_bank.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/mirpay.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/momopay.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/moneta.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/mts.mjs +0 -10
- package/esm2022/lib/app/pages/components/constructor-form/models/config/multibanco.mjs +0 -11
- package/esm2022/lib/app/pages/components/constructor-form/models/config/neosurf.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/neteller.mjs +0 -10
- package/esm2022/lib/app/pages/components/constructor-form/models/config/nupay.mjs +0 -22
- package/esm2022/lib/app/pages/components/constructor-form/models/config/onecard.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/oxxo.mjs +0 -23
- package/esm2022/lib/app/pages/components/constructor-form/models/config/pagoefectivo.mjs +0 -22
- package/esm2022/lib/app/pages/components/constructor-form/models/config/pagoexpress.mjs +0 -21
- package/esm2022/lib/app/pages/components/constructor-form/models/config/pagofacil.mjs +0 -10
- package/esm2022/lib/app/pages/components/constructor-form/models/config/paypal.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/paysafecard.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/philippines_bank.mjs +0 -12
- package/esm2022/lib/app/pages/components/constructor-form/models/config/picpay.mjs +0 -21
- package/esm2022/lib/app/pages/components/constructor-form/models/config/pix.mjs +0 -31
- package/esm2022/lib/app/pages/components/constructor-form/models/config/promptpay.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/promsviaz.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/przelewy24.mjs +0 -12
- package/esm2022/lib/app/pages/components/constructor-form/models/config/qiwi.mjs +0 -10
- package/esm2022/lib/app/pages/components/constructor-form/models/config/rapid.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/rapipago.mjs +0 -22
- package/esm2022/lib/app/pages/components/constructor-form/models/config/redpagos.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/sberbank.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/sbp.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/sepa.mjs +0 -12
- package/esm2022/lib/app/pages/components/constructor-form/models/config/servipag.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/skinify.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/skinpay.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/skinsback.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/skrill.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/sofort.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/spei.mjs +0 -12
- package/esm2022/lib/app/pages/components/constructor-form/models/config/store_mexico.mjs +0 -12
- package/esm2022/lib/app/pages/components/constructor-form/models/config/tele2.mjs +0 -10
- package/esm2022/lib/app/pages/components/constructor-form/models/config/tether.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/tether_trc20.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/thailand_bank.mjs +0 -12
- package/esm2022/lib/app/pages/components/constructor-form/models/config/thailand_bank_transfer.mjs +0 -11
- package/esm2022/lib/app/pages/components/constructor-form/models/config/tinkoff.mjs +0 -8
- package/esm2022/lib/app/pages/components/constructor-form/models/config/tron.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/trustly.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/vietnam_bank.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/vietnam_bank_qr.mjs +0 -10
- package/esm2022/lib/app/pages/components/constructor-form/models/config/vietnam_bank_transfer.mjs +0 -11
- package/esm2022/lib/app/pages/components/constructor-form/models/config/wallester.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/webpay.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/wechat.mjs +0 -12
- package/esm2022/lib/app/pages/components/constructor-form/models/config/wme.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/wmr.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/wmu.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/wmz.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/yandex.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/config/zen_wallet.mjs +0 -9
- package/esm2022/lib/app/pages/components/constructor-form/models/field-template.mjs +0 -110
- package/esm2022/lib/app/pages/components/constructor-form/models/index.mjs +0 -7
- package/esm2022/lib/app/pages/components/constructor-form/models/payment-field-options.mjs +0 -2
- package/esm2022/lib/app/pages/components/constructor-form/models/payment-field-type.enum.mjs +0 -11
- package/esm2022/lib/app/pages/components/constructor-form/models/payment-field.mjs +0 -2
- package/esm2022/lib/app/pages/components/constructor-form/models/payment-fields.mjs +0 -2
- package/esm2022/lib/app/pages/components/constructor-form/models/terminal-step.enum.mjs +0 -7
- package/esm2022/lib/app/pages/components/constructor-form/services/constructor-form.service.mjs +0 -310
- package/esm2022/lib/app/pages/components/constructor-form/services/index.mjs +0 -2
- package/esm2022/lib/app/pages/components/error/error.component.mjs +0 -22
- package/esm2022/lib/app/pages/components/index.mjs +0 -4
- package/esm2022/lib/app/pages/components/terminal-layout/terminal-layout.component.mjs +0 -249
- package/esm2022/lib/app/pages/directives/fee-template.directive.mjs +0 -14
- package/esm2022/lib/app/pages/directives/index.mjs +0 -4
- package/esm2022/lib/app/pages/directives/input-mask-corrector.directive.mjs +0 -23
- package/esm2022/lib/app/pages/directives/tab-index-focus.directive.mjs +0 -21
- package/esm2022/lib/app/pages/index.mjs +0 -5
- package/esm2022/lib/app/pages/pages.module.mjs +0 -170
- package/esm2022/lib/app/pages/services/index.mjs +0 -2
- package/esm2022/lib/app/pages/services/mask.service.mjs +0 -22
- package/esm2022/lib/app/pipes/countries-sort.pipe.mjs +0 -34
- package/esm2022/lib/app/pipes/country-translate.pipe.mjs +0 -24
- package/esm2022/lib/app/pipes/index.mjs +0 -4
- package/esm2022/lib/app/pipes/method-title.pipe.mjs +0 -22
- package/esm2022/lib/app/services/api-errors.service.mjs +0 -52
- package/esm2022/lib/app/services/csrf.resolver.mjs +0 -79
- package/esm2022/lib/app/services/error.interceptior.mjs +0 -26
- package/esm2022/lib/app/services/index.mjs +0 -7
- package/esm2022/lib/app/services/local-storage.mjs +0 -70
- package/esm2022/lib/app/services/script-loader.mjs +0 -72
- package/esm2022/lib/app/services/session.data-source.mjs +0 -199
- package/esm2022/lib/app/services/translation/translate-lang-storage.service.mjs +0 -129
- package/esm2022/lib/app/shared/components/constructor-status/constructor-status.component.mjs +0 -49
- package/esm2022/lib/app/shared/components/index.mjs +0 -8
- package/esm2022/lib/app/shared/components/terminal-lang-switcher/terminal-lang-switcher.component.mjs +0 -59
- package/esm2022/lib/app/shared/components/terminal-layout-tpl/terminal-layout-tpl.component.mjs +0 -53
- package/esm2022/lib/app/shared/components/trm-amount/trm-amount.component.mjs +0 -50
- package/esm2022/lib/app/shared/components/trm-select/scrollbar-select-height.directive.mjs +0 -42
- package/esm2022/lib/app/shared/components/trm-select/trm-select-label-template.directive.mjs +0 -17
- package/esm2022/lib/app/shared/components/trm-select/trm-select.component.mjs +0 -209
- package/esm2022/lib/app/shared/directives/index.mjs +0 -2
- package/esm2022/lib/app/shared/directives/ng-var.directive.mjs +0 -34
- package/esm2022/lib/app/shared/index.mjs +0 -5
- package/esm2022/lib/app/shared/pipes/index.mjs +0 -3
- package/esm2022/lib/app/shared/pipes/sanitizer.pipe.mjs +0 -21
- package/esm2022/lib/app/shared/pipes/translate-by-key.pipe.mjs +0 -49
- package/esm2022/lib/app/shared/shared.module.mjs +0 -73
- package/esm2022/lib/app/terminal-tpl.component.mjs +0 -59
- package/esm2022/lib/app/terminal.module.mjs +0 -67
- package/esm2022/lib/codegen/api/api.mjs +0 -4
- package/esm2022/lib/codegen/api/checkin.service.mjs +0 -2
- package/esm2022/lib/codegen/api/configuration.mjs +0 -2
- package/esm2022/lib/codegen/api/terminal.service.mjs +0 -2
- package/esm2022/lib/codegen/index.mjs +0 -3
- package/esm2022/lib/codegen/model/apiErrors.mjs +0 -42
- package/esm2022/lib/codegen/model/badRequestResponse.mjs +0 -2
- package/esm2022/lib/codegen/model/bank.mjs +0 -2
- package/esm2022/lib/codegen/model/documentType.mjs +0 -2
- package/esm2022/lib/codegen/model/getCheckinSessionInfo200Response.mjs +0 -2
- package/esm2022/lib/codegen/model/getTerminalMethodBanks200Response.mjs +0 -2
- package/esm2022/lib/codegen/model/getTerminalMethodDocumentTypes200Response.mjs +0 -2
- package/esm2022/lib/codegen/model/invoiceStatus.mjs +0 -8
- package/esm2022/lib/codegen/model/methodInfo.mjs +0 -2
- package/esm2022/lib/codegen/model/methodInfoLimits.mjs +0 -2
- package/esm2022/lib/codegen/model/methodType.mjs +0 -2
- package/esm2022/lib/codegen/model/methodTypeType.mjs +0 -2
- package/esm2022/lib/codegen/model/models.mjs +0 -22
- package/esm2022/lib/codegen/model/postTerminalClose200Response.mjs +0 -2
- package/esm2022/lib/codegen/model/postTerminalOpen200Response.mjs +0 -2
- package/esm2022/lib/codegen/model/postTerminalOpenRequest.mjs +0 -2
- package/esm2022/lib/codegen/model/postTerminalPaymentConfirm200Response.mjs +0 -2
- package/esm2022/lib/codegen/model/postTerminalPaymentConfirmRequest.mjs +0 -2
- package/esm2022/lib/codegen/model/postTerminalPaymentPrepare200Response.mjs +0 -2
- package/esm2022/lib/codegen/model/postTerminalPaymentPrepareRequest.mjs +0 -2
- package/esm2022/lib/codegen/model/sessionInfo.mjs +0 -2
- package/esm2022/lib/codegen/model/sessionInfoAntiFraudPixel.mjs +0 -2
- package/esm2022/lib/const.mjs +0 -9
- package/esm2022/lib/helpers/index.mjs +0 -3
- package/esm2022/lib/helpers/moment-import.mjs +0 -3
- package/esm2022/lib/helpers/remove-empty-props.mjs +0 -13
- package/esm2022/lib/index.mjs +0 -5
- package/esm2022/public-api.mjs +0 -5
- package/esm2022/trm-tmpl.mjs +0 -5
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, inject, Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject, throwError } from 'rxjs';
|
|
3
|
-
import { catchError, delay, map, tap } from 'rxjs/operators';
|
|
4
|
-
import { DOCUMENT } from '@angular/common';
|
|
5
|
-
import { ApiErrorsService } from './api-errors.service';
|
|
6
|
-
import { CookieService } from 'ngx-cookie-service';
|
|
7
|
-
import { TranslateLangStorageService } from './translation/translate-lang-storage.service';
|
|
8
|
-
import { I18N_KEY } from './../i18n';
|
|
9
|
-
import { TERMINAL_SDK_FACTORY, TERMINAL_SERVICE_TOKEN } from '../../const';
|
|
10
|
-
import { OTHER_COUNTRY_CODE } from '../helpers/i18n-countries';
|
|
11
|
-
import { SessionToken } from '../models';
|
|
12
|
-
import { CONFIG } from '../pages/components/constructor-form/models/config/all';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
export class SessionDataSource {
|
|
15
|
-
constructor() {
|
|
16
|
-
this.document = inject(DOCUMENT);
|
|
17
|
-
this.langStorage = inject(TranslateLangStorageService);
|
|
18
|
-
this.terminalApi = inject(TERMINAL_SERVICE_TOKEN);
|
|
19
|
-
this.token = inject(SessionToken, { optional: true }) || 'token';
|
|
20
|
-
this.apiErrorsSrv = inject(ApiErrorsService);
|
|
21
|
-
this.cookieSrv = inject(CookieService);
|
|
22
|
-
this.cd = inject(ChangeDetectorRef);
|
|
23
|
-
this.cardTerminalSdkFactory = inject(TERMINAL_SDK_FACTORY);
|
|
24
|
-
this.data$ = new BehaviorSubject(undefined);
|
|
25
|
-
this.loading$ = new BehaviorSubject(true);
|
|
26
|
-
this.loadingMethodInfo$ = new BehaviorSubject(true);
|
|
27
|
-
this.configurations = new Map();
|
|
28
|
-
this.feeChangeable = !!this.terminalApi.getFee;
|
|
29
|
-
}
|
|
30
|
-
fillConfigurations(methods = this.getSessionValue()?.methodTypes || []) {
|
|
31
|
-
return methods.forEach((m) => this.configurations.set(m.type.name, CONFIG[m.type.name]));
|
|
32
|
-
}
|
|
33
|
-
unionGlobalCountries(session) {
|
|
34
|
-
let methods = session.methodTypes;
|
|
35
|
-
// sort methods by countries in map
|
|
36
|
-
const countriesTypes = new Map();
|
|
37
|
-
methods.forEach(({ countryISOCode, type: { id } }) => {
|
|
38
|
-
let types = (countriesTypes.get(countryISOCode) || new Set()).add(id);
|
|
39
|
-
countriesTypes.set(countryISOCode, types);
|
|
40
|
-
});
|
|
41
|
-
// Check every type in the country on having in other countries and getting ones in collection
|
|
42
|
-
const globalCountries = [];
|
|
43
|
-
const typesCountriesArray = Array.from(countriesTypes.values());
|
|
44
|
-
const everyCountryHasTypeIdPredicate = (typeId) => typesCountriesArray.every((countryTypes) => countryTypes.has(typeId));
|
|
45
|
-
countriesTypes.forEach((types, iso) => {
|
|
46
|
-
// Check every type includes in all countries
|
|
47
|
-
const hasOnlyGlobalTypes = [...types].every(everyCountryHasTypeIdPredicate);
|
|
48
|
-
if (hasOnlyGlobalTypes) {
|
|
49
|
-
globalCountries.push(iso);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
// if we have more than one country with only global types collapse them into one category
|
|
53
|
-
if (globalCountries.length > 0) {
|
|
54
|
-
const firstGlobalCountry = globalCountries.pop();
|
|
55
|
-
methods = methods
|
|
56
|
-
.filter(({ countryISOCode }) => !globalCountries.includes(countryISOCode));
|
|
57
|
-
methods.forEach(m => m.countryISOCode === firstGlobalCountry && (m.countryISOCode = OTHER_COUNTRY_CODE));
|
|
58
|
-
}
|
|
59
|
-
session.methodTypes = methods;
|
|
60
|
-
return session;
|
|
61
|
-
}
|
|
62
|
-
getConfiguration(name) {
|
|
63
|
-
return this.configurations.get(name);
|
|
64
|
-
}
|
|
65
|
-
redirect() {
|
|
66
|
-
if (this.redirectUrl) {
|
|
67
|
-
this.document.defaultView.location.href = this.redirectUrl;
|
|
68
|
-
return true;
|
|
69
|
-
}
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
returnBack() {
|
|
73
|
-
if (this.returnUrl) {
|
|
74
|
-
this.document.defaultView.location.href = this.returnUrl;
|
|
75
|
-
return true;
|
|
76
|
-
}
|
|
77
|
-
return false;
|
|
78
|
-
}
|
|
79
|
-
get canReturnToProject() {
|
|
80
|
-
return !!this.returnUrl;
|
|
81
|
-
}
|
|
82
|
-
get returnBackUrl() {
|
|
83
|
-
return this.returnUrl;
|
|
84
|
-
}
|
|
85
|
-
getTypeNameById(id) {
|
|
86
|
-
return this.data$.getValue().methodTypes.find(m => m.type.id === id).type.name;
|
|
87
|
-
}
|
|
88
|
-
getSessionValue() {
|
|
89
|
-
return this.data$.getValue();
|
|
90
|
-
}
|
|
91
|
-
get() {
|
|
92
|
-
if (!this.loading$.getValue()) {
|
|
93
|
-
this.loading$.next(true);
|
|
94
|
-
}
|
|
95
|
-
return this.terminalApi.getTerminalSessionInfo({
|
|
96
|
-
token: this.token
|
|
97
|
-
})
|
|
98
|
-
.pipe(catchError(this.catchError(this.loading$)), map((session) => {
|
|
99
|
-
this.data$.next(this.unionGlobalCountries(session));
|
|
100
|
-
this.fillConfigurations();
|
|
101
|
-
this.loading$.next(false);
|
|
102
|
-
this.returnUrl = session.returnUrl;
|
|
103
|
-
return this.data$.getValue();
|
|
104
|
-
}));
|
|
105
|
-
}
|
|
106
|
-
getMethodInfo(currency, typeId) {
|
|
107
|
-
if (!this.loadingMethodInfo$.getValue()) {
|
|
108
|
-
this.loadingMethodInfo$.next(true);
|
|
109
|
-
}
|
|
110
|
-
if (!typeId || !currency) {
|
|
111
|
-
return throwError({})
|
|
112
|
-
.pipe(catchError(this.catchError(this.loadingMethodInfo$)));
|
|
113
|
-
}
|
|
114
|
-
return this.terminalApi
|
|
115
|
-
.getTerminalMethodInfo({
|
|
116
|
-
token: this.token,
|
|
117
|
-
lang: this.langStorage.currentLang,
|
|
118
|
-
currency,
|
|
119
|
-
typeId
|
|
120
|
-
})
|
|
121
|
-
.pipe(catchError(this.catchError(this.loadingMethodInfo$)), tap((method) => {
|
|
122
|
-
if (method.payment_token) {
|
|
123
|
-
this.payment_token = method.payment_token;
|
|
124
|
-
}
|
|
125
|
-
this.loadingMethodInfo$.next(false);
|
|
126
|
-
}));
|
|
127
|
-
}
|
|
128
|
-
catchError(loading$) {
|
|
129
|
-
return (err) => {
|
|
130
|
-
this.apiErrorsSrv.setLocalError(err.error);
|
|
131
|
-
loading$?.next(false);
|
|
132
|
-
this.cd.markForCheck();
|
|
133
|
-
return throwError(err);
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
prepare(data) {
|
|
137
|
-
return this.terminalApi
|
|
138
|
-
.postTerminalPaymentPrepare({
|
|
139
|
-
token: this.token,
|
|
140
|
-
terminalPaymentPrepareRequest: data
|
|
141
|
-
})
|
|
142
|
-
.pipe(delay(2000), catchError(this.catchError()));
|
|
143
|
-
}
|
|
144
|
-
confirm() {
|
|
145
|
-
return this.terminalApi
|
|
146
|
-
.postTerminalPaymentConfirm({
|
|
147
|
-
token: this.token,
|
|
148
|
-
terminalPaymentConfirmRequest: {
|
|
149
|
-
lang: this.langStorage.currentLang,
|
|
150
|
-
gaCookie: this.cookieSrv.get('_ga') || null
|
|
151
|
-
}
|
|
152
|
-
})
|
|
153
|
-
.pipe(catchError(this.catchError()), tap((resp) => {
|
|
154
|
-
this.redirectUrl = resp.redirectUrl;
|
|
155
|
-
}));
|
|
156
|
-
}
|
|
157
|
-
close() {
|
|
158
|
-
return this.terminalApi
|
|
159
|
-
.postTerminalClose({
|
|
160
|
-
token: this.token
|
|
161
|
-
})
|
|
162
|
-
.pipe(catchError(this.catchError()), map(() => {
|
|
163
|
-
if (!this.returnBack()) {
|
|
164
|
-
const error = { code: I18N_KEY.SESSION_CLOSED };
|
|
165
|
-
this.apiErrorsSrv.setLocalError(error);
|
|
166
|
-
this.cd.markForCheck();
|
|
167
|
-
throw error;
|
|
168
|
-
}
|
|
169
|
-
}));
|
|
170
|
-
}
|
|
171
|
-
getBanks(typeId) {
|
|
172
|
-
return this.terminalApi
|
|
173
|
-
.getTerminalMethodBanks({
|
|
174
|
-
typeId,
|
|
175
|
-
token: this.token
|
|
176
|
-
})
|
|
177
|
-
.pipe(catchError(this.catchError()));
|
|
178
|
-
}
|
|
179
|
-
getDocuments(typeId) {
|
|
180
|
-
return this.terminalApi
|
|
181
|
-
.getTerminalMethodDocumentTypes({
|
|
182
|
-
typeId,
|
|
183
|
-
token: this.token
|
|
184
|
-
})
|
|
185
|
-
.pipe(catchError(this.catchError()));
|
|
186
|
-
}
|
|
187
|
-
createCardTerminalSdk(lang, id, tabindex) {
|
|
188
|
-
return this.cardTerminalSdkFactory(this.payment_token, id, { lang, tabindex });
|
|
189
|
-
}
|
|
190
|
-
feeOptions(payment) {
|
|
191
|
-
return this.terminalApi.getFee(payment);
|
|
192
|
-
}
|
|
193
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SessionDataSource, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
194
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SessionDataSource }); }
|
|
195
|
-
}
|
|
196
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SessionDataSource, decorators: [{
|
|
197
|
-
type: Injectable
|
|
198
|
-
}] });
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5kYXRhLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rlcm1pbmFsLXRlbXBsYXRlL3NyYy9saWIvYXBwL3NlcnZpY2VzL3Nlc3Npb24uZGF0YS1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFVdEUsT0FBTyxFQUFFLGVBQWUsRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHbkQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFrQixZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQUdoRixNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBRUUsYUFBUSxHQUFHLE1BQU0sQ0FBVyxRQUFRLENBQUMsQ0FBQztRQUM5QixnQkFBVyxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ2xELGdCQUFX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YW5nZURldGVjdG9yUmVmLCBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE1ldGhvZEluZm8sXG4gIE1ldGhvZFR5cGUsXG4gIFNlc3Npb25JbmZvLFxuICBUZXJtaW5hbE1ldGhvZEJhbmtzUmVzcG9uc2UsXG4gIFRlcm1pbmFsTWV0aG9kRG9jdW1lbnRUeXBlc1Jlc3BvbnNlLFxuICBUZXJtaW5hbFBheW1lbnRQcmVwYXJlUmVxdWVzdCxcbiAgVGVybWluYWxQYXltZW50UHJlcGFyZVJlc3BvbnNlXG59IGZyb20gJy4uLy4uL2NvZGVnZW4vbW9kZWwvbW9kZWxzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGVsYXksIG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQXBpRXJyb3JzU2VydmljZSB9IGZyb20gJy4vYXBpLWVycm9ycy5zZXJ2aWNlJztcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudEZpZWxkcyB9IGZyb20gJy4vLi4vcGFnZXMvY29tcG9uZW50cy9jb25zdHJ1Y3Rvci1mb3JtL21vZGVscyc7XG5pbXBvcnQgeyBIdHRwQmFkUmVxdWVzdFJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWxzL2h0dHAtYmFkLXJlcXVlc3QtcmVzcG9uc2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTGFuZ1N0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi90cmFuc2xhdGUtbGFuZy1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSTE4Tl9LRVkgfSBmcm9tICcuLy4uL2kxOG4nO1xuaW1wb3J0IHsgVEVSTUlOQUxfU0RLX0ZBQ1RPUlksIFRFUk1JTkFMX1NFUlZJQ0VfVE9LRU4gfSBmcm9tICcuLi8uLi9jb25zdCc7XG5pbXBvcnQgeyBUZXJtaW5hbFNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9jb2RlZ2VuL2FwaS90ZXJtaW5hbC5zZXJ2aWNlJztcbmltcG9ydCB7IE9USEVSX0NPVU5UUllfQ09ERSB9IGZyb20gJy4uL2hlbHBlcnMvaTE4bi1jb3VudHJpZXMnO1xuaW1wb3J0IHsgQ2RlVGVybWluYWxTZGssIFNlc3Npb25Ub2tlbiB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBDT05GSUcgfSBmcm9tICcuLi9wYWdlcy9jb21wb25lbnRzL2NvbnN0cnVjdG9yLWZvcm0vbW9kZWxzL2NvbmZpZy9hbGwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2Vzc2lvbkRhdGFTb3VyY2Uge1xuICBkb2N1bWVudCA9IGluamVjdDxEb2N1bWVudD4oRE9DVU1FTlQpO1xuICBwcml2YXRlIGxhbmdTdG9yYWdlID0gaW5qZWN0KFRyYW5zbGF0ZUxhbmdTdG9yYWdlU2VydmljZSk7XG4gIHByaXZhdGUgdGVybWluYWxBcGkgPSBpbmplY3Q8VGVybWluYWxTZXJ2aWNlSW50ZXJmYWNlPihURVJNSU5BTF9TRVJWSUNFX1RPS0VOKTtcbiAgcHJpdmF0ZSB0b2tlbiA9IGluamVjdChTZXNzaW9uVG9rZW4sIHtvcHRpb25hbDogdHJ1ZX0pIHx8ICd0b2tlbic7XG4gIHByaXZhdGUgYXBpRXJyb3JzU3J2ID0gaW5qZWN0KEFwaUVycm9yc1NlcnZpY2UpO1xuICBwcml2YXRlIGNvb2tpZVNydiA9IGluamVjdChDb29raWVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBjZCA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgY2FyZFRlcm1pbmFsU2RrRmFjdG9yeSA9IGluamVjdChURVJNSU5BTF9TREtfRkFDVE9SWSk7XG5cbiAgcGF5bWVudF90b2tlbj86IHN0cmluZztcbiAgZGF0YSQ6IEJlaGF2aW9yU3ViamVjdDxTZXNzaW9uSW5mbz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNlc3Npb25JbmZvPih1bmRlZmluZWQpO1xuICBsb2FkaW5nJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgbG9hZGluZ01ldGhvZEluZm8kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBwcml2YXRlIHJlZGlyZWN0VXJsOiBzdHJpbmc7XG4gIHByaXZhdGUgcmV0dXJuVXJsOiBzdHJpbmc7XG4gIHByaXZhdGUgY29uZmlndXJhdGlvbnM6IE1hcDxzdHJpbmcsIFBheW1lbnRGaWVsZHM+ID0gbmV3IE1hcCgpO1xuXG4gIHByaXZhdGUgZmlsbENvbmZpZ3VyYXRpb25zKG1ldGhvZHM6IE1ldGhvZFR5cGVbXSA9IHRoaXMuZ2V0U2Vzc2lvblZhbHVlKCk/Lm1ldGhvZFR5cGVzIHx8IFtdKSB7XG4gICAgcmV0dXJuIG1ldGhvZHMuZm9yRWFjaChcbiAgICAgIChtOiBNZXRob2RUeXBlKSA9PiB0aGlzLmNvbmZpZ3VyYXRpb25zLnNldChcbiAgICAgICAgbS50eXBlLm5hbWUsXG4gICAgICAgIENPTkZJR1ttLnR5cGUubmFtZV1cbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSB1bmlvbkdsb2JhbENvdW50cmllcyhzZXNzaW9uOiBTZXNzaW9uSW5mbykge1xuICAgIGxldCBtZXRob2RzID0gc2Vzc2lvbi5tZXRob2RUeXBlcztcblxuICAgIC8vIHNvcnQgbWV0aG9kcyBieSBjb3VudHJpZXMgaW4gbWFwXG4gICAgY29uc3QgY291bnRyaWVzVHlwZXM6IE1hcDxzdHJpbmcsIFNldDxudW1iZXI+PiA9IG5ldyBNYXA8c3RyaW5nLCBTZXQ8bnVtYmVyPj4oKTtcbiAgICBtZXRob2RzLmZvckVhY2goKHtjb3VudHJ5SVNPQ29kZSwgdHlwZToge2lkfX0pID0+IHtcbiAgICAgIGxldCB0eXBlcyA9IChjb3VudHJpZXNUeXBlcy5nZXQoY291bnRyeUlTT0NvZGUpIHx8IG5ldyBTZXQoKSkuYWRkKGlkKTtcbiAgICAgIGNvdW50cmllc1R5cGVzLnNldChjb3VudHJ5SVNPQ29kZSwgdHlwZXMpO1xuICAgIH0pO1xuXG4gICAgLy8gQ2hlY2sgZXZlcnkgdHlwZSBpbiB0aGUgY291bnRyeSBvbiBoYXZpbmcgaW4gb3RoZXIgY291bnRyaWVzIGFuZCBnZXR0aW5nIG9uZXMgaW4gY29sbGVjdGlvblxuICAgIGNvbnN0IGdsb2JhbENvdW50cmllczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCB0eXBlc0NvdW50cmllc0FycmF5ID0gQXJyYXkuZnJvbShjb3VudHJpZXNUeXBlcy52YWx1ZXMoKSk7XG4gICAgY29uc3QgZXZlcnlDb3VudHJ5SGFzVHlwZUlkUHJlZGljYXRlID0gKHR5cGVJZCkgPT4gdHlwZXNDb3VudHJpZXNBcnJheS5ldmVyeSgoY291bnRyeVR5cGVzKSA9PiBjb3VudHJ5VHlwZXMuaGFzKHR5cGVJZCkpO1xuICAgIGNvdW50cmllc1R5cGVzLmZvckVhY2goKHR5cGVzLCBpc28pID0+IHtcbiAgICAgIC8vIENoZWNrIGV2ZXJ5IHR5cGUgaW5jbHVkZXMgaW4gYWxsIGNvdW50cmllc1xuICAgICAgY29uc3QgaGFzT25seUdsb2JhbFR5cGVzID0gWy4uLnR5cGVzXS5ldmVyeShldmVyeUNvdW50cnlIYXNUeXBlSWRQcmVkaWNhdGUpO1xuICAgICAgaWYgKGhhc09ubHlHbG9iYWxUeXBlcykge1xuICAgICAgICBnbG9iYWxDb3VudHJpZXMucHVzaChpc28pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gaWYgd2UgaGF2ZSBtb3JlIHRoYW4gb25lIGNvdW50cnkgd2l0aCBvbmx5IGdsb2JhbCB0eXBlcyBjb2xsYXBzZSB0aGVtIGludG8gb25lIGNhdGVnb3J5XG4gICAgaWYgKGdsb2JhbENvdW50cmllcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBmaXJzdEdsb2JhbENvdW50cnkgPSBnbG9iYWxDb3VudHJpZXMucG9wKCk7XG4gICAgICBtZXRob2RzID0gbWV0aG9kc1xuICAgICAgICAuZmlsdGVyKCh7Y291bnRyeUlTT0NvZGV9KSA9PiAhZ2xvYmFsQ291bnRyaWVzLmluY2x1ZGVzKGNvdW50cnlJU09Db2RlKSk7XG4gICAgICBtZXRob2RzLmZvckVhY2gobSA9PiBtLmNvdW50cnlJU09Db2RlID09PSBmaXJzdEdsb2JhbENvdW50cnkgJiYgKG0uY291bnRyeUlTT0NvZGUgPSBPVEhFUl9DT1VOVFJZX0NPREUpKTtcbiAgICB9XG4gICAgc2Vzc2lvbi5tZXRob2RUeXBlcyA9IG1ldGhvZHM7XG4gICAgcmV0dXJuIHNlc3Npb247XG4gIH1cblxuICBnZXRDb25maWd1cmF0aW9uKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25zLmdldChuYW1lKTtcbiAgfVxuXG4gIHJlZGlyZWN0KCkge1xuICAgIGlmICh0aGlzLnJlZGlyZWN0VXJsKSB7XG4gICAgICB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3LmxvY2F0aW9uLmhyZWYgPSB0aGlzLnJlZGlyZWN0VXJsO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybkJhY2soKSB7XG4gICAgaWYgKHRoaXMucmV0dXJuVXJsKSB7XG4gICAgICB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3LmxvY2F0aW9uLmhyZWYgPSB0aGlzLnJldHVyblVybDtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXQgY2FuUmV0dXJuVG9Qcm9qZWN0KCkge1xuICAgIHJldHVybiAhIXRoaXMucmV0dXJuVXJsO1xuICB9XG5cbiAgZ2V0IHJldHVybkJhY2tVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXR1cm5Vcmw7XG4gIH1cblxuICBnZXRUeXBlTmFtZUJ5SWQoaWQ6IG51bWJlcikge1xuICAgIHJldHVybiB0aGlzLmRhdGEkLmdldFZhbHVlKCkubWV0aG9kVHlwZXMuZmluZChtID0+IG0udHlwZS5pZCA9PT0gaWQpLnR5cGUubmFtZTtcbiAgfVxuXG4gIGdldFNlc3Npb25WYWx1ZSgpOiBTZXNzaW9uSW5mbyB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGdldCgpOiBPYnNlcnZhYmxlPFNlc3Npb25JbmZvPiB7XG4gICAgaWYgKCF0aGlzLmxvYWRpbmckLmdldFZhbHVlKCkpIHtcbiAgICAgIHRoaXMubG9hZGluZyQubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy50ZXJtaW5hbEFwaS5nZXRUZXJtaW5hbFNlc3Npb25JbmZvKHtcbiAgICAgIHRva2VuOiB0aGlzLnRva2VuXG4gICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKFxuICAgICAgICAgIHRoaXMuY2F0Y2hFcnJvcih0aGlzLmxvYWRpbmckKVxuICAgICAgICApLFxuICAgICAgICBtYXAoKHNlc3Npb246IFNlc3Npb25JbmZvKSA9PiB7XG4gICAgICAgICAgdGhpcy5kYXRhJC5uZXh0KHRoaXMudW5pb25HbG9iYWxDb3VudHJpZXMoc2Vzc2lvbikpO1xuICAgICAgICAgIHRoaXMuZmlsbENvbmZpZ3VyYXRpb25zKCk7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICB0aGlzLnJldHVyblVybCA9IHNlc3Npb24ucmV0dXJuVXJsO1xuICAgICAgICAgIHJldHVybiB0aGlzLmRhdGEkLmdldFZhbHVlKCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgZ2V0TWV0aG9kSW5mbyhjdXJyZW5jeSwgdHlwZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPE1ldGhvZEluZm8+IHtcbiAgICBpZiAoIXRoaXMubG9hZGluZ01ldGhvZEluZm8kLmdldFZhbHVlKCkpIHtcbiAgICAgIHRoaXMubG9hZGluZ01ldGhvZEluZm8kLm5leHQodHJ1ZSk7XG4gICAgfVxuICAgIGlmICghdHlwZUlkIHx8ICFjdXJyZW5jeSkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3Ioe30pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGNhdGNoRXJyb3IoXG4gICAgICAgICAgICB0aGlzLmNhdGNoRXJyb3IodGhpcy5sb2FkaW5nTWV0aG9kSW5mbyQpXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy50ZXJtaW5hbEFwaVxuICAgICAgLmdldFRlcm1pbmFsTWV0aG9kSW5mbyh7XG4gICAgICAgIHRva2VuOiB0aGlzLnRva2VuLFxuICAgICAgICBsYW5nOiB0aGlzLmxhbmdTdG9yYWdlLmN1cnJlbnRMYW5nLFxuICAgICAgICBjdXJyZW5jeSxcbiAgICAgICAgdHlwZUlkXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoXG4gICAgICAgICAgdGhpcy5jYXRjaEVycm9yKHRoaXMubG9hZGluZ01ldGhvZEluZm8kKVxuICAgICAgICApLFxuICAgICAgICB0YXAoKG1ldGhvZCkgPT4ge1xuICAgICAgICAgIGlmIChtZXRob2QucGF5bWVudF90b2tlbikge1xuICAgICAgICAgICAgdGhpcy5wYXltZW50X3Rva2VuID0gbWV0aG9kLnBheW1lbnRfdG9rZW47XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMubG9hZGluZ01ldGhvZEluZm8kLm5leHQoZmFsc2UpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2F0Y2hFcnJvcihsb2FkaW5nJD86IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPikge1xuICAgIHJldHVybiAoZXJyOiBIdHRwQmFkUmVxdWVzdFJlc3BvbnNlKSA9PiB7XG4gICAgICB0aGlzLmFwaUVycm9yc1Nydi5zZXRMb2NhbEVycm9yKGVyci5lcnJvcik7XG4gICAgICBsb2FkaW5nJD8ubmV4dChmYWxzZSk7XG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcbiAgICB9XG4gIH1cblxuICBwcmVwYXJlKGRhdGE6IFRlcm1pbmFsUGF5bWVudFByZXBhcmVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxUZXJtaW5hbFBheW1lbnRQcmVwYXJlUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy50ZXJtaW5hbEFwaVxuICAgICAgLnBvc3RUZXJtaW5hbFBheW1lbnRQcmVwYXJlKHtcbiAgICAgICAgdG9rZW46IHRoaXMudG9rZW4sXG4gICAgICAgIHRlcm1pbmFsUGF5bWVudFByZXBhcmVSZXF1ZXN0OiBkYXRhXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlbGF5KDIwMDApLFxuICAgICAgICBjYXRjaEVycm9yKFxuICAgICAgICAgIHRoaXMuY2F0Y2hFcnJvcigpXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBjb25maXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm1pbmFsQXBpXG4gICAgICAucG9zdFRlcm1pbmFsUGF5bWVudENvbmZpcm0oe1xuICAgICAgICB0b2tlbjogdGhpcy50b2tlbixcbiAgICAgICAgdGVybWluYWxQYXltZW50Q29uZmlybVJlcXVlc3Q6IHtcbiAgICAgICAgICBsYW5nOiB0aGlzLmxhbmdTdG9yYWdlLmN1cnJlbnRMYW5nLFxuICAgICAgICAgIGdhQ29va2llOiB0aGlzLmNvb2tpZVNydi5nZXQoJ19nYScpIHx8IG51bGxcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKFxuICAgICAgICAgIHRoaXMuY2F0Y2hFcnJvcigpXG4gICAgICAgICksXG4gICAgICAgIHRhcCgocmVzcCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVkaXJlY3RVcmwgPSByZXNwLnJlZGlyZWN0VXJsO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuXG4gICAgcmV0dXJuIHRoaXMudGVybWluYWxBcGlcbiAgICAgIC5wb3N0VGVybWluYWxDbG9zZSh7XG4gICAgICAgIHRva2VuOiB0aGlzLnRva2VuXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoXG4gICAgICAgICAgdGhpcy5jYXRjaEVycm9yKClcbiAgICAgICAgKSxcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMucmV0dXJuQmFjaygpKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvciA9IHtjb2RlOiBJMThOX0tFWS5TRVNTSU9OX0NMT1NFRH07XG4gICAgICAgICAgICB0aGlzLmFwaUVycm9yc1Nydi5zZXRMb2NhbEVycm9yKGVycm9yKTtcbiAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG5cbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBnZXRCYW5rcyh0eXBlSWQ6IG51bWJlcik6IE9ic2VydmFibGU8VGVybWluYWxNZXRob2RCYW5rc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMudGVybWluYWxBcGlcbiAgICAgIC5nZXRUZXJtaW5hbE1ldGhvZEJhbmtzKHtcbiAgICAgICAgdHlwZUlkLFxuICAgICAgICB0b2tlbjogdGhpcy50b2tlblxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKFxuICAgICAgICAgIHRoaXMuY2F0Y2hFcnJvcigpXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBnZXREb2N1bWVudHModHlwZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFRlcm1pbmFsTWV0aG9kRG9jdW1lbnRUeXBlc1Jlc3BvbnNlPiB7XG5cbiAgICByZXR1cm4gdGhpcy50ZXJtaW5hbEFwaVxuICAgICAgLmdldFRlcm1pbmFsTWV0aG9kRG9jdW1lbnRUeXBlcyh7XG4gICAgICAgIHR5cGVJZCxcbiAgICAgICAgdG9rZW46IHRoaXMudG9rZW5cbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihcbiAgICAgICAgICB0aGlzLmNhdGNoRXJyb3IoKVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgY3JlYXRlQ2FyZFRlcm1pbmFsU2RrKGxhbmc6IHN0cmluZywgaWQ6IHN0cmluZywgdGFiaW5kZXg/OiBudW1iZXIpOiBDZGVUZXJtaW5hbFNkayB7XG4gICAgcmV0dXJuIHRoaXMuY2FyZFRlcm1pbmFsU2RrRmFjdG9yeSh0aGlzLnBheW1lbnRfdG9rZW4sIGlkLCB7bGFuZywgdGFiaW5kZXh9KTtcbiAgfVxuXG4gIGZlZUNoYW5nZWFibGUgPSAhIXRoaXMudGVybWluYWxBcGkuZ2V0RmVlO1xuXG4gIGZlZU9wdGlvbnMocGF5bWVudDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMudGVybWluYWxBcGkuZ2V0RmVlKHBheW1lbnQpO1xuICB9XG59XG5cblxuIl19
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
4
|
-
import { DEFAULT_LANG, LANGUAGE } from '../../models/constants';
|
|
5
|
-
import { TERMINAL_VERSION_SERVICE_TOKEN } from '../../../const';
|
|
6
|
-
import { LocalStorage } from "../local-storage";
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
const TRANSLATION_LANG_KEYS = {
|
|
9
|
-
[LANGUAGE.RU]: {
|
|
10
|
-
code: 'ru',
|
|
11
|
-
name: 'Русский',
|
|
12
|
-
countries: [
|
|
13
|
-
'AZ',
|
|
14
|
-
'AM',
|
|
15
|
-
'BY',
|
|
16
|
-
'KZ',
|
|
17
|
-
'KG',
|
|
18
|
-
'MD',
|
|
19
|
-
'RU',
|
|
20
|
-
'TJ',
|
|
21
|
-
'TM',
|
|
22
|
-
'UZ',
|
|
23
|
-
'UA',
|
|
24
|
-
],
|
|
25
|
-
},
|
|
26
|
-
[LANGUAGE.EN]: {
|
|
27
|
-
code: 'gb',
|
|
28
|
-
name: 'English',
|
|
29
|
-
countries: [],
|
|
30
|
-
},
|
|
31
|
-
[LANGUAGE.ES]: {
|
|
32
|
-
code: 'es',
|
|
33
|
-
name: 'Español',
|
|
34
|
-
countries: [
|
|
35
|
-
'BZ',
|
|
36
|
-
'GT',
|
|
37
|
-
'HN',
|
|
38
|
-
'CR',
|
|
39
|
-
'PA',
|
|
40
|
-
'NI',
|
|
41
|
-
'SV',
|
|
42
|
-
'AR',
|
|
43
|
-
'CL',
|
|
44
|
-
'CO',
|
|
45
|
-
'EC',
|
|
46
|
-
'PY',
|
|
47
|
-
'PE',
|
|
48
|
-
'GY',
|
|
49
|
-
'ES',
|
|
50
|
-
],
|
|
51
|
-
},
|
|
52
|
-
[LANGUAGE.TR]: {
|
|
53
|
-
code: 'tr',
|
|
54
|
-
name: 'Türkçe',
|
|
55
|
-
countries: ['TR'],
|
|
56
|
-
},
|
|
57
|
-
[LANGUAGE.PT]: {
|
|
58
|
-
code: 'pt',
|
|
59
|
-
name: 'Português',
|
|
60
|
-
countries: ['PT', 'BR'],
|
|
61
|
-
},
|
|
62
|
-
};
|
|
63
|
-
export class TranslateLangStorageService {
|
|
64
|
-
constructor() {
|
|
65
|
-
this._storage = inject(LocalStorage);
|
|
66
|
-
this.versionSrv = inject(TERMINAL_VERSION_SERVICE_TOKEN);
|
|
67
|
-
this.document = inject(DOCUMENT);
|
|
68
|
-
this.translateSrv = inject(TranslateService);
|
|
69
|
-
this.TRANSLATION_LANG_KEYS = TRANSLATION_LANG_KEYS;
|
|
70
|
-
}
|
|
71
|
-
get languages() {
|
|
72
|
-
return this.versionSrv.langs || [LANGUAGE.RU, LANGUAGE.EN, LANGUAGE.PT, LANGUAGE.TR, LANGUAGE.ES];
|
|
73
|
-
}
|
|
74
|
-
get location() {
|
|
75
|
-
return this.document.defaultView.location;
|
|
76
|
-
}
|
|
77
|
-
get onLangChange$() {
|
|
78
|
-
return this.translateSrv.onLangChange;
|
|
79
|
-
}
|
|
80
|
-
get currentLang() {
|
|
81
|
-
return this.translateSrv.currentLang;
|
|
82
|
-
}
|
|
83
|
-
get queryLang() {
|
|
84
|
-
return new URL(this.location.href).searchParams.get('language');
|
|
85
|
-
}
|
|
86
|
-
get countryLanguage() {
|
|
87
|
-
const code = this._storage.defaultCountry?.toUpperCase();
|
|
88
|
-
if (!code) {
|
|
89
|
-
return null;
|
|
90
|
-
}
|
|
91
|
-
return Object.keys(this.TRANSLATION_LANG_KEYS).find((lang) => {
|
|
92
|
-
const meta = this.TRANSLATION_LANG_KEYS[lang];
|
|
93
|
-
return meta?.countries.some((c) => c.includes(code.toUpperCase()));
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
setLanguage$(options = { save: true }) {
|
|
97
|
-
const availableLanguages = Object.keys(this.TRANSLATION_LANG_KEYS);
|
|
98
|
-
let candidateLang = DEFAULT_LANG;
|
|
99
|
-
const lang = options?.lang?.toLowerCase();
|
|
100
|
-
const queryLang = this.queryLang?.toLowerCase();
|
|
101
|
-
const storageLang = this._storage.defaultLang?.toLowerCase();
|
|
102
|
-
const countryLang = this.countryLanguage?.toLowerCase();
|
|
103
|
-
if (availableLanguages.includes(lang)) {
|
|
104
|
-
candidateLang = lang;
|
|
105
|
-
}
|
|
106
|
-
else if (availableLanguages.includes(storageLang)) {
|
|
107
|
-
candidateLang = storageLang;
|
|
108
|
-
}
|
|
109
|
-
else if (availableLanguages.includes(queryLang)) {
|
|
110
|
-
candidateLang = queryLang;
|
|
111
|
-
}
|
|
112
|
-
else if (availableLanguages.includes(countryLang)) {
|
|
113
|
-
candidateLang = countryLang;
|
|
114
|
-
}
|
|
115
|
-
if (!this.versionSrv.langs.includes(candidateLang)) {
|
|
116
|
-
candidateLang = DEFAULT_LANG;
|
|
117
|
-
}
|
|
118
|
-
if (options?.save) {
|
|
119
|
-
this._storage.saveDefaultLang(candidateLang);
|
|
120
|
-
}
|
|
121
|
-
return this.translateSrv.use(candidateLang);
|
|
122
|
-
}
|
|
123
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TranslateLangStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
124
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TranslateLangStorageService }); }
|
|
125
|
-
}
|
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TranslateLangStorageService, decorators: [{
|
|
127
|
-
type: Injectable
|
|
128
|
-
}], ctorParameters: () => [] });
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLWxhbmctc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVybWluYWwtdGVtcGxhdGUvc3JjL2xpYi9hcHAvc2VydmljZXMvdHJhbnNsYXRpb24vdHJhbnNsYXRlLWxhbmctc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFtQixnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFFL0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQWNoRCxNQUFNLHFCQUFxQixHQUF3QjtJQUNqRCxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUNiLElBQUksRUFBRSxJQUFJO1FBQ1YsSUFBSSxFQUFFLFNBQVM7UUFDZixTQUFTLEVBQUU7WUFDVCxJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtTQUNMO0tBQ0Y7SUFDRCxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUNiLElBQUksRUFBRSxJQUFJO1FBQ1YsSUFBSSxFQUFFLFNBQVM7UUFDZixTQUFTLEVBQUUsRUFBRTtLQUNkO0lBQ0QsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUU7UUFDYixJQUFJLEVBQUUsSUFBSTtRQUNW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ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMYW5nQ2hhbmdlRXZlbnQsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IERFRkFVTFRfTEFORywgTEFOR1VBR0UgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29uc3RhbnRzJ1xuaW1wb3J0IHsgQWxwaGEyQ29kZSB9IGZyb20gJ2kxOG4taXNvLWNvdW50cmllcyc7XG5pbXBvcnQgeyBURVJNSU5BTF9WRVJTSU9OX1NFUlZJQ0VfVE9LRU4gfSBmcm9tICcuLi8uLi8uLi9jb25zdCc7XG5pbXBvcnQgeyBWZXJzaW9uU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2UgfSBmcm9tIFwiLi4vbG9jYWwtc3RvcmFnZVwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5cblxuaW50ZXJmYWNlIFRyYW5zbGF0aW9uTGFuZ0luZm9NZXRhIHtcbiAgY29kZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvdW50cmllczogQWxwaGEyQ29kZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbGF0aW9uTGFuZ0luZm8ge1xuICBba2V5OiBzdHJpbmddOiBUcmFuc2xhdGlvbkxhbmdJbmZvTWV0YTtcbn1cblxuY29uc3QgVFJBTlNMQVRJT05fTEFOR19LRVlTOiBUcmFuc2xhdGlvbkxhbmdJbmZvID0ge1xuICBbTEFOR1VBR0UuUlVdOiB7XG4gICAgY29kZTogJ3J1JyxcbiAgICBuYW1lOiAn0KDRg9GB0YHQutC40LknLFxuICAgIGNvdW50cmllczogW1xuICAgICAgJ0FaJyxcbiAgICAgICdBTScsXG4gICAgICAnQlknLFxuICAgICAgJ0taJyxcbiAgICAgICdLRycsXG4gICAgICAnTUQnLFxuICAgICAgJ1JVJyxcbiAgICAgICdUSicsXG4gICAgICAnVE0nLFxuICAgICAgJ1VaJyxcbiAgICAgICdVQScsXG4gICAgXSxcbiAgfSxcbiAgW0xBTkdVQUdFLkVOXToge1xuICAgIGNvZGU6ICdnYicsXG4gICAgbmFtZTogJ0VuZ2xpc2gnLFxuICAgIGNvdW50cmllczogW10sXG4gIH0sXG4gIFtMQU5HVUFHRS5FU106IHtcbiAgICBjb2RlOiAnZXMnLFxuICAgIG5hbWU6ICdFc3Bhw7FvbCcsXG4gICAgY291bnRyaWVzOiBbXG4gICAgICAnQlonLFxuICAgICAgJ0dUJyxcbiAgICAgICdITicsXG4gICAgICAnQ1InLFxuICAgICAgJ1BBJyxcbiAgICAgICdOSScsXG4gICAgICAnU1YnLFxuICAgICAgJ0FSJyxcbiAgICAgICdDTCcsXG4gICAgICAnQ08nLFxuICAgICAgJ0VDJyxcbiAgICAgICdQWScsXG4gICAgICAnUEUnLFxuICAgICAgJ0dZJyxcbiAgICAgICdFUycsXG4gICAgXSxcbiAgfSxcbiAgW0xBTkdVQUdFLlRSXToge1xuICAgIGNvZGU6ICd0cicsXG4gICAgbmFtZTogJ1TDvHJrw6dlJyxcbiAgICBjb3VudHJpZXM6IFsnVFInXSxcbiAgfSxcbiAgW0xBTkdVQUdFLlBUXToge1xuICAgIGNvZGU6ICdwdCcsXG4gICAgbmFtZTogJ1BvcnR1Z3XDqnMnLFxuICAgIGNvdW50cmllczogWydQVCcsICdCUiddLFxuICB9LFxufTtcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVMYW5nU3RvcmFnZVNlcnZpY2Uge1xuICBwcml2YXRlIF9zdG9yYWdlOiBMb2NhbFN0b3JhZ2UgPSBpbmplY3QoTG9jYWxTdG9yYWdlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIGdldCBsYW5ndWFnZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmVyc2lvblNydi5sYW5ncyB8fCBbTEFOR1VBR0UuUlUsIExBTkdVQUdFLkVOLCBMQU5HVUFHRS5QVCwgTEFOR1VBR0UuVFIsIExBTkdVQUdFLkVTXTtcbiAgfVxuXG4gIHByaXZhdGUgdmVyc2lvblNydiA9IGluamVjdDxWZXJzaW9uU2VydmljZUludGVyZmFjZT4oVEVSTUlOQUxfVkVSU0lPTl9TRVJWSUNFX1RPS0VOKTtcbiAgcHJpdmF0ZSBkb2N1bWVudCA9IGluamVjdDxEb2N1bWVudD4oRE9DVU1FTlQpO1xuICBwcml2YXRlIHRyYW5zbGF0ZVNydiA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcblxuICByZWFkb25seSBUUkFOU0xBVElPTl9MQU5HX0tFWVMgPSBUUkFOU0xBVElPTl9MQU5HX0tFWVM7XG5cbiAgcHJpdmF0ZSBnZXQgbG9jYXRpb24oKTogTG9jYXRpb24ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3LmxvY2F0aW9uO1xuICB9XG5cbiAgZ2V0IG9uTGFuZ0NoYW5nZSQoKTogRXZlbnRFbWl0dGVyPExhbmdDaGFuZ2VFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNydi5vbkxhbmdDaGFuZ2U7XG4gIH1cblxuICBnZXQgY3VycmVudExhbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTcnYuY3VycmVudExhbmc7XG4gIH1cblxuICBnZXQgcXVlcnlMYW5nKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiBuZXcgVVJMKHRoaXMubG9jYXRpb24uaHJlZikuc2VhcmNoUGFyYW1zLmdldCgnbGFuZ3VhZ2UnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGNvdW50cnlMYW5ndWFnZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBjb2RlID0gdGhpcy5fc3RvcmFnZS5kZWZhdWx0Q291bnRyeT8udG9VcHBlckNhc2UoKTtcbiAgICBpZiAoIWNvZGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5UUkFOU0xBVElPTl9MQU5HX0tFWVMpLmZpbmQoKGxhbmc6IExBTkdVQUdFKSA9PiB7XG4gICAgICBjb25zdCBtZXRhID0gdGhpcy5UUkFOU0xBVElPTl9MQU5HX0tFWVNbbGFuZ107XG4gICAgICByZXR1cm4gbWV0YT8uY291bnRyaWVzLnNvbWUoKGMpID0+IGMuaW5jbHVkZXMoY29kZS50b1VwcGVyQ2FzZSgpKSk7XG4gICAgfSk7XG4gIH1cblxuICBzZXRMYW5ndWFnZSQoXG4gICAgb3B0aW9uczogeyBzYXZlOiBib29sZWFuOyBsYW5nPzogc3RyaW5nIH0gPSB7c2F2ZTogdHJ1ZX0sXG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgYXZhaWxhYmxlTGFuZ3VhZ2VzID0gT2JqZWN0LmtleXModGhpcy5UUkFOU0xBVElPTl9MQU5HX0tFWVMpO1xuICAgIGxldCBjYW5kaWRhdGVMYW5nID0gREVGQVVMVF9MQU5HO1xuICAgIGNvbnN0IGxhbmcgPSBvcHRpb25zPy5sYW5nPy50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHF1ZXJ5TGFuZyA9IHRoaXMucXVlcnlMYW5nPy50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHN0b3JhZ2VMYW5nID0gdGhpcy5fc3RvcmFnZS5kZWZhdWx0TGFuZz8udG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBjb3VudHJ5TGFuZyA9IHRoaXMuY291bnRyeUxhbmd1YWdlPy50b0xvd2VyQ2FzZSgpO1xuICAgIGlmIChhdmFpbGFibGVMYW5ndWFnZXMuaW5jbHVkZXMobGFuZykpIHtcbiAgICAgIGNhbmRpZGF0ZUxhbmcgPSBsYW5nO1xuICAgIH0gZWxzZSBpZiAoYXZhaWxhYmxlTGFuZ3VhZ2VzLmluY2x1ZGVzKHN0b3JhZ2VMYW5nKSkge1xuICAgICAgY2FuZGlkYXRlTGFuZyA9IHN0b3JhZ2VMYW5nO1xuICAgIH0gZWxzZSBpZiAoYXZhaWxhYmxlTGFuZ3VhZ2VzLmluY2x1ZGVzKHF1ZXJ5TGFuZykpIHtcbiAgICAgIGNhbmRpZGF0ZUxhbmcgPSBxdWVyeUxhbmc7XG4gICAgfSBlbHNlIGlmIChhdmFpbGFibGVMYW5ndWFnZXMuaW5jbHVkZXMoY291bnRyeUxhbmcpKSB7XG4gICAgICBjYW5kaWRhdGVMYW5nID0gY291bnRyeUxhbmc7XG4gICAgfVxuICAgIGlmICghdGhpcy52ZXJzaW9uU3J2LmxhbmdzLmluY2x1ZGVzKGNhbmRpZGF0ZUxhbmcgYXMgTEFOR1VBR0UpKSB7XG4gICAgICBjYW5kaWRhdGVMYW5nID0gREVGQVVMVF9MQU5HO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zPy5zYXZlKSB7XG4gICAgICB0aGlzLl9zdG9yYWdlLnNhdmVEZWZhdWx0TGFuZyhjYW5kaWRhdGVMYW5nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTcnYudXNlKGNhbmRpZGF0ZUxhbmcpO1xuICB9XG59XG4iXX0=
|
package/esm2022/lib/app/shared/components/constructor-status/constructor-status.component.mjs
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, inject, Input, SecurityContext } from '@angular/core';
|
|
2
|
-
import { I18N_KEY } from './../../../i18n';
|
|
3
|
-
import { TERMINAL_VERSION_SERVICE_TOKEN } from '../../../../const';
|
|
4
|
-
import { SanitizerPipe } from '../../pipes/sanitizer.pipe';
|
|
5
|
-
import { TranslateByKeyPipe } from '../../pipes/translate-by-key.pipe';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class ConstructorStatusComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.versionSrv = inject(TERMINAL_VERSION_SERVICE_TOKEN);
|
|
10
|
-
this.SecurityContext = SecurityContext;
|
|
11
|
-
this.I18N_KEY = I18N_KEY;
|
|
12
|
-
this.failed = false;
|
|
13
|
-
this.inProgress = false;
|
|
14
|
-
this.animation = true;
|
|
15
|
-
this.hasSupportHint = true;
|
|
16
|
-
}
|
|
17
|
-
get supportEmail() {
|
|
18
|
-
return this.versionSrv.supportEmail;
|
|
19
|
-
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ConstructorStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: ConstructorStatusComponent, isStandalone: true, selector: "app-constructor-status", inputs: { failed: "failed", inProgress: "inProgress", animation: "animation", message: "message", failTitle: "failTitle", progressTitle: "progressTitle", successTitle: "successTitle", tabIndex: "tabIndex", backUrl: "backUrl", backUrlTitle: "backUrlTitle", hasSupportHint: "hasSupportHint" }, ngImport: i0, template: "<div class=\"c-status\">\n <div class=\"c-status__content\"\n [class.c-status--failed]=\"failed\"\n [class.c-status--progress]=\"inProgress\"\n [class.c-status--live]=\"animation\"\n >\n <i class=\"c-status__img\"></i>\n <h5 class=\"c-status__title\">\n @if (inProgress) {\n {{ progressTitle || (I18N_KEY.PROGRESS_TITLE | trans) }}\n } @else {\n @if (failed) {\n {{ failTitle || (I18N_KEY.TERMINAL_SESSION_BREAK | trans) }}\n }\n @if (!failed) {\n {{ successTitle || (I18N_KEY.TERMINAL_SESSION_SUCCESS | trans) }}\n }\n }\n </h5>\n <div class=\"c-status__msg\" [innerHTML]=\"message\"> {{ message }}</div>\n @if (hasSupportHint) {\n <div class=\"c-status__hint\">\n {{ I18N_KEY.TERMINAL_SESSION_SUPPORT | trans }}:\n @if (supportEmail) {\n <a [href]=\"'mailto:' + supportEmail\"> {{ supportEmail }} </a>\n }\n </div>\n }\n </div>\n @if (!!backUrl) {\n <div class=\"c-status__actions\">\n <a class=\"trm-button trm-button--primary\"\n [tabindex]=\"tabIndex\"\n [href]=\"backUrl | sanitize: SecurityContext.URL\"> {{ backUrlTitle || (I18N_KEY.CONSTRUCTOR_LABEL_RETURN_TO_SHOP | trans) }}</a>\n <div class=\"c-status__hint c-status__hint-button\">\n <ng-content constructor-status-button-hint></ng-content>\n </div>\n </div>\n }\n</div>\n", styles: [":host{display:block}.c-status{display:flex;flex-direction:column;gap:32px;justify-content:flex-start;align-items:stretch}.c-status__content{display:flex;flex-direction:column;gap:10px;justify-content:flex-start;align-items:stretch}.c-status--progress.c-status--live~.c-status__actions{display:none}.c-status__img{flex:none;margin-bottom:10px;align-self:center;border:0}.c-status__title{text-align:center;align-self:center}.c-status__msg{align-self:center;white-space:normal;overflow:hidden;max-width:100%;text-overflow:ellipsis}.c-status__msg,.c-status__hint{text-align:center;font-weight:400;font-size:15px;line-height:22px;color:var(--color-base-350)}.c-status__hint-button{font-size:14px}.c-status__actions{display:flex;flex-direction:column;gap:4px;justify-content:stretch;align-items:stretch}.c-status__actions .trm-button{color:#fff!important}\n"], dependencies: [{ kind: "pipe", type: SanitizerPipe, name: "sanitize" }, { kind: "pipe", type: TranslateByKeyPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ConstructorStatusComponent, decorators: [{
|
|
24
|
-
type: Component,
|
|
25
|
-
args: [{ selector: 'app-constructor-status', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [SanitizerPipe, TranslateByKeyPipe], template: "<div class=\"c-status\">\n <div class=\"c-status__content\"\n [class.c-status--failed]=\"failed\"\n [class.c-status--progress]=\"inProgress\"\n [class.c-status--live]=\"animation\"\n >\n <i class=\"c-status__img\"></i>\n <h5 class=\"c-status__title\">\n @if (inProgress) {\n {{ progressTitle || (I18N_KEY.PROGRESS_TITLE | trans) }}\n } @else {\n @if (failed) {\n {{ failTitle || (I18N_KEY.TERMINAL_SESSION_BREAK | trans) }}\n }\n @if (!failed) {\n {{ successTitle || (I18N_KEY.TERMINAL_SESSION_SUCCESS | trans) }}\n }\n }\n </h5>\n <div class=\"c-status__msg\" [innerHTML]=\"message\"> {{ message }}</div>\n @if (hasSupportHint) {\n <div class=\"c-status__hint\">\n {{ I18N_KEY.TERMINAL_SESSION_SUPPORT | trans }}:\n @if (supportEmail) {\n <a [href]=\"'mailto:' + supportEmail\"> {{ supportEmail }} </a>\n }\n </div>\n }\n </div>\n @if (!!backUrl) {\n <div class=\"c-status__actions\">\n <a class=\"trm-button trm-button--primary\"\n [tabindex]=\"tabIndex\"\n [href]=\"backUrl | sanitize: SecurityContext.URL\"> {{ backUrlTitle || (I18N_KEY.CONSTRUCTOR_LABEL_RETURN_TO_SHOP | trans) }}</a>\n <div class=\"c-status__hint c-status__hint-button\">\n <ng-content constructor-status-button-hint></ng-content>\n </div>\n </div>\n }\n</div>\n", styles: [":host{display:block}.c-status{display:flex;flex-direction:column;gap:32px;justify-content:flex-start;align-items:stretch}.c-status__content{display:flex;flex-direction:column;gap:10px;justify-content:flex-start;align-items:stretch}.c-status--progress.c-status--live~.c-status__actions{display:none}.c-status__img{flex:none;margin-bottom:10px;align-self:center;border:0}.c-status__title{text-align:center;align-self:center}.c-status__msg{align-self:center;white-space:normal;overflow:hidden;max-width:100%;text-overflow:ellipsis}.c-status__msg,.c-status__hint{text-align:center;font-weight:400;font-size:15px;line-height:22px;color:var(--color-base-350)}.c-status__hint-button{font-size:14px}.c-status__actions{display:flex;flex-direction:column;gap:4px;justify-content:stretch;align-items:stretch}.c-status__actions .trm-button{color:#fff!important}\n"] }]
|
|
26
|
-
}], propDecorators: { failed: [{
|
|
27
|
-
type: Input
|
|
28
|
-
}], inProgress: [{
|
|
29
|
-
type: Input
|
|
30
|
-
}], animation: [{
|
|
31
|
-
type: Input
|
|
32
|
-
}], message: [{
|
|
33
|
-
type: Input
|
|
34
|
-
}], failTitle: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}], progressTitle: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}], successTitle: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}], tabIndex: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}], backUrl: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}], backUrlTitle: [{
|
|
45
|
-
type: Input
|
|
46
|
-
}], hasSupportHint: [{
|
|
47
|
-
type: Input
|
|
48
|
-
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0b3Itc3RhdHVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rlcm1pbmFsLXRlbXBsYXRlL3NyYy9saWIvYXBwL3NoYXJlZC9jb21wb25lbnRzL2NvbnN0cnVjdG9yLXN0YXR1cy9jb25zdHJ1Y3Rvci1zdGF0dXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVybWluYWwtdGVtcGxhdGUvc3JjL2xpYi9hcHAvc2hhcmVkL2NvbXBvbmVudHMvY29uc3RydWN0b3Itc3RhdHVzL2NvbnN0cnVjdG9yLXN0YXR1cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUduRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBVXZFLE1BQU0sT0FBTywwQkFBMEI7SUFSdkM7UUFTWSxlQUFVLEdBQUcsTUFBTSxDQUEwQiw4QkFBOEIsQ0FBQyxDQUFDO1FBRXJGLG9CQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ2xDLGFBQVEsR0FBRyxRQUFRLENBQUM7UUFDWCxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBUWpCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO0tBSWxDO0lBSEcsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztJQUN4QyxDQUFDOzhHQWxCUSwwQkFBMEI7a0dBQTFCLDBCQUEwQixzWENoQnZDLDI0Q0F3Q0EsdzRCRDFCYyxhQUFhLDRDQUFFLGtCQUFrQjs7MkZBRWxDLDBCQUEwQjtrQkFSdEMsU0FBUzsrQkFDSSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDOzhCQU9uQyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBTZWN1cml0eUNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEkxOE5fS0VZIH0gZnJvbSAnLi8uLi8uLi8uLi9pMThuJztcbmltcG9ydCB7IFRFUk1JTkFMX1ZFUlNJT05fU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbnN0JztcbmltcG9ydCB7IFZlcnNpb25TZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcblxuaW1wb3J0IHsgU2FuaXRpemVyUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3Nhbml0aXplci5waXBlJztcbmltcG9ydCB7IFRyYW5zbGF0ZUJ5S2V5UGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3RyYW5zbGF0ZS1ieS1rZXkucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWNvbnN0cnVjdG9yLXN0YXR1cycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbnN0cnVjdG9yLXN0YXR1cy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29uc3RydWN0b3Itc3RhdHVzLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbU2FuaXRpemVyUGlwZSwgVHJhbnNsYXRlQnlLZXlQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBDb25zdHJ1Y3RvclN0YXR1c0NvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSB2ZXJzaW9uU3J2ID0gaW5qZWN0PFZlcnNpb25TZXJ2aWNlSW50ZXJmYWNlPihURVJNSU5BTF9WRVJTSU9OX1NFUlZJQ0VfVE9LRU4pO1xuXG4gICAgU2VjdXJpdHlDb250ZXh0ID0gU2VjdXJpdHlDb250ZXh0O1xuICAgIEkxOE5fS0VZID0gSTE4Tl9LRVk7XG4gICAgQElucHV0KCkgZmFpbGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgaW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGFuaW1hdGlvbiA9IHRydWU7XG4gICAgQElucHV0KCkgbWVzc2FnZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZhaWxUaXRsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHByb2dyZXNzVGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBzdWNjZXNzVGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSB0YWJJbmRleDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGJhY2tVcmw6IHN0cmluZztcbiAgICBASW5wdXQoKSBiYWNrVXJsVGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBoYXNTdXBwb3J0SGludCA9IHRydWU7XG4gICAgZ2V0IHN1cHBvcnRFbWFpbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmVyc2lvblNydi5zdXBwb3J0RW1haWw7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImMtc3RhdHVzXCI+XG4gIDxkaXYgY2xhc3M9XCJjLXN0YXR1c19fY29udGVudFwiXG4gICAgW2NsYXNzLmMtc3RhdHVzLS1mYWlsZWRdPVwiZmFpbGVkXCJcbiAgICBbY2xhc3MuYy1zdGF0dXMtLXByb2dyZXNzXT1cImluUHJvZ3Jlc3NcIlxuICAgIFtjbGFzcy5jLXN0YXR1cy0tbGl2ZV09XCJhbmltYXRpb25cIlxuICAgID5cbiAgICA8aSBjbGFzcz1cImMtc3RhdHVzX19pbWdcIj48L2k+XG4gICAgPGg1IGNsYXNzPVwiYy1zdGF0dXNfX3RpdGxlXCI+XG4gICAgICBAaWYgKGluUHJvZ3Jlc3MpIHtcbiAgICAgICAge3sgcHJvZ3Jlc3NUaXRsZSB8fCAoSTE4Tl9LRVkuUFJPR1JFU1NfVElUTEUgfCB0cmFucykgfX1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaWYgKGZhaWxlZCkge1xuICAgICAgICAgIHt7IGZhaWxUaXRsZSB8fCAoSTE4Tl9LRVkuVEVSTUlOQUxfU0VTU0lPTl9CUkVBSyB8IHRyYW5zKSB9fVxuICAgICAgICB9XG4gICAgICAgIEBpZiAoIWZhaWxlZCkge1xuICAgICAgICAgIHt7IHN1Y2Nlc3NUaXRsZSB8fCAoSTE4Tl9LRVkuVEVSTUlOQUxfU0VTU0lPTl9TVUNDRVNTIHwgdHJhbnMpIH19XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2g1PlxuICAgIDxkaXYgY2xhc3M9XCJjLXN0YXR1c19fbXNnXCIgW2lubmVySFRNTF09XCJtZXNzYWdlXCI+IHt7IG1lc3NhZ2UgfX08L2Rpdj5cbiAgICBAaWYgKGhhc1N1cHBvcnRIaW50KSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYy1zdGF0dXNfX2hpbnRcIj5cbiAgICAgICAge3sgSTE4Tl9LRVkuVEVSTUlOQUxfU0VTU0lPTl9TVVBQT1JUIHwgdHJhbnMgfX06XG4gICAgICAgIEBpZiAoc3VwcG9ydEVtYWlsKSB7XG4gICAgICAgICAgPGEgW2hyZWZdPVwiJ21haWx0bzonICsgc3VwcG9ydEVtYWlsXCI+IHt7IHN1cHBvcnRFbWFpbCB9fSA8L2E+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG4gIEBpZiAoISFiYWNrVXJsKSB7XG4gICAgPGRpdiBjbGFzcz1cImMtc3RhdHVzX19hY3Rpb25zXCI+XG4gICAgICA8YSBjbGFzcz1cInRybS1idXR0b24gdHJtLWJ1dHRvbi0tcHJpbWFyeVwiXG4gICAgICAgIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiXG4gICAgICBbaHJlZl09XCJiYWNrVXJsIHwgc2FuaXRpemU6IFNlY3VyaXR5Q29udGV4dC5VUkxcIj4ge3sgYmFja1VybFRpdGxlIHx8IChJMThOX0tFWS5DT05TVFJVQ1RPUl9MQUJFTF9SRVRVUk5fVE9fU0hPUCB8IHRyYW5zKSB9fTwvYT5cbiAgICAgIDxkaXYgY2xhc3M9XCJjLXN0YXR1c19faGludCBjLXN0YXR1c19faGludC1idXR0b25cIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgY29uc3RydWN0b3Itc3RhdHVzLWJ1dHRvbi1oaW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from './constructor-status/constructor-status.component';
|
|
2
|
-
export * from './terminal-lang-switcher/terminal-lang-switcher.component';
|
|
3
|
-
export * from './terminal-layout-tpl/terminal-layout-tpl.component';
|
|
4
|
-
export * from './trm-select/trm-select.component';
|
|
5
|
-
export * from './trm-select/scrollbar-select-height.directive';
|
|
6
|
-
export * from './trm-select/trm-select-label-template.directive';
|
|
7
|
-
export * from './trm-amount/trm-amount.component';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZXJtaW5hbC10ZW1wbGF0ZS9zcmMvbGliL2FwcC9zaGFyZWQvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25zdHJ1Y3Rvci1zdGF0dXMvY29uc3RydWN0b3Itc3RhdHVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Rlcm1pbmFsLWxhbmctc3dpdGNoZXIvdGVybWluYWwtbGFuZy1zd2l0Y2hlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXJtaW5hbC1sYXlvdXQtdHBsL3Rlcm1pbmFsLWxheW91dC10cGwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdHJtLXNlbGVjdC90cm0tc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RybS1zZWxlY3Qvc2Nyb2xsYmFyLXNlbGVjdC1oZWlnaHQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdHJtLXNlbGVjdC90cm0tc2VsZWN0LWxhYmVsLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RybS1hbW91bnQvdHJtLWFtb3VudC5jb21wb25lbnQnO1xuXG4iXX0=
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, inject, Input, Output } from '@angular/core';
|
|
2
|
-
import { TranslateLangStorageService } from '../../../services/translation/translate-lang-storage.service';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { takeUntil } from 'rxjs/operators';
|
|
5
|
-
import { NgClass } from '@angular/common';
|
|
6
|
-
import { TrmSelectComponent } from '../trm-select/trm-select.component';
|
|
7
|
-
import { FormsModule } from '@angular/forms';
|
|
8
|
-
import { TrmSelectLabelTemplateDirective } from '../trm-select/trm-select-label-template.directive';
|
|
9
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
10
|
-
import { GmSkeletonComponent } from '@gmmoney/gm-ui-kit';
|
|
11
|
-
import { TERMINAL_VERSION_SERVICE_TOKEN } from "../../../../const";
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "@angular/forms";
|
|
14
|
-
import * as i2 from "@ngx-translate/core";
|
|
15
|
-
export class TerminalLangSwitcherComponent {
|
|
16
|
-
get translation_keys() {
|
|
17
|
-
return this.langStorageSrv.TRANSLATION_LANG_KEYS;
|
|
18
|
-
}
|
|
19
|
-
constructor() {
|
|
20
|
-
this.versionSrv = inject(TERMINAL_VERSION_SERVICE_TOKEN);
|
|
21
|
-
this.langStorageSrv = inject(TranslateLangStorageService);
|
|
22
|
-
this.cd = inject(ChangeDetectorRef);
|
|
23
|
-
this.unSubscriber = new Subject();
|
|
24
|
-
this.loading = false;
|
|
25
|
-
this.langChange = new EventEmitter();
|
|
26
|
-
this.tabIndex = 0;
|
|
27
|
-
this.langStorageSrv.onLangChange$
|
|
28
|
-
.pipe(takeUntil(this.unSubscriber))
|
|
29
|
-
.subscribe(() => this.cd.detectChanges());
|
|
30
|
-
}
|
|
31
|
-
get lang() {
|
|
32
|
-
return this.langStorageSrv.currentLang;
|
|
33
|
-
}
|
|
34
|
-
get langs() {
|
|
35
|
-
return this.versionSrv.langs;
|
|
36
|
-
}
|
|
37
|
-
changeLang(lang) {
|
|
38
|
-
this.langStorageSrv.setLanguage$({ lang, save: true });
|
|
39
|
-
this.cd.markForCheck();
|
|
40
|
-
this.langChange.emit(lang);
|
|
41
|
-
}
|
|
42
|
-
ngOnDestroy() {
|
|
43
|
-
this.unSubscriber.next();
|
|
44
|
-
this.unSubscriber.unsubscribe();
|
|
45
|
-
}
|
|
46
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TerminalLangSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: TerminalLangSwitcherComponent, isStandalone: true, selector: "app-terminal-lang-switcher", inputs: { loading: "loading", tabIndex: "tabIndex" }, outputs: { langChange: "langChange" }, ngImport: i0, template: "@if (!loading) {\n <app-trm-select class=\"lang-switcher\"\n [hasBorder]=\"false\"\n [searchable]=\"false\"\n [hasScrollbar]=\"false\"\n [data]=\"langs\"\n [ngModel]=\"lang\"\n [tabIndex]=\"tabIndex\"\n (ngModelChange)=\"changeLang($event)\"\n >\n <ng-template trmSelectLabelTemplate let-item=\"item\">\n <span class=\"fi\" [ngClass]=\"'fi-' + translation_keys[item].code\"></span>\n <span> {{translation_keys[item].name | translate}}</span>\n </ng-template>\n </app-trm-select>\n} @else {\n <gm-skeleton [count]=\"1\" [size]=\"30\"></gm-skeleton>\n}\n", styles: [":host{display:block}@media (min-width: 768px){:host{min-width:108px}}.lang-switcher{--trm-select-padding-right: 20px;--trm-select-arrow-right: 0;width:100%}.fi{border-radius:2px;overflow:hidden;border:1px solid rgba(0,0,0,.08);box-sizing:border-box;background-origin:border-box;flex-shrink:0;height:15px}.fi~span{display:none}@media (min-width: 768px){.fi~span{display:inline}}.trm-skeleton{min-width:70px}.trm-skeleton .loader,.trm-skeleton .skeleton-loader{height:30px}\n"], dependencies: [{ kind: "component", type: TrmSelectComponent, selector: "app-trm-select", inputs: ["label", "hasBorder", "data", "tabIndex", "name", "placeholder", "searchable", "hasScrollbar", "nameId", "nameLabel"], outputs: ["open", "search"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: TrmSelectLabelTemplateDirective, selector: "[trmSelectLabelTemplate]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: GmSkeletonComponent, selector: "gm-skeleton", inputs: ["shape", "orientation", "count", "size", "gap"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
48
|
-
}
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TerminalLangSwitcherComponent, decorators: [{
|
|
50
|
-
type: Component,
|
|
51
|
-
args: [{ selector: 'app-terminal-lang-switcher', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [TrmSelectComponent, FormsModule, TrmSelectLabelTemplateDirective, NgClass, TranslateModule, GmSkeletonComponent], template: "@if (!loading) {\n <app-trm-select class=\"lang-switcher\"\n [hasBorder]=\"false\"\n [searchable]=\"false\"\n [hasScrollbar]=\"false\"\n [data]=\"langs\"\n [ngModel]=\"lang\"\n [tabIndex]=\"tabIndex\"\n (ngModelChange)=\"changeLang($event)\"\n >\n <ng-template trmSelectLabelTemplate let-item=\"item\">\n <span class=\"fi\" [ngClass]=\"'fi-' + translation_keys[item].code\"></span>\n <span> {{translation_keys[item].name | translate}}</span>\n </ng-template>\n </app-trm-select>\n} @else {\n <gm-skeleton [count]=\"1\" [size]=\"30\"></gm-skeleton>\n}\n", styles: [":host{display:block}@media (min-width: 768px){:host{min-width:108px}}.lang-switcher{--trm-select-padding-right: 20px;--trm-select-arrow-right: 0;width:100%}.fi{border-radius:2px;overflow:hidden;border:1px solid rgba(0,0,0,.08);box-sizing:border-box;background-origin:border-box;flex-shrink:0;height:15px}.fi~span{display:none}@media (min-width: 768px){.fi~span{display:inline}}.trm-skeleton{min-width:70px}.trm-skeleton .loader,.trm-skeleton .skeleton-loader{height:30px}\n"] }]
|
|
52
|
-
}], ctorParameters: () => [], propDecorators: { loading: [{
|
|
53
|
-
type: Input
|
|
54
|
-
}], langChange: [{
|
|
55
|
-
type: Output
|
|
56
|
-
}], tabIndex: [{
|
|
57
|
-
type: Input
|
|
58
|
-
}] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwtbGFuZy1zd2l0Y2hlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZXJtaW5hbC10ZW1wbGF0ZS9zcmMvbGliL2FwcC9zaGFyZWQvY29tcG9uZW50cy90ZXJtaW5hbC1sYW5nLXN3aXRjaGVyL3Rlcm1pbmFsLWxhbmctc3dpdGNoZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVybWluYWwtdGVtcGxhdGUvc3JjL2xpYi9hcHAvc2hhcmVkL2NvbXBvbmVudHMvdGVybWluYWwtbGFuZy1zd2l0Y2hlci90ZXJtaW5hbC1sYW5nLXN3aXRjaGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDM0csT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFXbkUsTUFBTSxPQUFPLDZCQUE2QjtJQVV0QyxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUM7SUFDckQsQ0FBQztJQUVEO1FBYlEsZUFBVSxHQUE0QixNQUFNLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUM3RSxtQkFBYyxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ3JELE9BQUUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUvQixpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDbEMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNmLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3pDLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFPbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhO2FBQzVCLElBQUksQ0FDRCxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUMvQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUM7SUFDM0MsQ0FBQztJQUNELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZO1FBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQzs4R0F0Q1EsNkJBQTZCO2tHQUE3Qiw2QkFBNkIsbUxDOUIxQyxxbEJBa0JBLG1oQkRVWSxrQkFBa0IsdU5BQUUsV0FBVywrVkFBRSwrQkFBK0IscUVBQUUsT0FBTyxtRkFBRSxlQUFlLDRGQUFFLG1CQUFtQjs7MkZBRTlHLDZCQUE2QjtrQkFSekMsU0FBUzsrQkFDSSw0QkFBNEIsbUJBR3JCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNULENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLCtCQUErQixFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLENBQUM7d0RBUS9HLE9BQU87c0JBQWYsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNFLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZUxhbmdTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0ZS1sYW5nLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRybVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uL3RybS1zZWxlY3QvdHJtLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcm1TZWxlY3RMYWJlbFRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi4vdHJtLXNlbGVjdC90cm0tc2VsZWN0LWxhYmVsLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEdtU2tlbGV0b25Db21wb25lbnQgfSBmcm9tICdAZ21tb25leS9nbS11aS1raXQnO1xuaW1wb3J0IHsgVEVSTUlOQUxfVkVSU0lPTl9TRVJWSUNFX1RPS0VOIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2NvbnN0XCI7XG5pbXBvcnQgeyBWZXJzaW9uU2VydmljZUludGVyZmFjZSB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtdGVybWluYWwtbGFuZy1zd2l0Y2hlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rlcm1pbmFsLWxhbmctc3dpdGNoZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Rlcm1pbmFsLWxhbmctc3dpdGNoZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbVHJtU2VsZWN0Q29tcG9uZW50LCBGb3Jtc01vZHVsZSwgVHJtU2VsZWN0TGFiZWxUZW1wbGF0ZURpcmVjdGl2ZSwgTmdDbGFzcywgVHJhbnNsYXRlTW9kdWxlLCBHbVNrZWxldG9uQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBUZXJtaW5hbExhbmdTd2l0Y2hlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSB2ZXJzaW9uU3J2OiBWZXJzaW9uU2VydmljZUludGVyZmFjZSA9IGluamVjdChURVJNSU5BTF9WRVJTSU9OX1NFUlZJQ0VfVE9LRU4pO1xuICAgIHByaXZhdGUgbGFuZ1N0b3JhZ2VTcnYgPSBpbmplY3QoVHJhbnNsYXRlTGFuZ1N0b3JhZ2VTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGNkID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIHByaXZhdGUgdW5TdWJzY3JpYmVyID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG4gICAgQE91dHB1dCgpIGxhbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgICBASW5wdXQoKSB0YWJJbmRleCA9IDA7XG5cbiAgICBnZXQgdHJhbnNsYXRpb25fa2V5cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFuZ1N0b3JhZ2VTcnYuVFJBTlNMQVRJT05fTEFOR19LRVlTO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmxhbmdTdG9yYWdlU3J2Lm9uTGFuZ0NoYW5nZSRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLnVuU3Vic2NyaWJlcilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCkpO1xuICAgIH1cblxuICAgIGdldCBsYW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW5nU3RvcmFnZVNydi5jdXJyZW50TGFuZztcbiAgICB9XG4gICAgZ2V0IGxhbmdzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmVyc2lvblNydi5sYW5ncztcbiAgICB9XG5cbiAgICBjaGFuZ2VMYW5nKGxhbmc6IHN0cmluZykge1xuICAgICAgdGhpcy5sYW5nU3RvcmFnZVNydi5zZXRMYW5ndWFnZSQoeyBsYW5nLCBzYXZlOiB0cnVlIH0pO1xuICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMubGFuZ0NoYW5nZS5lbWl0KGxhbmcpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnVuU3Vic2NyaWJlci5uZXh0KCk7XG4gICAgICAgIHRoaXMudW5TdWJzY3JpYmVyLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxufVxuIiwiQGlmICghbG9hZGluZykge1xuICA8YXBwLXRybS1zZWxlY3QgY2xhc3M9XCJsYW5nLXN3aXRjaGVyXCJcbiAgICBbaGFzQm9yZGVyXT1cImZhbHNlXCJcbiAgICBbc2VhcmNoYWJsZV09XCJmYWxzZVwiXG4gICAgW2hhc1Njcm9sbGJhcl09XCJmYWxzZVwiXG4gICAgW2RhdGFdPVwibGFuZ3NcIlxuICAgIFtuZ01vZGVsXT1cImxhbmdcIlxuICAgIFt0YWJJbmRleF09XCJ0YWJJbmRleFwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlTGFuZygkZXZlbnQpXCJcbiAgICA+XG4gICAgPG5nLXRlbXBsYXRlIHRybVNlbGVjdExhYmVsVGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImZpXCIgW25nQ2xhc3NdPVwiJ2ZpLScgKyB0cmFuc2xhdGlvbl9rZXlzW2l0ZW1dLmNvZGVcIj48L3NwYW4+XG4gICAgICA8c3Bhbj4ge3t0cmFuc2xhdGlvbl9rZXlzW2l0ZW1dLm5hbWUgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2FwcC10cm0tc2VsZWN0PlxufSBAZWxzZSB7XG4gIDxnbS1za2VsZXRvbiBbY291bnRdPVwiMVwiIFtzaXplXT1cIjMwXCI+PC9nbS1za2VsZXRvbj5cbn1cbiJdfQ==
|