IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
|
|
|
267 | 267 | { |
268 | 268 | range.moveToPosition( lastElement, CKEDITOR.POSITION_AFTER_END ); |
269 | 269 | |
270 | | // If we're inserting a block element immediatelly followed by |
271 | | // another block element, the selection must move there. (#3100,#5436) |
| 270 | // If we're inserting a block element immediately followed by |
| 271 | // another block element, the selection must be optimized. (#3100,#5436,#8950) |
272 | 272 | if ( isBlock ) |
273 | 273 | { |
274 | 274 | var next = lastElement.getNext( notWhitespaceEval ), |
275 | 275 | nextName = next && next.type == CKEDITOR.NODE_ELEMENT && next.getName(); |
276 | 276 | |
277 | | // Check if it's a block element that accepts text. |
278 | | if ( nextName && CKEDITOR.dtd.$block[ nextName ] && CKEDITOR.dtd[ nextName ]['#'] ) |
279 | | range.moveToElementEditStart( next ); |
| 277 | if ( nextName && CKEDITOR.dtd.$block[ nextName ] ) |
| 278 | { |
| 279 | // If the next one is a text block, move cursor to after the start of it. |
| 280 | if ( CKEDITOR.dtd[ nextName ]['#'] ) |
| 281 | range.moveToElementEditStart( next ); |
| 282 | // Otherwise move cursor to the before end of the last element. |
| 283 | else |
| 284 | range.moveToElementEditEnd( lastElement ); |
| 285 | } |
| 286 | // Create a new empty block for moving cursor into it. |
| 287 | else if ( !next ) |
| 288 | range.fixBlock( true, this.config.enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'p' ); |
280 | 289 | } |
281 | 290 | } |
282 | 291 | |
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
|
|
|
736 | 736 | || this.getComputedStyle( 'display' ) == 'none' |
737 | 737 | || this.getComputedStyle( 'visibility' ) == 'hidden' |
738 | 738 | || this.is( 'a' ) && this.data( 'cke-saved-name' ) && !this.getChildCount() |
739 | | || CKEDITOR.dtd.$nonEditable[ name ] ) |
| 739 | || CKEDITOR.dtd.$nonEditable[ name ] |
| 740 | || CKEDITOR.dtd.$empty[ name ] ) |
740 | 741 | { |
741 | 742 | return false; |
742 | 743 | } |
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
|
|
|
513 | 513 | if ( serializable ) |
514 | 514 | { |
515 | 515 | baseId = 'cke_bm_' + CKEDITOR.tools.getNextNumber(); |
516 | | startNode.setAttribute( 'id', baseId + 'S' ); |
| 516 | startNode.setAttribute( 'id', baseId + ( collapsed ? 'C' : 'S' ) ); |
517 | 517 | } |
518 | 518 | |
519 | 519 | // If collapsed, the endNode will not be created. |
… |
… |
|
544 | 544 | this.moveToPosition( startNode, CKEDITOR.POSITION_AFTER_END ); |
545 | 545 | |
546 | 546 | return { |
547 | | startNode : serializable ? baseId + 'S' : startNode, |
| 547 | startNode : serializable ? baseId + ( collapsed ? 'C' : 'S' ) : startNode, |
548 | 548 | endNode : serializable ? baseId + 'E' : endNode, |
549 | 549 | serializable : serializable, |
550 | 550 | collapsed : collapsed |
… |
… |
|
1938 | 1938 | { |
1939 | 1939 | var next; |
1940 | 1940 | |
1941 | | if ( node.type == CKEDITOR.NODE_ELEMENT |
1942 | | && node.isEditable( false ) |
1943 | | && !CKEDITOR.dtd.$nonEditable[ node.getName() ] ) |
1944 | | { |
| 1941 | if ( node.type == CKEDITOR.NODE_ELEMENT && node.isEditable( false ) ) |
1945 | 1942 | next = node[ isMoveToEnd ? 'getLast' : 'getFirst' ]( nonWhitespaceOrBookmarkEval ); |
1946 | | } |
1947 | 1943 | |
1948 | 1944 | if ( !childOnly && !next ) |
1949 | 1945 | next = node[ isMoveToEnd ? 'getPrevious' : 'getNext' ]( nonWhitespaceOrBookmarkEval ); |
1950 | 1946 | |
1951 | 1947 | return next; |
| 1948 | } |
| 1949 | |
| 1950 | // Handle non-editable element e.g. HR. |
| 1951 | if ( el.type == CKEDITOR.NODE_ELEMENT && !el.isEditable( false ) ) |
| 1952 | { |
| 1953 | this.moveToPosition( el, isMoveToEnd ? |
| 1954 | CKEDITOR.POSITION_AFTER_END : |
| 1955 | CKEDITOR.POSITION_BEFORE_START ); |
| 1956 | return true; |
1952 | 1957 | } |
1953 | 1958 | |
1954 | 1959 | var found = 0; |