17
17
18
18
namespace PhpOffice \PhpWord \Writer \Word2007 \Element ;
19
19
20
+ use PhpOffice \PhpWord \Element \ListItemRun as ListItemRunElement ;
20
21
use PhpOffice \PhpWord \Writer \Word2007 \Style \Paragraph as ParagraphStyleWriter ;
21
22
22
23
/**
@@ -31,34 +32,56 @@ class ListItemRun extends AbstractElement
31
32
*/
32
33
public function write ()
33
34
{
34
- $ xmlWriter = $ this ->getXmlWriter ();
35
35
$ element = $ this ->getElement ();
36
- if (!$ element instanceof \PhpOffice \PhpWord \Element \ListItemRun) {
36
+
37
+ if (!$ element instanceof ListItemRunElement) {
37
38
return ;
38
39
}
39
40
41
+ $ this ->writeParagraph ($ element );
42
+ }
43
+
44
+ private function writeParagraph (ListItemRunElement $ element )
45
+ {
46
+ $ xmlWriter = $ this ->getXmlWriter ();
40
47
$ xmlWriter ->startElement ('w:p ' );
41
48
49
+ $ this ->writeParagraphProperties ($ element );
50
+
51
+ $ containerWriter = new Container ($ xmlWriter , $ element );
52
+ $ containerWriter ->write ();
53
+
54
+ $ xmlWriter ->endElement (); // w:p
55
+ }
56
+
57
+ private function writeParagraphProperties (ListItemRunElement $ element )
58
+ {
59
+ $ xmlWriter = $ this ->getXmlWriter ();
42
60
$ xmlWriter ->startElement ('w:pPr ' );
43
- $ paragraphStyle = $ element -> getParagraphStyle ();
44
- $ styleWriter = new ParagraphStyleWriter ($ xmlWriter , $ paragraphStyle );
61
+
62
+ $ styleWriter = new ParagraphStyleWriter ($ xmlWriter , $ element -> getParagraphStyle () );
45
63
$ styleWriter ->setIsInline (true );
64
+ $ styleWriter ->setWithoutPPR (true );
46
65
$ styleWriter ->write ();
47
66
48
- $ xmlWriter ->startElement ('w:numPr ' );
49
- $ xmlWriter ->startElement ('w:ilvl ' );
50
- $ xmlWriter ->writeAttribute ('w:val ' , $ element ->getDepth ());
51
- $ xmlWriter ->endElement (); // w:ilvl
52
- $ xmlWriter ->startElement ('w:numId ' );
53
- $ xmlWriter ->writeAttribute ('w:val ' , $ element ->getStyle ()->getNumId ());
54
- $ xmlWriter ->endElement (); // w:numId
55
- $ xmlWriter ->endElement (); // w:numPr
67
+ $ this ->writeParagraphPropertiesNumbering ($ element );
56
68
57
69
$ xmlWriter ->endElement (); // w:pPr
70
+ }
58
71
59
- $ containerWriter = new Container ($ xmlWriter , $ element );
60
- $ containerWriter ->write ();
72
+ private function writeParagraphPropertiesNumbering (ListItemRunElement $ element )
73
+ {
74
+ $ xmlWriter = $ this ->getXmlWriter ();
75
+ $ xmlWriter ->startElement ('w:numPr ' );
61
76
62
- $ xmlWriter ->endElement (); // w:p
77
+ $ xmlWriter ->writeElementBlock ('w:ilvl ' , array (
78
+ 'w:val ' => $ element ->getDepth (),
79
+ ));
80
+
81
+ $ xmlWriter ->writeElementBlock ('w:numId ' , array (
82
+ 'w:val ' => $ element ->getStyle ()->getNumId (),
83
+ ));
84
+
85
+ $ xmlWriter ->endElement (); // w:numPr
63
86
}
64
87
}
0 commit comments