Skip to content

Commit cc65f99

Browse files
committed
Refactor preset group interaction: make clicking a group toggle collapse state instead of running the group, and ensure the "Ungrouped" and "Trailing Group" drag handles correctly trigger group creation on click
1 parent cf28e94 commit cc65f99

1 file changed

Lines changed: 35 additions & 19 deletions

File tree

  • packages/ui/src/components/editor/panel/Presets

‎packages/ui/src/components/editor/panel/Presets/Presets.tsx‎

Lines changed: 35 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -459,14 +459,17 @@ export const Presets: React.FC<Presets.Props> = (props) => {
459459
props.selected_preset_name == 'Ungrouped'
460460
})}
461461
onClick={() => {
462-
props.on_group_click('Ungrouped')
462+
props.on_create_group({
463+
add_on_top: true,
464+
instant: true
465+
})
463466
}}
464-
onContextMenu={(e) =>
467+
onContextMenu={(e) => {
465468
handle_item_context_menu(e, {
466469
preset_name: 'Ungrouped',
467470
is_group: true
468471
})
469-
}
472+
}}
470473
role="button"
471474
>
472475
<div className={styles.presets__item__left}>
@@ -482,12 +485,6 @@ export const Presets: React.FC<Presets.Props> = (props) => {
482485
className={
483486
styles['presets__item__left__collapse-icon']
484487
}
485-
onClick={() => {
486-
props.on_create_group({
487-
add_on_top: true,
488-
instant: true
489-
})
490-
}}
491488
>
492489
<span
493490
className={cn('codicon', {
@@ -505,6 +502,14 @@ export const Presets: React.FC<Presets.Props> = (props) => {
505502
e.stopPropagation()
506503
}}
507504
>
505+
<IconButton
506+
codicon_icon="run-coverage"
507+
title="Run"
508+
on_click={(e) => {
509+
e.stopPropagation()
510+
props.on_group_click('Ungrouped')
511+
}}
512+
/>
508513
<IconButton
509514
codicon_icon="edit"
510515
title="Edit"
@@ -526,6 +531,8 @@ export const Presets: React.FC<Presets.Props> = (props) => {
526531
styles.presets__item,
527532
styles['presets__item--ungrouped']
528533
)}
534+
onClick={() => props.on_create_group({ instant: true })}
535+
role="button"
529536
>
530537
<div className={styles.presets__item__left}>
531538
<div
@@ -540,10 +547,6 @@ export const Presets: React.FC<Presets.Props> = (props) => {
540547
className={
541548
styles['presets__item__left__collapse-icon']
542549
}
543-
onClick={() =>
544-
props.on_create_group({ instant: true })
545-
}
546-
role="button"
547550
>
548551
<span
549552
className={cn('codicon', {
@@ -561,6 +564,14 @@ export const Presets: React.FC<Presets.Props> = (props) => {
561564
e.stopPropagation()
562565
}}
563566
>
567+
<IconButton
568+
codicon_icon="run-coverage"
569+
title="Run"
570+
on_click={(e) => {
571+
e.stopPropagation()
572+
props.on_group_click('Ungrouped')
573+
}}
574+
/>
564575
<IconButton
565576
codicon_icon="edit"
566577
title="Edit"
@@ -620,7 +631,7 @@ export const Presets: React.FC<Presets.Props> = (props) => {
620631
if (preset.chatbot) {
621632
props.on_preset_click(preset.name)
622633
} else {
623-
props.on_group_click(preset.name)
634+
props.on_toggle_group_collapsed(preset.name)
624635
}
625636
}}
626637
onContextMenu={(e) =>
@@ -665,11 +676,6 @@ export const Presets: React.FC<Presets.Props> = (props) => {
665676
styles['presets__item__left__collapse-icon']
666677
}
667678
style={{ cursor: 'pointer' }}
668-
title={preset.is_collapsed ? 'Expand' : 'Collapse'}
669-
onClick={(e) => {
670-
e.stopPropagation()
671-
props.on_toggle_group_collapsed(preset.name)
672-
}}
673679
>
674680
<span
675681
className={cn('codicon', {
@@ -691,6 +697,16 @@ export const Presets: React.FC<Presets.Props> = (props) => {
691697
e.stopPropagation()
692698
}}
693699
>
700+
{!preset.chatbot && (
701+
<IconButton
702+
codicon_icon="run-coverage"
703+
title="Run"
704+
on_click={(e) => {
705+
e.stopPropagation()
706+
props.on_group_click(preset.name)
707+
}}
708+
/>
709+
)}
694710
{preset.chatbot &&
695711
(preset.prompt_prefix || preset.prompt_suffix) && (
696712
<IconButton

0 commit comments

Comments
 (0)