Changeset 7162


Ignore:
Timestamp:
08/02/2011 06:24:19 AM (3 years ago)
Author:
garry.yao
Message:

More friendly pagebreak on clipboard.

Location:
CKEditor/branches/features/v4-paste/_source/plugins
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/branches/features/v4-paste/_source/plugins/htmldataprocessor/plugin.js

    r7152 r7162  
    6767                return function( node ) 
    6868                { 
     69                        if ( node.attributes.contenteditable == 'false' ) 
     70                                return; 
     71 
    6972                        trimFillers( node, !isOutput ); 
    7073 
  • CKEditor/branches/features/v4-paste/_source/plugins/pagebreak/plugin.js

    r6930 r7162  
    1 /* 
     1/* 
    22Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. 
    33For licensing, see LICENSE.html or http://ckeditor.com/license 
     
    6464                        htmlFilter.addRules( 
    6565                        { 
    66                                 attributes : { 
    67                                         'class' : function( value, element ) 
     66                                elements : 
     67                                { 
     68                                        'div' : function( element ) 
    6869                                        { 
    69                                                 var className =  value.replace( 'cke_pagebreak', '' ); 
    70                                                 if ( className != value ) 
     70                                                var className =  element.attributes[ 'class' ]; 
     71                                                if ( className && className.indexOf( 'cke_pagebreak' ) != -1 ) 
    7172                                                { 
    72                                                         var span = CKEDITOR.htmlParser.fragment.fromHtml( '<span style="display: none;">&nbsp;</span>' ); 
    73                                                         element.children.length = 0; 
    74                                                         element.add( span ); 
    7573                                                        var attrs = element.attributes; 
     74                                                        delete attrs[ 'class' ]; 
    7675                                                        delete attrs[ 'aria-label' ]; 
    7776                                                        delete attrs.contenteditable; 
    7877                                                        delete attrs.title; 
     78                                                        element.children.length = 0; 
    7979                                                } 
    80                                                 return className; 
    8180                                        } 
    8281                                } 
    83                         }, 5 ); 
     82                        }, 20 ); 
    8483                } 
    8584 
     
    9796                                                                childStyle = child && ( child.name == 'span' ) && child.attributes.style; 
    9897 
    99                                                         if ( childStyle && ( /page-break-after\s*:\s*always/i ).test( style ) && ( /display\s*:\s*none/i ).test( childStyle ) ) 
     98                                                        if ( /page-break-after\s*:\s*always/i.test( style ) ) 
    10099                                                        { 
    101                                                                 attributes.contenteditable = "false"; 
    102                                                                 attributes[ 'class' ] = "cke_pagebreak"; 
    103                                                                 attributes[ 'data-cke-display-name' ] = "pagebreak"; 
    104                                                                 attributes[ 'aria-label' ] = label; 
    105                                                                 attributes[ 'title' ] = label; 
    106  
    107                                                                 element.children.length = 0; 
     100                                                                if ( !element.children.length 
     101                                                                                // Back-compat. 
     102                                                                                || childStyle && /display\s*:\s*none/i .test( childStyle ) ) 
     103                                                                { 
     104                                                                        attributes.contenteditable = "false"; 
     105                                                                        attributes[ 'class' ] = "cke_pagebreak"; 
     106                                                                        attributes[ 'data-cke-display-name' ] = "pagebreak"; 
     107                                                                        attributes[ 'aria-label' ] = label; 
     108                                                                        attributes[ 'title' ] = label; 
     109                                                                        element.children.length = 0; 
     110                                                                } 
    108111                                                        } 
    109112                                                } 
    110113                                        } 
    111                                 }); 
     114                                }, 5 ); 
    112115                } 
    113116        }, 
  • CKEditor/branches/features/v4-paste/_source/plugins/wysiwygarea/plugin.js

    r7161 r7162  
    414414                        // 2. It doesn't end with one inner block; (#7467) 
    415415                        // 3. It doesn't have bogus br yet. 
     416                        // 4. It's an editable block. 
    416417                        if ( pathBlock 
    417418                                        && pathBlock.isBlockBoundary() 
     419                                        && !pathBlock.isReadOnly() 
    418420                                        && !( lastNode && lastNode.type == CKEDITOR.NODE_ELEMENT && lastNode.isBlockBoundary() ) 
    419421                                        && !pathBlock.is( 'pre' ) 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy