@@ -48,7 +48,7 @@ import React from 'react';
4848import { CodeSnippetService , ICodeSnippet } from './CodeSnippetService' ;
4949import { FilterTools } from './FilterTools' ;
5050import { showPreview } from './PreviewSnippet' ;
51- import { showMoreOptions } from './MoreOptions ' ;
51+ import { showMoreOptions } from './CodeSnippetMenu ' ;
5252// import {
5353// ICodeSnippet,
5454// CodeSnippetContentsService
@@ -627,10 +627,11 @@ export class CodeSnippetDisplay extends React.Component<
627627
628628 //Set the position of the option to be under to the three dots on snippet.
629629 private _setOptionsPosition (
630- event : React . MouseEvent < HTMLButtonElement , MouseEvent >
630+ event : React . MouseEvent < HTMLElement , MouseEvent >
631631 ) : void {
632632 const target = event . target as HTMLElement ;
633633 let top : number ;
634+ console . log ( target . tagName ) ;
634635 if ( target . tagName === 'path' ) {
635636 top = target . getBoundingClientRect ( ) . top + 10 ;
636637 } else {
@@ -640,8 +641,10 @@ export class CodeSnippetDisplay extends React.Component<
640641 top -= 120 ;
641642 }
642643 const leftAsString =
643- target . getBoundingClientRect ( ) . left . toString ( 10 ) + 'px' ;
644+ ( target . parentElement . style . left + event . pageX ) . toString ( ) + 'px' ;
645+
644646 const topAsString = top . toString ( 10 ) + 'px' ;
647+
645648 document . documentElement . style . setProperty (
646649 '--more-options-top' ,
647650 topAsString
@@ -1151,9 +1154,7 @@ export class CodeSnippetDisplay extends React.Component<
11511154 {
11521155 title : 'Insert, copy, edit, and delete' ,
11531156 icon : moreOptionsIcon ,
1154- onClick : (
1155- event : React . MouseEvent < HTMLButtonElement , MouseEvent >
1156- ) : void => {
1157+ onClick : ( event : React . MouseEvent < HTMLElement , MouseEvent > ) : void => {
11571158 showMoreOptions ( { body : new OptionsHandler ( this , codeSnippet ) } ) ;
11581159 this . _setOptionsPosition ( event ) ;
11591160 } ,
@@ -1164,12 +1165,20 @@ export class CodeSnippetDisplay extends React.Component<
11641165 key = { codeSnippet . name }
11651166 className = { CODE_SNIPPET_ITEM }
11661167 id = { id . toString ( ) }
1168+ title = { 'Right click for more options' }
11671169 onMouseOver = { ( ) : void => {
11681170 this . dragHoverStyle ( id ) ;
11691171 } }
11701172 onMouseOut = { ( ) : void => {
11711173 this . dragHoverStyleRemove ( id ) ;
11721174 } }
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+ } }
11731182 >
11741183 < div
11751184 className = { CODE_SNIPPET_DRAG_HOVER }
0 commit comments