Index: /CKEditor/branches/features/aria/_source/plugins/dialogui/plugin.js =================================================================== --- /CKEditor/branches/features/aria/_source/plugins/dialogui/plugin.js (revision 4974) +++ /CKEditor/branches/features/aria/_source/plugins/dialogui/plugin.js (revision 4975) @@ -832,5 +832,5 @@ }; - this.fieldset = new CKEDITOR.ui.dialog.uiElement( dialog, elementDefinition, htmlList, 'fieldset', null, null, innerHTML ); + CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition, htmlList, 'fieldset', null, null, innerHTML ); } @@ -1388,4 +1388,6 @@ CKEDITOR.ui.dialog.fileButton.prototype = new CKEDITOR.ui.dialog.button; + CKEDITOR.ui.dialog.fieldset.prototype = CKEDITOR.ui.dialog.uiElement.prototype; + CKEDITOR.dialog.addUIElement( 'text', textBuilder ); CKEDITOR.dialog.addUIElement( 'password', textBuilder ); Index: /CKEditor/branches/features/aria/_source/plugins/link/dialogs/link.js =================================================================== --- /CKEditor/branches/features/aria/_source/plugins/link/dialogs/link.js (revision 4974) +++ /CKEditor/branches/features/aria/_source/plugins/link/dialogs/link.js (revision 4975) @@ -515,7 +515,7 @@ [ { - type : 'html', + type : 'fieldset', id : 'selectAnchorText', - html : CKEDITOR.tools.htmlEncode( editor.lang.link.selectAnchor ), + label : editor.lang.link.selectAnchor, setup : function( data ) { @@ -524,5 +524,88 @@ else this.getElement().hide(); - } + }, + children : + [ + { + type : 'hbox', + id : 'selectAnchor', + children : + [ + { + type : 'select', + id : 'anchorName', + 'default' : '', + label : editor.lang.link.anchorName, + style : 'width: 100%;', + items : + [ + [ '' ] + ], + setup : function( data ) + { + this.clear(); + this.add( '' ); + for ( var i = 0 ; i < data.anchors.length ; i++ ) + { + if ( data.anchors[i].name ) + this.add( data.anchors[i].name ); + } + + if ( data.anchor ) + this.setValue( data.anchor.name ); + + var linkType = this.getDialog().getContentElement( 'info', 'linkType' ); + if ( linkType && linkType.getValue() == 'email' ) + this.focus(); + }, + commit : function( data ) + { + if ( !data.anchor ) + data.anchor = {}; + + data.anchor.name = this.getValue(); + } + }, + { + type : 'select', + id : 'anchorId', + 'default' : '', + label : editor.lang.link.anchorId, + style : 'width: 100%;', + items : + [ + [ '' ] + ], + setup : function( data ) + { + this.clear(); + this.add( '' ); + for ( var i = 0 ; i < data.anchors.length ; i++ ) + { + if ( data.anchors[i].id ) + this.add( data.anchors[i].id ); + } + + if ( data.anchor ) + this.setValue( data.anchor.id ); + }, + commit : function( data ) + { + if ( !data.anchor ) + data.anchor = {}; + + data.anchor.id = this.getValue(); + } + } + ], + setup : function( data ) + { + if ( data.anchors.length > 0 ) + this.getElement().show(); + else + this.getElement().hide(); + } + } + ] }, { @@ -530,88 +613,9 @@ id : 'noAnchors', style : 'text-align: center;', - html : '