-
Notifications
You must be signed in to change notification settings - Fork 79
feat(tree): multi-selection no longer requires holding shift key #3733
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
feat(tree): multi-selection no longer requires holding shift key #3733
Conversation
This PR has been automatically marked as stale because it has not had recent activity. Please close your PR if it is no longer relevant. Thank you for your contributions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking good, @anveshmekala!
calcite-tree
has a few selection modes, so it'd be good to get some additional manual testing to drive new E2E tests since the current E2E test suite doesn't cover all of them. @benelan Can you help with this?
@anveshmekala Should this use the |
/merge master |
/merge master |
Tested the branch locally, LGTM! One thing I noticed is that cc @jcfranco Edit - repro sample: https://codepen.io/benesri/pen/QWOLJPa |
I don't think so. That event should be exclusively tied to selection which is different from the visual state of the tree. The doc seems to indicate this as well. |
/merge master |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Aside from a couple of comments, this LGTM! ✨🌳✨
@benelan @anveshmekala Thanks for doing manual testing on this. 💪 |
/merge master |
* fix(tree): enable multi select with pointer * save selected items at main level * fix single selection mode * deselect siblings when mode is single * fix deselecting tree item when mode is multi * fix deselecting with shift keydown * refactor e2e test * remove unused imports in e2e * feedback changes * emit calciteTreeSelect event without shift key * refactor code * add e2e test and feedback changes Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix(label, input, input-message)!: deprecate and no longer support status prop for calcite-label * alter tests for status being passed in calcite label * update the readme for labels using status and add status prop to input/input-message * add deprecated comment for status prop * refactor(panel, shell, tree-item): Add keys to conditionally rendered slots. (#3962) * refactor(panel, shell, tree-item): Add keys to conditionally rendered slots. * add const for key. * fix code * review cleanup * feat(panel): Add method to scroll content. #3924 (#3960) * ci(screener): updating to Chrome 97 (#3940) * 1.0.0-next.373 * docs: update component READMEs (#3972) Co-authored-by: jcfranco <[email protected]> * ci(screener): enlarging screen resolution (#3977) * refactor(input): fix all types that are any (#3981) * refactor: Update relevant components to handle slotting after init (#3889) * refactor: Update relevant components to use ConditionalSlotComponent #3686 * cleanup * cleanup * cleanup * fix links that aren't direct slots * remove assigned slot check, only get direct children * fix test * cleanup * cleanup * partial review fixes * revert changes to combobox and card * refactor(slider): remove drag event listeners on component disconnected (#3969) * refactor(slider): remove eventListeners on DOM disconnected * feedback changes * add private method for duplicate code * rename method * build: update browserslist db (#3985) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * test(input): when both 'ArrowUp' and 'ArrowDown' are pressed at the same time most recently pressed key takes over (#3989) Co-authored-by: Eliza Khachatryan <[email protected]> * alter verbiage of deprecated prop * ci(screener): restoring pre-Sauce integration settings (#3994) * docs(template): provide context for the repro samples (#3970) * docs(templates): provide content for the repro samples * use cc latest version Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * chore: pin node 16 and npm 8 for volta (#3964) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * docs(readme): remove sketch info until it is up to date (#3996) * fix(date-picker): update utils locale to get the lang code if regional code is not found (#3968) * fix(date-picker): update utils locale to get the lang code if regional code is not found * alter util changes based from pr comments * 1.0.0-next.374 * ci: allow primary and secondary contacts to merge on all prs (#3999) * ci: allow primary and secondary contacts to merge on all prs * cleanup * use admin token * fix(date-picker, input-date-picker): update pt-BR and pt-PT localization files (#3980) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * feat(tree): multi-selection no longer requires holding shift key (#3733) * fix(tree): enable multi select with pointer * save selected items at main level * fix single selection mode * deselect siblings when mode is single * fix deselecting tree item when mode is multi * fix deselecting with shift keydown * refactor e2e test * remove unused imports in e2e * feedback changes * emit calciteTreeSelect event without shift key * refactor code * add e2e test and feedback changes Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * 1.0.0-next.375 * test(dropdown): correct logical errors in the test (#3998) * test(dropdown): correct logical errors in the test * assert both events after each toggle action and use page.waitForEvent before doing assertions Co-authored-by: Eliza Khachatryan <[email protected]> * deprecate and restore the use of status prop * restore reading status prop from label Co-authored-by: Matt Driscoll <[email protected]> Co-authored-by: Erik Harper <[email protected]> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Ben Elan <[email protected]> Co-authored-by: jcfranco <[email protected]> Co-authored-by: Anveshreddy mekala <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Eliza Khachatryan <[email protected]> Co-authored-by: Eliza Khachatryan <[email protected]> Co-authored-by: JC Franco <[email protected]>
Related Issue: #3117
Summary
This will enable to select multiple
calcite-tree-items
when mode is set tomulti | multi-children
without holdingshift
key. Additionally,calciteTreeSelect
will emit the array of selected items instead of one.