X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Fremoveformat%2Fplugin.js;h=28b4ea76a0d6ca9482c74298096d29e38f2a57e9;hb=e371ddf8abcb89013e20e6d0dd746adec344d0e5;hp=84d7947656389937dd085e22cea6f554cd84c8e8;hpb=8665a7c6c60586526e32e8941fe2896739b6ebfb;p=ckeditor.git diff --git a/_source/plugins/removeformat/plugin.js b/_source/plugins/removeformat/plugin.js index 84d7947..28b4ea7 100644 --- a/_source/plugins/removeformat/plugin.js +++ b/_source/plugins/removeformat/plugin.js @@ -35,9 +35,11 @@ CKEDITOR.plugins.removeformat = ( editor._.removeAttributes = editor.config.removeFormatAttributes.split( ',' ) ); var filter = CKEDITOR.plugins.removeformat.filter; - var ranges = editor.getSelection().getRanges(); + var ranges = editor.getSelection().getRanges( true ), + iterator = ranges.createIterator(), + range; - for ( var i = 0, range ; range = ranges[ i ] ; i++ ) + while ( ( range = iterator.getNextRange() ) ) { if ( range.collapsed ) continue; @@ -103,7 +105,10 @@ CKEDITOR.plugins.removeformat = if ( tagsRegex.test( currentNode.getName() ) ) currentNode.remove( true ); else + { currentNode.removeAttributes( removeAttributes ); + editor.fire( 'removeFormatCleanup', currentNode ); + } } currentNode = nextNode; @@ -170,3 +175,10 @@ CKEDITOR.config.removeFormatTags = 'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp, * @example */ CKEDITOR.config.removeFormatAttributes = 'class,style,lang,width,height,align,hspace,valign'; + +/** + * Fired after an element was cleaned by the removeFormat plugin. + * @name CKEDITOR#removeFormatCleanup + * @event + * @param {Object} data.element The element that was cleaned up. + */