Ticket #5045: 5045_2.patch

File 5045_2.patch, 3.7 KB (added by Garry Yao, 10 years ago)
  • _source/core/tools.js

     
    349349                },
    350350
    351351                /**
    352                  * Gets a unique number for this CKEDITOR execution session. It returns
    353                  * progressive numbers starting at 1.
     352                 * Gets a unique number for a specified group name of this CKEDITOR execution session.
     353                 * For each group, it returns progressive numbers starting at 1.
    354354                 * @function
     355                 * @param {String} ["default"] Group name of this session.
    355356                 * @returns {Number} A unique number.
    356357                 * @example
    357358                 * alert( CKEDITOR.tools.<b>getNextNumber()</b> );  // "1" (e.g.)
    358359                 * alert( CKEDITOR.tools.<b>getNextNumber()</b> );  // "2"
     360                 * alert( CKEDITOR.tools.<b>getNextNumber( 'dialog' )</b> );  // "1"
     361                 * alert( CKEDITOR.tools.<b>getNextNumber( 'panel' )</b> );  // "1"
    359362                 */
    360363                getNextNumber : (function()
    361364                {
    362                         var last = 0;
    363                         return function()
     365                        var dic = {};
     366                        return function( group )
    364367                        {
    365                                 return ++last;
     368                                group = group || 'default';
     369                                if ( typeof dic[ group ] != 'number' )
     370                                        dic[ group ] = 0;
     371
     372                                return ++dic[ group ];
    366373                        };
    367374                })(),
    368375
  • _source/skins/kama/skin.js

     
    147147                                {
    148148                                        var cssContent,
    149149                                                uiStyle = getStylesheet( CKEDITOR.document ),
    150                                                 cssId = '.cke_editor_' + CKEDITOR.tools.escapeCssSelector( editor.name );
     150                                                cssId = '.cke_editor_id_' + this.id;
    151151
    152152                                        var cssSelectors =
    153153                                                [
    154154                                                        cssId + " .cke_wrapper",
    155                                                         cssId + "_dialog .cke_dialog_contents",
    156                                                         cssId + "_dialog a.cke_dialog_tab",
    157                                                         cssId + "_dialog .cke_dialog_footer"
     155                                                        cssId + " .cke_dialog_contents",
     156                                                        cssId + " a.cke_dialog_tab",
     157                                                        cssId + " .cke_dialog_footer"
    158158                                                ].join( ',' );
    159159                                        var cssProperties = "background-color: $color !important;";
    160160
  • _source/themes/default/theme.js

     
    114114                                '<span' +
    115115                                        ' id="cke_', name, '"' +
    116116                                        ' onmousedown="return false;"' +
    117                                         ' class="', editor.skinClass, ' cke_editor_', name, '"' +
     117                                        ' class="', editor.skinClass, ' cke_editor_', name, ' cke_editor_id_' + editor.id, '"' +
    118118                                        ' dir="', editor.lang.dir, '"' +
    119119                                        ' title="', ( CKEDITOR.env.gecko ? ' ' : '' ), '"' +
    120120                                        ' lang="', editor.langCode, '"' +
     
    166166                        var baseIdNumber = CKEDITOR.tools.getNextNumber();
    167167
    168168                        var element = CKEDITOR.dom.element.createFromHtml( [
    169                                         '<div class="cke_editor_' + editor.name.replace('.', '\\.') + '_dialog cke_skin_', editor.skinName,
     169                                        '<div class="cke_editor_' + editor.name.replace('.', '\\.') + '_dialog cke_skin_', editor.skinName, ' cke_editor_id_' + editor.id,
    170170                                                '" dir="', editor.lang.dir, '"' +
    171171                                                ' lang="', editor.langCode, '"' +
    172172                                                ' role="dialog"' +
  • _source/core/editor.js

     
    379379                        if ( this.name in CKEDITOR.instances )
    380380                                throw '[CKEDITOR.editor] The instance "' + this.name + '" already exists.';
    381381
     382                        this.id = CKEDITOR.tools.getNextNumber( 'editor' );
     383
    382384                        /**
    383385                         * The configurations for this editor instance. It inherits all
    384386                         * settings defined in (@link CKEDITOR.config}, combined with settings
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy