Sha256: f1075eff15e5f5f799d0564f69f3b2eb093993455cb4c41ef56787e78bb8e75b

Contents?: true

Size: 535 Bytes

Versions: 13

Compression:

Stored size: 535 Bytes

Contents

import { Controller } from '@hotwired/stimulus'

// Connects to data-controller="modal"
export default class extends Controller {
  static targets = ['modal', 'backdrop']

  static values = {
    closeModalOnBackdropClick: true,
  }

  close(event) {
    if (event.target === this.backdropTarget && !this.closeModalOnBackdropClickValue) return

    this.closeModal()
  }

  // May be invoked by the other controllers
  closeModal() {
    this.modalTarget.remove()

    document.dispatchEvent(new Event('modal-controller:close'))
  }
}

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
avo-3.17.3 app/javascript/js/controllers/modal_controller.js
avo-3.17.5.tw4 app/javascript/js/controllers/modal_controller.js
avo-3.17.4.tw4 app/javascript/js/controllers/modal_controller.js
avo-3.17.3.tw4 app/javascript/js/controllers/modal_controller.js
avo-3.17.2.tw4 app/javascript/js/controllers/modal_controller.js
avo-3.17.2 app/javascript/js/controllers/modal_controller.js
avo-3.17.1.tw4 app/javascript/js/controllers/modal_controller.js
avo-3.17.1 app/javascript/js/controllers/modal_controller.js
avo-3.17.0 app/javascript/js/controllers/modal_controller.js
avo-3.16.6 app/javascript/js/controllers/modal_controller.js
avo-3.16.5 app/javascript/js/controllers/modal_controller.js
avo-3.16.4 app/javascript/js/controllers/modal_controller.js
avo-3.16.3 app/javascript/js/controllers/modal_controller.js