Skip to content

Commit

Permalink
Text position is changed in XWiki PDF Export xwikisas#163
Browse files Browse the repository at this point in the history
* refactoring code
  • Loading branch information
oanalavinia committed Sep 17, 2020
1 parent 73f1de8 commit 6ab9c8e
Showing 1 changed file with 11 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -635,44 +635,36 @@ define('diagram-store', ['jquery', 'xwiki-meta', 'xwiki-utils', 'diagram-utils',
};

var getTagName = function(element) {
if (!element) { return ''; }
if (!element || isTextNode(element)) { return ''; }
return element.tagName.toLowerCase();
};

var isTextElement = function(element) {
if (!element) { return false; }
return element.nodeType == 3;
var isTextNode = function(element) {
return element && element.nodeType === 3;
};

var isHeadingElement = function(element) {
if (!element) { return false; }
return !isTextElement(element) && ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].indexOf(getTagName(element)) != -1;
return ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].indexOf(getTagName(element)) != -1;
};

var isBlockElement = function(element) {
if (!element) { return false; }
return !isTextElement(element) &&
(['p', 'div'].indexOf(getTagName(element)) != -1 || isHeadingElement(element));
return ['p', 'div'].indexOf(getTagName(element)) != -1 || isHeadingElement(element);
};

var isListElement = function(element) {
if (!element) { return false; }
return !isTextElement(element) && ['ul', 'ol'].indexOf(getTagName(element)) != -1;
return ['ul', 'ol'].indexOf(getTagName(element)) != -1;
};

var isInlineElement = function(element) {
if (!element) { return false; }
return !isTextElement(element) && ['b', 'i', 'span'].indexOf(getTagName(element)) != -1;
return ['b', 'i', 'span'].indexOf(getTagName(element)) != -1;
};

var isListItem = function(element) {
if (!element) { return false; }
return !isTextElement(element) && getTagName(element) == 'li';
return getTagName(element) == 'li';
};

var isNodeWithPartialStyle = function(node, nbOfSiblings) {
if (!node) { return false; }
return isTextElement(node) || ((isInlineElement(node) || isBlockElement(node)) && nbOfSiblings > 1);
return isTextNode(node) || ((isInlineElement(node) || isBlockElement(node)) && nbOfSiblings > 1);
};

var isParagraphWithPartialStyle = function(node, nbOfSiblings) {
Expand Down Expand Up @@ -876,7 +868,7 @@ define('diagram-store', ['jquery', 'xwiki-meta', 'xwiki-utils', 'diagram-utils',
// Resolve the basic case where the element is just a phrase with a styled element. Remove this after fixing
// the TODO described in the comment above.
var simpleNodes= childNodes.filter(function() {
return isTextElement(this) || isInlineElement(this);
return isTextNode(this) || isInlineElement(this);
});

if(simpleNodes.length == childNodes.length) {
Expand All @@ -892,7 +884,7 @@ define('diagram-store', ['jquery', 'xwiki-meta', 'xwiki-utils', 'diagram-utils',
childNodes.each(function(index) {
var element = $(this).clone()[0];
// Convert text content to element for consistency.
if (isTextElement(element)) {
if (isTextNode(element)) {
element = $('<span></span>').html(element.textContent)[0];
}

Expand Down

0 comments on commit 6ab9c8e

Please sign in to comment.