Sha256: 31c17402f917f88240df0013295b2043c76e170c3465f90ce0a95f2e5643372e

Contents?: true

Size: 800 Bytes

Versions: 66

Compression:

Stored size: 800 Bytes

Contents

import { Controller } from "@hotwired/stimulus";
import { Transition } from "koi/utils/transition";

export default class ShowHideController extends Controller {
  static targets = ["content"];

  toggle() {
    const element = this.contentTarget;
    const hide = element.toggleAttribute("data-collapsed");

    // cancel previous animation, if any
    if (this.transition) this.transition.cancel();

    const transition = (this.transition = new Transition(element)
      .addCallback("starting", function () {
        element.setAttribute("data-collapsed-transitioning", "true");
      })
      .addCallback("complete", function () {
        element.removeAttribute("data-collapsed-transitioning");
      }));
    hide ? transition.collapse() : transition.expand();

    transition.start();
  }
}

Version data entries

66 entries across 66 versions & 1 rubygems

Version Path
katalyst-koi-4.16.0 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.15.1 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.15.0 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.14.3 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.14.2 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.14.1 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.14.0 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.13.2 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.13.0 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.12.6 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.12.5 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.12.4 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.12.3 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.12.2 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.12.1 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.12.0 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.11.2 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.11.1 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.11.0 app/assets/javascripts/koi/controllers/show_hide_controller.js
katalyst-koi-4.10.3 app/assets/javascripts/koi/controllers/show_hide_controller.js