Ok so I wasn't as smart as I thought I was. The stimulus controller knows when its element is added/removed from the DOM (and calls connect/disconnect appropriately). But if any child elements are added, they don't automatically have my new event handlers.
So I borrowed jQuery's event delegation concept, and listen for any events that 'bubble' up to the controller element, and delegate them as needed.
Alternatively, maybe I could have used a Mutation Observer, but I think it's best to avoid where possible.
Or of course, we could just revert my change and keep the 'data-action's in the HTML. I'm curious to hear opinions on this.."
I noticed there's a controller for that too, so might as well make use of it. The orders page has it at the top, because that's where the bulk action menu is. But on this page, the action is the import button so I put it there.
We are already specifying the element's role ('all') in the HTML. Its behaviour should be predefined; there's no need to also specify in the HTML.
The eventhandler doesn't need to be cleand up on disconnect, because they are removed along with the DOM object.
When importing another catalog, it's probably referring to external
product groups. Storing the external link allows us to group several
variants and replicate the same structure within OFN.
It just makes Rswag specs look more different to other request specs and
I found that discouraging. It's good to know that the parameter is just
specified with `let` and that it works exactly in the same way as `let`
in other specs.
The downside is maybe that it's not obvious that those `let` statements
have to correspond with the parameters for the request but error
messages will tell you if you got it wrong. And there's also the
`parameter` declaration to make that clear.
The default aqua link colour looked aweful on orange/red background. I
tried a few different standard colours but couldn't get it right. So I
reverted to the web standard link style: underline. That's looks pretty
good. I personally think that we should use the more for links.
Not the best UX but the easiest next step to implement. Next we should:
* Include link in error message instead of redirecting straight there.
Otherwise users may feel disoriented.
* Provide a custom error message?