Skip to content

feat(cdk/tree): general bug fixes, error handling, updating examples & docs #27305

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

Merged
merged 18 commits into from
Aug 11, 2023

Conversation

BobobUnicorn
Copy link
Collaborator

Follows #27285.

@BobobUnicorn BobobUnicorn changed the base branch from main to cdk-tree-revamp June 14, 2023 20:34
@angular-robot angular-robot bot added the detected: feature PR contains a feature commit label Jun 14, 2023
@BobobUnicorn BobobUnicorn force-pushed the cdk-tree-a11y-fixup branch from 1325fce to bc6c1b7 Compare June 14, 2023 20:38
@andrewseguin andrewseguin self-assigned this Jun 21, 2023
@BobobUnicorn BobobUnicorn force-pushed the cdk-tree-a11y-fixup branch from f9950da to f0d949c Compare July 26, 2023 21:09
@BobobUnicorn BobobUnicorn marked this pull request as ready for review July 26, 2023 21:37
@devversion devversion removed their request for review August 7, 2023 12:44
@zarend zarend merged commit e816828 into angular:cdk-tree-revamp Aug 11, 2023
zarend pushed a commit that referenced this pull request Aug 11, 2023
This is currently unimplemented and will allow a more reactive API for
the tree.

feat(cdk/tree): wording changes

feat(cdk/tree): wording changes

feat(cdk/tree): make getLevel getAccessor private

feat(cdk/tree): make nullable properties optional

feat(cdk/tree): fix lint issues

feat(cdk/tree): add TreeControl methods into the CdkTree itself

feat(cdk/tree): add missing tree errors

feat(cdk/tree): make nullable properties optional

feat(cdk/tree): fix build errors.

feat(cdk/tree): update tree API goldens

feat(cdk/tree): fix lint errors

feat(cdk/tree): fix tests

feat(cdk/tree): fix final lint and golden errors

feat(cdk/tree): fix comments and improve readability

feat(cdk/tree): remove ! assertion

feat(cdk/tree): implement the various expansion-related methods

fix(cdk/tree): fix merge conflict errors

fix(cdk/tree): remove TODOs and fix `isExpanded`

fix(cdk/tree): fix nested nodes not rendering children

fix(cdk/tree): remove childrenAccessor?. usage

fix(cdk/tree): address comments from review

