Sha256: fa154b9823e587e0a37b6329843435c842ea12048625fe1852dc3fcd80c47beb

Contents?: true

Size: 684 Bytes

Versions: 14

Compression:

Stored size: 684 Bytes

Contents

import { Controller } from '@hotwired/stimulus'

export default class extends Controller {
  spinnerMarkup = `<div class="button-spinner">
  <div class="double-bounce1"></div>
  <div class="double-bounce2"></div>
</div>`;

  connect() {
    const button = this.context.scope.element
    this.context.scope.element.addEventListener('click', () => {
      button.style.width = `${button.getBoundingClientRect().width}px`
      button.style.height = `${button.getBoundingClientRect().height}px`
      button.innerHTML = this.spinnerMarkup
      button.classList.add('justify-center')

      setTimeout(() => {
        button.setAttribute('disabled', 'disabled')
      }, 1)
    })
  }
}

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
avo-1.25.2 app/javascript/js/controllers/loading_button_controller.js
avo-2.1.2.pre2 app/javascript/js/controllers/loading_button_controller.js
avo-2.1.2.pre1 app/javascript/js/controllers/loading_button_controller.js
avo-1.25.1 app/javascript/js/controllers/loading_button_controller.js
avo-2.1.1 app/javascript/js/controllers/loading_button_controller.js
avo-2.1.0 app/javascript/js/controllers/loading_button_controller.js
avo-2.0.0 app/javascript/js/controllers/loading_button_controller.js
avo-1.25.0 app/javascript/js/controllers/loading_button_controller.js
avo-1.24.2 app/javascript/js/controllers/loading_button_controller.js
avo-1.24.1 app/javascript/js/controllers/loading_button_controller.js
avo-1.24.0 app/javascript/js/controllers/loading_button_controller.js
avo-1.23.0 app/javascript/js/controllers/loading_button_controller.js
avo-1.22.4 app/javascript/js/controllers/loading_button_controller.js
avo-1.22.3 app/javascript/js/controllers/loading_button_controller.js