Ticket #5531: 5531_3.patch

File 5531_3.patch, 10.8 KB (added by Sa'ar Zac Elias, 14 years ago)
  • _source/core/tools.js

     
    377377                })(),
    378378
    379379                /**
     380                 * Gets a unique ID for CKEditor's interface elements. It returns a
     381                 * string with the "cke_" prefix and a progressive number.
     382                 * @function
     383                 * @returns {String} A unique ID.
     384                 * @example
     385                 * alert( CKEDITOR.tools.<b>getNextId()</b> );  // "cke_1" (e.g.)
     386                 * alert( CKEDITOR.tools.<b>getNextId()</b> );  // "cke_2"
     387                 */
     388                getNextId : function()
     389                {
     390                        return 'cke_' + this.getNextNumber();
     391                },
     392
     393                /**
    380394                 * Creates a function override.
    381395                 * @param {Function} originalFunction The function to be overridden.
    382396                 * @param {Function} functionBuilder A function that returns the new
  • _source/plugins/colordialog/dialogs/colordialog.js

     
    243243
    244244                var numbering = function( id )
    245245                        {
    246                                 return id + CKEDITOR.tools.getNextNumber();
     246                                return CKEDITOR.tools.getNextId() + '_' + id;
    247247                        },
    248248                        hicolorId = numbering( 'hicolor' ),
    249249                        hicolorTextId = numbering( 'hicolortext' ),
    250                         selHiColorId = numbering( 'selhicolor' );
     250                        selHiColorId = numbering( 'selhicolor' ),
     251                        tableLabelId = numbering( 'color_table_label' );
    251252
    252253                return {
    253254                        title : lang.title,
     
    273274                                                        [
    274275                                                                {
    275276                                                                        type : 'html',
    276                                                                         html : '<table role="listbox" aria-labelledby="color_table_label" onmouseout="CKEDITOR.tools.callFunction( ' + onMouseout + ' );">' + table.getHtml() + '</table>' +
    277                                                                                                 '<span id="color_table_label" class="cke_voice_label">' + lang.options +'</span>',
     277                                                                        html : '<table role="listbox" aria-labelledby="' + tableLabelId + '" onmouseout="CKEDITOR.tools.callFunction( ' + onMouseout + ' );">' + table.getHtml() + '</table>' +
     278                                                                                                '<span id="' + tableLabelId + '" class="cke_voice_label">' + lang.options +'</span>',
    278279                                                                        onLoad : function()
    279280                                                                        {
    280281                                                                                var table = CKEDITOR.document.getById( this.domId );
  • _source/plugins/dialog/plugin.js

     
    483483                                        // If we aren't inside a tab, bail out.
    484484                                        if ( target.hasClass( 'cke_dialog_tab' ) )
    485485                                        {
     486                                                // Get the ID of the tab, without the 'cke_' prefix and the unique number suffix.
    486487                                                var id = target.$.id;
    487                                                 this.selectPage( id.substr( 0, id.lastIndexOf( '_' ) ) );
     488                                                this.selectPage( id.substring( 4, id.lastIndexOf( '_' ) ) );
     489
    488490                                                if ( this._.tabBarMode )
    489491                                                {
    490492                                                        this._.tabBarMode = false;
     
    884886                        page.setAttribute( 'role', 'tabpanel' );
    885887
    886888                        var env = CKEDITOR.env;
    887                         var tabId = contents.id + '_' + CKEDITOR.tools.getNextNumber(),
     889                        var tabId = 'cke_' + contents.id + '_' + CKEDITOR.tools.getNextNumber(),
    888890                                 tab = CKEDITOR.dom.element.createFromHtml( [
    889891                                        '<a class="cke_dialog_tab"',
    890892                                                ( this._.pageCount > 0 ? ' cke_last' : 'cke_first' ),
     
    20542056                                        styles = ( stylesArg && stylesArg.call ? stylesArg( elementDefinition ) : stylesArg ) || {},
    20552057                                        attributes = ( attributesArg && attributesArg.call ? attributesArg( elementDefinition ) : attributesArg ) || {},
    20562058                                        innerHTML = ( contentsArg && contentsArg.call ? contentsArg.call( this, dialog, elementDefinition ) : contentsArg ) || '',
    2057                                         domId = this.domId = attributes.id || CKEDITOR.tools.getNextNumber() + '_uiElement',
     2059                                        domId = this.domId = attributes.id || CKEDITOR.tools.getNextId() + '_uiElement',
    20582060                                        id = this.id = elementDefinition.id,
    20592061                                        i;
    20602062
  • _source/plugins/dialogui/plugin.js

     
    147147                                        return;
    148148
    149149                                var _ = initPrivateObject.call( this, elementDefinition );
    150                                 _.labelId = CKEDITOR.tools.getNextNumber() + '_label';
     150                                _.labelId = CKEDITOR.tools.getNextId() + '_label';
    151151                                var children = this._.children = [];
    152152                                /** @ignore */
    153153                                var innerHTML = function()
     
    223223                                        return;
    224224
    225225                                initPrivateObject.call( this, elementDefinition );
    226                                 var domId = this._.inputId = CKEDITOR.tools.getNextNumber() + '_textInput',
     226                                var domId = this._.inputId = CKEDITOR.tools.getNextId() + '_textInput',
    227227                                        attributes = { 'class' : 'cke_dialog_ui_input_' + elementDefinition.type, id : domId, type : 'text' },
    228228                                        i;
    229229
     
    313313
    314314                                initPrivateObject.call( this, elementDefinition );
    315315                                var me = this,
    316                                         domId = this._.inputId = CKEDITOR.tools.getNextNumber() + '_textarea',
     316                                        domId = this._.inputId = CKEDITOR.tools.getNextId() + '_textarea',
    317317                                        attributes = {};
    318318
    319319                                if ( elementDefinition.validate )
     
    370370                                {
    371371                                        var myDefinition = CKEDITOR.tools.extend( {}, elementDefinition,
    372372                                                        {
    373                                                                 id : elementDefinition.id ? elementDefinition.id + '_checkbox' : CKEDITOR.tools.getNextNumber() + '_checkbox'
     373                                                                id : elementDefinition.id ? elementDefinition.id + '_checkbox' : CKEDITOR.tools.getNextId() + '_checkbox'
    374374                                                        }, true ),
    375375                                                html = [];
    376376
    377                                         var labelId = CKEDITOR.tools.getNextNumber() + '_label';
     377                                        var labelId = CKEDITOR.tools.getNextId() + '_label';
    378378                                        var attributes = { 'class' : 'cke_dialog_ui_checkbox_input', type : 'checkbox', 'aria-labelledby' : labelId };
    379379                                        cleanInnerDefinition( myDefinition );
    380380                                        if ( elementDefinition[ 'default' ] )
     
    430430                                {
    431431                                        var inputHtmlList = [], html = [],
    432432                                                commonAttributes = { 'class' : 'cke_dialog_ui_radio_item', 'aria-labelledby' : this._.labelId },
    433                                                 commonName = elementDefinition.id ? elementDefinition.id + '_radio' : CKEDITOR.tools.getNextNumber() + '_radio';
     433                                                commonName = elementDefinition.id ? elementDefinition.id + '_radio' : CKEDITOR.tools.getNextId() + '_radio';
    434434                                        for ( var i = 0 ; i < elementDefinition.items.length ; i++ )
    435435                                        {
    436436                                                var item = elementDefinition.items[i],
    437437                                                        title = item[2] !== undefined ? item[2] : item[0],
    438438                                                        value = item[1] !== undefined ? item[1] : item[0],
    439                                                         inputId = CKEDITOR.tools.getNextNumber() + '_radio_input',
     439                                                        inputId = CKEDITOR.tools.getNextId() + '_radio_input',
    440440                                                        labelId = inputId + '_label',
    441441                                                        inputDefinition = CKEDITOR.tools.extend( {}, elementDefinition,
    442442                                                                        {
     
    540540                                var outerDefinition = CKEDITOR.tools.extend( {}, elementDefinition );
    541541                                delete outerDefinition.style;
    542542
    543                                 var labelId = CKEDITOR.tools.getNextNumber() + '_label';
     543                                var labelId = CKEDITOR.tools.getNextId() + '_label';
    544544                                CKEDITOR.ui.dialog.uiElement.call(
    545545                                        this,
    546546                                        dialog,
     
    596596                                if ( elementDefinition.validate )
    597597                                        this.validate = elementDefinition.validate;
    598598
    599                                 _.inputId = CKEDITOR.tools.getNextNumber() + '_select';
     599                                _.inputId = CKEDITOR.tools.getNextId() + '_select';
    600600                                /** @ignore */
    601601                                var innerHTML = function()
    602602                                {
    603603                                        var myDefinition = CKEDITOR.tools.extend( {}, elementDefinition,
    604604                                                        {
    605                                                                 id : elementDefinition.id ? elementDefinition.id + '_select' : CKEDITOR.tools.getNextNumber() + '_select'
     605                                                                id : elementDefinition.id ? elementDefinition.id + '_select' : CKEDITOR.tools.getNextId() + '_select'
    606606                                                        }, true ),
    607607                                                html = [],
    608608                                                innerHTML = [],
     
    663663                                /** @ignore */
    664664                                var innerHTML = function()
    665665                                {
    666                                         _.frameId = CKEDITOR.tools.getNextNumber() + '_fileInput';
     666                                        _.frameId = CKEDITOR.tools.getNextId() + '_fileInput';
    667667
    668668                                        // Support for custom document.domain in IE.
    669669                                        var isCustomDomain = CKEDITOR.env.isCustomDomain();
  • _source/plugins/flash/dialogs/flash.js

     
    175175
    176176                var previewPreloader,
    177177                        previewAreaHtml = '<div>' + CKEDITOR.tools.htmlEncode( editor.lang.common.preview ) +'<br>' +
    178                         '<div id="FlashPreviewLoader' + CKEDITOR.tools.getNextNumber() + '" style="display:none"><div class="loading">&nbsp;</div></div>' +
    179                         '<div id="FlashPreviewBox' + CKEDITOR.tools.getNextNumber() + '" class="FlashPreviewBox"></div></div>';
     178                        '<div id="cke_FlashPreviewLoader' + CKEDITOR.tools.getNextNumber() + '" style="display:none"><div class="loading">&nbsp;</div></div>' +
     179                        '<div id="cke_FlashPreviewBox' + CKEDITOR.tools.getNextNumber() + '" class="FlashPreviewBox"></div></div>';
    180180
    181181                return {
    182182                        title : editor.lang.flash.title,
  • _source/plugins/image/dialogs/image.js

     
    250250                        switchLockRatio( this, false ); // Unlock.
    251251                };
    252252
    253                 var numbering = function( id ){ return id + CKEDITOR.tools.getNextNumber(); },
     253                var numbering = function( id )
     254                        {
     255                                return CKEDITOR.tools.getNextId() + '_' + id;
     256                        },
    254257                        btnLockSizesId = numbering( 'btnLockSizes' ),
    255258                        btnResetSizeId = numbering( 'btnResetSize' ),
    256259                        imagePreviewLoaderId = numbering( 'ImagePreviewLoader' ),
  • _source/plugins/smiley/dialogs/smiley.js

     
    131131        });
    132132
    133133        // Build the HTML for the smiley images table.
    134         var labelId = 'smiley_emtions_label' + CKEDITOR.tools.getNextNumber();
     134        var labelId = CKEDITOR.tools.getNextId() + '_smiley_emtions_label';
    135135        var html =
    136136        [
    137137                '<div>' +
  • _source/plugins/specialchar/dialogs/specialchar.js

     
    262262                        var columns = this.definition.charColumns,
    263263                                chars = this.definition.chars;
    264264
    265                         var charsTableLabel =  'specialchar_table_label' + CKEDITOR.tools.getNextNumber();
     265                        var charsTableLabel =  CKEDITOR.tools.getNextId() + '_specialchar_table_label';
    266266                        var html = [ '<table role="listbox" aria-labelledby="' + charsTableLabel + '"' +
    267267                                                                        ' style="width: 320px; height: 100%; border-collapse: separate;"' +
    268268                                                                        ' align="center" cellspacing="2" cellpadding="2" border="0">' ];
© 2003 – 2022, CKSource sp. z o.o. sp.k. All rights reserved. | Terms of use | Privacy policy