Skip to content

Commit

Permalink
Merge pull request #863 from liferay/feature/uiNode_fix
Browse files Browse the repository at this point in the history
Prevents defaulting uiNode to body if unset
  • Loading branch information
jbalsas authored Jun 15, 2018
2 parents 9e606a5 + 58d7091 commit d6bb222
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 11 deletions.
11 changes: 9 additions & 2 deletions src/plugins/dragresize.js
Original file line number Diff line number Diff line change
Expand Up @@ -217,15 +217,22 @@
return false;
},
show: function(el) {
var uiNode = this.editor.config.uiNode || document.body;
var uiNode = this.editor.config.uiNode;

var scrollTop = uiNode ? uiNode.scrollTop : 0;

this.el = el;
if (this.cfg.snapToSize) {
this.otherImages = toArray(this.document.getElementsByTagName('img'));
this.otherImages.splice(this.otherImages.indexOf(el), 1);
}
var box = this.box = getBoundingBox(this.window, el);
positionElement(this.container, box.left, box.top + uiNode.scrollTop);
positionElement(this.container, box.left, box.top + scrollTop);

uiNode = uiNode || document.body;

uiNode.appendChild(this.container);

this.el.classList.add('ckimgrsz');
this.showHandles();
},
Expand Down
13 changes: 8 additions & 5 deletions src/ui/react/src/components/base/widget-position.js
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,9 @@
*/
show: function() {
var domNode = ReactDOM.findDOMNode(this);
var uiNode = this.props.editor.get('uiNode') || document.body;
var uiNode = this.props.editor.get('uiNode');

var scrollTop = uiNode ? uiNode.scrollTop : 0;

if (!this.isVisible() && domNode) {
var interactionPoint = this.getInteractionPoint();
Expand Down Expand Up @@ -240,9 +242,9 @@
}

if (interactionPoint.direction === CKEDITOR.SELECTION_TOP_TO_BOTTOM) {
initialY = this.props.selectionData.region.bottom + uiNode.scrollTop;
initialY = this.props.selectionData.region.bottom + scrollTop;
} else {
initialY = this.props.selectionData.region.top + uiNode.scrollTop;
initialY = this.props.selectionData.region.top + scrollTop;
}

this.moveToPoint([initialX, initialY], [finalX, finalY]);
Expand All @@ -263,11 +265,12 @@
var domNode = ReactDOM.findDOMNode(this);

if (interactionPoint && domNode) {
var uiNode = this.props.editor.get('uiNode') || document.body;
var uiNode = this.props.editor.get('uiNode');

var scrollTop = uiNode ? uiNode.scrollTop : 0;

var xy = this.getWidgetXYPoint(interactionPoint.x, interactionPoint.y, interactionPoint.direction);
xy[1] += uiNode.scrollTop;
xy[1] += scrollTop;

new CKEDITOR.dom.element(domNode).setStyles({
left: xy[0] + 'px',
Expand Down
6 changes: 4 additions & 2 deletions src/ui/react/src/components/toolbars/toolbar-add.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -316,10 +316,12 @@

domNode.style.top = Math.floor((region.bottom + region.top) / 2) + 'px';

const uiNode = this.props.editor.get('uiNode') || document.body;
const uiNode = this.props.editor.get('uiNode');

const scrollTop = uiNode ? uiNode.scrollTop : 0;

if (nativeEditor.element.getStyle('overflow') !== 'auto') {
domNode.style.top = Math.floor(region.top - domNode.offsetHeight/2 + (startRect.height/2) + uiNode.scrollTop) + 'px';
domNode.style.top = Math.floor(region.top - domNode.offsetHeight/2 + (startRect.height/2) + scrollTop) + 'px';
} else {
domNode.style.top = Math.floor(nativeEditor.element.$.offsetTop + (startRect.height / 2) - (domNode.offsetHeight / 2)) + 'px';
}
Expand Down
6 changes: 4 additions & 2 deletions src/ui/react/src/selections/selection-position.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,13 @@
*/
var tableSelectionSetPosition = function(payload) {
var nativeEditor = payload.editor.get('nativeEditor');
var uiNode = nativeEditor.config.uiNode || document.body;
var uiNode = nativeEditor.config.uiNode;

var scrollTop = uiNode ? uiNode.scrollTop : 0;

var table = new CKEDITOR.Table(nativeEditor).getFromSelection();
var rect = table.getClientRect();
rect.top += uiNode.scrollTop;
rect.top += scrollTop;

centerToolbar(this, rect);

Expand Down

0 comments on commit d6bb222

Please sign in to comment.