Changeset 4969


Ignore:
Timestamp:
01/22/10 08:52:25 (4 years ago)
Author:
garry.yao
Message:

Adding 'fieldset' as a dialog-ui-element type to bring better accessibility for 'Flash' dialog 'flash vars' checkboxes group.

Location:
CKEditor/branches/features/aria/_source/plugins
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/branches/features/aria/_source/plugins/dialogui/plugin.js

    r4966 r4969  
    3434                { 
    3535                        return new CKEDITOR.ui.dialog[elementDefinition.type]( dialog, elementDefinition, output ); 
     36                } 
     37        }, 
     38        containerBuilder = 
     39        { 
     40                build : function( dialog, elementDefinition, output ) 
     41                { 
     42                        var children = elementDefinition.children, 
     43                                child, 
     44                                childHtmlList = [], 
     45                                childObjList = []; 
     46                        for ( var i = 0 ; ( i < children.length && ( child = children[i] ) ) ; i++ ) 
     47                        { 
     48                                var childHtml = []; 
     49                                childHtmlList.push( childHtml ); 
     50                                childObjList.push( CKEDITOR.dialog._.uiElementBuilders[ child.type ].build( dialog, child, childHtml ) ); 
     51                        } 
     52                        return new CKEDITOR.ui.dialog[ elementDefinition.type ]( dialog, childObjList, childHtmlList, output, elementDefinition ); 
    3653                } 
    3754        }, 
     
    780797                                        htmlList.push( [ theirMatch[1], ' ', myMatch[1] || '', theirMatch[2] ].join( '' ) ); 
    781798                                }; 
    782                         })() 
     799                        })(), 
     800 
     801                        /** 
     802                         * Form fieldset for grouping dialog UI elements. 
     803                         * @constructor 
     804                         * @extends CKEDITOR.ui.dialog.uiElement 
     805                         * @param {CKEDITOR.dialog} dialog Parent dialog object. 
     806                         * @param {Array} childObjList 
     807                         * Array of {@link CKEDITOR.ui.dialog.uiElement} objects inside this 
     808                         * container. 
     809                         * @param {Array} childHtmlList 
     810                         * Array of HTML code that correspond to the HTML output of all the 
     811                         * objects in childObjList. 
     812                         * @param {Array} htmlList 
     813                         * Array of HTML code that this element will output to. 
     814                         * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition 
     815                         * The element definition. Accepted fields: 
     816                         * <ul> 
     817                         *      <li><strong>label</strong> (Optional) The legend of the this fieldset.</li> 
     818                         *      <li><strong>children</strong> (Required) An array of dialog field definitions which will be grouped inside this fieldset. </li> 
     819                         * </ul> 
     820                         */ 
     821                        fieldset : function( dialog, childObjList, childHtmlList, htmlList, elementDefinition ) 
     822                        { 
     823                                var legendLabel = elementDefinition.label; 
     824                                /** @ignore */ 
     825                                var innerHTML = function() 
     826                                { 
     827                                        var html = []; 
     828                                        legendLabel && html.push( '<legend>' + legendLabel + '</legend>' ); 
     829                                        for ( var i = 0; i < childHtmlList.length; i++ ) 
     830                                                html.push( childHtmlList[ i ] ); 
     831                                        return html.join( '' ); 
     832                                }; 
     833 
     834                                this.fieldset = new CKEDITOR.ui.dialog.uiElement( dialog, elementDefinition, htmlList, 'fieldset', null, null, innerHTML ); 
     835                        } 
     836 
    783837                }, true ); 
    784838 
     
    13441398        CKEDITOR.dialog.addUIElement( 'fileButton', commonBuilder ); 
    13451399        CKEDITOR.dialog.addUIElement( 'html', commonBuilder ); 
     1400        CKEDITOR.dialog.addUIElement( 'fieldset', containerBuilder ); 
    13461401})(); 
  • CKEditor/branches/features/aria/_source/plugins/flash/dialogs/flash.js

    r4944 r4969  
    581581                                                }, 
    582582                                                { 
    583                                                         type : 'vbox', 
    584                                                         padding : 0, 
    585                                                         children : 
    586                                                         [ 
    587                                                                 { 
    588                                                                         type : 'html', 
    589                                                                         html : CKEDITOR.tools.htmlEncode( editor.lang.flash.flashvars ) 
    590                                                                 }, 
    591                                                                 { 
    592                                                                         type : 'checkbox', 
    593                                                                         id : 'menu', 
    594                                                                         label : editor.lang.flash.chkMenu, 
    595                                                                         'default' : true, 
    596                                                                         setup : loadValue, 
    597                                                                         commit : commitValue 
    598                                                                 }, 
    599                                                                 { 
    600                                                                         type : 'checkbox', 
    601                                                                         id : 'play', 
    602                                                                         label : editor.lang.flash.chkPlay, 
    603                                                                         'default' : true, 
    604                                                                         setup : loadValue, 
    605                                                                         commit : commitValue 
    606                                                                 }, 
    607                                                                 { 
    608                                                                         type : 'checkbox', 
    609                                                                         id : 'loop', 
    610                                                                         label : editor.lang.flash.chkLoop, 
    611                                                                         'default' : true, 
    612                                                                         setup : loadValue, 
    613                                                                         commit : commitValue 
    614                                                                 }, 
    615                                                                 { 
    616                                                                         type : 'checkbox', 
    617                                                                         id : 'allowFullScreen', 
    618                                                                         label : editor.lang.flash.chkFull, 
    619                                                                         'default' : true, 
    620                                                                         setup : loadValue, 
    621                                                                         commit : commitValue 
     583                                                        type : 'fieldset', 
     584                                                        label : CKEDITOR.tools.htmlEncode( editor.lang.flash.flashvars ), 
     585                                                        children : 
     586                                                        [ 
     587                                                                { 
     588                                                                        type : 'vbox', 
     589                                                                        padding : 0, 
     590                                                                        children : 
     591                                                                        [ 
     592                                                                                { 
     593                                                                                        type : 'checkbox', 
     594                                                                                        id : 'menu', 
     595                                                                                        label : editor.lang.flash.chkMenu, 
     596                                                                                        'default' : true, 
     597                                                                                        setup : loadValue, 
     598                                                                                        commit : commitValue 
     599                                                                                }, 
     600                                                                                { 
     601                                                                                        type : 'checkbox', 
     602                                                                                        id : 'play', 
     603                                                                                        label : editor.lang.flash.chkPlay, 
     604                                                                                        'default' : true, 
     605                                                                                        setup : loadValue, 
     606                                                                                        commit : commitValue 
     607                                                                                }, 
     608                                                                                { 
     609                                                                                        type : 'checkbox', 
     610                                                                                        id : 'loop', 
     611                                                                                        label : editor.lang.flash.chkLoop, 
     612                                                                                        'default' : true, 
     613                                                                                        setup : loadValue, 
     614                                                                                        commit : commitValue 
     615                                                                                }, 
     616                                                                                { 
     617                                                                                        type : 'checkbox', 
     618                                                                                        id : 'allowFullScreen', 
     619                                                                                        label : editor.lang.flash.chkFull, 
     620                                                                                        'default' : true, 
     621                                                                                        setup : loadValue, 
     622                                                                                        commit : commitValue 
     623                                                                                } 
     624                                                                        ] 
    622625                                                                } 
    623626                                                        ] 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy