Просмотр исходного кода

Improve selection detection for "Add comment" tooltip (#21731)

GitOrigin-RevId: cd13cacea0d6e45015997f3a831d0f127ddf8cd8
Domagoj Kriskovic 1 год назад
Родитель
Сommit
edb4e3d537

+ 14 - 17
services/web/frontend/js/features/source-editor/extensions/review-tooltip.ts

@@ -43,24 +43,21 @@ export const reviewTooltip = (): Extension => {
   return [
     reviewTooltipTheme,
     reviewTooltipStateField,
+    EditorView.updateListener.of(update => {
+      if (update.selectionSet && !update.state.selection.main.empty) {
+        update.view.dispatch({
+          effects: textSelectedEffect.of(update.view),
+        })
+      } else if (
+        !update.startState.selection.main.empty &&
+        update.state.selection.main.empty
+      ) {
+        update.view.dispatch({
+          effects: removeReviewPanelTooltipEffect.of(null),
+        })
+      }
+    }),
     EditorView.domEventHandlers({
-      mouseup(event, view) {
-        if (!view.state.selection.main.empty) {
-          view.dispatch({
-            effects: textSelectedEffect.of(view),
-          })
-        }
-      },
-      keyup(event, view) {
-        if (
-          (event.shiftKey || event.key === 'Meta') &&
-          !view.state.selection.main.empty
-        ) {
-          view.dispatch({
-            effects: textSelectedEffect.of(view),
-          })
-        }
-      },
       mousedown(event, view) {
         view.dispatch({
           effects: removeReviewPanelTooltipEffect.of(null),