Ticket #10026: 10026.patch

File 10026.patch, 3.3 KB (added by scsve, 7 years ago)

code changes done

Line 
1_source/core/config.js
239,46d38
3<  * Used in conjunction with <code>{@link CKEDITOR.config.enterMode}</code>
4<  * and <code>{@link CKEDITOR.config.shiftEnterMode}</code> configuration
5<  * settings to make the editor devide the code between html tags when
6<  * using the <em>Enter</em> key. It is used to break block quotes.
7<  */
8< CKEDITOR.ENTER_BREAKQUOTE     = 4;
9< /**
10<
11172d163
12<     
13 
14
15
16
17
18_source/plugins/enterkey/plugin.js
1950,58d49
20<
21<
22<                         //use new enterkey config option
23<                         if (mode == CKEDITOR.ENTER_BREAKQUOTE )
24<                         {
25<                                 
26<                               breakElement(range);
27<                               return;
28<                         }
29442,502d432
30<         
31<       //break quotings function
32<       function breakElement( range )
33<               {       
34<                   
35<                   // We may not have valid ranges to work on, like when inside a
36<                   // contenteditable=false element.
37<                   if ( !range )
38<                     return;
39<                   var doc = range.document;               
40<                   
41<                   
42<                   lineBreak1 = doc.createElement( 'br' );
43<                   range.insertNode( lineBreak1 );
44<                   range.moveToPosition( lineBreak1,CKEDITOR.POSITION_BEFORE_END  );
45<                   
46<                   range.select();
47<                   
48<                   var elPar=range.startContainer.getParent();
49<
50<                   //Test if element at Editor End ( body)                 
51<                   if (range.startContainer.getName() == "body")
52<                       {
53<                           return;
54<                       }
55<                   var elParname=elPar.getName();
56<                   while (elParname != "body")
57<                       {
58<                           var elPar=elPar.getParent();
59<                           var elParname=elPar.getName();
60<                           
61<                       }
62<                   
63<                   var bookmark = range.createBookmark2();
64<                   //fragment1
65<                   range.setStartAt( elPar, CKEDITOR.POSITION_AFTER_START );
66<                   var fraqDocFirst = range.cloneContents();//
67<                   //fragment2
68<                   range.moveToBookmark(bookmark);//return to old range
69<                   range.setEndAt( elPar, CKEDITOR.POSITION_BEFORE_END );
70<                   var fraqDocLast = range.cloneContents();//
71<                   
72<                   
73<                   elPar.setHtml("");
74<                   range.moveToPosition( elPar,CKEDITOR.POSITION_BEFORE_END  );
75<                   fraqDocFirst.appendTo(elPar);
76<                   range.moveToPosition( elPar,CKEDITOR.POSITION_BEFORE_END  );
77<                   fraqDocLast.appendTo(elPar);
78<                   
79<                   
80<                   lineBreak = doc.createElement( 'br' );
81<                   range.insertNode( lineBreak );
82<                   range.moveToPosition( lineBreak,CKEDITOR.POSITION_BEFORE_END  );
83<                 
84<                   range.select();
85<                   
86<                   
87<                   return;
88<       }
89<
90<
91
92
93
94#The following option can be used
95#shiftEnterMode: CKEDITOR.ENTER_BREAKQUOTE
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy