Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor communication between Stimulus controllers #194

Open
krschacht opened this issue Mar 15, 2024 · 0 comments
Open

Refactor communication between Stimulus controllers #194

krschacht opened this issue Mar 15, 2024 · 0 comments
Milestone

Comments

@krschacht
Copy link
Contributor

krschacht commented Mar 15, 2024

Reddit suggested we should use Outlets for this:
https://www.reddit.com/r/rails/comments/1bal22t/how_should_two_stimulus_controllers_share/

I just unpacked an event-approach vs an outlets-approach. I think I outlets is a little bit nicer:
https://twitter.com/keithschacht/status/1785736647327236484

Potential solution:

import { Controller } from "@hotwired/stimulus"

export default class extends Controller {
  static outlets = [ "destination" ]

  call(event) {
    console.log(`calling ${event.params.name} with`, event.params)
    this.destinationOutlets.forEach(dest => dest[event.params.name](event.params))
  }
}
@krschacht krschacht modified the milestones: 0.6, 0.7 Mar 15, 2024
@krschacht krschacht added the good first issue Good for newcomers label Mar 21, 2024
@krschacht krschacht modified the milestones: 0.8, 0.7 Apr 20, 2024
@krschacht krschacht changed the title Improve how stimulus controllers are coupled together Refactor communication between Stimulus controllers May 1, 2024
@krschacht krschacht removed the good first issue Good for newcomers label Jun 7, 2024
@krschacht krschacht modified the milestones: 0.7, 0.8 Jun 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant