Ticket #7584: 7584_3.patch
File 7584_3.patch, 2.0 KB (added by , 12 years ago) |
---|
-
_source/plugins/liststyle/dialogs/liststyle.js
15 15 return range.getCommonAncestor().getAscendant( listTag, 1 ); 16 16 } 17 17 18 var listItem = function( node ) { return node.type == CKEDITOR.NODE_ELEMENT && node.is( 'li' ); }; 19 18 20 var mapListStyle = { 19 21 'a' : 'lower-alpha', 20 22 'A' : 'upper-alpha', … … 138 140 validate : CKEDITOR.dialog.validate.integer( lang.validateStartNumber ), 139 141 setup : function( element ) 140 142 { 141 var value = element.getAttribute( 'start' ) || 1; 143 // List item start number dominates. 144 var value = element.getFirst( listItem ).getAttribute( 'value' ) || element.getAttribute( 'start' ) || 1; 142 145 value && this.setValue( value ); 143 146 }, 144 147 commit : function( element ) 145 148 { 149 var firstItem = element.getFirst( listItem ); 150 var oldStart = firstItem.getAttribute( 'value' ) || element.getAttribute( 'start' ) || 1; 151 152 // Force start number on list root. 153 element.getFirst( listItem ).removeAttribute( 'value' ); 146 154 var val = parseInt( this.getValue(), 10 ); 147 155 if ( isNaN( val ) ) 148 156 element.removeAttribute( 'start' ); 149 157 else 150 158 element.setAttribute( 'start', val ); 151 } 159 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 } 167 } 152 168 }, 153 169 { 154 170 type : 'select',