| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | 
							- import {
 -   memo,
 -   useEffect,
 - } from 'react'
 - import {
 -   $insertNodes,
 -   COMMAND_PRIORITY_EDITOR,
 -   createCommand,
 - } from 'lexical'
 - import { mergeRegister } from '@lexical/utils'
 - import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'
 - import type { QueryBlockType } from '../../types'
 - import {
 -   $createQueryBlockNode,
 -   QueryBlockNode,
 - } from './node'
 - 
 - export const INSERT_QUERY_BLOCK_COMMAND = createCommand('INSERT_QUERY_BLOCK_COMMAND')
 - export const DELETE_QUERY_BLOCK_COMMAND = createCommand('DELETE_QUERY_BLOCK_COMMAND')
 - 
 - export type QueryBlockProps = {
 -   onInsert?: () => void
 -   onDelete?: () => void
 - }
 - const QueryBlock = memo(({
 -   onInsert,
 -   onDelete,
 - }: QueryBlockType) => {
 -   const [editor] = useLexicalComposerContext()
 - 
 -   useEffect(() => {
 -     if (!editor.hasNodes([QueryBlockNode]))
 -       throw new Error('QueryBlockPlugin: QueryBlock not registered on editor')
 - 
 -     return mergeRegister(
 -       editor.registerCommand(
 -         INSERT_QUERY_BLOCK_COMMAND,
 -         () => {
 -           const contextBlockNode = $createQueryBlockNode()
 - 
 -           $insertNodes([contextBlockNode])
 -           if (onInsert)
 -             onInsert()
 - 
 -           return true
 -         },
 -         COMMAND_PRIORITY_EDITOR,
 -       ),
 -       editor.registerCommand(
 -         DELETE_QUERY_BLOCK_COMMAND,
 -         () => {
 -           if (onDelete)
 -             onDelete()
 - 
 -           return true
 -         },
 -         COMMAND_PRIORITY_EDITOR,
 -       ),
 -     )
 -   }, [editor, onInsert, onDelete])
 - 
 -   return null
 - })
 - QueryBlock.displayName = 'QueryBlock'
 - 
 - export { QueryBlock }
 - export { QueryBlockNode } from './node'
 - export { default as QueryBlockReplacementBlock } from './query-block-replacement-block'
 
 
  |