cotizador
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.0.0.
1 lines • 15.2 kB
Source Map (JSON)
{"version":3,"file":"cotizador.mjs","sources":["../../../projects/cotizador/src/lib/cotizador.service.ts","../../../projects/cotizador/src/lib/cotizador.component.ts","../../../projects/cotizador/src/lib/cotizador.component.html","../../../projects/cotizador/src/lib/cotizador.module.ts","../../../projects/cotizador/src/public-api.ts","../../../projects/cotizador/src/cotizador.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CotizadorService {\n\n constructor() { }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Component({\n selector: 'tks-cotizador',\n templateUrl: './cotizador.component.html',\n styleUrls: ['./cotizador.component.scss'],\n})\nexport class CotizadorComponent implements OnInit {\n\n @Input() jsonCreditQuoteDesign: any;\n @Output() submitCredit = new EventEmitter<any>();\n\n safeContentCard: SafeHtml;\n safeContentHeader: SafeHtml;\n minAmount: number = 0;\n maxAmount: number = 0;\n increment: number = 0;\n incrementFrecuncy: number = 0;\n amountSelect: any;\n insuranceCost: number = 0;\n insuranceToPay: number = 0;\n maxFrecuency: number = 0;\n minFrecuency: number = 0;\n frecuency: any;\n frecuencySelect: string = '';\n payments: number;\n inputFrecuency: boolean = false;\n inner: boolean = false;\n frecuencyText: string = '';\n title: string = '';\n subtitle: string = '';\n content: string = '';\n amountToPay: number = 0;\n paymentsText: string = '';\n paymentsTextComplement: string = '';\n anualTax: number = 0;\n factor: number = 0;\n Iva: number = 0;\n inputAmountText: string = '';\n inputPaymentsText: string = '';\n constructor(\n private sanitizer: DomSanitizer\n ) { }\n\n ngOnInit() {\n this.paymentsTextComplement = '';\n this.incrementFrecuncy = 1;\n this.title = this.jsonCreditQuoteDesign.header.title;\n this.subtitle = this.jsonCreditQuoteDesign.header.subtitle;\n this.content = this.jsonCreditQuoteDesign.contentComponent.contentComponentInner;\n this.safeContentHeader = this.sanitizer.bypassSecurityTrustHtml(\n this.subtitle\n );\n this.safeContentCard = this.sanitizer.bypassSecurityTrustHtml(\n this.content\n );\n this.minAmount = this.jsonCreditQuoteDesign.contentComponent.minAmount;\n this.maxAmount = this.jsonCreditQuoteDesign.contentComponent.maxAmount;\n this.increment = this.jsonCreditQuoteDesign.contentComponent.increment;\n this.frecuency = this.jsonCreditQuoteDesign.contentComponent.frecuency.options;\n this.inputAmountText = this.jsonCreditQuoteDesign.contentComponent.inputAmountText;\n this.inputPaymentsText = this.jsonCreditQuoteDesign.contentComponent.inputPaymentsText;\n this.setVariable();\n this.selectfrecuency(this.frecuency[0])\n }\n paymentCalc(select) {\n this.inner = false;\n if(select == 'frecuency' ){\n this.paymentsText = this.payments + ' ' + this.paymentsTextComplement;\n this.insuranceToPay = this.insuranceCost * this.payments;\n setTimeout(() => {\n this.inner = this.amountSelect > 0 ? true : false;\n }, 200);\n }\n else if(this.payments > 0){\n this.insuranceToPay = this.insuranceCost * this.payments;\n setTimeout(() => {\n this.inner = true;\n }, 200);\n }\n if(this.frecuencySelect == 'Mensual'){\n this.amountToPay = ( (this.amountSelect+this.insuranceToPay) * ((this.anualTax/100)/12) ) / ( 1 - ( Math.pow((1+((this.anualTax/100)/12)),(-this.payments))) );\n }\n else{\n this.amountToPay = ((((this.amountSelect+this.insuranceToPay)*(this.payments*this.factor)*this.anualTax)) + (this.amountSelect+this.insuranceToPay) ) / this.payments ;\n }\n this.setVariable();\n let arraySubmit = {\n amountSelect: this.amountSelect,\n payments: this.payments,\n insuranceCost: this.insuranceCost,\n frecuency: this.frecuencySelect,\n amountToPay: this.amountToPay,\n amountToPayTotal: (this.amountToPay*this.payments),\n insuranceToPay: this.insuranceToPay,\n frecuencyText: this.frecuencyText\n }\n this.submitCredit.emit(arraySubmit)\n }\n selectfrecuency(frecuency) {\n this.payments = 0;\n this.paymentsText = '';\n this.inner = false;\n for (let i of this.frecuency) {\n i.selected = false;\n }\n this.frecuencySelect = frecuency.id;\n frecuency.selected = true;\n this.inputFrecuency = true;\n this.minFrecuency = frecuency.min;\n this.maxFrecuency = frecuency.max;\n this.frecuencyText = frecuency.text;\n this.paymentsTextComplement = frecuency.text2;\n this.insuranceCost = frecuency.insuranceCost;\n this.anualTax = frecuency.anualTax;\n this.factor = frecuency.factor;\n this.Iva = frecuency.iva\n }\n setVariable() {\n setTimeout(() => {\n let contentHTML = document.querySelectorAll(\"span\");\n if (contentHTML == null) {\n this.setVariable();\n }\n else {\n contentHTML.forEach(element => {\n switch (element.textContent) {\n case '{{maxAmount}}': {\n element.innerHTML = this.maxAmount.toLocaleString('en-US', {\n style: 'currency',\n currency: 'USD',\n });\n break;\n }\n case '{{minAmount}}': {\n element.innerHTML = this.minAmount.toLocaleString('en-US', {\n style: 'currency',\n currency: 'USD',\n });\n break;\n }\n case '{{amountSelect}}': {\n element.innerHTML = this.amountSelect.toLocaleString('en-US', {\n style: 'currency',\n currency: 'USD',\n });\n break;\n }\n case '{{paymentsSelect}}': {\n element.innerHTML = this.payments.toString();\n break;\n }\n case '{{paymentsText}}': {\n element.innerHTML = this.paymentsText\n break;\n }\n case '{{frecuencyText}}': {\n element.innerHTML = this.frecuencyText\n break;\n }\n case '{{amountToPay}}': {\n element.innerHTML = this.amountToPay.toLocaleString('en-US', {\n style: 'currency',\n currency: 'USD',\n });\n break;\n }\n case '{{insuranceCost}}': {\n element.innerHTML = this.insuranceToPay.toLocaleString('en-US', {\n style: 'currency',\n currency: 'USD',\n });\n break;\n }\n }\n\n })\n }\n }, 200);\n }\n\n back(){\n console.log('');\n\n }\n\n}\n","<div class=\"creditQuote\">\n <h1>\n <ion-icon style=\"color:#493176; margin-left: -50px; cursor: pointer;\" name=\"arrow-back-outline\" (click)=\"back()\"></ion-icon>\n {{title}}\n </h1>\n <div class=\"inner\" [innerHTML]=\"subtitle\"></div>\n <h3 class=\"amountSelect\">{{amountSelect | currency}}</h3>\n <div style=\"text-align: -webkit-center;\">\n <ion-grid class=\"tabs\">\n <ion-row>\n <ion-col *ngFor=\"let item of frecuency\">\n <ion-chip (click)=\"selectfrecuency(item)\" [ngClass]=\"item.selected ? 'active' : 'nonActive' \">\n <ion-label>{{item.id}}</ion-label>\n </ion-chip>\n </ion-col>\n </ion-row>\n </ion-grid>\n <h4 class=\"labelsInputs\">{{inputAmountText}} <span>{{amountSelect | currency}}</span> </h4>\n <div class=\"inputRangeAmount\">\n <input class=\"range\" type=\"range\" min=\"{{minAmount}}\" max=\"{{maxAmount}}\" value=\"0\" step=\"{{increment}}\"\n [(ngModel)]=\"amountSelect\" (input)=\"paymentCalc('amout')\">\n </div>\n <h4 class=\"labelsInputs\">{{inputPaymentsText}} <span>{{paymentsText}}</span></h4>\n <div class=\"inputRangeFrecuency\" >\n <input class=\"range\" type=\"range\" min=\"{{minFrecuency}}\" max=\"{{maxFrecuency}}\" value=\"0\" step=\"{{incrementFrecuncy}}\"\n [(ngModel)]=\"payments\" (input)=\"paymentCalc('frecuency')\">\n </div>\n </div>\n <div class=\"inner2\" [innerHTML]=\"content\" *ngIf=\"inner\"></div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { IonicModule } from '@ionic/angular';\nimport { CotizadorComponent } from './cotizador.component';\n\n\n\n@NgModule({\n declarations: [\n CotizadorComponent\n ],\n imports: [\n CommonModule,\n IonicModule,\n ReactiveFormsModule,\n FormsModule,\n\n ],\n exports:[\n CotizadorComponent\n ]\n})\nexport class CotizadorModule { }\n","/*\n * Public API Surface of cotizador\n */\n\nexport * from './lib/cotizador.service';\nexport * from './lib/cotizador.component';\nexport * from './lib/cotizador.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}