- Data attribute "enterKey" would be added to the component for the enterKeyActionId specified on the component
- On the client we are going to look for an enterKey attribute on the component itself,and invoke that action by triggering a click event on that link or button.
- If set on an action, do not add the enterKey data attribute, possibly throw an exception
- krad.initialize.js for the elements that have data attribute enterKey we add a keyup event handler to them, which will catch child events, when enter is the key event caught, invoke above logic and stop propagation of the event
- Do not do enter key invocation for "a, button, submit, img[data-role='Action'], input[data-role='Action']"
- For collection groups we are going to have to add rowDataAttributes that get output on the tr in the table collection case and output on the group of the stacked collection item in the stacked collection case
- Adding a special value for enter key ids called "@PRIMARY" that will invoke the primary button of that group, but primary buttons must be identified by the primaryAction boolean flag which will add a data attribute called "primary_action" and set that true. This will be targeted instead of an explicit id in this scenario.
- In stacked group scenario add the enterkey data attribute to the stackedGroups that are added in build line
- primary and id work work slightly differently, primary is just looking for the jQuery :first selection with primary flag it finds in that group and id is globally
- also when clicking, only fire the action click event if the action is not disabled and not hidden