Skip to content

Commit 958254b

Browse files
authored
fix: fill interest on installment type change #459
2 parents c67c0e8 + 693b2a7 commit 958254b

File tree

1 file changed

+26
-12
lines changed

1 file changed

+26
-12
lines changed

assets/javascripts/admin/pagarme_payments.js

+26-12
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
/* jshint esversion: 6 */
22
(function ($) {
3-
const installmentsTypeSelect = $('[data-element="installments-type-select"]');
4-
const installmentsMax = $('[data-field="installments-maximum"]');
5-
const installmentsInterest = $('[data-field="installments-interest"]');
6-
const installmentsInterestLegacy = $('[data-field="installments-interest-legacy"]');
7-
const installmentsMinAmount = $('[data-field="installments-min-amount"]');
8-
const installmentsByFlag = $('[data-field="installments-by-flag"]');
9-
const installmentsWithoutInterest = $('[data-field="installments-without-interest"]');
10-
const installmentsInterestIncrease = $('[data-field="installments-interest-increase"]');
11-
const flagsSelect = $('[data-element="flags-select"]');
12-
const installmentsMaxByFlags = $('[data-field="installments-maximum-by-flag"]');
3+
const
4+
installmentsTypeSelect = $('[data-element="installments-type-select"]'),
5+
installmentsMax = $('[data-field="installments-maximum"]'),
6+
installmentsInterest = $('[data-field="installments-interest"]'),
7+
installmentsInterestLegacy = $('[data-field="installments-interest-legacy"]'),
8+
installmentsMinAmount = $('[data-field="installments-min-amount"]'),
9+
installmentsByFlag = $('[data-field="installments-by-flag"]'),
10+
installmentsWithoutInterest = $('[data-field="installments-without-interest"]'),
11+
installmentsInterestIncrease = $('[data-field="installments-interest-increase"]'),
12+
flagsSelect = $('[data-element="flags-select"]'),
13+
installmentsMaxByFlags = $('[data-field="installments-maximum-by-flag"]'),
14+
15+
INSTALLMENTS_LEGACY = '3';
1316

1417
function toggleItemWhenItemFlagIsInFlags(flags, item) {
1518
if (!flags.includes(item.data('flag'))) {
@@ -153,11 +156,19 @@
153156
};
154157

155158
const fillLegacyInstallmentInterests = () => {
156-
if(parseInt(installmentsTypeSelect.find(":selected").val()) !== 3) {
159+
if (installmentsTypeSelect.find(":selected").val() !== INSTALLMENTS_LEGACY) {
157160
return;
158161
}
159162

160-
const legacyInterest = parseInt(installmentsInterestLegacy.val());
163+
let legacyInterest = installmentsInterestLegacy.val();
164+
165+
if (legacyInterest === '') {
166+
installmentsInterest.val('');
167+
installmentsInterestIncrease.val('');
168+
return;
169+
}
170+
171+
legacyInterest = parseInt(legacyInterest);
161172
const noInterest = parseInt(installmentsWithoutInterest.val());
162173

163174
installmentsInterest.val(legacyInterest * (noInterest + 1));
@@ -188,6 +199,9 @@
188199
flagsSelect.on('select2:selecting', function (event) {
189200
setInstallmentsByFlags(event, false);
190201
});
202+
installmentsTypeSelect.on('change', function() {
203+
fillLegacyInstallmentInterests();
204+
});
191205
installmentsInterestLegacy.on('change', function() {
192206
fillLegacyInstallmentInterests();
193207
});

0 commit comments

Comments
 (0)