Invoke CommandBar's onItemClick vs item onClick when item has an href set to avoid item is undefined in handler #4568
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull request checklist
$ npm run changeDescription of changes
When a CommandBar's item had an
hrefset we would create an<a>with anonClickbound to that item'sonClickhandler, rather than invoking theonClickdelegate in CommandBar. Because of thisonClickwas invoked without the backing item for this scenario compared with not having anhrefset. This change attempts to normalize the click handling by invoking CommandBar'sonClickhandler which in turn invokes the item'sonClickhandler.Focus areas to test
truein your console or set a break-point at https://github.com/OfficeDev/office-ui-fabric-react/blob/master/packages/office-ui-fabric-react/src/components/CommandBar/CommandBar.tsx#L437onClickcallback for the CommandBar example here: https://github.com/OfficeDev/office-ui-fabric-react/blob/master/packages/office-ui-fabric-react/src/components/CommandBar/examples/data-nonFocusable.ts#L25hrefon that item, for example{ ... href: 'https://www.bing.com/ }hrefset.hrefIS NOT set the behavior should be as it is onmaster.hrefIS set, then the item'sonClickhandler should be invoked with the DOM event and backing item before handling thehref. Previouslyitemwasundefined.I feel like this change requires at least an additional test if we wish to merge it so I welcome any guidance there. Will look at what exists in the meantime.