Ticket #5084: 5084.patch

File 5084.patch, 16.3 KB (added by Sa'ar Zac Elias, 14 years ago)
  • _source/plugins/dialog/plugin.js

     
    17051705                                realX = abstractDialogCoords.x;
    17061706
    17071707                        if ( abstractDialogCoords.y + margins[0] < magnetDistance )
    1708                                 realY = - margins[0];
     1708                                realY = -margins[0];
    17091709                        else if ( partName.search( 't' ) != -1 && abstractDialogCoords.y2 - abstractDialogCoords.y < minHeight + magnetDistance )
    17101710                                realY = abstractDialogCoords.y2 - minHeight;
    17111711                        else
     
    17441744                        }
    17451745                }
    17461746
    1747 // TODO : Simplify the resize logic, having just a single resize grip <div>.
    1748 //              var widthTest = /[lr]/,
    1749 //                      heightTest = /[tb]/;
    1750 //              for ( var i = 0 ; i < parts.length ; i++ )
    1751 //              {
    1752 //                      var element = dialog.parts[ parts[i] + '_resize' ];
    1753 //                      if ( resizable == CKEDITOR.DIALOG_RESIZE_NONE ||
    1754 //                                      resizable == CKEDITOR.DIALOG_RESIZE_HEIGHT && widthTest.test( parts[i] ) ||
    1755 //                                      resizable == CKEDITOR.DIALOG_RESIZE_WIDTH && heightTest.test( parts[i] ) )
    1756 //                      {
    1757 //                              element.hide();
    1758 //                              continue;
    1759 //                      }
    1760 //                      element.on( 'mousedown', mouseDownHandler, dialog, { part : parts[i] } );
    1761 //              }
     1747                var widthTest = /[lr]/,
     1748                        heightTest = /[tb]/;
     1749                for ( var i = 0 ; i < parts.length ; i++ )
     1750                {
     1751                        var element = dialog.parts[ parts[i] + '_resize' ];
     1752                        if ( resizable == CKEDITOR.DIALOG_RESIZE_NONE ||
     1753                                        resizable == CKEDITOR.DIALOG_RESIZE_HEIGHT && widthTest.test( parts[i] ) ||
     1754                                        resizable == CKEDITOR.DIALOG_RESIZE_WIDTH && heightTest.test( parts[i] ) )
     1755                        {
     1756                                element.hide();
     1757                                continue;
     1758                        }
     1759
     1760                        element.on( 'mousedown', mouseDownHandler, dialog, { part : parts[i] } );
     1761                }
     1762
     1763                // The resizers need to have a bigger z-index
     1764                dialog.on( 'show', function()
     1765                {
     1766                        CKEDITOR.dialog._.currentZIndex += 10;
     1767                        for ( var i = 0 ; i < parts.length ; i++ )
     1768                        {
     1769                                var element = dialog.parts[ parts[i] + '_resize' ];
     1770                                element.isVisible() && ( element.setStyle( 'z-index', CKEDITOR.dialog._.currentZIndex ) );
     1771                        }
     1772                });
    17621773        }
    17631774
    17641775        var resizeCover;
  • _source/skins/kama/dialog.css

     
    1212/* Force Gecko to consider table as positioned */
    1313.cke_skin_kama table.cke_dialog.cke_browser_gecko
    1414{
    15         display:block;
     15        display: block;
    1616}
    1717
    1818.cke_skin_kama .cke_dialog_body
     
    3131        _position: static;
    3232}
    3333
    34 .cke_skin_kama .cke_dialog_tl,
    35 .cke_skin_kama .cke_dialog_tr,
    36 .cke_skin_kama .cke_dialog_tc,
    37 .cke_skin_kama .cke_dialog_bl,
    38 .cke_skin_kama .cke_dialog_br,
    39 .cke_skin_kama .cke_dialog_bc,
    40 .cke_skin_kama .cke_dialog_ml,
    41 .cke_skin_kama .cke_dialog_mr
     34.cke_skin_kama .cke_dialog_tl_resizer,
     35.cke_skin_kama .cke_dialog_tr_resizer,
     36.cke_skin_kama .cke_dialog_tc_resizer,
     37.cke_skin_kama .cke_dialog_bl_resizer,
     38.cke_skin_kama .cke_dialog_br_resizer,
     39.cke_skin_kama .cke_dialog_bc_resizer,
     40.cke_skin_kama .cke_dialog_ml_resizer,
     41.cke_skin_kama .cke_dialog_mr_resizer
    4242{
    43         display:none;
     43        position: absolute;
     44        width: 2px;
     45        height: 2px;
    4446}
    4547
     48.cke_skin_kama .cke_dialog_tl_resizer
     49{
     50        cursor: nw-resize;
     51        top: 0px;
     52        left: 0px;
     53}
     54.cke_skin_kama .cke_dialog_tr_resizer
     55{
     56        cursor: ne-resize;
     57        top: 0px;
     58        right: 0px;
     59}
     60.cke_skin_kama .cke_dialog_tc_resizer
     61{
     62        cursor: n-resize;
     63        top: 0px;
     64        left: 0px;
     65}
     66.cke_skin_kama .cke_dialog_bl_resizer
     67{
     68        cursor: sw-resize;
     69        bottom: 0px;
     70        left: 0px;
     71}
     72.cke_skin_kama .cke_dialog_br_resizer
     73{
     74        cursor: se-resize;
     75        bottom: 0px;
     76        right: 0px;
     77}
     78.cke_skin_kama .cke_dialog_bc_resizer
     79{
     80        cursor: s-resize;
     81        bottom: 0px;
     82        left: 0px;
     83}
     84.cke_skin_kama .cke_dialog_ml_resizer
     85{
     86        left: 0px;
     87}
     88.cke_skin_kama .cke_dialog_mr_resizer
     89{
     90        right: 0px;
     91}
     92.cke_skin_kama .cke_dialog_ml_resizer,
     93.cke_skin_kama .cke_dialog_mr_resizer
     94{
     95        cursor: w-resize;
     96        bottom: 4px;
     97}
     98
     99.cke_skin_kama .cke_dialog_tl,
     100.cke_skin_kama .cke_dialog_tr,
     101.cke_skin_kama .cke_dialog_tc,
     102.cke_skin_kama .cke_dialog_bl,
     103.cke_skin_kama .cke_dialog_br,
     104.cke_skin_kama .cke_dialog_bc,
     105.cke_skin_kama .cke_dialog_ml,
     106.cke_skin_kama .cke_dialog_mr
     107{
     108        display: none;
     109}
     110
    46111.cke_skin_kama .cke_dialog_title
    47112{
    48113        font-weight: bold;
  • _source/skins/kama/skin.js

     
    229229                                // Fix the size of the elements which have flexible lengths.
    230230                                setTimeout( function()
    231231                                        {
    232                                                 var innerDialog = dialog.parts.dialog.getChild( [ 0, 0, 0 ] ),
    233                                                         body = innerDialog.getChild( 0 );
     232                                                var parts = dialog.parts,
     233                                                        body = parts.dialog.getChild( [ 0, 0, 0, 0 ] );
    234234
    235                                                 // tc
    236                                                 var el = innerDialog.getChild( 2 );
    237                                                 el.setStyle( 'width', ( body.$.offsetWidth ) + 'px' );
    238 
    239                                                 // bc
    240                                                 el = innerDialog.getChild( 7 );
    241                                                 el.setStyle( 'width', ( body.$.offsetWidth - 28 ) + 'px' );
    242 
    243                                                 // ml
    244                                                 el = innerDialog.getChild( 4 );
    245                                                 el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );
    246 
    247                                                 // mr
    248                                                 el = innerDialog.getChild( 5 );
    249                                                 el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );
     235                                                parts.t_resize.setStyle( 'width', ( body.$.offsetWidth - 2 ) + 'px' );
     236                                                parts.b_resize.setStyle( 'width', ( body.$.offsetWidth - 2 ) + 'px' );
     237                                                parts.l_resize.setStyle( 'height', ( body.$.offsetHeight - 6 ) + 'px' );
     238                                                parts.r_resize.setStyle( 'height', ( body.$.offsetHeight - 6 ) + 'px' );
    250239                                        },
    251240                                        100 );
    252241                        });
  • _source/skins/office2003/dialog.css

     
    1212/* Force Gecko to consider table as positioned */
    1313.cke_skin_office2003 table.cke_dialog.cke_browser_gecko
    1414{
    15         display:block;
     15        display: block;
    1616}
    1717
    1818.cke_skin_office2003 .cke_dialog_body
     
    2929        _position: static;
    3030}
    3131
     32.cke_skin_office2003 .cke_dialog_tl_resizer,
     33.cke_skin_office2003 .cke_dialog_tr_resizer,
     34.cke_skin_office2003 .cke_dialog_tc_resizer,
     35.cke_skin_office2003 .cke_dialog_bl_resizer,
     36.cke_skin_office2003 .cke_dialog_br_resizer,
     37.cke_skin_office2003 .cke_dialog_bc_resizer,
     38.cke_skin_office2003 .cke_dialog_ml_resizer,
     39.cke_skin_office2003 .cke_dialog_mr_resizer
     40{
     41        position: absolute;
     42        width: 2px;
     43        height: 2px;
     44}
     45
     46.cke_skin_office2003 .cke_dialog_tl_resizer
     47{
     48        cursor: nw-resize;
     49        top: 0px;
     50        left: 16px;
     51}
     52.cke_skin_office2003 .cke_dialog_tr_resizer
     53{
     54        cursor: ne-resize;
     55        top: 0px;
     56        right: 16px;
     57}
     58.cke_skin_office2003 .cke_dialog_tc_resizer
     59{
     60        cursor: n-resize;
     61        top: 0px;
     62        left: 16px;
     63}
     64.cke_skin_office2003 .cke_dialog_bl_resizer
     65{
     66        cursor: sw-resize;
     67        bottom: 16px;
     68        left: 16px;
     69}
     70.cke_skin_office2003 .cke_dialog_br_resizer
     71{
     72        cursor: se-resize;
     73        bottom: 16px;
     74        right: 16px;
     75}
     76.cke_skin_office2003 .cke_dialog_bc_resizer
     77{
     78        cursor: s-resize;
     79        bottom: 16px;
     80        left: 16px;
     81}
     82.cke_skin_office2003 .cke_dialog_ml_resizer
     83{
     84        left: 16px;
     85}
     86.cke_skin_office2003 .cke_dialog_mr_resizer
     87{
     88        right: 16px;
     89}
     90.cke_skin_office2003 .cke_dialog_ml_resizer,
     91.cke_skin_office2003 .cke_dialog_mr_resizer
     92{
     93        cursor: w-resize;
     94        bottom: 20px;
     95}
     96
    3297.cke_skin_office2003 .cke_dialog_tl,
    3398.cke_skin_office2003 .cke_dialog_tr,
    3499.cke_skin_office2003 .cke_dialog_tc,
  • _source/skins/office2003/skin.js

     
    4646                                                height : height + 'px'
    4747                                        });
    4848
    49                                 if ( !CKEDITOR.env.ie )
    50                                         return;
    51 
    5249                                // Fix the size of the elements which have flexible lengths.
    5350                                var fixSize = function()
    5451                                        {
    55                                                 var innerDialog = dialog.parts.dialog.getChild( [ 0, 0, 0 ] ),
     52                                                var parts = dialog.parts,
     53                                                        innerDialog = parts.dialog.getChild( [ 0, 0, 0 ] ),
    5654                                                        body = innerDialog.getChild( 0 );
    5755
    58                                                 // tc
    59                                                 var el = innerDialog.getChild( 2 );
    60                                                 el.setStyle( 'width', ( body.$.offsetWidth ) + 'px' );
     56                                                if ( CKEDITOR.env.ie && CKEDITOR.env.quirks )
     57                                                {
     58                                                        // tc
     59                                                        var el = innerDialog.getChild( 2 );
     60                                                        el.setStyle( 'width', ( body.$.offsetWidth ) + 'px' );
    6161
    62                                                 // bc
    63                                                 el = innerDialog.getChild( 7 );
    64                                                 el.setStyle( 'width', ( body.$.offsetWidth - 28 ) + 'px' );
     62                                                        // bc
     63                                                        el = innerDialog.getChild( 7 );
     64                                                        el.setStyle( 'width', ( body.$.offsetWidth - 28 ) + 'px' );
    6565
    66                                                 // ml
    67                                                 el = innerDialog.getChild( 4 );
    68                                                 el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );
     66                                                        // ml
     67                                                        el = innerDialog.getChild( 4 );
     68                                                        el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );
    6969
    70                                                 // mr
    71                                                 el = innerDialog.getChild( 5 );
    72                                                 el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );
     70                                                        // mr
     71                                                        el = innerDialog.getChild( 5 );
     72                                                        el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );
     73                                                }
     74
     75                                                parts.t_resize.setStyle( 'width', ( body.$.offsetWidth - 2 ) + 'px' );
     76                                                parts.b_resize.setStyle( 'width', ( body.$.offsetWidth - 2 ) + 'px' );
     77                                                parts.l_resize.setStyle( 'height', ( body.$.offsetHeight ) + 'px' );
     78                                                parts.r_resize.setStyle( 'height', ( body.$.offsetHeight ) + 'px' );
    7379                                        };
    7480                                setTimeout( fixSize, 100 );
    7581
    7682                                // Ensure size is correct for RTL mode. (#4003)
    77                                 if ( evt.editor.lang.dir == 'rtl' )
     83                                if ( CKEDITOR.env.ie && evt.editor.lang.dir == 'rtl' )
    7884                                        setTimeout( fixSize, 1000 );
    7985                        });
    8086        }
  • _source/skins/v2/dialog.css

     
    3030
    3131}
    3232
     33.cke_skin_v2 .cke_dialog_tl_resizer,
     34.cke_skin_v2 .cke_dialog_tr_resizer,
     35.cke_skin_v2 .cke_dialog_tc_resizer,
     36.cke_skin_v2 .cke_dialog_bl_resizer,
     37.cke_skin_v2 .cke_dialog_br_resizer,
     38.cke_skin_v2 .cke_dialog_bc_resizer,
     39.cke_skin_v2 .cke_dialog_ml_resizer,
     40.cke_skin_v2 .cke_dialog_mr_resizer
     41{
     42        position: absolute;
     43        width: 2px;
     44        height: 2px;
     45}
     46
     47.cke_skin_v2 .cke_dialog_tl_resizer
     48{
     49        cursor: nw-resize;
     50        top: 0px;
     51        left: 16px;
     52}
     53.cke_skin_v2 .cke_dialog_tr_resizer
     54{
     55        cursor: ne-resize;
     56        top: 0px;
     57        right: 16px;
     58}
     59.cke_skin_v2 .cke_dialog_tc_resizer
     60{
     61        cursor: n-resize;
     62        top: 0px;
     63        left: 16px;
     64}
     65.cke_skin_v2 .cke_dialog_bl_resizer
     66{
     67        cursor: sw-resize;
     68        bottom: 16px;
     69        left: 16px;
     70}
     71.cke_skin_v2 .cke_dialog_br_resizer
     72{
     73        cursor: se-resize;
     74        bottom: 16px;
     75        right: 16px;
     76}
     77.cke_skin_v2 .cke_dialog_bc_resizer
     78{
     79        cursor: s-resize;
     80        bottom: 16px;
     81        left: 16px;
     82}
     83.cke_skin_v2 .cke_dialog_ml_resizer
     84{
     85        left: 16px;
     86}
     87.cke_skin_v2 .cke_dialog_mr_resizer
     88{
     89        right: 16px;
     90}
     91.cke_skin_v2 .cke_dialog_ml_resizer,
     92.cke_skin_v2 .cke_dialog_mr_resizer
     93{
     94        cursor: w-resize;
     95        bottom: 20px;
     96}
     97
    3398.cke_skin_v2 .cke_dialog_tl,
    3499.cke_skin_v2 .cke_dialog_tr,
    35100.cke_skin_v2 .cke_dialog_tc,
  • _source/skins/v2/skin.js

     
    4646                                                height : height + 'px'
    4747                                        });
    4848
    49                                 if ( !CKEDITOR.env.ie )
    50                                         return;
    51 
    5249                                // Fix the size of the elements which have flexible lengths.
    5350                                setTimeout( function()
    5451                                        {
    55                                                 var innerDialog = dialog.parts.dialog.getChild( [ 0, 0, 0 ] ),
     52                                                var parts = dialog.parts,
     53                                                        innerDialog = parts.dialog.getChild( [ 0, 0, 0 ] ),
    5654                                                        body = innerDialog.getChild( 0 );
    5755
    58                                                 // tc
    59                                                 var el = innerDialog.getChild( 2 );
    60                                                 el.setStyle( 'width', ( body.$.offsetWidth ) + 'px' );
     56                                                if ( CKEDITOR.env.ie && CKEDITOR.env.quirks )
     57                                                {
     58                                                        // tc
     59                                                        var el = innerDialog.getChild( 2 );
     60                                                        el.setStyle( 'width', ( body.$.offsetWidth ) + 'px' );
    6161
    62                                                 // bc
    63                                                 el = innerDialog.getChild( 7 );
    64                                                 el.setStyle( 'width', ( body.$.offsetWidth - 28 ) + 'px' );
     62                                                        // bc
     63                                                        el = innerDialog.getChild( 7 );
     64                                                        el.setStyle( 'width', ( body.$.offsetWidth - 28 ) + 'px' );
    6565
    66                                                 // ml
    67                                                 el = innerDialog.getChild( 4 );
    68                                                 el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );
     66                                                        // ml
     67                                                        el = innerDialog.getChild( 4 );
     68                                                        el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );
    6969
    70                                                 // mr
    71                                                 el = innerDialog.getChild( 5 );
    72                                                 el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );
     70                                                        // mr
     71                                                        el = innerDialog.getChild( 5 );
     72                                                        el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );
     73                                                }
     74
     75                                                parts.t_resize.setStyle( 'width', ( body.$.offsetWidth - 2 ) + 'px' );
     76                                                parts.b_resize.setStyle( 'width', ( body.$.offsetWidth - 2 ) + 'px' );
     77                                                parts.l_resize.setStyle( 'height', ( body.$.offsetHeight ) + 'px' );
     78                                                parts.r_resize.setStyle( 'height', ( body.$.offsetHeight ) + 'px' );
    7379                                        },
    7480                                        100 );
    7581                        });
  • _source/themes/default/theme.js

     
    164164
    165165                buildDialog : function( editor )
    166166                {
    167                         var baseIdNumber = CKEDITOR.tools.getNextNumber();
     167                        var baseIdNumber = CKEDITOR.tools.getNextNumber(),
     168                                rtl = editor.lang.dir == 'rtl',
     169                                sides = { 'r' : 'l', 'l' : 'r' },
     170                                resizer = function( y, x )
     171                                {
     172                                        // The direction must be flipped in RTL dialog.
     173                                        rtl && ( x = sides[x] || x );
     174                                        return '<div id="%' + y + x + '_resizer#" class="%' + y + x + '_resizer"></div>';
     175                                };
    168176
    169177                        var element = CKEDITOR.dom.element.createFromHtml( [
    170178                                        '<div class="cke_editor_' + editor.name.replace('.', '\\.') + '_dialog cke_skin_', editor.skinName,
     
    181189                                                                '<a id="%close_button#" class="%close_button" href="javascript:void(0)" title="' +  editor.lang.common.close+'" role="button"><span class="cke_label">X</span></a>' +
    182190                                                                '<div id="%tabs#" class="%tabs" role="tablist"></div>' +
    183191                                                                '<table class="%contents" role="presentation"><tr>' +
    184                                                                   '<td id="%contents#" class="%contents" role="presentation"></td>' +
     192                                                                        '<td id="%contents#" class="%contents" role="presentation"></td>' +
    185193                                                                '</tr></table>' +
    186194                                                                '<div id="%footer#" class="%footer" role="presentation"></div>' +
    187195                                                        '</div>' +
     
    193201                                                        '<div id="%bl#" class="%bl"></div>' +
    194202                                                        '<div id="%bc#" class="%bc"></div>' +
    195203                                                        '<div id="%br#" class="%br"></div>' +
     204                                                        resizer( 't', 'l' ) +
     205                                                        resizer( 't', 'c' ) +
     206                                                        resizer( 't', 'r' ) +
     207                                                        resizer( 'm', 'l' ) +
     208                                                        resizer( 'm', 'r' ) +
     209                                                        resizer( 'b', 'l' ) +
     210                                                        resizer( 'b', 'c' ) +
     211                                                        resizer( 'b', 'r' ) +
    196212                                                        '</td></tr>' +
    197213                                                '</table>',
    198214
     
    212228                        title.unselectable();
    213229                        close.unselectable();
    214230
     231                        var resizeParts = {
     232                                tl_resize       : rtl ? 2 : 0,
     233                                t_resize        : 1,
     234                                tr_resize       : rtl ? 0 : 2,
     235                                l_resize        : rtl ? 4 : 3,
     236                                r_resize        : rtl ? 3 : 4,
     237                                bl_resize       : rtl ? 7 : 5,
     238                                b_resize        : 6,
     239                                br_resize       : rtl ? 5 : 7
     240                        },
     241                                holder = element.getChild( [ 0, 0, 0, 0 ] );
     242                        for ( var i in resizeParts )
     243                                resizeParts[ i ] = holder.getChild( resizeParts[ i ] + 9 );
    215244
    216245                        return {
    217246                                element : element,
    218247                                parts :
    219                                 {
    220                                         dialog          : element.getChild( 0 ),
    221                                         title           : title,
    222                                         close           : close,
    223                                         tabs            : body.getChild( 2 ),
     248                                CKEDITOR.tools.extend( {
     249                                        dialog  : element.getChild( 0 ),
     250                                        title   : title,
     251                                        close   : close,
     252                                        tabs    : body.getChild( 2 ),
    224253                                        contents        : body.getChild( [ 3, 0, 0, 0 ] ),
    225                                         footer          : body.getChild( 4 )
    226                                 }
     254                                        footer  : body.getChild( 4 )
     255                                }, resizeParts )
    227256                        };
    228257                },
    229258
© 2003 – 2022, CKSource sp. z o.o. sp.k. All rights reserved. | Terms of use | Privacy policy