public/ckeditor/4.4dev/core/dom/range.js
function() {

			// The reference element contains a zero-width space to avoid
			// a premature removal. The view is to be scrolled with respect
			// to this element.
			var reference = new CKEDITOR.dom.element.createFromHtml( '<span>&nbsp;</span>', this.document ),
				afterCaretNode, startContainerText, isStartText;

			var range = this.clone();

			// Work with the range to obtain a proper caret position.
			range.optimize();

			// Currently in a text node, so we need to split it into two
			// halves and put the reference between.
			if ( isStartText = range.startContainer.type == CKEDITOR.NODE_TEXT ) {
				// Keep the original content. It will be restored.
				startContainerText = range.startContainer.getText();

				// Split the startContainer at the this position.
				afterCaretNode = range.startContainer.split( range.startOffset );

				// Insert the reference between two text nodes.
				reference.insertAfter( range.startContainer );
			}

			// If not in a text node, simply insert the reference into the range.
			else {
				range.insertNode( reference );
			}

			// Scroll with respect to the reference element.
			reference.scrollIntoView();

			// Get rid of split parts if "in a text node" case.
			// Revert the original text of the startContainer.
			if ( isStartText ) {
				range.startContainer.setText( startContainerText );
				afterCaretNode.remove();
			}

			// Get rid of the reference node. It is no longer necessary.
			reference.remove();
		}
function() {

			// The reference element contains a zero-width space to avoid
			// a premature removal. The view is to be scrolled with respect
			// to this element.
			var reference = new CKEDITOR.dom.element.createFromHtml( '<span>&nbsp;</span>', this.document ),
				afterCaretNode, startContainerText, isStartText;

			var range = this.clone();

			// Work with the range to obtain a proper caret position.
			range.optimize();

			// Currently in a text node, so we need to split it into two
			// halves and put the reference between.
			if ( isStartText = range.startContainer.type == CKEDITOR.NODE_TEXT ) {
				// Keep the original content. It will be restored.
				startContainerText = range.startContainer.getText();

				// Split the startContainer at the this position.
				afterCaretNode = range.startContainer.split( range.startOffset );

				// Insert the reference between two text nodes.
				reference.insertAfter( range.startContainer );
			}

			// If not in a text node, simply insert the reference into the range.
			else {
				range.insertNode( reference );
			}

			// Scroll with respect to the reference element.
			reference.scrollIntoView();

			// Get rid of split parts if "in a text node" case.
			// Revert the original text of the startContainer.
			if ( isStartText ) {
				range.startContainer.setText( startContainerText );
				afterCaretNode.remove();
			}

			// Get rid of the reference node. It is no longer necessary.
			reference.remove();
		}
function ( ) { // The reference element contains a zero-width space to avoid // a premature removal. The view is to be scrolled with respect // to this element. var reference = new CKEDITOR . dom . element . createFromHtml ( '<span>&nbsp;</span>' , this . document ) , afterCaretNode , startContainerText , isStartText ; var range = this . clone ( ) ; // Work with the range to obtain a proper caret position. range . optimize ( ) ; // Currently in a text node, so we need to split it into two // halves and put the reference between. if ( isStartText = range . startContainer . type == CKEDITOR . NODE_TEXT ) { // Keep the original content. It will be restored. startContainerText = range . startContainer . getText ( ) ; // Split the startContainer at the this position. afterCaretNode = range . startContainer . split ( range . startOffset ) ; // Insert the reference between two text nodes. reference . insertAfter ( range . startContainer ) ; } // If not in a text node, simply insert the reference into the range. else { range . insertNode ( reference ) ; } // Scroll with respect to the reference element. reference . scrollIntoView ( ) ; // Get rid of split parts if "in a text node" case. // Revert the original text of the startContainer. if ( isStartText ) { range . startContainer . setText ( startContainerText ) ; afterCaretNode . remove ( ) ; } // Get rid of the reference node. It is no longer necessary. reference . remove ( ) ; }
Scrolls the start of current range into view.
Scrolls the start of current range into view .