Skip to content
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

[#58345] Primerize Relations tab #16989

Draft
wants to merge 29 commits into
base: dev
Choose a base branch
from

Conversation

aaron-contreras
Copy link
Contributor

@aaron-contreras aaron-contreras commented Oct 18, 2024

Ticket

https://community.openproject.org/work_packages/58345

What are you trying to accomplish?

Primerize the Relations tab according to Figma mockups

Note: This is an implementation chunk of https://community.openproject.org/projects/stream-planning-and-reporting/work_packages/22360

What approach did you choose and why?

Followed the patterns established when primerizing the Activity tab and the Meetings tab

Missing specs to fix

✅ Specs to fix - revision 1
- [ ] ./spec/features/work_packages/details/query_groups/relation_query_group_spec.rb:84 # Work package with relation query group children table creates and removes across all tables - [ ] ./spec/features/work_packages/details/query_groups/relation_query_group_spec.rb:210 # Work package with relation query group follower table add existing, remove it, add it from relations tab, remove from relations tab - [ ] './spec/features/work_packages/details/relations/hierarchy_spec.rb[1:1:1:1]' # within a split screen behaves like work package relations tab as admin allows to manage hierarchy - [ ] './spec/features/work_packages/details/relations/hierarchy_spec.rb[1:1:1:3:1]' # within a split screen behaves like work package relations tab as admin inline create can inline-create children - [ ] './spec/features/work_packages/details/relations/hierarchy_spec.rb[1:1:1:2:1]' # within a split screen behaves like work package relations tab as admin when switching to custom field with required CF shows the required field when switching - [ ] './spec/features/work_packages/details/relations/hierarchy_spec.rb[1:1:2:1:2:1]' # within a split screen behaves like work package relations tab relation group-by toggler with limited permissions with manage_subtasks permissions is able to link parent and children - [ ] ./spec/features/work_packages/details/relations/hierarchy_custom_fields_spec.rb:53 # creating a child directly after the wp itself was created keeps its custom field values (regression #29511, #29446) - [ ] ./spec/features/work_packages/copy_spec.rb:93 # Work package copy on fullscreen page - [ ] ./spec/features/work_packages/copy_spec.rb:148 # Work package copy on split screen page - [ ] './spec/features/work_packages/details/relations/relations_spec.rb[2:1:2:2:1]' # within a primerized split screen behaves like Work package relations tab with limited permissions with relations permissions allows to manage relations - [ ] './spec/features/work_packages/details/relations/relations_spec.rb[2:1:2:2:3]' # within a primerized split screen behaves like Work package relations tab with limited permissions with relations permissions follows the relation links (Regression #26794) - [ ] './spec/features/work_packages/details/relations/relations_spec.rb[2:1:2:2:4]' # within a primerized split screen behaves like Work package relations tab with limited permissions with relations permissions allows to change relation descriptions - [ ] './spec/features/work_packages/details/relations/relations_spec.rb[2:1:2:2:2]' # within a primerized split screen behaves like Work package relations tab with limited permissions with relations permissions allows to move between split and full view (Regression #24194) - [ ] './spec/features/work_packages/details/relations/relations_spec.rb[2:1:1:2]' # within a primerized split screen behaves like Work package relations tab relation group-by toggler allows to edit relation types when toggled - [ ] './spec/features/work_packages/details/relations/relations_spec.rb[2:1:1:1]' # within a primerized split screen behaves like Work package relations tab relation group-by toggler allows to toggle how relations are grouped - [ ] ./spec/features/members/pagination_spec.rb:58 # members pagination when adding a member paginates - [ ] ./spec/features/work_packages/new/new_work_package_spec.rb:513 # new work package creating child work packages from the relations tab - [ ] './spec/features/work_packages/details/relations/hierarchy_spec.rb[2:1:1:1]' # within a primerized split screen behaves like work package relations tab as admin allows to manage hierarchy - [ ] './spec/features/work_packages/details/relations/hierarchy_spec.rb[2:1:1:2:1]' # within a primerized split screen behaves like work package relations tab as admin when switching to custom field with required CF shows the required field when switching - [ ] './spec/features/work_packages/details/relations/hierarchy_spec.rb[2:1:1:3:1]' # within a primerized split screen behaves like work package relations tab as admin inline create can inline-create children - [ ] './spec/features/work_packages/details/relations/hierarchy_spec.rb[2:1:2:1:2:1]' # within a primerized split screen behaves like work package relations tab relation group-by toggler with limited permissions with manage_subtasks permissions is able to link parent and children - [ ] ./spec/features/members/membership_spec.rb:160 # Administrating memberships via the project settings Adding and Removing a Group as Member - [ ] ./modules/gantt/spec/features/timeline/timeline_navigation_spec.rb:352 # Work package timeline navigation when table is grouped removes the relation element when removed in split screen - [ ] './spec/features/work_packages/details/relations/relations_spec.rb[1:1:2:2:1]' # within a split screen behaves like Work package relations tab with limited permissions with relations permissions allows to manage relations - [ ] './spec/features/work_packages/details/relations/relations_spec.rb[1:1:2:2:4]' # within a split screen behaves like Work package relations tab with limited permissions with relations permissions allows to change relation descriptions - [ ] './spec/features/work_packages/details/relations/relations_spec.rb[1:1:2:2:3]' # within a split screen behaves like Work package relations tab with limited permissions with relations permissions follows the relation links (Regression #26794) - [ ] './spec/features/work_packages/details/relations/relations_spec.rb[1:1:2:2:2]' # within a split screen behaves like Work package relations tab with limited permissions with relations permissions allows to move between split and full view (Regression #24194) - [ ] './spec/features/work_packages/details/relations/relations_spec.rb[1:1:1:2]' # within a split screen behaves like Work package relations tab relation group-by toggler allows to edit relation types when toggled - [ ] './spec/features/work_packages/details/relations/relations_spec.rb[1:1:1:1]' # within a split screen behaves like Work package relations tab relation group-by toggler allows to toggle how relations are grouped - [ ] ./spec/features/work_packages/details/relations/primerized_relations_spec.rb:363 # Primerized work package relations tab attaching a child renders the new child form and creates the child relationship - [ ] ./spec/features/work_packages/details/relations/primerized_relations_spec.rb:292 # Primerized work package relations tab creating a relation renders the new relation form for the selected type and creates the relation - [ ] ./spec/features/work_packages/details/relations/primerized_relations_spec.rb:192 # Primerized work package relations tab deletion can delete children - [ ] ./spec/features/work_packages/details/relations/primerized_relations_spec.rb:169 # Primerized work package relations tab deletion can delete relations - [ ] ./spec/features/work_packages/table/hierarchy/hierarchy_parent_below_spec.rb:154 # Work Package table hierarchy parent below An arrow is beside parent name and it should not be shown when children are removed "#33109" - [ ] './spec/features/work_packages/details/relations/hierarchy_spec.rb[3:1:1:1]' # within a full screen behaves like work package relations tab as admin allows to manage hierarchy - [ ] './spec/features/work_packages/details/relations/hierarchy_spec.rb[3:1:1:2:1]' # within a full screen behaves like work package relations tab as admin when switching to custom field with required CF shows the required field when switching - [ ] './spec/features/work_packages/details/relations/hierarchy_spec.rb[3:1:1:3:1]' # within a full screen behaves like work package relations tab as admin inline create can inline-create children - [ ] './spec/features/work_packages/details/relations/hierarchy_spec.rb[3:1:2:1:2:1]' # within a full screen behaves like work package relations tab relation group-by toggler with limited permissions with manage_subtasks permissions is able to link parent and children
✅ Specs to fix - revision 2
'./modules/boards/spec/features/board_navigation_spec.rb:127' ↳ html: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-22-58.467.html ↳ screenshot: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-22-58.467.png './modules/boards/spec/features/board_navigation_spec.rb:157' ↳ html: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-21-23.570.html ↳ screenshot: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-21-23.570.png './spec/features/work_packages/copy_spec.rb:148' ↳ html: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-21-01.046.html ↳ screenshot: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-21-01.046.png './spec/features/work_packages/copy_spec.rb:93' ↳ html: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-22-16.256.html ↳ screenshot: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-22-16.256.png './spec/features/work_packages/details/relations/hierarchy_custom_fields_spec.rb:53' ↳ html: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-20-27.590.html ↳ screenshot: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-20-27.590.png './spec/features/work_packages/details/relations/relations_spec.rb:113' ↳ html: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-27-19.600.html ↳ screenshot: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-27-19.600.png './spec/features/work_packages/details/relations/relations_spec.rb:191' ↳ html: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-26-40.855.html ↳ screenshot: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-26-40.855.png './spec/features/work_packages/details/relations/relations_spec.rb:213' ↳ html: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-26-51.079.html ↳ screenshot: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-26-51.079.png './spec/features/work_packages/details/relations/relations_spec.rb:225' ↳ html: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-27-01.471.html ↳ screenshot: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-27-01.471.png './spec/features/work_packages/details/relations/relations_spec.rb:92' ↳ html: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-28-26.213.html ↳ screenshot: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-28-26.213.png './spec/features/work_packages/new/new_work_package_spec.rb:513' ↳ html: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-20-08.622.html ↳ screenshot: https://openproject-ci-public-logs.s3-eu-west-1.amazonaws.com/screenshot_2024-11-12-22-20-08.622.png
✅ Specs to fix - revision 3

rspec ./modules/boards/spec/features/board_navigation_spec.rb:158 # Work Package boards spec navigates to the details view and reloads (see #49678)
rspec ./modules/boards/spec/features/board_navigation_spec.rb:127 # Work Package boards spec navigates from boards to the WP details view then go to full view then go back (see #33747)

Merge checklist

  • Added/updated tests
  • Added/updated documentation in Lookbook (patterns, previews, etc)
  • Tested major browsers (Chrome, Firefox, Edge, ...)

@aaron-contreras aaron-contreras self-assigned this Oct 18, 2024
@aaron-contreras aaron-contreras force-pushed the implementation/58345-re-design-relations-tab-according-to-figma-mockups branch 2 times, most recently from ca640c9 to fa664f8 Compare October 18, 2024 22:26
@github-actions github-actions bot temporarily deployed to gh-6899875-pr-16989 October 20, 2024 11:35 Inactive
@aaron-contreras aaron-contreras force-pushed the implementation/58345-re-design-relations-tab-according-to-figma-mockups branch from fa664f8 to b480a1e Compare October 22, 2024 14:18
@github-actions github-actions bot temporarily deployed to gh-6899875-pr-16989 October 22, 2024 14:19 Inactive
@github-actions github-actions bot temporarily deployed to gh-6899875-pr-16989 October 22, 2024 19:45 Inactive
@aaron-contreras aaron-contreras force-pushed the implementation/58345-re-design-relations-tab-according-to-figma-mockups branch from a36a4ae to a22b05d Compare October 23, 2024 17:37
@github-actions github-actions bot temporarily deployed to gh-6899875-pr-16989 October 23, 2024 17:38 Inactive
@aaron-contreras aaron-contreras force-pushed the implementation/58345-re-design-relations-tab-according-to-figma-mockups branch from a22b05d to c01ab0b Compare October 24, 2024 18:45
@github-actions github-actions bot temporarily deployed to gh-6899875-pr-16989 October 24, 2024 18:46 Inactive
@aaron-contreras aaron-contreras force-pushed the implementation/58345-re-design-relations-tab-according-to-figma-mockups branch from c01ab0b to a0efe87 Compare October 25, 2024 17:54
@github-actions github-actions bot temporarily deployed to gh-6899875-pr-16989 October 25, 2024 17:55 Inactive
@aaron-contreras aaron-contreras force-pushed the implementation/58345-re-design-relations-tab-according-to-figma-mockups branch from a0efe87 to 05ad841 Compare October 28, 2024 13:16
@github-actions github-actions bot temporarily deployed to gh-6899875-pr-16989 October 28, 2024 13:17 Inactive
@aaron-contreras aaron-contreras force-pushed the implementation/58345-re-design-relations-tab-according-to-figma-mockups branch from 05ad841 to 97bd373 Compare October 29, 2024 16:02
@github-actions github-actions bot temporarily deployed to gh-6899875-pr-16989 October 29, 2024 16:02 Inactive
@aaron-contreras aaron-contreras force-pushed the implementation/58345-re-design-relations-tab-according-to-figma-mockups branch from 97bd373 to c8a435b Compare October 30, 2024 12:29
@github-actions github-actions bot temporarily deployed to gh-6899875-pr-16989 October 30, 2024 12:30 Inactive
@aaron-contreras aaron-contreras force-pushed the implementation/58345-re-design-relations-tab-according-to-figma-mockups branch from c8a435b to 512a6a9 Compare October 30, 2024 13:41
@github-actions github-actions bot temporarily deployed to gh-6899875-pr-16989 October 30, 2024 13:42 Inactive
@aaron-contreras aaron-contreras force-pushed the implementation/58345-re-design-relations-tab-according-to-figma-mockups branch from 512a6a9 to f481947 Compare October 30, 2024 14:37
@github-actions github-actions bot temporarily deployed to gh-6899875-pr-16989 October 30, 2024 14:38 Inactive
@aaron-contreras aaron-contreras force-pushed the implementation/58345-re-design-relations-tab-according-to-figma-mockups branch from f481947 to 4717fe2 Compare October 30, 2024 14:42
@github-actions github-actions bot temporarily deployed to gh-6899875-pr-16989 October 30, 2024 14:50 Inactive
@aaron-contreras aaron-contreras force-pushed the implementation/58345-re-design-relations-tab-according-to-figma-mockups branch from 4717fe2 to 16fd894 Compare October 31, 2024 16:45
* Render a modal with hotwire

* Set permissions

* Build form modal component

* Render toggles to trigger form field visibilities

* Add feature specs

* Handle controller and service to take in the
  added description if provided.
* Create `new` controller action and tests to render modal with form.

* Render new relation form with tests.

* Plug in create service and form fields required for creating
  a relation with tests.

* Make description settable with tests.
We want agnostically of the source of the request to trigger
updates on the Angular portions of the page.
@aaron-contreras aaron-contreras force-pushed the implementation/58345-re-design-relations-tab-according-to-figma-mockups branch from afcce7f to a10d97d Compare November 13, 2024 12:18
@github-actions github-actions bot temporarily deployed to gh-6899875-pr-16989 November 13, 2024 12:19 Inactive
ActionMenu button would flow off the screen as the flex basis was
not appropriate
@github-actions github-actions bot temporarily deployed to gh-6899875-pr-16989 November 13, 2024 12:53 Inactive
@aaron-contreras
Copy link
Contributor Author

@psatyal Pull preview ready for a first once-over!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

2 participants