Files
openfoodnetwork/app/webpacker/controllers/stripe_cards_controller.js
Jean-Baptiste Bellet d4ec075dfc Disabled stripe-cards input if a already registred card is select
And then re-enabled it, if use decide to register a new card
2021-12-20 15:34:58 +01:00

34 lines
895 B
JavaScript

import { Controller } from "stimulus";
// Handles form elements for selecting previously saved Stripe cards from a list of cards
export default class extends Controller {
static targets = ["stripeelements", "select"];
connect() {
this.selectCard(this.selectTarget.value);
}
onSelectCard(event) {
this.selectCard(event.target.value);
}
selectCard(cardValue) {
if (cardValue == "") {
this.stripeelementsTarget.style.display = "block";
this.getFormElementsArray(this.stripeelementsTarget).forEach((i) => {
i.disabled = false;
});
} else {
this.stripeelementsTarget.style.display = "none";
this.getFormElementsArray(this.stripeelementsTarget).forEach((i) => {
i.disabled = true;
});
}
}
getFormElementsArray(container) {
return Array.from(container.querySelectorAll("input, select, textarea"));
}
}