1<?php
2
3namespace dokuwiki\plugin\prosemirror\parser;
4
5class ParagraphNode extends Node
6{
7
8    /** @var TextNode[] */
9    protected $subnodes = [];
10
11    protected $parent;
12
13    public function __construct($data, Node $parent)
14    {
15        $this->parent = &$parent;
16
17        $previousNode = null;
18        if (empty($data['content'])) {
19            return;
20        }
21        foreach ($data['content'] as $nodeData) {
22            $newNode = self::getSubNode($nodeData, $this, $previousNode);
23            $this->subnodes[] = $newNode;
24            $previousNode = $newNode;
25        }
26    }
27
28    public function toSyntax()
29    {
30        $doc = '';
31        foreach ($this->subnodes as $subnode) {
32            if (is_a($subnode, ParagraphNode::class)) $doc .= "\n";
33            $doc .= $subnode->toSyntax();
34            if (is_a($subnode, ParagraphNode::class)) $doc .= "\n";
35        }
36        return $doc;
37    }
38}
39