Browse Source

chore: add a context menu item for showing shape props

Peng Xiao 3 years ago
parent
commit
29a54d5d85

+ 16 - 2
tldraw/apps/tldraw-logseq/src/components/ContextMenu/ContextMenu.tsx

@@ -8,8 +8,6 @@ import * as React from 'react'
 import * as ReactContextMenu from '@radix-ui/react-context-menu'
 import * as Separator from '@radix-ui/react-separator'
 
-const preventDefault = (e: Event) => e.stopPropagation()
-
 interface ContextMenuProps {
   children: React.ReactNode
   collisionRef: React.RefObject<HTMLDivElement>
@@ -27,6 +25,13 @@ export const ContextMenu = observer(function ContextMenu({
     app.transition('select')
   }
 
+  const developerMode = React.useMemo(() => {
+    return (
+      window?.logseq?.api?.get_state_from_store?.('ui/developer-mode?') ||
+      process.env.NODE_ENV === 'development'
+    )
+  }, [])
+
   return (
     <ReactContextMenu.Root>
       <ReactContextMenu.Trigger>{children}</ReactContextMenu.Trigger>
@@ -226,6 +231,15 @@ export const ContextMenu = observer(function ContextMenu({
                   </span>
                 </div>
               </ReactContextMenu.Item>
+
+              {developerMode && (
+                <ReactContextMenu.Item
+                  className="tl-menu-item"
+                  onClick={() => console.log(app.selectedShapesArray)}
+                >
+                  (Dev) Print shape props
+                </ReactContextMenu.Item>
+              )}
             </>
           )}
         </div>

+ 1 - 0
tldraw/apps/tldraw-logseq/src/index.ts

@@ -11,6 +11,7 @@ declare global {
         set_blocks_id?: (uuids: string[]) => void
         open_external_link?: (url: string) => void
         get_selected_blocks?: () => { uuid: string }[]
+        get_state_from_store?: (path: string) => any
       }
     }
   }