Sha256: 54cac62e6e66c39cfdd3340236cd6ac4783c57f689d8a05e7c32e3ba0001c0ad

Contents?: true

Size: 1 KB

Versions: 12

Compression:

Stored size: 1 KB

Contents

import { Controller } from "@hotwired/stimulus";

export default class extends Controller {
  static targets = ["links", "template"];

  connect() {
    this.wrapperClass = this.data.get("wrapperClass") || "calculator-tiers";
  }

  add_association(event) {
    event.preventDefault();

    var content = this.templateTarget.innerHTML;
    this.linksTarget.insertAdjacentHTML("beforebegin", content);
  }

  propagate_base_to_value_input(event) {
    event.preventDefault();

    // targets the content of the last pair of square brackets
    // we first need to greedily match all other square brackets
    const regEx = /(\[.*\])\[.*?\]$/;
    let wrapper = event.target.closest("." + this.wrapperClass);
    let valueInput = wrapper.querySelector(".js-value-input");
    valueInput.name = valueInput.name.replace(
      regEx,
      `$1[${event.target.value}]`
    );
  }

  remove_association(event) {
    event.preventDefault();

    let wrapper = event.target.closest("." + this.wrapperClass);
    wrapper.remove();
  }
}

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
solidus_promotions-4.4.2 app/javascript/backend/solidus_promotions/controllers/calculator_tiers_controller.js
solidus_promotions-4.4.1 app/javascript/backend/solidus_promotions/controllers/calculator_tiers_controller.js
solidus_friendly_promotions-1.9.3 app/javascript/solidus_friendly_promotions/controllers/calculator_tiers_controller.js
solidus_promotions-4.4.0 app/javascript/backend/solidus_promotions/controllers/calculator_tiers_controller.js
solidus_friendly_promotions-1.9.2 app/javascript/solidus_friendly_promotions/controllers/calculator_tiers_controller.js
solidus_friendly_promotions-1.9.1 app/javascript/solidus_friendly_promotions/controllers/calculator_tiers_controller.js
solidus_friendly_promotions-1.9.0 app/javascript/solidus_friendly_promotions/controllers/calculator_tiers_controller.js
solidus_friendly_promotions-1.0.0 app/javascript/solidus_friendly_promotions/controllers/calculator_tiers_controller.js
solidus_friendly_promotions-1.0.0.rc.3 app/javascript/solidus_friendly_promotions/controllers/calculator_tiers_controller.js
solidus_friendly_promotions-1.0.0.rc.2 app/javascript/solidus_friendly_promotions/controllers/calculator_tiers_controller.js
solidus_friendly_promotions-1.0.0.rc.1 app/javascript/solidus_friendly_promotions/controllers/calculator_tiers_controller.js
solidus_friendly_promotions-1.0.0.pre app/javascript/solidus_friendly_promotions/controllers/calculator_tiers_controller.js