/*\r
-Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.\r
+Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.\r
For licensing, see LICENSE.html or http://ckeditor.com/license\r
*/\r
\r
'clear: both;' +\r
'display: block;' +\r
'float: none;' +\r
- 'width: 100%;' +\r
+ 'width:100% !important; _width:99.9% !important;' +\r
'border-top: #999999 1px dotted;' +\r
'border-bottom: #999999 1px dotted;' +\r
- 'height: 5px;' +\r
+ 'height: 5px !important;' +\r
+ 'page-break-after: always;' +\r
\r
'}' );\r
},\r
{\r
div : function( element )\r
{\r
- var style = element.attributes.style,\r
+ var attributes = element.attributes,\r
+ style = attributes && attributes.style,\r
child = style && element.children.length == 1 && element.children[ 0 ],\r
childStyle = child && ( child.name == 'span' ) && child.attributes.style;\r
\r
if ( childStyle && ( /page-break-after\s*:\s*always/i ).test( style ) && ( /display\s*:\s*none/i ).test( childStyle ) )\r
- return editor.createFakeParserElement( element, 'cke_pagebreak', 'div' );\r
+ {\r
+ var fakeImg = editor.createFakeParserElement( element, 'cke_pagebreak', 'div' );\r
+ var label = editor.lang.pagebreakAlt;\r
+ fakeImg.attributes[ 'alt' ] = label;\r
+ fakeImg.attributes[ 'aria-label' ] = label;\r
+ return fakeImg;\r
+ }\r
}\r
}\r
});\r
exec : function( editor )\r
{\r
// Create the element that represents a print break.\r
+ var label = editor.lang.pagebreakAlt;\r
var breakObject = CKEDITOR.dom.element.createFromHtml( '<div style="page-break-after: always;"><span style="display: none;"> </span></div>' );\r
\r
// Creates the fake image used for this element.\r
breakObject = editor.createFakeElement( breakObject, 'cke_pagebreak', 'div' );\r
+ breakObject.setAttributes( { alt : label, 'aria-label' : label, title : label } );\r
\r
- var ranges = editor.getSelection().getRanges();\r
+ var ranges = editor.getSelection().getRanges( true );\r
\r
- for ( var range, i = 0 ; i < ranges.length ; i++ )\r
+ editor.fire( 'saveSnapshot' );\r
+\r
+ for ( var range, i = ranges.length - 1 ; i >= 0; i-- )\r
{\r
range = ranges[ i ];\r
\r
- if ( i > 0 )\r
+ if ( i < ranges.length -1 )\r
breakObject = breakObject.clone( true );\r
\r
range.splitBlock( 'p' );\r
range.insertNode( breakObject );\r
+ if ( i == ranges.length - 1 )\r
+ {\r
+ range.moveToPosition( breakObject, CKEDITOR.POSITION_AFTER_END );\r
+ range.select();\r
+ }\r
+\r
+ var previous = breakObject.getPrevious();\r
+\r
+ if ( previous && CKEDITOR.dtd[ previous.getName() ].div )\r
+ breakObject.move( previous );\r
}\r
+\r
+ editor.fire( 'saveSnapshot' );\r
}\r
};\r