Skip to content

feat: Add StackingControls for Managing zIndex#1756

Draft
camielvs wants to merge 1 commit into01-30-chore_node_definition_cleanupfrom
02-04-feat_add_zindex_management_for_all_nodes
Draft

feat: Add StackingControls for Managing zIndex#1756
camielvs wants to merge 1 commit into01-30-chore_node_definition_cleanupfrom
02-04-feat_add_zindex_management_for_all_nodes

Conversation

@camielvs
Copy link
Collaborator

@camielvs camielvs commented Feb 5, 2026

Description

Adds manual zIndex management to ReactFlow nodes. This is accessible in the UI via the new StackingControls component.

This PR adds:

  • Defaults & Ranges for allowable zIndices for each node type
  • Utilities for managing stacking actions (move to front/back etc)
  • A Component that consumes all of this and renders four interactive buttons for the user to control these features:
    • Move Forward
    • Move Backward
    • Bring to Front
    • Send to Back

This is an enabling PR for Flex Nodes, as manual zIndex management is a desired feature for Sticky Notes.

Motivation for a generalised solution:
Changing the default ReactFlow behaviour for zIndexMode from basic to manual results in nodes no longer being brought to front when selected. To mitigate this the PR brings the entire zIndex Management feature to all nodes so users can manually deal with the stacking themselves (rather than have no options at all). Upstack the feature will be added for Task and IO nodes.

Related Issue and Pull requests

Progresses https://github.com/Shopify/oasis-frontend/issues/483

Type of Change

  • New feature

Checklist

  • I have tested this does not break current pipelines / runs functionality
  • I have tested the changes on staging

Screenshots (if applicable)

Test Instructions

Additional Comments

Note: this PR doesn't actually implement the new component anywhere int he UI - that comes upstack. Focus reviews on business logic and implementation.

Copy link
Collaborator Author

camielvs commented Feb 5, 2026

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@camielvs camielvs force-pushed the 02-04-feat_add_zindex_management_for_all_nodes branch from bbf67bd to 47ed74b Compare February 5, 2026 00:23
@camielvs camielvs changed the title feat: Add zIndex Management for all Nodes feat: Add StackingControls for Managing zIndex Feb 5, 2026
@camielvs camielvs force-pushed the 01-30-chore_node_definition_cleanup branch from 851a7d9 to 8b7dbf9 Compare February 5, 2026 21:42
@camielvs camielvs force-pushed the 02-04-feat_add_zindex_management_for_all_nodes branch from 47ed74b to 017eef0 Compare February 5, 2026 21:42
@camielvs camielvs force-pushed the 01-30-chore_node_definition_cleanup branch from 8b7dbf9 to e547e8d Compare February 5, 2026 22:36
@camielvs camielvs force-pushed the 02-04-feat_add_zindex_management_for_all_nodes branch from 017eef0 to ae5afd2 Compare February 5, 2026 22:36
@camielvs camielvs force-pushed the 01-30-chore_node_definition_cleanup branch from e547e8d to c656456 Compare February 6, 2026 16:07
@camielvs camielvs force-pushed the 02-04-feat_add_zindex_management_for_all_nodes branch from ae5afd2 to 12359db Compare February 6, 2026 16:07
@camielvs camielvs force-pushed the 01-30-chore_node_definition_cleanup branch from c656456 to a2cb00e Compare February 6, 2026 19:43
@camielvs camielvs force-pushed the 02-04-feat_add_zindex_management_for_all_nodes branch from 12359db to 6dff3a1 Compare February 6, 2026 19:43
@camielvs camielvs force-pushed the 02-04-feat_add_zindex_management_for_all_nodes branch from 6dff3a1 to ce36983 Compare February 6, 2026 19:49
@camielvs camielvs force-pushed the 01-30-chore_node_definition_cleanup branch from a2cb00e to c0c1214 Compare February 6, 2026 19:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant