Sha256: fda068fc503ca85069fe4acec40fdf2594c81a28f6553bf8f840d6b3a215184d
Contents?: true
Size: 1.1 KB
Versions: 53
Compression:
Stored size: 1.1 KB
Contents
import { Controller } from '@hotwired/stimulus' export default class extends Controller { static targets = ['resourceAction', 'standaloneAction'] static classes = ['enabled', 'disabled'] target = {} get targetIsDisabled() { return this.target.dataset.disabled === 'true' } get actionsShowTurboFrame() { return document.querySelector(`turbo-frame#${window.Avo.configuration.modal_frame_id}`) } enableTarget() { if (this.targetIsDisabled) { this.target.classList.remove(...this.disabledClasses) this.target.classList.add(...this.enabledClasses) this.target.dataset.disabled = false } } disableTarget() { this.target.classList.remove(...this.enabledClasses) this.target.classList.add(...this.disabledClasses) this.target.dataset.disabled = true } visitAction(event) { this.target = event.target if (this.targetIsDisabled) { event.preventDefault() return } this.disableTarget() const that = this setTimeout(() => { this.actionsShowTurboFrame.loaded.then(() => that.enableTarget(that.target)) }, 1) } }
Version data entries
53 entries across 53 versions & 1 rubygems