aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-05-02 11:32:44 +0100
committerMichael Williamson <mike@zwobble.org>2016-05-02 11:32:44 +0100
commit1b54156c52caf3f2e9fe7eef29ba5ce6bd098ded (patch)
tree27ef84d722fd7d0529b79c3639c5498ea98e6a1c /lib
parent7348d90d8eb3120e901c0c7adf284c22e44ac5d0 (diff)
Read colSpan for table cells
Diffstat (limited to 'lib')
-rw-r--r--lib/documents.js6
-rw-r--r--lib/docx/body-reader.js9
2 files changed, 12 insertions, 3 deletions
diff --git a/lib/documents.js b/lib/documents.js
index 4e4211b..8b979c2 100644
--- a/lib/documents.js
+++ b/lib/documents.js
@@ -139,10 +139,12 @@ function TableRow(children) {
};
}
-function TableCell(children) {
+function TableCell(children, options) {
+ options = options || {};
return {
type: types.tableCell,
- children: children
+ children: children,
+ colSpan: options.colSpan == null ? 1 : options.colSpan
};
}
diff --git a/lib/docx/body-reader.js b/lib/docx/body-reader.js
index 4e7ff03..126896c 100644
--- a/lib/docx/body-reader.js
+++ b/lib/docx/body-reader.js
@@ -164,7 +164,14 @@ function BodyReader(options) {
return readXmlElements(element.children).map(documents.TableRow);
},
"w:tc": function(element) {
- return readXmlElements(element.children).map(documents.TableCell);
+ return readXmlElements(element.children).map(function(children) {
+ var gridSpan = element
+ .firstOrEmpty("w:tcPr")
+ .firstOrEmpty("w:gridSpan")
+ .attributes["w:val"];
+ var colSpan = gridSpan ? parseInt(gridSpan) : 1;
+ return documents.TableCell(children, {colSpan: colSpan});
+ });
},
"w:footnoteReference": noteReferenceReader("footnote"),
"w:endnoteReference": noteReferenceReader("endnote"),