Sha256: 27886f383c78766b61db0f34a724323411a6b5d097ff90fc0cf4e9d70754762f

Contents?: true

Size: 1.35 KB

Versions: 80

Compression:

Stored size: 1.35 KB

Contents

import { Controller } from '@hotwired/stimulus'
import Rollbar from 'rollbar'

export default class extends Controller {
  connect () {
    this.element.querySelectorAll('.form-select, .form-control').forEach((slct) => {
      slct.addEventListener('change', (e) => {
        if (e.target.value) {
          slct.classList.remove('is-invalid')
        }
      })
    })
    this.element.querySelectorAll('.btn-check').forEach((slct) => {
      slct.addEventListener('change', (e) => {
        const invalid = e.target.closest('.is-invalid')
        if (invalid) {
          invalid.classList.remove('is-invalid')
        }
      })
    })
    const errorTitle = this.element.querySelector('.error-title')
    if (errorTitle) {
      const invalidField = document.querySelector('.is-invalid')
      const baseAlert = document.querySelector('.alert-danger')
      if (!invalidField && !baseAlert) {
        const errorTitle = this.element.querySelector('.error-title')
        // TODO!: testear con capybara
        errorTitle.innerText = 'Ocurrió algo inesperado. Por favor, intentá nuevamente o ponete en contacto con nosotros.'
        // TODO!: link a contacto
        const form = this.element.querySelector('form')
        const errorMsg = `${form.id} - ${form.action} - ${form.dataset.errors}`
        console.error(errorMsg)
        Rollbar.error(errorMsg)
      }
    }
  }
}

Version data entries

80 entries across 80 versions & 1 rubygems

Version Path
pg_rails-7.6.8 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.6.7 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.6.6 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.6.5 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.6.4 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.6.3 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.6.2 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.6.1 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.6.0 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.5.7 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.5.6 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.5.5 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.5.4 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.5.3 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.5.2 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.5.1 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.5.0 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.4.3 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.4.2 pg_layout/app/javascript/controllers/pg_form_controller.js
pg_rails-7.4.1 pg_layout/app/javascript/controllers/pg_form_controller.js