feat(cdk/tree): add tests for the new cdk/tree APIs (#24500)

* feat(cdk/tree): complete migrated tests

* feat(cdk/tree): fix tests

* fix(cdk/tree): add docs to _getAllDescendants

* fix(cdk/tree): add explanatory comment for tree-redesign.spec.ts

feat(cdk/tree): improve aria attributes (#24658)

* feat(cdk/tree): add demos to the dev-app

* feat(cdk/tree): add flat-node with levelAccessor example to the demo
page

* feat(cdk/tree): move new demos to cdk-tree-redesign dir

* fix(cdk/tree): fix unused error

* feat(cdk/tree): move demos back to their own dirs

* fix(cdk/tree): address review comments

* feat(cdk/tree): use _getDirectChildren method in nested node

* feat(cdk/tree): add cache of nodes to the tree

* fix(cdk/tree): fix cherry-pick errors

* feat(cdk/tree): add translation layer for nested nodes using levelAccessor

* feat(cdk/tree): add example with nested nodes & level accessor

* feat(cdk/tree): fix examples

* feat(cdk/tree): add example with flat nodes & childrenAccessor

* feat(cdk/tree): flatten data that uses childrenAccessor

* fix(cdk/tree): fix padding not showing for `childrenAccessor` trees

* fix(cdk/tree): fix flat tree demo

* fix(cdk/tree): convert generator function to return a regular array in demo

* fix(cdk/tree): fix build error

* feat(cdk/tree): update API goldens

* fix(cdk/tree): fix some failing tests, one remaining

* fix(cdk/tree): fix test errors and children conversion; also make `renderNodeChanges` private

* fix(cdk/tree): update api goldens

* fix(cdk/tree): fix lint errors

* feat(cdk/tree): deprecate the TreeControl APIs

* fix(cdk/tree): make the toggle button not focusable by keyboard

* fix(cdk/tree): add aria attributes for the flat nodes

* feat(cdk/tree): maintain a cache of parents and node groups

* feat(cdk/tree): implement aria-posinset and aria-setsize

* feat(cdk/tree): update goldens, add descriptions to methods

* feat(cdk/tree): fix lint errors

* fix(cdk/tree): fix build errors

* fix(cdk/tree): change explicit breaking-change version to PLACEHOLDER

* fix(cdk/tree): also update flat level accessor example

* fix(cdk/tree): update API goldens

* fix(cdk/tree): update API goldens

* feat(cdk/tree): add a translation function to the tree to get children

* fix(cdk/tree): lint

feat(cdk/a11y): add a TreeKeyManager, with next/prev implemented (#24659)

* feat(cdk/a11y): add API for TreeKeyManager

* feat(cdk/a11y): add activeItem into the TreeKeyManager

* feat(cdk/a11y): store the options into the key manager

* feat(cdk/a11y): add _getItems translation layer

* feat(cdk/a11y): add skeleton for keydown actions

* feat(cdk/a11y): implement activate item

* feat(cdk/a11y): implement various focus methods

* feat(cdk/a11y): implement onClick, remove lint disables

* feat(cdk/a11y): partial spec migration, fixed some bugs in impl

* fix(cdk/tree): fix lint errors

* fix(cdk/a11y): fix lint errors pt2

feat(cdk/tree): implement expansion methods for TreeKeyManager (#26586)

* feat(cdk/a11y): implement expansion methods

* feat(cdk/a11y): add tests and fixes for expand/collapse interactions

* feat(cdk/a11y): actually fix build

* feat(cdk/a11y): use skipPredicate instead of disabled

feat(cdk/tree): implement typeahead for TreeKeyManager (#27202)

* feat(cdk/a11y): implement typeahead (needs test)

* feat(cdk/a11y): handle typeahead in keydown handler

* feat(cdk/a11y): fix typeahead build errors

* feat(cdk/a11y): add tests for typeahead

* feat(cdk/a11y): add TreeKeyManager to public a11y API

* fix(cdk/a11y): tree key manager build errors/weird merge

* feat(cdk/a11y): fix api goldens

* fix(cdk/a11y): fix tests

feat(cdk/tree): integrate TreeKeyManager with cdk/tree (#27285)

* feat(cdk/tree): add cache of nodes to the tree

* feat(cdk/tree): bug fixes for tree and key manager

* feat(cdk/tree): flatten data that uses childrenAccessor

* feat(cdk/tree): add examples, fix bugs

* fix(cdk/tree): fix build errors

* fix(cdk/tree): restoring incorrectly removed code

* fix(cdk/tree): fix minor typo

* fix(cdk/tree): fix lint

* feat(cdk/tree): add additional tests, fix bug with aria-posinset

* fix(cdk/tree): update goldens, remove fdescribe

* fix(cdk/tree): dev app compilation

* fix(cdk/tree): fix tests

* fix(material/tree): update tests & API

* fix(material/tree): api goldens

* feat(cdk/tree): add `isExpandable` parameter to NestedTreeControl, fix some tests

* fix(cdk/tree): update api goldens

* fix(material/tree): lint

* fix(cdk/tree): update API goldens

feat(cdk/tree): general bug fixes, error handling, updating examples & docs (#27305)

* feat(cdk/a11y): add some missing focus functions to TreeKeyManager, fix tests

* feat(cdk/tree): report an error when the API consumer tries to expand a non-expandable node.

* fix(cdk/tree): set node role through component host

* fix(material/tree): fix duplicate keydown events

* fix(cdk/tree): make keyboard behaviour consistent across all configurations

This also removes the need for specifying `nodeType` manually.

* fix(cdk/tree): remove unnecessary change detection

* fix(cdk/tree): update API goldens

* refactor(cdk/tree): organize imports

* fix(cdk/a11y): update API goldens

* fix(cdk/tree): remove `_preFlattenedNodes`

* fix(cdk/tree): lint

* fix(cdk/tree): use `findIndex` instead of `indexOf`; fixes inconsistent aria-posinset

* feat(cdk/tree): add complex redux-like demo

* fix(cdk/tree): refactor rendering pipeline

This also refactors the parent/level/group data processing in order to
make it significantly more consistent in all tree configurations.

* feat(cdk/tree): update tree documentation

* feat(cdk/a11y): update docs for `TreeKeyManager`.

* fix(cdk/tree): update API goldens, fix lint errors

* fix(cdk/tree): empty commit; retry ci actions
zarend pushed a commit that referenced this pull request Aug 29, 2023
This is currently unimplemented and will allow a more reactive API for
the tree.

feat(cdk/tree): wording changes

feat(cdk/tree): wording changes

feat(cdk/tree): make getLevel getAccessor private

feat(cdk/tree): make nullable properties optional

feat(cdk/tree): fix lint issues

feat(cdk/tree): add TreeControl methods into the CdkTree itself

feat(cdk/tree): add missing tree errors

feat(cdk/tree): make nullable properties optional

feat(cdk/tree): fix build errors.

feat(cdk/tree): update tree API goldens

feat(cdk/tree): fix lint errors

feat(cdk/tree): fix tests

feat(cdk/tree): fix final lint and golden errors

feat(cdk/tree): fix comments and improve readability

feat(cdk/tree): remove ! assertion

feat(cdk/tree): implement the various expansion-related methods

fix(cdk/tree): fix merge conflict errors

fix(cdk/tree): remove TODOs and fix `isExpanded`

fix(cdk/tree): fix nested nodes not rendering children

fix(cdk/tree): remove childrenAccessor?. usage

fix(cdk/tree): address comments from review

feat(cdk/tree): add tests for the new cdk/tree APIs (#24500)

* feat(cdk/tree): complete migrated tests

* feat(cdk/tree): fix tests

* fix(cdk/tree): add docs to _getAllDescendants

* fix(cdk/tree): add explanatory comment for tree-redesign.spec.ts

feat(cdk/tree): improve aria attributes (#24658)

* feat(cdk/tree): add demos to the dev-app

* feat(cdk/tree): add flat-node with levelAccessor example to the demo
page

* feat(cdk/tree): move new demos to cdk-tree-redesign dir

* fix(cdk/tree): fix unused error

* feat(cdk/tree): move demos back to their own dirs

* fix(cdk/tree): address review comments

* feat(cdk/tree): use _getDirectChildren method in nested node

* feat(cdk/tree): add cache of nodes to the tree

* fix(cdk/tree): fix cherry-pick errors

* feat(cdk/tree): add translation layer for nested nodes using levelAccessor

* feat(cdk/tree): add example with nested nodes & level accessor

* feat(cdk/tree): fix examples

* feat(cdk/tree): add example with flat nodes & childrenAccessor

* feat(cdk/tree): flatten data that uses childrenAccessor

* fix(cdk/tree): fix padding not showing for `childrenAccessor` trees

* fix(cdk/tree): fix flat tree demo

* fix(cdk/tree): convert generator function to return a regular array in demo

* fix(cdk/tree): fix build error

* feat(cdk/tree): update API goldens

* fix(cdk/tree): fix some failing tests, one remaining

* fix(cdk/tree): fix test errors and children conversion; also make `renderNodeChanges` private

* fix(cdk/tree): update api goldens

* fix(cdk/tree): fix lint errors

* feat(cdk/tree): deprecate the TreeControl APIs

* fix(cdk/tree): make the toggle button not focusable by keyboard

* fix(cdk/tree): add aria attributes for the flat nodes

* feat(cdk/tree): maintain a cache of parents and node groups

* feat(cdk/tree): implement aria-posinset and aria-setsize

* feat(cdk/tree): update goldens, add descriptions to methods

* feat(cdk/tree): fix lint errors

* fix(cdk/tree): fix build errors

* fix(cdk/tree): change explicit breaking-change version to PLACEHOLDER

* fix(cdk/tree): also update flat level accessor example

* fix(cdk/tree): update API goldens

* fix(cdk/tree): update API goldens

* feat(cdk/tree): add a translation function to the tree to get children

* fix(cdk/tree): lint

feat(cdk/a11y): add a TreeKeyManager, with next/prev implemented (#24659)

* feat(cdk/a11y): add API for TreeKeyManager

* feat(cdk/a11y): add activeItem into the TreeKeyManager

* feat(cdk/a11y): store the options into the key manager

* feat(cdk/a11y): add _getItems translation layer

* feat(cdk/a11y): add skeleton for keydown actions

* feat(cdk/a11y): implement activate item

* feat(cdk/a11y): implement various focus methods

* feat(cdk/a11y): implement onClick, remove lint disables

* feat(cdk/a11y): partial spec migration, fixed some bugs in impl

* fix(cdk/tree): fix lint errors

* fix(cdk/a11y): fix lint errors pt2

feat(cdk/tree): implement expansion methods for TreeKeyManager (#26586)

* feat(cdk/a11y): implement expansion methods

* feat(cdk/a11y): add tests and fixes for expand/collapse interactions

* feat(cdk/a11y): actually fix build

* feat(cdk/a11y): use skipPredicate instead of disabled

feat(cdk/tree): implement typeahead for TreeKeyManager (#27202)

* feat(cdk/a11y): implement typeahead (needs test)

* feat(cdk/a11y): handle typeahead in keydown handler

* feat(cdk/a11y): fix typeahead build errors

* feat(cdk/a11y): add tests for typeahead

* feat(cdk/a11y): add TreeKeyManager to public a11y API

* fix(cdk/a11y): tree key manager build errors/weird merge

* feat(cdk/a11y): fix api goldens

* fix(cdk/a11y): fix tests

feat(cdk/tree): integrate TreeKeyManager with cdk/tree (#27285)

* feat(cdk/tree): add cache of nodes to the tree

* feat(cdk/tree): bug fixes for tree and key manager

* feat(cdk/tree): flatten data that uses childrenAccessor

* feat(cdk/tree): add examples, fix bugs

* fix(cdk/tree): fix build errors

* fix(cdk/tree): restoring incorrectly removed code

* fix(cdk/tree): fix minor typo

* fix(cdk/tree): fix lint

* feat(cdk/tree): add additional tests, fix bug with aria-posinset

* fix(cdk/tree): update goldens, remove fdescribe

* fix(cdk/tree): dev app compilation

* fix(cdk/tree): fix tests

* fix(material/tree): update tests & API

* fix(material/tree): api goldens

* feat(cdk/tree): add `isExpandable` parameter to NestedTreeControl, fix some tests

* fix(cdk/tree): update api goldens

* fix(material/tree): lint

* fix(cdk/tree): update API goldens

feat(cdk/tree): general bug fixes, error handling, updating examples & docs (#27305)

* feat(cdk/a11y): add some missing focus functions to TreeKeyManager, fix tests

* feat(cdk/tree): report an error when the API consumer tries to expand a non-expandable node.

* fix(cdk/tree): set node role through component host

* fix(material/tree): fix duplicate keydown events

* fix(cdk/tree): make keyboard behaviour consistent across all configurations

This also removes the need for specifying `nodeType` manually.

* fix(cdk/tree): remove unnecessary change detection

* fix(cdk/tree): update API goldens

* refactor(cdk/tree): organize imports

* fix(cdk/a11y): update API goldens

* fix(cdk/tree): remove `_preFlattenedNodes`

* fix(cdk/tree): lint

* fix(cdk/tree): use `findIndex` instead of `indexOf`; fixes inconsistent aria-posinset

* feat(cdk/tree): add complex redux-like demo

* fix(cdk/tree): refactor rendering pipeline

This also refactors the parent/level/group data processing in order to
make it significantly more consistent in all tree configurations.

* feat(cdk/tree): update tree documentation

* feat(cdk/a11y): update docs for `TreeKeyManager`.

* fix(cdk/tree): update API goldens, fix lint errors

* fix(cdk/tree): empty commit; retry ci actions
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 11, 2023
@BobobUnicorn BobobUnicorn deleted the cdk-tree-a11y-fixup branch October 5, 2023 19:31
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
detected: feature PR contains a feature commit
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants