summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2014-09-27 09:26:38 +0100
committerMichael Williamson <mike@zwobble.org>2014-09-27 09:26:38 +0100
commit92be647aab6949d504f60a54099454e527009cf7 (patch)
tree29b5a7ac454e6d9e65ed9063998f81837bdfff82
parent1d6649a1bbe30cd4816387214d7442772c1542cc (diff)
Extract readRunProperties function
-rw-r--r--lib/docx/document-xml-reader.js58
1 files changed, 32 insertions, 26 deletions
diff --git a/lib/docx/document-xml-reader.js b/lib/docx/document-xml-reader.js
index 79e60f8..97241a7 100644
--- a/lib/docx/document-xml-reader.js
+++ b/lib/docx/document-xml-reader.js
@@ -62,6 +62,37 @@ function DocumentXmlReader(options) {
return new Result([]);
}
+ function readRunProperties(element) {
+ var properties = {
+ type: "runProperties"
+ };
+
+ readRunStyle(properties, element);
+
+ var verticalAlignmentElement = element.first("w:vertAlign");
+ if (verticalAlignmentElement) {
+ properties.verticalAlignment = verticalAlignmentElement.attributes["w:val"];
+ }
+
+ properties.isBold = !!element.first("w:b");
+ properties.isUnderline = !!element.first("w:u");
+ properties.isItalic = !!element.first("w:i");
+
+ return new Result(properties);
+ }
+
+ function readRunStyle(properties, element) {
+ var styleElement = element.first("w:rStyle");
+ if (styleElement) {
+ var styleId = styleElement.attributes["w:val"];
+ properties.styleId = styleId;
+ if (styleId) {
+ var style = styles.findCharacterStyleById(styleId);
+ properties.styleName = style.name;
+ }
+ }
+ }
+
function readChildElements(element) {
return readXmlElements(element.children);
}
@@ -116,32 +147,7 @@ function DocumentXmlReader(options) {
);
});
},
- "w:rPr": function(element) {
- var properties = {
- type: "runProperties"
- };
-
- var styleElement = element.first("w:rStyle");
- if (styleElement) {
- var styleId = styleElement.attributes["w:val"];
- properties.styleId = styleId;
- if (styleId) {
- var style = styles.findCharacterStyleById(styleId);
- properties.styleName = style.name;
- }
- }
-
- var verticalAlignmentElement = element.first("w:vertAlign");
- if (verticalAlignmentElement) {
- properties.verticalAlignment = verticalAlignmentElement.attributes["w:val"];
- }
-
- properties.isBold = !!element.first("w:b");
- properties.isUnderline = !!element.first("w:u");
- properties.isItalic = !!element.first("w:i");
-
- return new Result(properties);
- },
+ "w:rPr": readRunProperties,
"w:t": function(element) {
return new Result(new documents.Text(element.text()));
},