Ticket #9278: 9278.patch

File 9278.patch, 4.8 KB (added by Jakub Ś, 12 years ago)
  • _source/plugins/liststyle/dialogs/liststyle.js

     
    2525                '1' : 'decimal',
    2626                'disc' : 'disc',
    2727                'circle': 'circle',
    28                 'square' : 'square'
     28                'square' : 'square',
     29                'none' : 'none'
    2930        };
    3031
    3132        function listStyle( editor, startupPage )
     
    5556                                                                        [ lang.notset, '' ],
    5657                                                                        [ lang.circle, 'circle' ],
    5758                                                                        [ lang.disc,  'disc' ],
    58                                                                         [ lang.square, 'square' ]
     59                                                                        [ lang.square, 'square' ],
     60                                                                        [ lang.none, 'none' ]
    5961                                                                ],
    6062                                                                setup : function( element )
    6163                                                                {
     
    104106                                [ lang.upperRoman, 'upper-roman' ],
    105107                                [ lang.lowerAlpha, 'lower-alpha' ],
    106108                                [ lang.upperAlpha, 'upper-alpha' ],
    107                                 [ lang.decimal, 'decimal' ]
     109                                [ lang.decimal, 'decimal' ],
     110                                [ lang.none, 'none' ]
    108111                        ];
    109112
    110113                        if ( !CKEDITOR.env.ie || CKEDITOR.env.version > 7 )
     
    140143                                                                                validate : CKEDITOR.dialog.validate.integer( lang.validateStartNumber ),
    141144                                                                                setup : function( element )
    142145                                                                                {
    143                                                                                         // List item start number dominates.
    144                                                                                         var value = element.getFirst( listItem ).getAttribute( 'value' ) || element.getAttribute( 'start' ) || 1;
    145                                                                                         value && this.setValue( value );
     146                                                                                        var styleType = element.getStyle( 'list-style-type' )
     147                                                                                                || mapListStyle[ element.getAttribute( 'type' ) ]
     148                                                                                                || element.getAttribute( 'type' ) || '';
     149                                                                                               
     150                                                                                        if( styleType !== 'none')
     151                                                                                        {
     152                                                                                                // List item start number dominates.
     153                                                                                                var value = element.getFirst( listItem ).getAttribute( 'value' ) || element.getAttribute( 'start' ) || 1;
     154                                                                                                value && this.setValue( value );
     155                                                                                        }
    146156                                                                                },
    147157                                                                                commit : function( element )
    148158                                                                                {
    149                                                                                         var firstItem = element.getFirst( listItem );
    150                                                                                         var oldStart = firstItem.getAttribute( 'value' ) || element.getAttribute( 'start' ) || 1;
     159                                                                                        if(this.getDialog().getContentElement( 'info', 'type' ).getValue() === 'none')
     160                                                                                        {
     161                                                                                                if( element.getAttribute( 'start' ) )
     162                                                                                                        element.removeAttribute( 'start' );
     163                                                                                        } else
     164                                                                                        {       
     165                                                                                                var firstItem = element.getFirst( listItem );
     166                                                                                                var oldStart = firstItem.getAttribute( 'value' ) || element.getAttribute( 'start' ) || 1;
    151167
    152                                                                                         // Force start number on list root.
    153                                                                                         element.getFirst( listItem ).removeAttribute( 'value' );
    154                                                                                         var val = parseInt( this.getValue(), 10 );
    155                                                                                         if ( isNaN( val ) )
    156                                                                                                 element.removeAttribute( 'start' );
    157                                                                                         else
    158                                                                                                 element.setAttribute( 'start', val );
     168                                                                                                // Force start number on list root.
     169                                                                                                element.getFirst( listItem ).removeAttribute( 'value' );
     170                                                                                                var val = parseInt( this.getValue(), 10 );
     171                                                                                                if ( isNaN( val ) )
     172                                                                                                        element.removeAttribute( 'start' );
     173                                                                                                else
     174                                                                                                        element.setAttribute( 'start', val );
    159175
    160                                                                                         // Update consequent list item numbering.
    161                                                                                         var nextItem = firstItem, conseq = oldStart, startNumber = isNaN( val ) ? 1 : val;
    162                                                                                         while ( ( nextItem = nextItem.getNext( listItem ) ) && conseq++ )
    163                                                                                         {
    164                                                                                                 if ( nextItem.getAttribute( 'value' ) == conseq )
    165                                                                                                         nextItem.setAttribute( 'value', startNumber + conseq - oldStart );
    166                                                                                         }
     176                                                                                                // Update consequent list item numbering.
     177                                                                                                var nextItem = firstItem, conseq = oldStart, startNumber = isNaN( val ) ? 1 : val;
     178                                                                                                while ( ( nextItem = nextItem.getNext( listItem ) ) && conseq++ )
     179                                                                                                {
     180                                                                                                        if ( nextItem.getAttribute( 'value' ) == conseq )
     181                                                                                                                nextItem.setAttribute( 'value', startNumber + conseq - oldStart );
     182                                                                                                }
     183                                                                                        }       
    167184                                                                                }
    168185                                                                        },
    169186                                                                        {
     
    181198
    182199                                                                                        this.setValue( value );
    183200                                                                                },
     201                                                                                onClick : function( value )
     202                                                                                {                                                                                       
     203                                                                                        var start = this.getDialog().getContentElement('info', 'start');
     204                                                                                        if(this.getValue() === 'none')
     205                                                                                        {                                                                                               
     206                                                                                                if(start.isEnabled());
     207                                                                                                        start.disable();                                                                                                                                                                                                               
     208                                                                                        } else
     209                                                                                        {                                                                                               
     210                                                                                                if(!start.isEnabled())
     211                                                                                                {
     212                                                                                                        start.enable();         
     213                                                                                                        if(!start.getValue())
     214                                                                                                                start.setValue(1);
     215                                                                                                }       
     216                                                                                        }                                                                                       
     217                                                                                },
    184218                                                                                commit : function( element )
    185219                                                                                {
    186220                                                                                        var value = this.getValue();
© 2003 – 2022, CKSource sp. z o.o. sp.k. All rights reserved. | Terms of use | Privacy policy