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