@@ -48,7 +48,7 @@ import React from 'react';
48
48
import { CodeSnippetService , ICodeSnippet } from './CodeSnippetService' ;
49
49
import { FilterTools } from './FilterTools' ;
50
50
import { showPreview } from './PreviewSnippet' ;
51
- import { showMoreOptions } from './MoreOptions ' ;
51
+ import { showMoreOptions } from './CodeSnippetMenu ' ;
52
52
// import {
53
53
// ICodeSnippet,
54
54
// CodeSnippetContentsService
@@ -627,10 +627,11 @@ export class CodeSnippetDisplay extends React.Component<
627
627
628
628
//Set the position of the option to be under to the three dots on snippet.
629
629
private _setOptionsPosition (
630
- event : React . MouseEvent < HTMLButtonElement , MouseEvent >
630
+ event : React . MouseEvent < HTMLElement , MouseEvent >
631
631
) : void {
632
632
const target = event . target as HTMLElement ;
633
633
let top : number ;
634
+ console . log ( target . tagName ) ;
634
635
if ( target . tagName === 'path' ) {
635
636
top = target . getBoundingClientRect ( ) . top + 10 ;
636
637
} else {
@@ -640,8 +641,10 @@ export class CodeSnippetDisplay extends React.Component<
640
641
top -= 120 ;
641
642
}
642
643
const leftAsString =
643
- target . getBoundingClientRect ( ) . left . toString ( 10 ) + 'px' ;
644
+ ( target . parentElement . style . left + event . pageX ) . toString ( ) + 'px' ;
645
+
644
646
const topAsString = top . toString ( 10 ) + 'px' ;
647
+
645
648
document . documentElement . style . setProperty (
646
649
'--more-options-top' ,
647
650
topAsString
@@ -1151,9 +1154,7 @@ export class CodeSnippetDisplay extends React.Component<
1151
1154
{
1152
1155
title : 'Insert, copy, edit, and delete' ,
1153
1156
icon : moreOptionsIcon ,
1154
- onClick : (
1155
- event : React . MouseEvent < HTMLButtonElement , MouseEvent >
1156
- ) : void => {
1157
+ onClick : ( event : React . MouseEvent < HTMLElement , MouseEvent > ) : void => {
1157
1158
showMoreOptions ( { body : new OptionsHandler ( this , codeSnippet ) } ) ;
1158
1159
this . _setOptionsPosition ( event ) ;
1159
1160
} ,
@@ -1164,12 +1165,20 @@ export class CodeSnippetDisplay extends React.Component<
1164
1165
key = { codeSnippet . name }
1165
1166
className = { CODE_SNIPPET_ITEM }
1166
1167
id = { id . toString ( ) }
1168
+ title = { 'Right click for more options' }
1167
1169
onMouseOver = { ( ) : void => {
1168
1170
this . dragHoverStyle ( id ) ;
1169
1171
} }
1170
1172
onMouseOut = { ( ) : void => {
1171
1173
this . dragHoverStyleRemove ( id ) ;
1172
1174
} }
1175
+ onContextMenu = { (
1176
+ event : React . MouseEvent < HTMLElement , MouseEvent >
1177
+ ) : void => {
1178
+ event . preventDefault ( ) ;
1179
+ showMoreOptions ( { body : new OptionsHandler ( this , codeSnippet ) } ) ;
1180
+ this . _setOptionsPosition ( event ) ;
1181
+ } }
1173
1182
>
1174
1183
< div
1175
1184
className = { CODE_SNIPPET_DRAG_HOVER }
0 commit comments