@@ -102,7 +102,7 @@ interface IChatListItemTemplate {
102
102
readonly templateDisposables : IDisposable ;
103
103
readonly elementDisposables : DisposableStore ;
104
104
readonly agentHover : ChatAgentHover ;
105
- readonly requestHover ? : HTMLElement ;
105
+ readonly requestHover : HTMLElement ;
106
106
}
107
107
108
108
interface IItemHeightChangeParams {
@@ -379,7 +379,7 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer<Ch
379
379
this . hoverService . hideHover ( ) ;
380
380
}
381
381
} ) ) ;
382
- const template : IChatListItemTemplate = { header, avatarContainer, username, detail, value, rowContainer, elementDisposables, templateDisposables, contextKeyService, instantiationService : scopedInstantiationService , agentHover, titleToolbar, footerToolbar } ;
382
+ const template : IChatListItemTemplate = { header, avatarContainer, requestHover , username, detail, value, rowContainer, elementDisposables, templateDisposables, contextKeyService, instantiationService : scopedInstantiationService , agentHover, titleToolbar, footerToolbar } ;
383
383
return template ;
384
384
}
385
385
@@ -438,21 +438,30 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer<Ch
438
438
this . renderAvatar ( element , templateData ) ;
439
439
}
440
440
441
+ dom . hide ( templateData . requestHover ) ;
441
442
dom . clearNode ( templateData . detail ) ;
442
443
if ( isResponseVM ( element ) ) {
443
444
this . renderDetail ( element , templateData ) ;
444
445
}
445
446
446
447
templateData . rowContainer . classList . toggle ( mostRecentResponseClassName , index === this . delegate . getListLength ( ) - 1 ) ;
448
+ templateData . rowContainer . classList . toggle ( 'confirmation-message' , isRequestVM ( element ) && ! ! element . confirmation ) ;
447
449
448
- if ( isRequestVM ( element ) && element . confirmation ) {
449
- this . renderConfirmationAction ( element , templateData ) ;
450
+ if ( isRequestVM ( element ) ) {
451
+ templateData . rowContainer . tabIndex = - 1 ;
452
+ } else {
453
+ templateData . rowContainer . tabIndex = 0 ;
450
454
}
451
455
456
+
452
457
// TODO: @justschen decide if we want to hide the header for requests or not
453
458
const shouldShowHeader = isResponseVM ( element ) && ! this . rendererOptions . noHeader ;
454
459
templateData . header ?. classList . toggle ( 'header-disabled' , ! shouldShowHeader ) ;
455
460
461
+ if ( isRequestVM ( element ) && element . confirmation ) {
462
+ this . renderConfirmationAction ( element , templateData ) ;
463
+ }
464
+
456
465
// Do a progressive render if
457
466
// - This the last response in the list
458
467
// - And it has some content
@@ -513,6 +522,7 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer<Ch
513
522
dom . clearNode ( templateData . detail ) ;
514
523
if ( element . confirmation ) {
515
524
templateData . detail . textContent = localize ( 'chatConfirmationAction' , 'selected "{0}"' , element . confirmation ) ;
525
+ templateData . header ?. classList . remove ( 'header-disabled' ) ;
516
526
}
517
527
}
518
528
@@ -1140,6 +1150,10 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer<Ch
1140
1150
const fillInIncompleteTokens = isResponseVM ( element ) && ( ! element . isComplete || element . isCanceled || element . errorDetails ?. responseIsFiltered || element . errorDetails ?. responseIsIncomplete || ! ! element . renderData ) ;
1141
1151
const codeBlockStartIndex = this . getCodeBlockStartIndex ( context ) ;
1142
1152
const markdownPart = templateData . instantiationService . createInstance ( ChatMarkdownContentPart , markdown , context , this . _editorPool , fillInIncompleteTokens , codeBlockStartIndex , this . renderer , this . _currentLayoutWidth , this . codeBlockModelCollection , { } ) ;
1153
+ if ( isRequestVM ( element ) ) {
1154
+ markdownPart . domNode . tabIndex = 0 ;
1155
+ }
1156
+
1143
1157
markdownPart . addDisposable ( markdownPart . onDidChangeHeight ( ( ) => {
1144
1158
markdownPart . layout ( this . _currentLayoutWidth ) ;
1145
1159
this . updateItemHeight ( templateData ) ;
0 commit comments