Ticket #5531: 5531_3.patch
File 5531_3.patch, 10.8 KB (added by , 14 years ago) |
---|
-
_source/core/tools.js
377 377 })(), 378 378 379 379 /** 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 /** 380 394 * Creates a function override. 381 395 * @param {Function} originalFunction The function to be overridden. 382 396 * @param {Function} functionBuilder A function that returns the new -
_source/plugins/colordialog/dialogs/colordialog.js
243 243 244 244 var numbering = function( id ) 245 245 { 246 return id + CKEDITOR.tools.getNextNumber();246 return CKEDITOR.tools.getNextId() + '_' + id; 247 247 }, 248 248 hicolorId = numbering( 'hicolor' ), 249 249 hicolorTextId = numbering( 'hicolortext' ), 250 selHiColorId = numbering( 'selhicolor' ); 250 selHiColorId = numbering( 'selhicolor' ), 251 tableLabelId = numbering( 'color_table_label' ); 251 252 252 253 return { 253 254 title : lang.title, … … 273 274 [ 274 275 { 275 276 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>', 278 279 onLoad : function() 279 280 { 280 281 var table = CKEDITOR.document.getById( this.domId ); -
_source/plugins/dialog/plugin.js
483 483 // If we aren't inside a tab, bail out. 484 484 if ( target.hasClass( 'cke_dialog_tab' ) ) 485 485 { 486 // Get the ID of the tab, without the 'cke_' prefix and the unique number suffix. 486 487 var id = target.$.id; 487 this.selectPage( id.substr( 0, id.lastIndexOf( '_' ) ) ); 488 this.selectPage( id.substring( 4, id.lastIndexOf( '_' ) ) ); 489 488 490 if ( this._.tabBarMode ) 489 491 { 490 492 this._.tabBarMode = false; … … 884 886 page.setAttribute( 'role', 'tabpanel' ); 885 887 886 888 var env = CKEDITOR.env; 887 var tabId = contents.id + '_' + CKEDITOR.tools.getNextNumber(),889 var tabId = 'cke_' + contents.id + '_' + CKEDITOR.tools.getNextNumber(), 888 890 tab = CKEDITOR.dom.element.createFromHtml( [ 889 891 '<a class="cke_dialog_tab"', 890 892 ( this._.pageCount > 0 ? ' cke_last' : 'cke_first' ), … … 2054 2056 styles = ( stylesArg && stylesArg.call ? stylesArg( elementDefinition ) : stylesArg ) || {}, 2055 2057 attributes = ( attributesArg && attributesArg.call ? attributesArg( elementDefinition ) : attributesArg ) || {}, 2056 2058 innerHTML = ( contentsArg && contentsArg.call ? contentsArg.call( this, dialog, elementDefinition ) : contentsArg ) || '', 2057 domId = this.domId = attributes.id || CKEDITOR.tools.getNext Number() + '_uiElement',2059 domId = this.domId = attributes.id || CKEDITOR.tools.getNextId() + '_uiElement', 2058 2060 id = this.id = elementDefinition.id, 2059 2061 i; 2060 2062 -
_source/plugins/dialogui/plugin.js
147 147 return; 148 148 149 149 var _ = initPrivateObject.call( this, elementDefinition ); 150 _.labelId = CKEDITOR.tools.getNext Number() + '_label';150 _.labelId = CKEDITOR.tools.getNextId() + '_label'; 151 151 var children = this._.children = []; 152 152 /** @ignore */ 153 153 var innerHTML = function() … … 223 223 return; 224 224 225 225 initPrivateObject.call( this, elementDefinition ); 226 var domId = this._.inputId = CKEDITOR.tools.getNext Number() + '_textInput',226 var domId = this._.inputId = CKEDITOR.tools.getNextId() + '_textInput', 227 227 attributes = { 'class' : 'cke_dialog_ui_input_' + elementDefinition.type, id : domId, type : 'text' }, 228 228 i; 229 229 … … 313 313 314 314 initPrivateObject.call( this, elementDefinition ); 315 315 var me = this, 316 domId = this._.inputId = CKEDITOR.tools.getNext Number() + '_textarea',316 domId = this._.inputId = CKEDITOR.tools.getNextId() + '_textarea', 317 317 attributes = {}; 318 318 319 319 if ( elementDefinition.validate ) … … 370 370 { 371 371 var myDefinition = CKEDITOR.tools.extend( {}, elementDefinition, 372 372 { 373 id : elementDefinition.id ? elementDefinition.id + '_checkbox' : CKEDITOR.tools.getNext Number() + '_checkbox'373 id : elementDefinition.id ? elementDefinition.id + '_checkbox' : CKEDITOR.tools.getNextId() + '_checkbox' 374 374 }, true ), 375 375 html = []; 376 376 377 var labelId = CKEDITOR.tools.getNext Number() + '_label';377 var labelId = CKEDITOR.tools.getNextId() + '_label'; 378 378 var attributes = { 'class' : 'cke_dialog_ui_checkbox_input', type : 'checkbox', 'aria-labelledby' : labelId }; 379 379 cleanInnerDefinition( myDefinition ); 380 380 if ( elementDefinition[ 'default' ] ) … … 430 430 { 431 431 var inputHtmlList = [], html = [], 432 432 commonAttributes = { 'class' : 'cke_dialog_ui_radio_item', 'aria-labelledby' : this._.labelId }, 433 commonName = elementDefinition.id ? elementDefinition.id + '_radio' : CKEDITOR.tools.getNext Number() + '_radio';433 commonName = elementDefinition.id ? elementDefinition.id + '_radio' : CKEDITOR.tools.getNextId() + '_radio'; 434 434 for ( var i = 0 ; i < elementDefinition.items.length ; i++ ) 435 435 { 436 436 var item = elementDefinition.items[i], 437 437 title = item[2] !== undefined ? item[2] : item[0], 438 438 value = item[1] !== undefined ? item[1] : item[0], 439 inputId = CKEDITOR.tools.getNext Number() + '_radio_input',439 inputId = CKEDITOR.tools.getNextId() + '_radio_input', 440 440 labelId = inputId + '_label', 441 441 inputDefinition = CKEDITOR.tools.extend( {}, elementDefinition, 442 442 { … … 540 540 var outerDefinition = CKEDITOR.tools.extend( {}, elementDefinition ); 541 541 delete outerDefinition.style; 542 542 543 var labelId = CKEDITOR.tools.getNext Number() + '_label';543 var labelId = CKEDITOR.tools.getNextId() + '_label'; 544 544 CKEDITOR.ui.dialog.uiElement.call( 545 545 this, 546 546 dialog, … … 596 596 if ( elementDefinition.validate ) 597 597 this.validate = elementDefinition.validate; 598 598 599 _.inputId = CKEDITOR.tools.getNext Number() + '_select';599 _.inputId = CKEDITOR.tools.getNextId() + '_select'; 600 600 /** @ignore */ 601 601 var innerHTML = function() 602 602 { 603 603 var myDefinition = CKEDITOR.tools.extend( {}, elementDefinition, 604 604 { 605 id : elementDefinition.id ? elementDefinition.id + '_select' : CKEDITOR.tools.getNext Number() + '_select'605 id : elementDefinition.id ? elementDefinition.id + '_select' : CKEDITOR.tools.getNextId() + '_select' 606 606 }, true ), 607 607 html = [], 608 608 innerHTML = [], … … 663 663 /** @ignore */ 664 664 var innerHTML = function() 665 665 { 666 _.frameId = CKEDITOR.tools.getNext Number() + '_fileInput';666 _.frameId = CKEDITOR.tools.getNextId() + '_fileInput'; 667 667 668 668 // Support for custom document.domain in IE. 669 669 var isCustomDomain = CKEDITOR.env.isCustomDomain(); -
_source/plugins/flash/dialogs/flash.js
175 175 176 176 var previewPreloader, 177 177 previewAreaHtml = '<div>' + CKEDITOR.tools.htmlEncode( editor.lang.common.preview ) +'<br>' + 178 '<div id=" FlashPreviewLoader' + CKEDITOR.tools.getNextNumber() + '" style="display:none"><div class="loading"> </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"> </div></div>' + 179 '<div id="cke_FlashPreviewBox' + CKEDITOR.tools.getNextNumber() + '" class="FlashPreviewBox"></div></div>'; 180 180 181 181 return { 182 182 title : editor.lang.flash.title, -
_source/plugins/image/dialogs/image.js
250 250 switchLockRatio( this, false ); // Unlock. 251 251 }; 252 252 253 var numbering = function( id ){ return id + CKEDITOR.tools.getNextNumber(); }, 253 var numbering = function( id ) 254 { 255 return CKEDITOR.tools.getNextId() + '_' + id; 256 }, 254 257 btnLockSizesId = numbering( 'btnLockSizes' ), 255 258 btnResetSizeId = numbering( 'btnResetSize' ), 256 259 imagePreviewLoaderId = numbering( 'ImagePreviewLoader' ), -
_source/plugins/smiley/dialogs/smiley.js
131 131 }); 132 132 133 133 // 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'; 135 135 var html = 136 136 [ 137 137 '<div>' + -
_source/plugins/specialchar/dialogs/specialchar.js
262 262 var columns = this.definition.charColumns, 263 263 chars = this.definition.chars; 264 264 265 var charsTableLabel = 'specialchar_table_label' + CKEDITOR.tools.getNextNumber();265 var charsTableLabel = CKEDITOR.tools.getNextId() + '_specialchar_table_label'; 266 266 var html = [ '<table role="listbox" aria-labelledby="' + charsTableLabel + '"' + 267 267 ' style="width: 320px; height: 100%; border-collapse: separate;"' + 268 268 ' align="center" cellspacing="2" cellpadding="2" border="0">' ];