[PR #24113] feat: Test Run dropdown with dynamic trigger selection #30516

Closed
opened 2026-02-21 20:47:38 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/24113

State: closed
Merged: Yes


Summary

Implements a Test Run dropdown component that allows users to select different trigger nodes to start workflow execution from. This enhancement improves the workflow testing experience by providing granular control over execution entry points.

Key Features

  • Dynamic Trigger Selection: Dropdown shows available trigger options based on workflow configuration
  • User Input Priority: User Input option appears at top with home icon and "~" indicator
  • Trigger Grouping: Separates User Input from other triggers with visual divider
  • Run All Option: Shows "Run all triggers" when multiple triggers exist
  • Visual Design: Matches existing design system with proper hover states and numbering
  • Extensible Architecture: Mock data structure ready for real trigger node integration

Implementation Details

  • Created TestRunDropdown component with portal-based positioning
  • Integrated with existing run-and-history.tsx workflow controls
  • Added trigger container styling improvements with refined status indicators
  • Used TypeScript for type safety and better developer experience

Visual Improvements

  • Refined trigger container padding for tighter visual appearance
  • Enhanced status dot with border effects and improved positioning
  • Made trigger status labels bolder using font-semibold

Screenshots

Before After
Simple "Test Run" button Dropdown with trigger selection options

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods
**Original Pull Request:** https://github.com/langgenius/dify/pull/24113 **State:** closed **Merged:** Yes --- ## Summary Implements a Test Run dropdown component that allows users to select different trigger nodes to start workflow execution from. This enhancement improves the workflow testing experience by providing granular control over execution entry points. ### Key Features - **Dynamic Trigger Selection**: Dropdown shows available trigger options based on workflow configuration - **User Input Priority**: User Input option appears at top with home icon and "~" indicator - **Trigger Grouping**: Separates User Input from other triggers with visual divider - **Run All Option**: Shows "Run all triggers" when multiple triggers exist - **Visual Design**: Matches existing design system with proper hover states and numbering - **Extensible Architecture**: Mock data structure ready for real trigger node integration ### Implementation Details - Created `TestRunDropdown` component with portal-based positioning - Integrated with existing `run-and-history.tsx` workflow controls - Added trigger container styling improvements with refined status indicators - Used TypeScript for type safety and better developer experience ### Visual Improvements - Refined trigger container padding for tighter visual appearance - Enhanced status dot with border effects and improved positioning - Made trigger status labels bolder using `font-semibold` ## Screenshots | Before | After | |--------|-------| | Simple "Test Run" button | Dropdown with trigger selection options | ## Checklist - [x] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:47:38 -05:00
yindo closed this issue 2026-02-21 20:47:39 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#30516