-
Notifications
You must be signed in to change notification settings - Fork 423
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
Using action option changes the order of actions #718
Comments
I ran some additional test given this original test from the test suite: async "test adding an action to the left"() {
this.actionValue = "c#log3 c#log d#log2"
await this.nextFrame
await this.triggerEvent(this.buttonElement, "click")
this.assertActions(
{ name: "log3", identifier: "c", eventType: "click", currentTarget: this.buttonElement },
{ name: "log", identifier: "c", eventType: "click", currentTarget: this.buttonElement },
{ name: "log2", identifier: "d", eventType: "click", currentTarget: this.buttonElement },
{ name: "log", identifier: "c", eventType: "click", currentTarget: this.element }
)
} I modified it to add a async "test adding an action to the left with a :prevent modifier"() {
this.actionValue = "c#log3:prevent c#log d#log2"
await this.nextFrame
await this.triggerEvent(this.buttonElement, "click")
console.log(this.actionLog.map(({ name }) => name))
this.assertActions(
{ name: "log3", identifier: "c", eventType: "click", currentTarget: this.buttonElement },
{ name: "log", identifier: "c", eventType: "click", currentTarget: this.buttonElement },
{ name: "log2", identifier: "d", eventType: "click", currentTarget: this.buttonElement },
{ name: "log", identifier: "c", eventType: "click", currentTarget: this.element }
)
} The test fails events are received in this order Running the same test with #684 works. I'll what we can do to get this PR merged. While it is not a complete solution think it solves the vast majority of this issue |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In certain situations, using an action option such as
:prevent
can change the order in which actions registered in the samedata-action
are executed.Here is a self-contained example demonstrating the problem:
Without the action option, the debug output shows the correct order:
However, if I use an action option:
The debug output shows the order in which actions are executed has changed:
This seems like a bug to me. I encountered it in a scenario where the order of actions was important, and it took me a while to realize it's because of the action option.
The text was updated successfully, but these errors were encountered: