Sha256: 6ef25b66d572d49bc5da4b6bb13621168b5d022e846c27355cb4891769085231

Contents?: true

Size: 940 Bytes

Versions: 12

Compression:

Stored size: 940 Bytes

Contents

import { Controller } from "@hotwired/stimulus"

export default class extends Controller {
  static targets = ["availableOn", "makeActiveAt", "discontinueOn", "status"]

  initialize() {
    $(this.statusTarget).on("select2:select", function (e) {
      let event = new Event("change")
      e.target.dispatchEvent(event)
    })
  }

  connect() {
    this.statusTarget.dispatchEvent(new Event("change"))
  }

  switchAvailabilityDatesFields(event) {
    let status = event.target.value
    if (status === "draft") {
      this.show(this.availableOnTarget)
      this.show(this.makeActiveAtTarget)
    } else if (status === "active") {
      this.show(this.availableOnTarget)
      this.hide(this.makeActiveAtTarget)
    } else {
      this.hide(this.availableOnTarget)
      this.hide(this.makeActiveAtTarget)
    }
  }

  show(element) {
    element.style.display = "block"
  }

  hide(element) {
    element.style.display = "none"
  }
}

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
spree_backend-4.8.4 app/javascript/spree/backend/controllers/product_edit_controller.js
spree_backend-4.8.3 app/javascript/spree/backend/controllers/product_edit_controller.js
spree_backend-4.8.2 app/javascript/spree/backend/controllers/product_edit_controller.js
spree_backend-4.8.1 app/javascript/spree/backend/controllers/product_edit_controller.js
spree_backend-4.7.2 app/javascript/spree/dashboard/controllers/product_edit_controller.js
spree_backend-4.6.2 app/javascript/spree/dashboard/controllers/product_edit_controller.js
spree_backend-4.7.1 app/javascript/spree/dashboard/controllers/product_edit_controller.js
spree_backend-4.7.0 app/javascript/spree/dashboard/controllers/product_edit_controller.js
spree_backend-4.6.1 app/javascript/spree/dashboard/controllers/product_edit_controller.js
spree_backend-4.6.0 app/javascript/spree/dashboard/controllers/product_edit_controller.js
spree_backend-4.5.1 app/javascript/spree/dashboard/controllers/product_edit_controller.js
spree_backend-4.5.0 app/javascript/spree/dashboard/controllers/product_edit_controller.js