ng-easycommerce 0.0.473 → 0.0.474

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 CHANGED
@@ -1,3 +1,5 @@
1
+ # version 0.0.474
2
+ - Se actualiza el método de pago Bancard, para completar la compra, procesar errores, actualizaciones visuales.
1
3
  # version 0.0.473
2
4
  - Se agrega la funcionalidad para trabajar con cookies. [ver más...](./src/lib/assets/docs/COOKIES.md)
3
5
  # version 0.0.472
@@ -15697,17 +15697,19 @@
15697
15697
  };
15698
15698
  var BancardCatastroEcComponent = /** @class */ (function (_super) {
15699
15699
  __extends$1b(BancardCatastroEcComponent, _super);
15700
- function BancardCatastroEcComponent(consts, connection, cartService, sanitizer) {
15700
+ function BancardCatastroEcComponent(consts, connection, cartService, sanitizer, toastr) {
15701
15701
  var _this = _super.call(this) || this;
15702
15702
  _this.consts = consts;
15703
15703
  _this.connection = connection;
15704
15704
  _this.cartService = cartService;
15705
15705
  _this.sanitizer = sanitizer;
15706
+ _this.toastr = toastr;
15706
15707
  _this.method = null;
15707
15708
  _this.total_amount = 0;
15708
15709
  _this.user_data = null;
15709
15710
  _this.ready = new core.EventEmitter();
15710
15711
  _this.loading = false;
15712
+ _this.checkingPayment = false;
15711
15713
  _this.registered_cards = [];
15712
15714
  _this.infoPreview = true;
15713
15715
  _this.cardNames = ['visa', 'mastercard', 'bancard'];
@@ -15716,12 +15718,13 @@
15716
15718
  alias_token: '',
15717
15719
  number_of_payments: 0
15718
15720
  };
15719
- /**shop-api/{channelCode}/bancard/{orderToken}/catastro-user-cards-recovery */
15720
- /**[POST] /bancard/{orderToken}/catastro-token-payment */
15721
15721
  _this.userCardsRecoveryApi = function () { return 'shop-api/' + _this.consts.getChannel() + '/bancard/' + _this.cartService.cart_token + '/catastro-user-cards-recovery'; };
15722
15722
  _this.newUserCardApi = function () { return 'shop-api/' + _this.consts.getChannel() + '/bancard/' + _this.cartService.cart_token + '/catastro-new-user-card'; };
15723
15723
  _this.toPayApi = function () { return 'shop-api/' + _this.consts.getChannel() + '/bancard/' + _this.cartService.cart_token + '/catastro-token-payment'; };
15724
15724
  _this.deleteCardApi = function () { return 'shop-api/' + _this.consts.getChannel() + '/bancard/' + _this.cartService.cart_token + '/catastro-delete-card'; };
15725
+ /**
15726
+ * @description obtiene las tarjetas almacenadas para el usuario.
15727
+ */
15725
15728
  _this.loadCards = function () {
15726
15729
  _this.loading = true;
15727
15730
  _this.connection.get(_this.userCardsRecoveryApi()).toPromise().then(function (res) {
@@ -15730,10 +15733,13 @@
15730
15733
  _this.loading = false;
15731
15734
  }, function (err) { console.log(err); _this.loading = false; });
15732
15735
  };
15736
+ /**
15737
+ * @description obtengo el process ID
15738
+ */
15733
15739
  _this.getProcessId = function () {
15734
15740
  _this.connection.get(_this.newUserCardApi()).toPromise().then(function (res) {
15735
15741
  _this.process_id = res.process_id;
15736
- console.log(_this.process_id);
15742
+ //console.log(this.process_id)
15737
15743
  localStorage.setItem('catastro_data', JSON.stringify(res));
15738
15744
  setTimeout(function () {
15739
15745
  _this.infoPreview = false;
@@ -15743,18 +15749,33 @@
15743
15749
  console.log(err);
15744
15750
  });
15745
15751
  };
15752
+ /**
15753
+ * @description Obtengo el IFrame donde se mostrara el formulario para registrar una nueva tarjeta
15754
+ */
15746
15755
  _this.getIFrameNewCard = function () {
15747
15756
  _this.loading = true;
15748
15757
  //this.dataDecidir = this.method;
15749
15758
  _this.url = _this.sanitizer.bypassSecurityTrustResourceUrl('assets/bancardCatastro.html');
15750
15759
  _this.loading = false;
15751
15760
  };
15761
+ /**
15762
+ * @description limpia los datos al cerra el modal
15763
+ */
15752
15764
  _this.closeModal = function () {
15753
15765
  localStorage.removeItem('catastro_data');
15754
15766
  _this.url = '';
15755
15767
  _this.infoPreview = true;
15756
15768
  };
15769
+ /**
15770
+ * @description para saltear el mensaje previo.
15771
+ * @returns
15772
+ */
15757
15773
  _this.skipInfoPreview = function () { return _this.infoPreview = false; };
15774
+ /**
15775
+ * @description para obtener la imagen de la tarjeta desde los assets
15776
+ * @param name nombre de la tarjeta
15777
+ * @returns
15778
+ */
15758
15779
  _this.getCardImg = function (name) {
15759
15780
  var urlImg = 'assets/images/';
15760
15781
  _this.cardNames.forEach(function (elem) {
@@ -15764,36 +15785,101 @@
15764
15785
  //console.log(urlImg)
15765
15786
  return urlImg;
15766
15787
  };
15788
+ /**
15789
+ * @description para guardar el número de pagos
15790
+ * @param value
15791
+ */
15767
15792
  _this.setNumberOfPayments = function (value) {
15768
15793
  //console.log(value)
15769
15794
  _this.sendToPay.number_of_payments = parseInt(value);
15770
15795
  };
15796
+ /**
15797
+ * @description Guarda el ID de la tarjeta seleccionada para pagar.
15798
+ * @param value
15799
+ * @returns
15800
+ */
15771
15801
  _this.setCurrentCardID = function (value) {
15772
15802
  _this.currentCardID = value;
15773
15803
  return true;
15774
15804
  };
15805
+ /**
15806
+ * @description chequea si el valor del número de pagos el mayor a 0
15807
+ * @returns
15808
+ */
15775
15809
  _this.canPay = function () { return _this.sendToPay.number_of_payments > 0; };
15810
+ /**
15811
+ * @description funcion para pagar.
15812
+ * @param id el ID de la tarjeta.
15813
+ */
15776
15814
  _this.toPay = function (id) {
15777
15815
  //console.log('current',this.currentCardID)
15816
+ _this.checkingPayment = true;
15778
15817
  var card = _this.registered_cards.find(function (card) { return card.card_id == id; });
15779
15818
  if (card) {
15780
15819
  _this.sendToPay.alias_token = card.alias_token;
15781
15820
  card.card_type != 'credit' ? _this.sendToPay.number_of_payments = 1 : null;
15782
15821
  if (_this.sendToPay.number_of_payments > 0) {
15783
- _this.connection.post(_this.toPayApi(), _this.sendToPay).toPromise().then(function (res) { return console.log('todo ok', res); }).catch(function (err) { return console.log('todo mal', err); });
15822
+ _this.connection.post(_this.toPayApi(), _this.sendToPay).toPromise().then(function (res) {
15823
+ _this.processResponse(res);
15824
+ _this.checkingPayment = false;
15825
+ }).catch(function (err) {
15826
+ _this.processError(err);
15827
+ _this.checkingPayment = false;
15828
+ });
15784
15829
  }
15785
15830
  else {
15786
- console.log('No se ha elegido el número de cuotas');
15831
+ _this.toastr.show('No se ha elegido el número de cuotas');
15832
+ console.error('No se ha elegido el número de cuotas');
15833
+ _this.checkingPayment = false;
15787
15834
  }
15788
15835
  }
15789
15836
  else {
15837
+ _this.checkingPayment = false;
15838
+ _this.toastr.show('No se encontro la tarjeta');
15790
15839
  console.error('No se encontro la tarjeta');
15791
15840
  }
15792
15841
  };
15842
+ /**
15843
+ * @description elimina una tarjeta.
15844
+ * @param id id de la tarjeta a eliminar.
15845
+ */
15793
15846
  _this.deleteCard = function (id) {
15794
15847
  var card = _this.registered_cards.find(function (card) { return card.card_id == id; });
15795
15848
  if (card) {
15796
- _this.connection.post(_this.deleteCardApi(), { alias_token: card.alias_token }).toPromise().then(function (res) { return console.log('se elimino', res); }).catch(function (err) { return console.log('Error al eliminar', err); });
15849
+ _this.connection.post(_this.deleteCardApi(), { alias_token: card.alias_token }).toPromise().then(function (res) {
15850
+ _this.toastr.show('La tarjeta se ha eliminado con éxito');
15851
+ console.log('se elimino', res);
15852
+ }).catch(function (err) {
15853
+ _this.toastr.show('Se produjo un error al eliminar la tarjeta. Por favor intente más tarde.');
15854
+ console.log('Error al eliminar', err);
15855
+ });
15856
+ }
15857
+ };
15858
+ /**
15859
+ * @description Procesa las respuesta de un pago
15860
+ * @param response
15861
+ * @returns
15862
+ */
15863
+ _this.processResponse = function (response) {
15864
+ if (response.status !== 'rejected') {
15865
+ //console.log('SE PUDO EFECTUAR LA COMPRA');
15866
+ _this.ready.emit('true');
15867
+ return;
15868
+ }
15869
+ _this.processError(response);
15870
+ };
15871
+ /**
15872
+ * @description procesa el error tras un intento de pago
15873
+ * @param response
15874
+ */
15875
+ _this.processError = function (response) {
15876
+ console.error('ERROR: ', response);
15877
+ switch (response.status) {
15878
+ case 500:
15879
+ _this.toastr.show('Se produjo un error interno. Vuelva a intentarlo más tarde.');
15880
+ break;
15881
+ default:
15882
+ break;
15797
15883
  }
15798
15884
  };
15799
15885
  _this.loadCards();
@@ -15805,7 +15891,8 @@
15805
15891
  { type: Constants },
15806
15892
  { type: ConnectionService },
15807
15893
  { type: CartService },
15808
- { type: platformBrowser.DomSanitizer }
15894
+ { type: platformBrowser.DomSanitizer },
15895
+ { type: ToastService }
15809
15896
  ]; };
15810
15897
  __decorate$1R([
15811
15898
  core.Input()
@@ -15828,7 +15915,7 @@
15828
15915
  BancardCatastroEcComponent = __decorate$1R([
15829
15916
  core.Component({
15830
15917
  selector: 'app-bancard-catastro-ec',
15831
- template: "<div *ngIf=\"!loading; else loadingView\">\n <div class=\"row my-3\">\n <ng-container *ngIf=\"registered_cards && registered_cards.length > 0; else notCards\">\n <ng-container *ngFor=\"let card of registered_cards; let x=index\">\n <div class=\"col-12 col-md-6\">\n <div class=\"card my-2\">\n <div class=\"card-body\">\n <div class=\"row\">\n <div class=\"col-12 col-md-9\">\n <h5 class=\"card-title\">Terminada en {{card.card_masked_number.slice(-4)}}</h5>\n <!-- <h6 class=\"card-subtitle mb-2 text-muted\">Card subtitle</h6> -->\n <!-- <p class=\"card-text\">Some quick example text to build on the card title and make up the bulk of the card's content.</p>\n -->\n <p class=\"card-text text-muted\">{{card.card_brand}}</p>\n <p class=\"card-text text-muted\">Vencimiento: {{card.expiration_date}}</p>\n </div>\n <div class=\"col-3 d-none d-md-flex\">\n <div class=\"d-flex flex-column justify-content-between align-items-center w-100\">\n <div class=\"d-flex justify-content-end w-100\">\n <a class=\"cursor-pointer text-primary\" (click)=\"deleteCard(card.card_id)\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-trash3\"\n viewBox=\"0 0 16 16\">\n <path\n d=\"M6.5 1h3a.5.5 0 0 1 .5.5v1H6v-1a.5.5 0 0 1 .5-.5ZM11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3A1.5 1.5 0 0 0 5 1.5v1H2.506a.58.58 0 0 0-.01 0H1.5a.5.5 0 0 0 0 1h.538l.853 10.66A2 2 0 0 0 4.885 16h6.23a2 2 0 0 0 1.994-1.84l.853-10.66h.538a.5.5 0 0 0 0-1h-.995a.59.59 0 0 0-.01 0H11Zm1.958 1-.846 10.58a1 1 0 0 1-.997.92h-6.23a1 1 0 0 1-.997-.92L3.042 3.5h9.916Zm-7.487 1a.5.5 0 0 1 .528.47l.5 8.5a.5.5 0 0 1-.998.06L5 5.03a.5.5 0 0 1 .47-.53Zm5.058 0a.5.5 0 0 1 .47.53l-.5 8.5a.5.5 0 1 1-.998-.06l.5-8.5a.5.5 0 0 1 .528-.47ZM8 4.5a.5.5 0 0 1 .5.5v8.5a.5.5 0 0 1-1 0V5a.5.5 0 0 1 .5-.5Z\" />\n </svg>\n </a>\n </div>\n <img [src]=\"getCardImg(card.card_brand)\" class=\"img-card\" />\n \n </div>\n </div>\n </div>\n </div>\n <div class=\"card-footer d-flex flex-row justify-content-end\">\n <button *ngIf=\"card.card_type == 'credit'; else debito\" class=\"btn comprar text-white\"\n data-bs-toggle=\"modal\" data-bs-target=\"#modalCuotas\" (click)=\"setCurrentCardID(card.card_id)\">Pagar</button>\n <ng-template #debito>\n <button *ngIf=\"card.card_type == 'credit'; else debito\"\n class=\"btn comprar text-white\" (click)=\"toPay(card.card_id)\">Pagar</button>\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #notCards>\n <div class=\"col-12 d-flex justify-content-center\">\n <h6>Usted no posee tarjetas registrada. Para continuar con este m\u00E9todo de pago por favor registre una\n tarjeta presionando el bot\u00F3n de <span class=\"text-decoration-underline fs-6\"> Nueva tarjeta</span>\n </h6>\n </div>\n </ng-template>\n </div>\n <div class=\"d-flex flex-row w-full justify-content-center\">\n <button class=\"btn comprar text-white\" data-bs-toggle=\"modal\" data-bs-target=\"#catastro\"\n (click)=\"getProcessId()\">Nueva Tarjeta</button>\n </div>\n</div>\n\n<div class=\"modal\" tabindex=\"-1\" id=\"catastro\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <!-- <h5 class=\"modal-title\">Modal title</h5> -->\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\n (click)=\"closeModal()\"></button>\n </div>\n <div class=\"modal-body d-flex flex-column justify-content-center align-items-center\">\n <ng-container *ngIf=\"infoPreview; else iframe\">\n <div class=\"alert alert-warning \" role=\"alert\">\n <p class=\"mb-0\">Estimado usuario,</p>\n <p> A continuaci\u00F3n usted pasar\u00E1 por \u00FAnica vez por un proceso de\n validaci\u00F3n con preguntas de seguridad. Para iniciar favor tener en\n cuenta las siguientes recomendaciones:</p>\n <ol class=\"list-group list-group-numbered\">\n <li class=\"list-group-item list-group-item-warning\">Verifique su n\u00FAmero de c\u00E9dula de\n identidad</li>\n <li class=\"list-group-item list-group-item-warning\">Tenga a mano sus tarjetas de cr\u00E9dito y\n d\u00E9bito activas</li>\n <li class=\"list-group-item list-group-item-warning\">Verifique el monto y lugar de sus\n \u00FAltimas compras en\n comercios o extracciones en cajeros</li>\n </ol>\n </div>\n <div class=\"d-flex flex-row w-full justify-content-center\">\n <a class=\"cursor-pointer text-dark fs-xs\" (click)=\"skipInfoPreview()\">Saltar</a>\n </div>\n </ng-container>\n <ng-template #iframe>\n <iframe *ngIf=\"url; else loadingView\" [src]=\"url\" frameborder=\"0\" class=\"iframeStyle\"></iframe>\n </ng-template>\n </div>\n </div>\n </div>\n</div>\n\n\n<!-- Modal -->\n<div class=\"modal fade\" id=\"modalCuotas\" tabindex=\"-1\" aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-dialog-centered modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\" id=\"exampleModalLabel\">Elija el n\u00FAmero de cuotas</h5>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\n </div>\n <div class=\"modal-body\">\n <select class=\"form-select\" aria-label=\"Default select example\"\n (change)=\"setNumberOfPayments($event.target.value)\">\n <option selected disabled>Selecciones la cantidad de cuotas</option>\n <option value=\"1\">1 couta</option>\n <option value=\"3\">3 coutas</option>\n <option value=\"6\">6 coutas</option>\n <option value=\"12\">12 cuotas</option>\n </select>\n </div>\n <div class=\"modal-footer\" *ngIf=\"canPay()\">\n <button type=\"button\" class=\"btn comprar text-white\" data-bs-dismiss=\"modal\"\n (click)=\"toPay(currentCardID)\">Pagar</button>\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #loadingView>\n <div>\n <app-loading-inline-ec></app-loading-inline-ec>\n </div>\n</ng-template>",
15918
+ template: "<div *ngIf=\"!loading; else loadingView\">\n <div class=\"row my-3\">\n <ng-container *ngIf=\"registered_cards && registered_cards.length > 0; else notCards\">\n <ng-container *ngFor=\"let card of registered_cards; let x=index\">\n <div class=\"col-12 col-md-6\">\n <div class=\"card my-2\">\n <div class=\"card-body\">\n <div class=\"row\">\n <div class=\"col-12 col-md-9\">\n <h5 class=\"card-title\">Terminada en {{card.card_masked_number.slice(-4)}}</h5>\n <!-- <h6 class=\"card-subtitle mb-2 text-muted\">Card subtitle</h6> -->\n <!-- <p class=\"card-text\">Some quick example text to build on the card title and make up the bulk of the card's content.</p>\n -->\n <p class=\"card-text text-muted\">{{card.card_brand}}</p>\n <p class=\"card-text text-muted\">Vencimiento: {{card.expiration_date}}</p>\n </div>\n <div class=\"col-3 d-none d-md-flex\">\n <div class=\"d-flex flex-column justify-content-between align-items-center w-100\">\n <div class=\"d-flex justify-content-end w-100\">\n <a class=\"cursor-pointer text-primary\" (click)=\"deleteCard(card.card_id)\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-trash3\"\n viewBox=\"0 0 16 16\">\n <path\n d=\"M6.5 1h3a.5.5 0 0 1 .5.5v1H6v-1a.5.5 0 0 1 .5-.5ZM11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3A1.5 1.5 0 0 0 5 1.5v1H2.506a.58.58 0 0 0-.01 0H1.5a.5.5 0 0 0 0 1h.538l.853 10.66A2 2 0 0 0 4.885 16h6.23a2 2 0 0 0 1.994-1.84l.853-10.66h.538a.5.5 0 0 0 0-1h-.995a.59.59 0 0 0-.01 0H11Zm1.958 1-.846 10.58a1 1 0 0 1-.997.92h-6.23a1 1 0 0 1-.997-.92L3.042 3.5h9.916Zm-7.487 1a.5.5 0 0 1 .528.47l.5 8.5a.5.5 0 0 1-.998.06L5 5.03a.5.5 0 0 1 .47-.53Zm5.058 0a.5.5 0 0 1 .47.53l-.5 8.5a.5.5 0 1 1-.998-.06l.5-8.5a.5.5 0 0 1 .528-.47ZM8 4.5a.5.5 0 0 1 .5.5v8.5a.5.5 0 0 1-1 0V5a.5.5 0 0 1 .5-.5Z\" />\n </svg>\n </a>\n </div>\n <img [src]=\"getCardImg(card.card_brand)\" class=\"img-card\" />\n \n </div>\n </div>\n </div>\n </div>\n <div class=\"card-footer d-flex flex-row justify-content-end\">\n <ng-container *ngIf=\"!checkingPayment; else buttonLoading\">\n <button *ngIf=\"card.card_type == 'credit'; else debito\" class=\"btn comprar text-white\" data-bs-toggle=\"modal\"\n data-bs-target=\"#modalCuotas\" (click)=\"setCurrentCardID(card.card_id)\">Pagar</button>\n <ng-template #debito>\n <button class=\"btn comprar text-white\" (click)=\"toPay(card.card_id)\">Pagar</button>\n </ng-template>\n </ng-container>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #notCards>\n <div class=\"col-12 d-flex justify-content-center\">\n <h6>Usted no posee tarjetas registrada. Para continuar con este m\u00E9todo de pago por favor registre una\n tarjeta presionando el bot\u00F3n de <span class=\"text-decoration-underline fs-6\"> Nueva tarjeta</span>\n </h6>\n </div>\n </ng-template>\n </div>\n <div class=\"d-flex flex-row w-full justify-content-center\">\n <button class=\"btn comprar text-white\" data-bs-toggle=\"modal\" data-bs-target=\"#catastro\"\n (click)=\"getProcessId()\">Nueva Tarjeta</button>\n </div>\n</div>\n\n<div class=\"modal\" tabindex=\"-1\" id=\"catastro\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <!-- <h5 class=\"modal-title\">Modal title</h5> -->\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\n (click)=\"closeModal()\"></button>\n </div>\n <div class=\"modal-body d-flex flex-column justify-content-center align-items-center\">\n <ng-container *ngIf=\"infoPreview; else iframe\">\n <div class=\"alert alert-warning \" role=\"alert\">\n <p class=\"mb-0\">Estimado usuario,</p>\n <p> A continuaci\u00F3n usted pasar\u00E1 por \u00FAnica vez por un proceso de\n validaci\u00F3n con preguntas de seguridad. Para iniciar favor tener en\n cuenta las siguientes recomendaciones:</p>\n <ol class=\"list-group list-group-numbered\">\n <li class=\"list-group-item list-group-item-warning\">Verifique su n\u00FAmero de c\u00E9dula de\n identidad</li>\n <li class=\"list-group-item list-group-item-warning\">Tenga a mano sus tarjetas de cr\u00E9dito y\n d\u00E9bito activas</li>\n <li class=\"list-group-item list-group-item-warning\">Verifique el monto y lugar de sus\n \u00FAltimas compras en\n comercios o extracciones en cajeros</li>\n </ol>\n </div>\n <div class=\"d-flex flex-row w-full justify-content-center\">\n <a class=\"cursor-pointer text-dark fs-xs\" (click)=\"skipInfoPreview()\">Saltar</a>\n </div>\n </ng-container>\n <ng-template #iframe>\n <iframe *ngIf=\"url; else loadingView\" [src]=\"url\" frameborder=\"0\" class=\"iframeStyle\"></iframe>\n </ng-template>\n </div>\n </div>\n </div>\n</div>\n\n\n<!-- Modal -->\n<div class=\"modal fade\" id=\"modalCuotas\" tabindex=\"-1\" aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-dialog-centered modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\" id=\"exampleModalLabel\">Elija el n\u00FAmero de cuotas</h5>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\n </div>\n <div class=\"modal-body\">\n <select class=\"form-select\" aria-label=\"Default select example\"\n (change)=\"setNumberOfPayments($event.target.value)\">\n <option selected disabled>Selecciones la cantidad de cuotas</option>\n <option value=\"1\">1 cuota</option>\n <option value=\"3\">3 cuotas</option>\n <option value=\"6\">6 cuotas</option>\n <option value=\"12\">12 cuotas</option>\n </select>\n </div>\n <div class=\"modal-footer\" *ngIf=\"canPay()\">\n <button type=\"button\" class=\"btn comprar text-white\" data-bs-dismiss=\"modal\"\n (click)=\"toPay(currentCardID)\">Pagar</button>\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #loadingView>\n <div>\n <app-loading-inline-ec></app-loading-inline-ec>\n </div>\n</ng-template>\n\n<ng-template #buttonLoading>\n <button type=\"button\" class=\"btn comprar text-white\" data-bs-dismiss=\"modal\"> \n <app-loading-inline-ec></app-loading-inline-ec>\n </button>\n</ng-template>",
15832
15919
  styles: [".iframeStyle{min-height:520px!important;width:80%}.img-card{width:90px;height:90px}"]
15833
15920
  })
15834
15921
  ], BancardCatastroEcComponent);