adopted-ember-addons / ember-cli-hot-loader

An early look at what hot reloading might be like in the ember ecosystem
MIT License
99 stars 13 forks source link

Error when passing a DOM event handling function to a component. #68

Closed lukemelia closed 6 years ago

lukemelia commented 6 years ago

With {{foo click=someFunc}} and this addon installed, rendering triggers a debug assertion:

Assertion Failed: You can not define a function that handles DOM events in thedummy@component:foo::ember451tagless component since it doesn't have any DOM element.

toranb commented 6 years ago

Thanks for reporting this @lukemelia! I just knew this commit would come back to haunt me ;)

I'm recovering this week/weekend from LASIK but when I'm back @ 100% next week I'll dive in and see what we can do to support this type of action!

localpcguy commented 6 years ago

Might also look at the discussion in #24 as it seems related

toranb commented 6 years ago

@lukemelia trying to repro this tonight and found a way to land classic actions w/out a warning in #73 . I'm curious if you could twiddle up something small in the next week just to show end to end what you had in mind. I'm feeling like an action imposter all of the sudden so any guidance would help educate me and I'll surely owe you one :)

Thanks again!

toranb commented 6 years ago

@lukemelia I finally got an example app to repro this :)

https://github.com/toranb/hot-reloader-actions-tagless-triage

toranb commented 6 years ago

Some good news! If I simply remove the line tagName: "" from our wrapper component this problem disappears completely. I remember the ember 3.1/3.2 beta blog mentioning that "template only glimmer components" could remove this extra div element using the optional flag ember feature:enable template-only-glimmer-components so ... I'm curious when this lands if we just get the same "tagless" behavior.

I'm planning to pull this^ and do a v1.0 release w/ a few other changes, like removing the targetObject deprecation warnings, so users can give it another go and provide feedback. If this creates a visual issue for people they can simply punt on this addon until we know more about the "template only glimmer components" feature. At best, this should give people stuck with this action error another shot at hot reloading :)

I've got 1 blocker before this v1.0 release that I'm hoping to resolve this weekend/early next week.

lukemelia commented 6 years ago

Excellent @toranb. I'll look forward to giving it another try.

toranb commented 6 years ago

I published v1.0.0 this morning and tested it w/ a handful of ember 2.18+ apps so for anyone having this issue please give it another go if you've got some bandwidth and still want to get fast feedback :)