Sha256: a2486685abcc62d027e2e58e49f75f893b0ec99599b108bd35f93d36c959bd47

Contents?: true

Size: 681 Bytes

Versions: 5

Compression:

Stored size: 681 Bytes

Contents

import { Application } from "stimulus"

const application = Application.start()

function autoload() {
  Array.from(document.querySelectorAll('[data-controller]')).forEach((element) => {
    const controllerNames = element.attributes["data-controller"].value.split(" ")

    controllerNames.forEach((controllerName) => {
      let controllerFilename = `${controllerName}_controller`

      import(controllerFilename).then((controllerModule) => {
        application.register(controllerName, controllerModule.default)
      }).catch(error => console.log(`Failed to autoload controller: ${controllerName}`))
    })
  })
}

autoload()

window.addEventListener("turbo:load", autoload)

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
stimulus-rails-0.1.4 app/assets/javascripts/stimulus/loaders/autoloader.js
stimulus-rails-0.1.3 app/assets/javascripts/stimulus/loaders/autoloader.js
stimulus-rails-0.1.2 app/assets/javascripts/stimulus/loaders/autoloader.js
stimulus-rails-0.1.1 app/assets/javascripts/stimulus/loaders/autoloader.js
hotwire-stimulus-rails-0.1.0 app/assets/javascripts/stimulus/loaders/autoloader.js