Module: Practical::Views::TiptapDocumentComponent::NodeRendering

Included in:
Practical::Views::TiptapDocumentComponent, Node
Defined in:
app/components/practical/views/tiptap_document_component.rb

Instance Method Summary collapse

Instance Method Details

#render_node(node:) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'app/components/practical/views/tiptap_document_component.rb', line 8

def render_node(node:)
  case node[:type].to_sym
  when :text
    render Text.new(node_content: node)
  when :paragraph
    render Paragraph.new(node_content: node)
  when :heading
    render Heading.new(node_content: node)
  when :codeBlock
    render CodeBlock.new(node_content: node)
  when :listItem
    render ListItem.new(node_content: node)
  when :bulletList
    render UnorderedList.new(node_content: node)
  when :orderedList
    render OrderedList.new(node_content: node)
  when :"attachment-figure", :"previewable-attachment-figure"
    render Attachment.new(node_content: node)
  when :blockquote
    render Blockquote.new(node_content: node)
  when :hardBreak
    render HardBreak.new(node_content: node)
  else
    raise UnknownNodeTypeError
  end
end